Package: base-passwd
Version: 3.5.9
Severity: wishlist

When the package installs, it looks for the package-provided
/usr/share/base-passwd/{passwd,group}.master. If a site has local
changes, it is necessary to override the package files. If the site
wants to do this during noninteractive Debian installation (ks), they
have no choice but to modify the package before installation.

I've attached a first-pass fix which looks for
/etc/base-passwd/{passwd,group}.local first.

-- System Information:
Debian Release: 3.1
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.9-9-amd64-k8-smp
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages base-passwd depends on:
ii  libc6                       2.3.2.ds1-21 GNU C Library: Shared libraries an

-- no debconf information
--- base-passwd.postinst.orig   2003-10-28 17:52:38.000000000 -0800
+++ base-passwd.postinst        2005-06-13 12:47:25.462530000 -0700
@@ -49,12 +49,30 @@
     exit 0
 fi
 
+PASSWD_MASTER=/usr/share/base-passwd/passwd.master
+GROUP_MASTER=/usr/share/base-passwd/group.master
+
+PASSWD_LOCAL=/etc/base-passwd/passwd.local
+GROUP_LOCAL=/etc/base-passwd/group.local
+
+if [ -e ${PASSWD_LOCAL} ] ; then
+    PASSWD_FILE=${PASSWD_LOCAL}
+else
+    PASSWD_FILE=${PASSWD_MASTER}
+fi
+
+if [ -e ${GROUP_LOCAL} ] ; then
+    GROUP_FILE=${GROUP_LOCAL}
+else
+    GROUP_FILE=${GROUP_MASTER}
+fi
+
 if [ ! -e /etc/passwd ] ; then
-       cp /usr/share/base-passwd/passwd.master /etc/passwd
+       cp $PASSWD_FILE /etc/passwd
 fi
 
 if [ ! -e /etc/group ] ; then
-       cp /usr/share/base-passwd/group.master /etc/group
+       cp $GROUP_FILE /etc/group
 fi
 
 if [ "$2" = "3.2.2" ] && [ -f /etc/passwd.org ] ; then
@@ -76,7 +94,7 @@
 fi
 
 tmp=`tempfile`
-if ! update-passwd --dry-run > $tmp ; then
+if ! update-passwd -p ${PASSWD_FILE} -g ${GROUP_FILE} --dry-run > $tmp ; then
        cat <<EOF
 
 update-passwd has found some differences between your system accounts
@@ -104,7 +122,7 @@
 
 if [ "$a" = "y" ] ; then
        echo "Okay, I am going to make the necessary updates now"
-       update-passwd --verbose
+       update-passwd -p ${PASSWD_FILE} -g ${GROUP_FILE} --verbose
        changes=1
 elif [ "$a" = "n" ] ; then
        cat <<EOF

Reply via email to