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

Reply via email to