[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