Package: ircd-hybrid Version: 1:7.2.2.dfsg.2-6 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch jaunty
(This bug was originally filed by Richard Kettlewell as https://bugs.launchpad.net/ubuntu/+source/ircd-hybrid/+bug/337715.) The next version of the Debian Policy Manual will include the following requirement: /var/run and /var/lock may be mounted as temporary filesystems, so the init.d scripts must handle this correctly. This will typically amount to creating any required subdirectories dynamically when the init.d script is run, rather than including them in the package and relying on dpkg to create them. ircd-hybrid does not currently handle this correctly. Here's a patch to make it do so. * Create /var/run/ircd on start/restart rather than relying on the directory shipped in the package, since /var/run may be a tmpfs (LP: #337715). Thanks, -- Colin Watson [cjwat...@ubuntu.com]
diff -u ircd-hybrid-7.2.2.dfsg.2/debian/ircd-hybrid.postinst.in ircd-hybrid-7.2.2.dfsg.2/debian/ircd-hybrid.postinst.in --- ircd-hybrid-7.2.2.dfsg.2/debian/ircd-hybrid.postinst.in +++ ircd-hybrid-7.2.2.dfsg.2/debian/ircd-hybrid.postinst.in @@ -33,7 +33,7 @@ # owned by irc. Or the initscript will get owned. If it's already this # way, this operation makes no difference. - chown irc:irc /var/run/ircd /var/log/ircd /etc/ircd-hybrid + chown irc:irc /var/log/ircd /etc/ircd-hybrid chmod 770 /etc/ircd-hybrid if [ "$RET" = "true" ]; then diff -u ircd-hybrid-7.2.2.dfsg.2/debian/ircd-hybrid.init ircd-hybrid-7.2.2.dfsg.2/debian/ircd-hybrid.init --- ircd-hybrid-7.2.2.dfsg.2/debian/ircd-hybrid.init +++ ircd-hybrid-7.2.2.dfsg.2/debian/ircd-hybrid.init @@ -36,6 +36,8 @@ if [ "$START" = "yes" ] then echo -n "Starting $DESC: $NAME" + mkdir -p -m 755 /var/run/ircd + chown irc:irc /var/run/ircd start-stop-daemon --start --quiet \ -u irc -c irc --exec $DAEMON -- -pidfile /var/run/ircd/$NAME.pid \ > /dev/null @@ -74,6 +76,8 @@ --exec $DAEMON -- -pidfile /var/run/ircd/$NAME.pid sleep 1 fi + mkdir -p -m 755 /var/run/ircd + chown irc:irc /var/run/ircd start-stop-daemon --start --quiet \ -u irc -c irc --exec $DAEMON -- -pidfile /var/run/ircd/$NAME.pid \ > /dev/null diff -u ircd-hybrid-7.2.2.dfsg.2/debian/ircd-hybrid.dirs ircd-hybrid-7.2.2.dfsg.2/debian/ircd-hybrid.dirs --- ircd-hybrid-7.2.2.dfsg.2/debian/ircd-hybrid.dirs +++ ircd-hybrid-7.2.2.dfsg.2/debian/ircd-hybrid.dirs @@ -1,3 +1,2 @@ -var/run/ircd var/log/ircd usr/share/lintian/overrides diff -u ircd-hybrid-7.2.2.dfsg.2/debian/rules ircd-hybrid-7.2.2.dfsg.2/debian/rules --- ircd-hybrid-7.2.2.dfsg.2/debian/rules +++ ircd-hybrid-7.2.2.dfsg.2/debian/rules @@ -277,7 +277,7 @@ dh_fixperms -a - chown irc:irc debian/ircd-hybrid/var/run/ircd debian/ircd-hybrid/var/log/ircd + chown irc:irc debian/ircd-hybrid/var/log/ircd chown -R irc:irc $(I_ETC) chmod -R 660 $(I_ETC) ifdef USE_OPENSSL @@ -285,7 +285,6 @@ cp debian/cert.cnf $(I_ETC) endif chmod ug+x $(I_ETC) - chmod 755 debian/ircd-hybrid/var/run/ircd chmod -x $(I_DOC)/examples/simple.conf dh_installinit -a -n