Package: vdr
Version: 2.0.3-2+b1
Severity: serious
Tags: patch
Justification: The package is uninstallable: this is not a violation of DPM, 
but should not be in the archive at all instead.

Dear Maintainer,

Your package is uninstallable on a system where the user "vdr" and group "vdr" 
exist and
the passwd and group databases do not support enumeration or systems where 
there are more 
than one such database and the vdr user and group are not defined in the 
primary one. Note
that the first condition is fulfilled by any system where vdr is already 
installed, thus
making it impossible to upgrade vdr (short of editing the postinst script).

As the man page of getent mentions, the command

getent passwd

is not guaranteed to enumerate all users (likewise for getent group), yet this 
is exactly
what the postinst script tries to do to determine if the user/group vdr exists. 
A very short
patch is attached which correctly enumerates said user and group and takes the 
appropriate
action in both cases.

Best regards,
Juha

-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (995, 'testing'), (990, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.13-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8) (ignored: LC_ALL 
set to en_GB.UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages vdr depends on:
ii  adduser                3.113+nmu3
ii  debconf [debconf-2.0]  1.5.53
ii  libc6                  2.19-13
ii  libcap2                1:2.24-6
ii  libfontconfig1         2.11.0-6.1
ii  libfreetype6           2.5.2-2
ii  libgcc1                1:4.9.1-19
ii  libjpeg62-turbo        1:1.3.1-10
ii  libstdc++6             4.9.1-19
ii  psmisc                 22.21-2

Versions of packages vdr recommends:
ii  fonts-freefont-ttf [ttf-freefont]  20120503-4
ii  lirc                               0.9.0~pre1-1.1
ii  ttf-bitstream-vera                 1.10-8
ii  ttf-freefont                       20120503-4

Versions of packages vdr suggests:
pn  vdr-plugin-dvbsddevice  <none>

-- Configuration Files:
/etc/default/vdr changed [not included]
/etc/vdr/command-hooks/commands.custom.conf changed [not included]
/etc/vdr/command-hooks/order.commands.conf 6f3fafcaa16c454645c64a98bd064491 
[Errno 2] No such file or directory: 
u'/etc/vdr/command-hooks/order.commands.conf 6f3fafcaa16c454645c64a98bd064491'
/etc/vdr/command-hooks/order.reccmds.conf 87e4187bd6121964ce054223570caac4 
[Errno 2] No such file or directory: 
u'/etc/vdr/command-hooks/order.reccmds.conf 87e4187bd6121964ce054223570caac4'
/etc/vdr/groups.d/vdr.groups 01aa59f17312aeb7958106059937565f [Errno 2] No such 
file or directory: u'/etc/vdr/groups.d/vdr.groups 
01aa59f17312aeb7958106059937565f'
/etc/vdr/keymacros.conf changed [not included]
/etc/vdr/svdrphosts.conf changed [not included]

-- debconf information excluded
--- /var/lib/dpkg/info/vdr.postinst.broken	2014-11-23 21:45:22.493063539 +0000
+++ /var/lib/dpkg/info/vdr.postinst.working	2014-11-23 21:46:54.222673434 +0000
@@ -75,12 +75,12 @@
         # ensure that user and group 'vdr' exist
         USER=vdr
         GROUP=vdr
-        if ! getent group | grep -q "^$GROUP:" ; then
+        if ! getent group "$GROUP"| grep -q "^$GROUP:" ; then
                 echo -n "Adding group $GROUP.."
                 addgroup --quiet --system $GROUP
                 echo "..done"
         fi
-        if ! getent passwd | grep -q "^$USER:"; then
+        if ! getent passwd "$USER"| grep -q "^$USER:"; then
                 echo -n "Adding user $USER.."
                 adduser --system --home /var/lib/vdr --shell /bin/false \
                         --gecos "VDR user" --no-create-home \

Reply via email to