Package: dk-milter
Version: 1.0.0.dfsg-1.2
Severity: serious
Tags: patch

Dear Maintainer,

Andreas Beckmann <[email protected]> reported in -devel that your package
(as well as 27 others) ships a folder either in /var/run or /var/lock. This
is forbidden by policy.

Lintian detects the problem and warns as follow:

/var/run may be a temporary filesystem, so any directories or files needed
/there must be created dynamically at boot time.

Refer to Debian Policy Manual section 9.3.2 (Writing the scripts) for
details.

Severity: serious, Certainty: possible
Check: files, Type: binary, udeb

which is why I am reporting this bug with severity serious (and there fore,
release critical).

Please fix your package. I have attached what I believe is a good fix the
problem, however, I haven't tried it, and I haven't tested if something more
for creating the necessary folder at runtime should be added. Please make
sure to test before applying the patch blindly.

Cheers,

Thomas Goirand (zigo)
diff -u dk-milter-1.0.0.dfsg/debian/dk-filter.postrm dk-milter-1.0.0.dfsg/debian/dk-filter.postrm
--- dk-milter-1.0.0.dfsg/debian/dk-filter.postrm
+++ dk-milter-1.0.0.dfsg/debian/dk-filter.postrm
@@ -6,6 +6,7 @@
 	if [ -x /usr/sbin/deluser ] && id -u dk-filter >/dev/null 2>&1; then
 		deluser --quiet dk-filter
 	fi
+	rm -rf /var/run/dk-filter
 fi
 
 #DEBHELPER#
diff -u dk-milter-1.0.0.dfsg/debian/changelog dk-milter-1.0.0.dfsg/debian/changelog
--- dk-milter-1.0.0.dfsg/debian/changelog
+++ dk-milter-1.0.0.dfsg/debian/changelog
@@ -1,3 +1,10 @@
+dk-milter (1.0.0.dfsg-1.3) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Fixes handling of /var/run folder life cycle (Closes: #XXXXXX).
+
+ -- Thomas Goirand <[email protected]>  Sat, 06 Oct 2012 16:53:27 +0800
+
 dk-milter (1.0.0.dfsg-1.2) unstable; urgency=low
 
   * Non-maintainer upload.
diff -u dk-milter-1.0.0.dfsg/debian/dk-filter.postinst dk-milter-1.0.0.dfsg/debian/dk-filter.postinst
--- dk-milter-1.0.0.dfsg/debian/dk-filter.postinst
+++ dk-milter-1.0.0.dfsg/debian/dk-filter.postinst
@@ -4,18 +4,12 @@
 
 if [ "$1" = "configure" ]; then
 	if ! id -u dk-filter >/dev/null 2>&1; then
-		adduser --quiet --system --group --home /var/run/dk-filter dk-filter
+		adduser --quiet --system --group --home /var/run/dk-filter --no-create-home dk-filter
 	elif [ -n "$2" ] && dpkg --compare-versions "$2" lt "0.6.0.dfsg-2"; then
 		# Versions < 0.6.0.dfsg-2 shipped without the dk-filter group
 		addgroup --quiet --system dk-filter
 		usermod -g dk-filter dk-filter
 	fi
-
-	# Set ownership if the admin has not overriden it.
-	if ! dpkg-statoverride --list /var/run/dk-filter >/dev/null; then
-		chown dk-filter:dk-filter /var/run/dk-filter
-		chmod g+s /var/run/dk-filter
-	fi
 fi
 
 #DEBHELPER#
diff -u dk-milter-1.0.0.dfsg/debian/dk-filter.init dk-milter-1.0.0.dfsg/debian/dk-filter.init
--- dk-milter-1.0.0.dfsg/debian/dk-filter.init
+++ dk-milter-1.0.0.dfsg/debian/dk-filter.init
@@ -38,6 +38,14 @@
 
 DAEMON_OPTS="-u $USER -P $PIDFILE -p $SOCKET $DAEMON_OPTS"
 
+if [ ! -d ${RUNDIR} ] ; then
+	mkdir -p ${RUNDIR} || true
+	if [ -d ${RUNDIR} ] ; then
+		chown ${USER}:${GROUP} ${RUNDIR}
+		chmod g+s ${RUNDIR}
+	fi
+fi
+
 start() {
 	# Create the run directory if it doesn't exist
 	if [ ! -d $RUNDIR ]; then

Reply via email to