Bug#700789: autoconf-archive: unhandled symlink to directory conversion: /usr/share/doc/PACKAGE
Followup-For: Bug #700789 Control: tag -1 pending Hi, uploaded with two minor fixes to DELAYED/3: * also remove a leftover empty /usr/share/autoconf-archive * make the preinst actually work: remove trailing slash from path test -L /path/to/link/ will never return 'true' because the trailing slash causes a symlink to be followed In general I'd not add the boilerplate comments to maintainer scripts, and the final 'exit 0' is also useless in a script that uses 'set -e'. And maybe the preinst could have been restricted to if [ $1 = install ] || [ $1 = upgrade ] But I really liked the comments you added, especially setting a expiry date for the cleanup code :-) To avoid requesting yet another upload from you to mentors with just my patch applied, I uploaded the package with these fixes to DELAYED/3 - so you have chance to review, comment, and change things again. But if there is no further action required, the package will be automatically uploaded in 3 days (e.g. once the delay has expired). Andreas diffstat for autoconf-archive-20111221 autoconf-archive-20111221 autoconf-archive.postinst |3 ++- autoconf-archive.preinst |4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff -Nru autoconf-archive-20111221/debian/autoconf-archive.postinst autoconf-archive-20111221/debian/autoconf-archive.postinst --- autoconf-archive-20111221/debian/autoconf-archive.postinst 2013-02-18 22:22:47.0 +0100 +++ autoconf-archive-20111221/debian/autoconf-archive.postinst 2013-02-20 01:24:39.0 +0100 @@ -9,6 +9,7 @@ # remove after squeeze + 2 if [ -d $OLDHTMLDOCDIR ]; then rm -rf $OLDHTMLDOCDIR + rmdir /usr/share/autoconf-archive 2/dev/null || true fi @@ -17,4 +18,4 @@ #DEBHELPER# -exit 0 \ No newline at end of file +exit 0 diff -Nru autoconf-archive-20111221/debian/autoconf-archive.preinst autoconf-archive-20111221/debian/autoconf-archive.preinst --- autoconf-archive-20111221/debian/autoconf-archive.preinst 2013-02-18 22:22:47.0 +0100 +++ autoconf-archive-20111221/debian/autoconf-archive.preinst 2013-02-20 01:25:25.0 +0100 @@ -2,7 +2,7 @@ set -e -HTMLDOCDIR=/usr/share/doc/autoconf-archive/html/ +HTMLDOCDIR=/usr/share/doc/autoconf-archive/html # fix bug 700789 # remove old squeeze symlink @@ -16,4 +16,4 @@ #DEBHELPER# -exit 0 \ No newline at end of file +exit 0
Bug#700789: autoconf-archive: unhandled symlink to directory conversion: /usr/share/doc/PACKAGE
On Mon, Feb 18, 2013 at 4:22 AM, Andreas Beckmann a...@debian.org wrote: On 2013-02-17 21:08, roucaries bastien wrote: Thanks waiting under mentors to be uploaded * missing #DEBHELPER# token in both new maintainer scripts * use the real path in the changelog entry, not the placeholder from my bug reporting template: /usr/share/doc/autoconf-archive/html (and retitle this bug if you want) * new file debian/source/git-patches - why? unneeded change the RT may not like for unblocking * otherwise looks fine, although I didn't test it yet * need a sponsor for the next iteration? Normally done :) yes i need a sponsor Andreas -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#700789: autoconf-archive: unhandled symlink to directory conversion: /usr/share/doc/PACKAGE
Package: autoconf-archive Version: 20111221-1 Severity: serious User: debian...@lists.debian.org Usertags: piuparts Hi, an upgrade test with piuparts revealed that your package installs files over existing symlinks and possibly overwrites files owned by other packages. This usually means an old version of the package shipped a symlink but that was later replaced by a real (and non-empty) directory. This kind of overwriting another package's files cannot be detected by dpkg. This was observed on the following upgrade paths: squeeze - wheezy For /usr/share/doc/PACKAGE this may not be problematic as long as both packages are installed, ship byte-for-byte identical files and are upgraded in lockstep. But once one of the involved packages gets removed, the other one will lose its documentation files, too, including the copyright file, which is a violation of Policy 12.5: http://www.debian.org/doc/debian-policy/ch-docs.html#s-copyrightfile For other overwritten locations anything interesting may happen. Note that dpkg intentionally does not replace directories with symlinks and vice versa, you need the maintainer scripts to do this. See in particular the end of point 4 in http://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#s-unpackphase For switching from a symlink to a directory, the *preinst* script should do something like this: DOCDIR=/usr/share/doc/@@PACKAGE@@ if [ -L $DOCDIR ]; then rm $DOCDIR fi From the attached log (usually somewhere in the middle...): 0m49.6s INFO: dirname part contains a symlink: /usr/share/doc/autoconf-archive/html/Downloads.html (autoconf-archive) != /usr/share/autoconf-archive/html/Downloads.html (?) /usr/share/doc/autoconf-archive/html/GNU-Free-Documentation-License.html (autoconf-archive) != /usr/share/autoconf-archive/html/GNU-Free-Documentation-License.html (?) /usr/share/doc/autoconf-archive/html/How-to-contribute.html (autoconf-archive) != /usr/share/autoconf-archive/html/How-to-contribute.html (?) /usr/share/doc/autoconf-archive/html/Introduction.html (autoconf-archive) != /usr/share/autoconf-archive/html/Introduction.html (?) /usr/share/doc/autoconf-archive/html/The-Macros.html (autoconf-archive) != /usr/share/autoconf-archive/html/The-Macros.html (?) /usr/share/doc/autoconf-archive/html/ax_005fabsolute_005fheader.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fabsolute_005fheader.html (?) /usr/share/doc/autoconf-archive/html/ax_005fac_005fappend_005fto_005ffile.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fac_005fappend_005fto_005ffile.html (?) /usr/share/doc/autoconf-archive/html/ax_005fac_005fprint_005fto_005ffile.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fac_005fprint_005fto_005ffile.html (?) /usr/share/doc/autoconf-archive/html/ax_005fadd_005fam_005fmacro.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fadd_005fam_005fmacro.html (?) /usr/share/doc/autoconf-archive/html/ax_005fadd_005fam_005fmacro_005fstatic.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fadd_005fam_005fmacro_005fstatic.html (?) /usr/share/doc/autoconf-archive/html/ax_005fadd_005fam_005ftrilinos_005fmakefile_005fexport.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fadd_005fam_005ftrilinos_005fmakefile_005fexport.html (?) /usr/share/doc/autoconf-archive/html/ax_005fadd_005frecursive_005fam_005fmacro.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fadd_005frecursive_005fam_005fmacro.html (?) /usr/share/doc/autoconf-archive/html/ax_005fadd_005frecursive_005fam_005fmacro_005fstatic.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fadd_005frecursive_005fam_005fmacro_005fstatic.html (?) /usr/share/doc/autoconf-archive/html/ax_005fafs.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fafs.html (?) [...] I have no idea how to properly clean up currently messed up installations ... cheers, Andreas autoconf-archive_20111221-1.log.gz Description: GNU Zip compressed data
Bug#700789: autoconf-archive: unhandled symlink to directory conversion: /usr/share/doc/PACKAGE
control: tags -1 pending On Sun, Feb 17, 2013 at 3:22 PM, Andreas Beckmann a...@debian.org wrote: Package: autoconf-archive Version: 20111221-1 Severity: serious User: debian...@lists.debian.org Usertags: piuparts Hi, an upgrade test with piuparts revealed that your package installs files over existing symlinks and possibly overwrites files owned by other packages. This usually means an old version of the package shipped a symlink but that was later replaced by a real (and non-empty) directory. This kind of overwriting another package's files cannot be detected by dpkg. This was observed on the following upgrade paths: squeeze - wheezy For /usr/share/doc/PACKAGE this may not be problematic as long as both packages are installed, ship byte-for-byte identical files and are upgraded in lockstep. But once one of the involved packages gets removed, the other one will lose its documentation files, too, including the copyright file, which is a violation of Policy 12.5: http://www.debian.org/doc/debian-policy/ch-docs.html#s-copyrightfile For other overwritten locations anything interesting may happen. Note that dpkg intentionally does not replace directories with symlinks and vice versa, you need the maintainer scripts to do this. See in particular the end of point 4 in http://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#s-unpackphase For switching from a symlink to a directory, the *preinst* script should do something like this: DOCDIR=/usr/share/doc/@@PACKAGE@@ if [ -L $DOCDIR ]; then rm $DOCDIR fi From the attached log (usually somewhere in the middle...): 0m49.6s INFO: dirname part contains a symlink: /usr/share/doc/autoconf-archive/html/Downloads.html (autoconf-archive) != /usr/share/autoconf-archive/html/Downloads.html (?) /usr/share/doc/autoconf-archive/html/GNU-Free-Documentation-License.html (autoconf-archive) != /usr/share/autoconf-archive/html/GNU-Free-Documentation-License.html (?) /usr/share/doc/autoconf-archive/html/How-to-contribute.html (autoconf-archive) != /usr/share/autoconf-archive/html/How-to-contribute.html (?) /usr/share/doc/autoconf-archive/html/Introduction.html (autoconf-archive) != /usr/share/autoconf-archive/html/Introduction.html (?) /usr/share/doc/autoconf-archive/html/The-Macros.html (autoconf-archive) != /usr/share/autoconf-archive/html/The-Macros.html (?) /usr/share/doc/autoconf-archive/html/ax_005fabsolute_005fheader.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fabsolute_005fheader.html (?) /usr/share/doc/autoconf-archive/html/ax_005fac_005fappend_005fto_005ffile.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fac_005fappend_005fto_005ffile.html (?) /usr/share/doc/autoconf-archive/html/ax_005fac_005fprint_005fto_005ffile.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fac_005fprint_005fto_005ffile.html (?) /usr/share/doc/autoconf-archive/html/ax_005fadd_005fam_005fmacro.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fadd_005fam_005fmacro.html (?) /usr/share/doc/autoconf-archive/html/ax_005fadd_005fam_005fmacro_005fstatic.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fadd_005fam_005fmacro_005fstatic.html (?) /usr/share/doc/autoconf-archive/html/ax_005fadd_005fam_005ftrilinos_005fmakefile_005fexport.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fadd_005fam_005ftrilinos_005fmakefile_005fexport.html (?) /usr/share/doc/autoconf-archive/html/ax_005fadd_005frecursive_005fam_005fmacro.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fadd_005frecursive_005fam_005fmacro.html (?) /usr/share/doc/autoconf-archive/html/ax_005fadd_005frecursive_005fam_005fmacro_005fstatic.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fadd_005frecursive_005fam_005fmacro_005fstatic.html (?) /usr/share/doc/autoconf-archive/html/ax_005fafs.html (autoconf-archive) != /usr/share/autoconf-archive/html/ax_005fafs.html (?) [...] I have no idea how to properly clean up currently messed up installations ... cheers, Andreas Thanks waiting under mentors to be uploaded Bastien -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#700789: autoconf-archive: unhandled symlink to directory conversion: /usr/share/doc/PACKAGE
On 2013-02-17 21:08, roucaries bastien wrote: Thanks waiting under mentors to be uploaded * missing #DEBHELPER# token in both new maintainer scripts * use the real path in the changelog entry, not the placeholder from my bug reporting template: /usr/share/doc/autoconf-archive/html (and retitle this bug if you want) * new file debian/source/git-patches - why? unneeded change the RT may not like for unblocking * otherwise looks fine, although I didn't test it yet * need a sponsor for the next iteration? Andreas -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org