On Sun, Apr 22, 2012 at 11:41:50PM +0200, Michael Biebl wrote: > On 22.04.2012 16:42, Josh Triplett wrote: > > On Sun, Apr 22, 2012 at 04:13:22PM +0200, Michael Biebl wrote: > >> On 22.04.2012 11:40, Josh Triplett wrote: > >>> Package: systemd > >>> Version: 44-1 > >>> Severity: normal > >>> File: /etc/bash_completion.d/systemctl-bash-completion.sh > >>> > >>> dpkg does not automatically remove conffiles on upgrade when a package > >>> stops shipping them. systemd needs to clean up the obsolete conffile > >>> /etc/bash_completion.d/systemctl-bash-completion.sh in its > >>> maintainer scripts, using dpkg-maintscript-helper. Please see the > >>> manpage of dpkg-maintscript-helper for details. > >>> > >> > >> The systemd bash_completion file was renamed/moved and systemd already > >> uses a dh_installdeb maintscript helper to move the conffile. > >> > >> See /var/lib/dpkg/info/systemd.p* > > > > However, I noticed something interesting: the mv_conffile operation in > > the maintainer scripts uses version 37-1, so it'll only occur on > > upgrades from that version or before, but 37-1.1 had the same conffile. > > So, anyone who upgrades from 37-1 to 37-1.1 before upgrading to 43-1 or > > later will not have the conffile migrated. > > > > I checked the history of systemd on my system via dpkg.log, and sure > > enough I upgraded to 37-1.1 before upgrading to a later version. > > That's an unpleasant side-effect of the dpkg-maintscript syntax. It uses > > mv_conffile oldconffile newconffile [priorversion [package]] > > Where priorversion is the last unfixed version. > > When 43-1 was uploaded to experimental, the last unfixed version was > 37-1. Later on, *after* 43-1 had been uploaded, the version in > experimental received another update, which broke the versioning > information in the maintscript file. > > Personally, I would prefer, if dpkg-maintscript would use > first-fixed-version instead of priorversion (i.e. < instead <=), as you > know exactly the version when the conffile was (re)moved, but you can't > be sure about value of priorversion, since this might change (e.g. by a > binNMU). > > Raphael, what was the reasoning for choosing the current syntax? > > Maybe should have used 43-1~~ instead of 37-1. This is ugly, but it > would have avoided this particular problem and it even would be > backport-safe.
Using a ~ seems sensible, though 43-1~~ doesn't quite seem backport-safe; I think you want 43-~~ , so that a version like 43-0squeeze1 will sort later: ~$ dpkg --compare-versions '43-0squeeze1' '<<' '43-~~' ; echo $? 1 ~$ dpkg --compare-versions '43-0squeeze1' '<<' '43-1~~' ; echo $? 0 - Josh Triplett -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org