Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #1069846 > unrolled thread

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

Started byEvangelos Ribeiro Tzaras <devrtz-debian@fortysixandtwo.eu>
First post2021-09-05 13:40 +0200
Last post2021-09-05 21:20 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.debian.bugs.dist


Contents

  Bug#993714: conffile which got removed during upgrade reported missing Evangelos Ribeiro Tzaras <devrtz-debian@fortysixandtwo.eu> - 2021-09-05 13:40 +0200
    Bug#993714: conffile which got removed during upgrade reported missing Florian Schlichting <fsfs@debian.org> - 2021-09-05 18:40 +0200
      Bug#993714: conffile which got removed during upgrade reported missing Axel Beckert <abe@debian.org> - 2021-09-05 21:20 +0200

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

FromEvangelos Ribeiro Tzaras <devrtz-debian@fortysixandtwo.eu>
Date2021-09-05 13:40 +0200
SubjectBug#993714: conffile which got removed during upgrade reported missing
Message-ID<CTYFb-dV-3@gated-at.bofh.it>
Package: debsums
Version: 3.0.2
Severity: normal

Dear Maintainer,

I'm trying to upgrade the gnome-calls package where the a .desktop file changed 
and got renamed

from /etc/xdg/autostart/sm.puri.Calls-daemon.desktop 
to /etc/xdg/autostart/org.gnome.Calls-daemon.desktop

In my debian/gnome-calls.maintscript I've put

rm_conffile /etc/xdg/autostart/sm.puri.Calls-daemon.desktop 41~alpha-1~

and I've made sure that it indeed removes the old file when upgrading
from the latest version (0.2.0-2):


$ sudo dpkg -i ../gnome-calls_41\~rc-1_amd64.deb
(Reading database ... 437749 files and directories currently
installed.)
Preparing to unpack .../gnome-calls_41~rc-1_amd64.deb ...
Unpacking gnome-calls (41~rc-1) over (0.2.0-2) ...
Setting up gnome-calls (41~rc-1) ...
Removing obsolete conffile /etc/xdg/autostart/sm.puri.Calls-
daemon.desktop ...
Processing triggers for mailcap (3.70) ...
Processing triggers for gnome-menus (3.36.0-1) ...
Processing triggers for desktop-file-utils (0.26-1) ...
Processing triggers for libglib2.0-0:i386 (2.68.4-1) ...
Processing triggers for libglib2.0-0:amd64 (2.68.4-1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for man-db (2.9.4-2) ...


Salsa CI had a failing piuparts job [1]:


1m37.0s DUMP: 
   debsums: missing file /tmp/tmpqxks8a8q/etc/xdg/autostart/sm.puri.Calls-daemon.desktop (from gnome-calls package)
   1m37.0s DEBUG: Command failed (status=2), but ignoring error: ['debsums', '--root', '/tmp/tmpqxks8a8q', '-ac', '--ignore-obsolete']
   1m37.0s ERROR: FAIL: debsums reports modifications inside the chroot:
     debsums: missing file /etc/xdg/autostart/sm.puri.Calls-daemon.desktop (from gnome-calls package)


which is very weird to me, since it's _supposed_ to not be there.
See a couple of lines above:

Removing obsolete conffile /etc/xdg/autostart/sm.puri.Calls-daemon.desktop ...


Now I'm not familiar with debsums but since that seems to be at the
heart of the failing piuparts job I've tested the following:

$ debsums -e gnome-calls                                              
debsums: missing file /etc/xdg/autostart/sm.puri.Calls-daemon.desktop (from gnome-calls package)
/etc/xdg/autostart/org.gnome.Calls-daemon.desktop                             OK

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?

Thanks,
Evangelos

[1] https://salsa.debian.org/devrtz/gnome-calls/-/jobs/1904855

-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: arm64, i386

Kernel: Linux 5.10.0-8-amd64 (SMP w/32 CPU threads)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages debsums depends on:
ii  libdpkg-perl          1.20.9
ii  libfile-fnmatch-perl  0.02-2+b8
ii  perl                  5.32.1-5
ii  ucf                   3.0043

debsums recommends no packages.

Versions of packages debsums suggests:
ii  bash-completion  1:2.11-3

-- no debconf information

[toc] | [next] | [standalone]


#1069890

FromFlorian Schlichting <fsfs@debian.org>
Date2021-09-05 18:40 +0200
Message-ID<CU3lw-389-9@gated-at.bofh.it>
In reply to#1069846
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

[toc] | [prev] | [next] | [standalone]


#1069915

FromAxel Beckert <abe@debian.org>
Date2021-09-05 21:20 +0200
Message-ID<CU5Qm-4Mw-3@gated-at.bofh.it>
In reply to#1069890
Hi Florian,

Florian Schlichting wrote:
> 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.

Yep.

> I think this is similar to conffiles marked "obsolete" (cf.
> #689508),

Probably.

> 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,

Will do.

> (Axel, you must have looked into this when developing the "obsolete"
> fix?)

Actually Andreas Beckmann came up with that and I just fine-tuned
things a bit.

But that was back in 2017 while remove-on-upgrade is really, really
new. Actually it got introduced just very shortly before the soft
freeze for Bullseye when IIRC the toolchain freeze (December 2020,
right?) actually was already through if I read dpkg's changelog
correctly. *sigh*

		Regards, Axel
-- 
 ,''`.  |  Axel Beckert <abe@debian.org>, https://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-    |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.dist


csiph-web