[Debian GNUstep maintainers] Bug#1094636: dpkg conffile modified warnings on upgrades
Michael Biebl
biebl at debian.org
Wed Jan 29 13:21:30 GMT 2025
Package: gnustep-base-runtime
Version: 1.30.0-11
Severity: important
Hi,
during todays upgrade, I got the following dpkg prompt:
Setting up gnustep-base-runtime (1.30.0-11) ...
Configuration file '/etc/GNUstep/gdomap_probes'
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** gdomap_probes (Y/I/N/O/D/Z) [default=N] ?
Afaics this is due to
https://salsa.debian.org/gnustep-team/gnustep-base/-/commit/031d50746014b4699f628cd9c8f15b1e827a003b
This is unfortunate, as this will affect every user on upgrades, whether
they have modified /etc/GNUstep/gdomap_probes or not.
I'm not a aware of a good way to turn a postinst generated configuration
file into a proper conffile, but one thing you could do is store a hash
(or a list of known hashes) of the postinst generated configuration file
and remove /etc/GNUstep/gdomap_probes in *preinst* if it has not been
modified by the user.
# md5sum /etc/GNUstep/gdomap_probes
0350e9dc3fb96577e6cc2d8873f2fde5 /etc/GNUstep/gdomap_probes
This is the hash from a bookworm system.
As was suggested on #debian-devel, if you want to be extra cautious, you
can delay the removal of the old, generated /etc/GNUstep/gdomap_probes
file.
So, preinst would simply rename the file (so it doesn't clash with the
new dpkg tracked conffile) and in postinst you actually remove that file
on a successful upgrade. If the upgrade has failed (abort-upgrade case
[1]), you restore the old file.
Regards,
Michael
[1] https://wiki.debian.org/MaintainerScripts
-- System Information:
Debian Release: trixie/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 6.12.11-amd64 (SMP w/16 CPU threads; PREEMPT)
Kernel taint flags: TAINT_WARN
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages gnustep-base-runtime depends on:
ii gnustep-base-common 1.30.0-11
ii init-system-helpers 1.68
ii libc6 2.40-6
ii libgcc-s1 14.2.0-15
ii libgnustep-base1.30 1.30.0-11
ii libobjc4 14.2.0-15
gnustep-base-runtime recommends no packages.
gnustep-base-runtime suggests no packages.
-- Configuration Files:
/etc/GNUstep/gdomap_probes changed [not included]
-- no debconf information
More information about the pkg-GNUstep-maintainers
mailing list