Package: ucf
Version: 3.0043+nmu1
Severity: important
X-Debbugs-Cc: hri...@venev.name

Dear Maintainer,

It appears that ucf follows symbolic links before checking if those
symlinks correspond to diverted packages:

    setq dest_file "$(readlink -q -m $temp_dest_file)" "The Destination file";
    ...
    dest_file=$(dpkg-divert --truename "$dest_file")

This means that if a configuration file is diverted and a symlink is
installed in its place, ucf will try to act on the target of the symlink
instead of on the original config file.

Instead, a more reasonable behaviour would be the following:

1. First, resolve the real path of the directory that contains the
configuration file, but not the trailing symlink
2. Then, check if the resulting path is diverted
3. Finally, dereference the trailing symlink


-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

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

Versions of packages ucf depends on:
ii  debconf [debconf-2.0]  1.5.82
ii  sensible-utils         0.0.20

ucf recommends no packages.

ucf suggests no packages.

-- Configuration Files:
/etc/ucf.conf changed [not included]

-- debconf information excluded

Reply via email to