Package: dpkg
Version: 1.21.7
Severity: normal

In an upgrade, the user may get a prompt like that and answer yes
to install the package maintainer's version of a conffile, thus
reverting all changes done he had done:

Configuration file '/etc/resolvconf/update.d/unbound'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   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.
*** unbound (Y/I/N/O/D/Z) [default=N] ? Y
Installing new version of config file /etc/resolvconf/update.d/unbound ...
[...]

However, if the user had changed the execute permission, e.g. to
enable the script after modifying it, the execute permission is
not restored to the default one.

The execute permission is part of the file, thus should be propagated
like the contents.

The current behavior is an issue since a script may be disabled
by default because it could be incorrect until the user has
adapted it for his own usage. And the message like

  Installing new version of config file /etc/resolvconf/update.d/unbound ...

(letting the user think that the conffile is reverted to the default,
without informing him that the execute bit is not copied) is
misleading.

An alternative solution would be a 5th option, splitting the

    Y or I  : install the package maintainer's version

choice, when there is a difference for the execute permission.

-- Package-specific info:

-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 
'stable-security'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.16.0-6-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=POSIX, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages dpkg depends on:
ii  libbz2-1.0   1.0.8-5
ii  libc6        2.33-7
ii  liblzma5     5.2.5-2.1
ii  libselinux1  3.3-1+b2
ii  tar          1.34+dfsg-1
ii  zlib1g       1:1.2.11.dfsg-4

dpkg recommends no packages.

Versions of packages dpkg suggests:
ii  apt            2.4.5
pn  debsig-verify  <none>

-- no debconf information

-- 
Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

Reply via email to