Bug#699647: proftpd-mod-geoip: /usr/lib/proftpd/mod_geoip.so missing after upgrade from sid
On 2014-01-28 13:52, Francesco P. Lovergine wrote: On Mon, Jan 27, 2014 at 08:35:02PM +0100, Andreas Beckmann wrote: (Changing the module filename would work.) which seems to me much better than a ugly hack such as the proposed one. But I have no idea how much one needs to hack around in proftpd to make a renamed module work properly. And that would probably not be acceptable for wheezy-p-u. Such a rename deviates from upstream and would have to be carried for at least one release. That ugly hack on the other hand is the confirmedly correct way to handle such seriously borked maintainer scripts. And something where I can verify that it works as intended without needing any knowledge of proftpd itself. Andreas -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#699647: proftpd-mod-geoip: /usr/lib/proftpd/mod_geoip.so missing after upgrade from sid
On Mon, Jan 27, 2014 at 08:35:02PM +0100, Andreas Beckmann wrote: Won't work. Even if you ensure via Conflicts/Pre-Depends that the buggy package gets removed, the postrm script will stay around. You cannot force a package to be purged. (Changing the module filename would work.) which seems to me much better than a ugly hack such as the proposed one. -- Francesco P. Lovergine -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#699647: proftpd-mod-geoip: /usr/lib/proftpd/mod_geoip.so missing after upgrade from sid
On Sun, Jan 26, 2014 at 02:02:30PM +0100, Guillem Jover wrote: Hi! On Sun, 2014-01-26 at 13:06:47 +0100, Andreas Beckmann wrote: what are your deprecation plans for dpkg-query --control-path? This is an actual use-case that requires --control-path in wheezy and jessie. Or is there a better way to achieve this with dpkg? Old postrm is broken and will play havoc after the new package was unpacked. Therefore we have to delete it in the new preinst. I wonder if the correct fix would be simply moving the Breaks/Replaces in the proftpd-basic binary section instead of the proftpd-mod-geoip pkg. That would force removing of the old package before proceeding with the installation of both -basic and the new package. -- Francesco P. Lovergine -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#699647: proftpd-mod-geoip: /usr/lib/proftpd/mod_geoip.so missing after upgrade from sid
On Monday, 27. January 2014 16:22:06 Francesco P. Lovergine wrote: Old postrm is broken and will play havoc after the new package was unpacked. Therefore we have to delete it in the new preinst. I wonder if the correct fix would be simply moving the Breaks/Replaces in the proftpd-basic binary section instead of the proftpd-mod-geoip pkg. That would force removing of the old package before proceeding with the installation of both -basic and the new package. Won't work. Even if you ensure via Conflicts/Pre-Depends that the buggy package gets removed, the postrm script will stay around. You cannot force a package to be purged. (Changing the module filename would work.) Andreas @Guillem: thanks for your clarification regarding --control-path -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#699647: proftpd-mod-geoip: /usr/lib/proftpd/mod_geoip.so missing after upgrade from sid
Hi Guillem, what are your deprecation plans for dpkg-query --control-path? This is an actual use-case that requires --control-path in wheezy and jessie. Or is there a better way to achieve this with dpkg? Old postrm is broken and will play havoc after the new package was unpacked. Therefore we have to delete it in the new preinst. On 2014-01-26 08:01, Salvatore Bonaccorso wrote: Hi Andreas, On Sun, Jan 26, 2014 at 04:04:38AM +0100, Andreas Beckmann wrote: +if [ $1 = install ] || [ $1 = upgrade ] +then +if dpkg --compare-versions $2 lt-nl 0.3-1+deb7u1 +then +rm -fv $(dpkg-query --control-path proftpd-mod-geoip postrm) +fi +fi + +#DEBHELPER# I noticed in current dpkg-query manpage it says: -c, --control-path package-name [control-file] List paths for control files installed to your system from package-name. If control-file is specified then only list the path for that control file if it is present. Warning: this command is deprecated, please switch to use --control-list and --control-show instead. But don't know how to better get to the maintainer script to be removed. --control-list only shows the control files installed by the package. Regards, Salvatore -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#699647: proftpd-mod-geoip: /usr/lib/proftpd/mod_geoip.so missing after upgrade from sid
Hi! On Sun, 2014-01-26 at 13:06:47 +0100, Andreas Beckmann wrote: what are your deprecation plans for dpkg-query --control-path? This is an actual use-case that requires --control-path in wheezy and jessie. Or is there a better way to achieve this with dpkg? Old postrm is broken and will play havoc after the new package was unpacked. Therefore we have to delete it in the new preinst. Ideally there would be a proper solution for this kind of situations, as of now, yes that's the “best option”. See also: https://wiki.debian.org/Teams/Dpkg/FAQ#Q:_Can_dpkg_be_told_to_avoid_invoking_a_harmful_prerm_from_an_installed_package_on_upgrade.3F On 2014-01-26 08:01, Salvatore Bonaccorso wrote: On Sun, Jan 26, 2014 at 04:04:38AM +0100, Andreas Beckmann wrote: +if [ $1 = install ] || [ $1 = upgrade ] +then + if dpkg --compare-versions $2 lt-nl 0.3-1+deb7u1 + then + rm -fv $(dpkg-query --control-path proftpd-mod-geoip postrm) + fi +fi + +#DEBHELPER# I noticed in current dpkg-query manpage it says: -c, --control-path package-name [control-file] List paths for control files installed to your system from package-name. If control-file is specified then only list the path for that control file if it is present. Warning: this command is deprecated, please switch to use --control-list and --control-show instead. But don't know how to better get to the maintainer script to be removed. --control-list only shows the control files installed by the package. Indeed, I'll clarify the man page to mention that it's strongly deprecated in case they can be replaced with the other --control commands, but that there might be other cases that might still need it, and that it will not disappear as long as there's no better ways to accomplish those. Hope that helps. Thanks, Guillem -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#699647: proftpd-mod-geoip: /usr/lib/proftpd/mod_geoip.so missing after upgrade from sid
Followup-For: Bug #699647 Control: tag -1 pending Hi, I have now prepared a NMU and will upload this to DELAYED/2. Please let me know if I should delay it longer. I plan to get a corresponding fix into the next wheezy point release. Andreas diff -Nru proftpd-dfsg-1.3.5~rc3/debian/changelog proftpd-dfsg-1.3.5~rc3/debian/changelog --- proftpd-dfsg-1.3.5~rc3/debian/changelog 2013-10-05 14:59:31.0 +0200 +++ proftpd-dfsg-1.3.5~rc3/debian/changelog 2014-01-26 03:39:39.0 +0100 @@ -1,3 +1,13 @@ +proftpd-dfsg (1.3.5~rc3-2.2) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * proftpd-mod-geoip: +- Cleanup Breaks+Replaces. +- Add preinst script to delete the old buggy postrm script on upgrades + from wheezy. (Closes: #699647) + + -- Andreas Beckmann a...@debian.org Sun, 26 Jan 2014 03:35:08 +0100 + proftpd-dfsg (1.3.5~rc3-2.1) unstable; urgency=low * Non-maintainer upload. diff -Nru proftpd-dfsg-1.3.5~rc3/debian/control proftpd-dfsg-1.3.5~rc3/debian/control --- proftpd-dfsg-1.3.5~rc3/debian/control 2013-10-05 15:00:53.0 +0200 +++ proftpd-dfsg-1.3.5~rc3/debian/control 2014-01-26 03:45:31.0 +0100 @@ -192,8 +192,6 @@ Package: proftpd-mod-geoip Architecture: any Depends: proftpd-basic (=${binary:Version}), ${misc:Depends}, ${shlibs:Depends} -Breaks: proftpd-mod-geoip ( 1.3.5~rc1-1) -Replaces: proftpd-mod-geoip ( 1.3.5~rc1-1) Description: Versatile, virtual-hosting FTP daemon - GeoIP module ProFTPD is a powerful modular FTP/SFTP/FTPS server. This File Transfer Protocol daemon supports also hidden directories, virtual hosts, and diff -Nru proftpd-dfsg-1.3.5~rc3/debian/control.in proftpd-dfsg-1.3.5~rc3/debian/control.in --- proftpd-dfsg-1.3.5~rc3/debian/control.in 2013-10-05 14:59:31.0 +0200 +++ proftpd-dfsg-1.3.5~rc3/debian/control.in 2014-01-26 03:37:31.0 +0100 @@ -192,8 +192,6 @@ Package: proftpd-mod-geoip Architecture: any Depends: proftpd-basic (=${binary:Version}), ${misc:Depends}, ${shlibs:Depends} -Breaks: proftpd-mod-geoip ( 1.3.5~rc1-1) -Replaces: proftpd-mod-geoip ( 1.3.5~rc1-1) Description: Versatile, virtual-hosting FTP daemon - GeoIP module ProFTPD is a powerful modular FTP/SFTP/FTPS server. This File Transfer Protocol daemon supports also hidden directories, virtual hosts, and diff -Nru proftpd-dfsg-1.3.5~rc3/debian/proftpd-mod-geoip.preinst proftpd-dfsg-1.3.5~rc3/debian/proftpd-mod-geoip.preinst --- proftpd-dfsg-1.3.5~rc3/debian/proftpd-mod-geoip.preinst 1970-01-01 01:00:00.0 +0100 +++ proftpd-dfsg-1.3.5~rc3/debian/proftpd-mod-geoip.preinst 2014-01-26 03:44:28.0 +0100 @@ -0,0 +1,12 @@ +#!/bin/sh +set -e + +if [ $1 = install ] || [ $1 = upgrade ] +then + if dpkg --compare-versions $2 lt-nl 0.3-1+deb7u1 + then + rm -fv $(dpkg-query --control-path proftpd-mod-geoip postrm) + fi +fi + +#DEBHELPER#
Bug#699647: proftpd-mod-geoip: /usr/lib/proftpd/mod_geoip.so missing after upgrade from sid
Hi Andreas, On Sun, Jan 26, 2014 at 04:04:38AM +0100, Andreas Beckmann wrote: +if [ $1 = install ] || [ $1 = upgrade ] +then + if dpkg --compare-versions $2 lt-nl 0.3-1+deb7u1 + then + rm -fv $(dpkg-query --control-path proftpd-mod-geoip postrm) + fi +fi + +#DEBHELPER# I noticed in current dpkg-query manpage it says: -c, --control-path package-name [control-file] List paths for control files installed to your system from package-name. If control-file is specified then only list the path for that control file if it is present. Warning: this command is deprecated, please switch to use --control-list and --control-show instead. But don't know how to better get to the maintainer script to be removed. --control-list only shows the control files installed by the package. Regards, Salvatore -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#699647: proftpd-mod-geoip: /usr/lib/proftpd/mod_geoip.so missing after upgrade from sid
Followup-For: Bug #699647 Control: found -1 1.3.5~rc3-2.1 The problem is still present and this time I dug into it and analyzed the real cause: the insane postrm script in 0.3-1, see #726742 Adding Breaks/Replaces against a package itself is useless, so drop them again. To fix this, add a proftpd-mod-geoip.preinst script that checks for existence of a postrm script in the previous version and delete this bad script ... something like #!/bin/sh set -e case $1 in install|upgrade) if dpkg --compare-versions $2 lt-nl 0.3-1+deb7u1 then rm -fv /var/lib/dpkg/info/proftpd-mod-geoip.postrm fi ;; esac #DEBHELPER# (assuming this gets fixed in wheezy with version 0.3-1+deb7u1) (it's important to check in the install case as well, becuase the package may be in config-files-remaining state where the bad postrm still exists Andreas -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#699647: proftpd-mod-geoip: /usr/lib/proftpd/mod_geoip.so missing after upgrade from sid
Followup-For: Bug #699647 The problem is still reproducible on upgrades from wheezy to sid. The Package relationships are not correct: Package: proftpd-mod-geoip Version: 1.3.5~rc3-2 Replaces: proftpd-mod-geoip ( 1.3.5) Breaks: proftpd-mod-geoip ( 1.3.5) that needs to be ( 1.3.5~rc1) Andreas proftpd-mod-geoip_1.3.5~rc3-2.log.gz Description: GNU Zip compressed data
Bug#699647: proftpd-mod-geoip: /usr/lib/proftpd/mod_geoip.so missing after upgrade from sid
Package: proftpd-mod-geoip Version: 1.3.5~rc1-2 Severity: serious User: debian...@lists.debian.org Usertags: piuparts Hi, during a test with piuparts I noticed your package deletes a file it has shipped. debsums reports modification of the following files, from the attached log (scroll to the bottom...): 0m41.7s ERROR: FAIL: debsums reports modifications inside the chroot: debsums: missing file /usr/lib/proftpd/mod_geoip.so (from proftpd-mod-geoip package) cheers, Andreas proftpd-mod-geoip_1.3.5~rc1-2.log.gz Description: GNU Zip compressed data