Bug#993714: conffile which got removed during upgrade reported missing

Florian Schlichting fsfs at debian.org
Sun Sep 5 17:37:18 BST 2021


Hi Evangelos, Axel, Perl team:

On Sun, Sep 05, 2021 at 01:19:44PM +0200, Evangelos Ribeiro Tzaras wrote:
> Is this behaviour expected? Could it be that the new `remove-on-upgrade`
> feature added to dpkg in 1.20.9 is not (yet) understood by debsums?

this.

I've built gnome-calls 41~rc-1 from your salsa repo. The source's

| $ cat debian/gnome-calls.maintscript
| rm_conffile /etc/xdg/autostart/sm.puri.Calls.desktop 0.2.0-1~
| rm_conffile /etc/xdg/autostart/sm.puri.Calls-daemon.desktop 41~alpha-1~

in the binary package now becomes

| $ cat DEBIAN/conffiles
| remove-on-upgrade /etc/xdg/autostart/sm.puri.Calls.desktop
| remove-on-upgrade /etc/xdg/autostart/sm.puri.Calls-daemon.desktop
| /etc/xdg/autostart/org.gnome.Calls-daemon.desktop

So when upgrading gnome-calls from 0.2.0-2 to 41~rc-1, the dpkg database
now reports the following conffiles:

| dpkg-query --showformat='${Conffiles}' --show gnome-calls
|  /etc/xdg/autostart/sm.puri.Calls.desktop newconffile remove-on-upgrade
|  /etc/xdg/autostart/sm.puri.Calls-daemon.desktop 1789a2d13445edfdced51660c298d7c0 remove-on-upgrade
|  /etc/xdg/autostart/org.gnome.Calls-daemon.desktop f78af49e6b5f5cdd5e123aa95f5da75c

This output is parsed by debsums, which assumes that
sm.puri.Calls-daemon.desktop must exist because it has a hash value,
whereas in reality it has already been removed from the system during
the upgrade.

I think this is similar to conffiles marked "obsolete" (cf. #689508),
and I've just pushed a one-line patch to ignore all lines containing the
remove-on-upgrade flag. However I'd prefer if somebody else has a look
to confirm this solution, as I'm rather unfamiliar with debsums and the
dpkg database, and failed to understand why dpkg would keep hashes for
deleted files. (Axel, you must have looked into this when developing the
"obsolete" fix?)

Florian



More information about the pkg-perl-maintainers mailing list