tags 688206 + patch
tags 688206 + pending
thanks

Dear maintainer,

I've prepared an NMU for pure-ftpd (versioned as 1.0.36-1.1) and
uploaded it to DELAYED/2. Please feel free to tell me if I
should delay it longer.

Regards.

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer  -  http://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: David Bowie: Suffragette City
reverted:
--- pure-ftpd-1.0.36/debian/pure-ftpd-common.default
+++ pure-ftpd-1.0.36.orig/debian/pure-ftpd-common.default
@@ -1,26 +0,0 @@
-# Configuration for pure-ftpd
-# (this file is sourced by /bin/sh, edit accordingly)
-
-# STANDALONE_OR_INETD
-# valid values are "standalone" and "inetd".
-# Any change here overrides the setting in debconf.
-STANDALONE_OR_INETD=
-
-# VIRTUALCHROOT: 
-# whether to use binary with virtualchroot support
-# valid values are "true" or "false"
-# Any change here overrides the setting in debconf.
-VIRTUALCHROOT=
-
-# UPLOADSCRIPT: if this is set and the daemon is run in standalone mode,
-# pure-uploadscript will also be run to spawn the program given below
-# for handling uploads. see /usr/share/doc/pure-ftpd/README.gz or
-# pure-uploadscript(8)
-
-# example: UPLOADSCRIPT=/usr/local/sbin/uploadhandler.pl
-UPLOADSCRIPT=
-
-# if set, pure-uploadscript will spawn $UPLOADSCRIPT running as the
-# given uid and gid
-UPLOADUID=
-UPLOADGID=
diff -u pure-ftpd-1.0.36/debian/pure-ftpd-common.postinst pure-ftpd-1.0.36/debian/pure-ftpd-common.postinst
--- pure-ftpd-1.0.36/debian/pure-ftpd-common.postinst
+++ pure-ftpd-1.0.36/debian/pure-ftpd-common.postinst
@@ -1,15 +1,6 @@
 #! /bin/sh
 # postinst script for pure-ftpd-common
 
-# get settings from debconf
-. /usr/share/debconf/confmodule
-db_get pure-ftpd/standalone-or-inetd
-SOI="$RET"
-db_get pure-ftpd/ftpwho-setuid
-SUID="$RET"
-db_get pure-ftpd/virtualchroot
-VCH="$RET"
-
 set -e
 
 # summary of how this script can be called:
@@ -32,14 +23,62 @@
 case "$1" in
     configure)
 	CONF=/etc/default/pure-ftpd-common
-	if [ -e $CONF ]; then
-	    sed -e "s/STANDALONE_OR_INETD=.*/STANDALONE_OR_INETD=$SOI/" \
-			-e "s/VIRTUALCHROOT=.*/VIRTUALCHROOT=$VCH/" \
-	    < $CONF > $CONF.new
-	    mv -f $CONF.new $CONF
-	    . $CONF
+
+	# create CONF if it doesn't exist
+	if [ ! -e $CONF ]; then
+		cat > $CONF <<-END
+		# Configuration for pure-ftpd
+		# (this file is sourced by /bin/sh, edit accordingly)
+		
+		# STANDALONE_OR_INETD
+		# valid values are "standalone" and "inetd".
+		# Any change here overrides the setting in debconf.
+		STANDALONE_OR_INETD=
+		
+		# VIRTUALCHROOT: 
+		# whether to use binary with virtualchroot support
+		# valid values are "true" or "false"
+		# Any change here overrides the setting in debconf.
+		VIRTUALCHROOT=
+		
+		# UPLOADSCRIPT: if this is set and the daemon is run in standalone mode,
+		# pure-uploadscript will also be run to spawn the program given below
+		# for handling uploads. see /usr/share/doc/pure-ftpd/README.gz or
+		# pure-uploadscript(8)
+		
+		# example: UPLOADSCRIPT=/usr/local/sbin/uploadhandler.pl
+		UPLOADSCRIPT=
+		
+		# if set, pure-uploadscript will spawn $UPLOADSCRIPT running as the
+		# given uid and gid
+		UPLOADUID=
+		UPLOADGID=
+		END
 	fi
 
+	# get settings from debconf
+	. /usr/share/debconf/confmodule
+	db_get pure-ftpd/standalone-or-inetd
+	SOI="$RET"
+	db_get pure-ftpd/ftpwho-setuid
+	SUID="$RET"
+	db_get pure-ftpd/virtualchroot
+	VCH="$RET"
+
+	# If the admin deleted or commented some variables but then set
+	# them via debconf, (re-)add them to the conffile.
+	test -z "$SOI" || grep -Eq '^ *STANDALONE_OR_INETD=' $CONF || \
+	    echo "STANDALONE_OR_INETD=" >> $CONF
+	test -z "$VCH" || grep -Eq '^ *VIRTUALCHROOT=' $CONF || \
+	    echo "VIRTUALCHROOT=" >> $CONF
+
+	# replace values
+	sed -e "s/STANDALONE_OR_INETD=.*/STANDALONE_OR_INETD=$SOI/" \
+	    -e "s/VIRTUALCHROOT=.*/VIRTUALCHROOT=$VCH/" \
+	< $CONF > $CONF.new
+	mv -f $CONF.new $CONF
+	. $CONF
+
 	# if no statoverrides available or none exist for us...
 	if [ -x /usr/sbin/pure-ftpwho ]; then
 		if [ ! -x /usr/sbin/dpkg-statoverride ] || \
diff -u pure-ftpd-1.0.36/debian/pure-ftpd-common.postrm pure-ftpd-1.0.36/debian/pure-ftpd-common.postrm
--- pure-ftpd-1.0.36/debian/pure-ftpd-common.postrm
+++ pure-ftpd-1.0.36/debian/pure-ftpd-common.postrm
@@ -20,6 +20,8 @@
 	rm -rf /etc/pure-ftpd
 	# remove log files and runtime directory
 	rm -rf /var/log/pure-ftpd /var/run/pure-ftpd
+	# remove created default file
+	rm -f /etc/default/pure-ftpd-common
     ;;
 
     remove)
diff -u pure-ftpd-1.0.36/debian/changelog pure-ftpd-1.0.36/debian/changelog
--- pure-ftpd-1.0.36/debian/changelog
+++ pure-ftpd-1.0.36/debian/changelog
@@ -1,3 +1,15 @@
+pure-ftpd (1.0.36-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Fix "modifies conffiles (policy 10.7.3): /etc/default/pure-ftpd-common":
+    - don't ship /etc/default/pure-ftpd-common
+    - create it in .postinst if it doesn't exist
+    - remove it in .postrm/purge
+    - restructure .postinst a bit
+    (Closes: #688206)
+
+ -- gregor herrmann <gre...@debian.org>  Mon, 08 Oct 2012 18:09:21 +0200
+
 pure-ftpd (1.0.36-1) unstable; urgency=low
 
   * New upstream release, fixes external authentication (Closes: #652938,

Attachment: signature.asc
Description: Digital signature

Reply via email to