Bug#773191: python-ogg-dbg: unhandled symlink to directory conversion: /usr/share/doc/PACKAGE
Hi Sandro, On Sun, 21 Dec 2014 10:50:15 + Sandro Tosi wrote: > Hi Jean-Michel, > Thanks for your work, I will fix the package soon from dpmt repo; and yes > the right solution is to use dpkg maint scripts to fix the dir-link > transition. Any update on this? pyogg is showing up on the release team's list of packages to be autoremoved soon [1][2], along with all its reverse-deps, so if you'd like a helping hand, I'd be glad to NMU this. Regards, Vincent [1] http://nthykier.wordpress.com/2014/12/30/status-on-jessie-december-2014/ [2] https://udd.debian.org/bugs/?release=jessie&merged=ign&keypackages=ign&fnewerval=7&flastmodval=7&rc=1&chints=1&cdeferred=1&crttags=1&sortby=id&sorto=asc&format=html#results -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#773191: python-ogg-dbg: unhandled symlink to directory conversion: /usr/share/doc/PACKAGE
Hi Jean-Michel, Thanks for your work, I will fix the package soon from dpmt repo; and yes the right solution is to use dpkg maint scripts to fix the dir-link transition. Regards, Sandro Il 21/dic/2014 02:57 "Jean-Michel Nirgal Vourgère" ha scritto: > Jean-Michel Nirgal Vourgère: > > This problem was introduced in commit 27848, where d/rules target > > override_dh_installdocs got an extraneous dh_installdocs: The second one > > try to make the link but fails because the first one created a directory > > with that name. > > Actually, there is a problem when uploading from version -6 in my > proposal above. That version is not in wheezy and probably will not be > in jessie either, so this is not a big deal. But to do things properly, > one need to use a maintscript with a dir_to_symlink. > > I tested fresh installs and upgrades both from -6 and straight from -5. > I could not detect any problem with dir_to_symlink when there is already > a symlink, like in -5. :) > > I updated the version on mentors. See previous mail. >
Bug#773191: python-ogg-dbg: unhandled symlink to directory conversion: /usr/share/doc/PACKAGE
Jean-Michel Nirgal Vourgère: > This problem was introduced in commit 27848, where d/rules target > override_dh_installdocs got an extraneous dh_installdocs: The second one > try to make the link but fails because the first one created a directory > with that name. Actually, there is a problem when uploading from version -6 in my proposal above. That version is not in wheezy and probably will not be in jessie either, so this is not a big deal. But to do things properly, one need to use a maintscript with a dir_to_symlink. I tested fresh installs and upgrades both from -6 and straight from -5. I could not detect any problem with dir_to_symlink when there is already a symlink, like in -5. :) I updated the version on mentors. See previous mail. diff -Nru pyogg-1.3+repack/debian/changelog pyogg-1.3+repack/debian/changelog --- pyogg-1.3+repack/debian/changelog 2014-02-22 12:10:10.0 +0100 +++ pyogg-1.3+repack/debian/changelog 2014-12-21 02:28:55.0 +0100 @@ -1,3 +1,14 @@ +pyogg (1.3+repack-6.1) unstable; urgency=medium + + * Non-maintainer upload. + * d/rules: Remove extraneous dh_installdocs; Closes: #773191 + * Support upgrades from 1.3+repack-6 where +/usr/share/doc/python-ogg-dbg is not a link: +- New python-ogg-dbg.maintscript +- d/control: Add Pre-Depends: $misc for maintscript + + -- Jean-Michel Nirgal Vourgère Sun, 21 Dec 2014 02:26:17 +0100 + pyogg (1.3+repack-6) unstable; urgency=low [ Sandro Tosi ] diff -Nru pyogg-1.3+repack/debian/control pyogg-1.3+repack/debian/control --- pyogg-1.3+repack/debian/control 2014-02-22 11:47:36.0 +0100 +++ pyogg-1.3+repack/debian/control 2014-12-21 02:25:56.0 +0100 @@ -22,6 +22,7 @@ Architecture: any Section: debug Priority: extra +Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, python-ogg (= ${binary:Version}), python-dbg, ${shlibs:Depends} Description: Python interface to the Ogg library (debug extension) This module makes the libogg (Ogg) functions available diff -Nru pyogg-1.3+repack/debian/python-ogg-dbg.maintscript pyogg-1.3+repack/debian/python-ogg-dbg.maintscript --- pyogg-1.3+repack/debian/python-ogg-dbg.maintscript 1970-01-01 01:00:00.0 +0100 +++ pyogg-1.3+repack/debian/python-ogg-dbg.maintscript 2014-12-21 02:25:14.0 +0100 @@ -0,0 +1 @@ +dir_to_symlink /usr/share/doc/python-ogg-dbg python-ogg 1.3+repack-6.1~ diff -Nru pyogg-1.3+repack/debian/rules pyogg-1.3+repack/debian/rules --- pyogg-1.3+repack/debian/rules 2014-02-22 11:47:36.0 +0100 +++ pyogg-1.3+repack/debian/rules 2014-12-21 01:03:20.0 +0100 @@ -44,5 +44,4 @@ endif override_dh_installdocs: - dh_installdocs dh_installdocs -A --link-doc=python-ogg signature.asc Description: OpenPGP digital signature
Bug#773191: python-ogg-dbg: unhandled symlink to directory conversion: /usr/share/doc/PACKAGE
Control: tags -1 + patch Dear morph This problem was introduced in commit 27848, where d/rules target override_dh_installdocs got an extraneous dh_installdocs: The second one try to make the link but fails because the first one created a directory with that name. I've prepared a simple NMU for pyogg (versioned as 1.3+repack-6.1) and uploaded it to mentors. See attached diff. I saw you already fixed other minor issues in svn, so a NMU might actually make things easier to get an unblock. Free free to sponsor it if you like it. dget -x http://mentors.debian.net/debian/pool/main/p/pyogg/pyogg_1.3+repack-6.1.dsc Regards. -- Nirgal diff -Nru pyogg-1.3+repack/debian/changelog pyogg-1.3+repack/debian/changelog --- pyogg-1.3+repack/debian/changelog 2014-02-22 12:10:10.0 +0100 +++ pyogg-1.3+repack/debian/changelog 2014-12-21 01:08:17.0 +0100 @@ -1,3 +1,10 @@ +pyogg (1.3+repack-6.1) unstable; urgency=medium + + * Non-maintainer upload. + * d/rules: Remove extraneous dh_installdocs; Closes: #773191 + + -- Jean-Michel Nirgal Vourgère Sun, 21 Dec 2014 01:03:47 +0100 + pyogg (1.3+repack-6) unstable; urgency=low [ Sandro Tosi ] diff -Nru pyogg-1.3+repack/debian/rules pyogg-1.3+repack/debian/rules --- pyogg-1.3+repack/debian/rules 2014-02-22 11:47:36.0 +0100 +++ pyogg-1.3+repack/debian/rules 2014-12-21 01:03:20.0 +0100 @@ -44,5 +44,4 @@ endif override_dh_installdocs: - dh_installdocs dh_installdocs -A --link-doc=python-ogg signature.asc Description: OpenPGP digital signature
Bug#773191: python-ogg-dbg: unhandled symlink to directory conversion: /usr/share/doc/PACKAGE
Package: python-ogg-dbg Version: 1.3+repack-6 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: wheezy -> jessie 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: https://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 https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#s-unpackphase It is recommended to use the dpkg-maintscript-helper commands 'dir_to_symlink' and 'symlink_to_dir' (available since dpkg 1.17.14) to perform the conversion, ideally using d/$PACKAGE.mainstscript. Do not forget to add 'Pre-Depends: ${misc:Pre-Depends}' in d/control. See dpkg-maintscript-helper(1) and dh_installdeb(1) for details. >From the attached log (usually somewhere in the middle...): 2m15.8s ERROR: FAIL: silently overwrites files via directory symlinks: /usr/share/doc/python-ogg-dbg/changelog.Debian.gz (python-ogg-dbg) != /usr/share/doc/python-ogg/changelog.Debian.gz (python-ogg) /usr/share/doc/python-ogg-dbg/changelog.gz (python-ogg-dbg) != /usr/share/doc/python-ogg/changelog.gz (python-ogg) /usr/share/doc/python-ogg-dbg/copyright (python-ogg-dbg) != /usr/share/doc/python-ogg/copyright (python-ogg) cheers, Andreas python-ogg-dbg_1.3+repack-6.log.gz Description: application/gzip