From patchwork Tue Aug 14 12:13:41 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [CONSOLIDATED,REQUEST,54/64] dbus: Fix pid file in dbus init script Date: Tue, 14 Aug 2012 12:13:41 -0000 From: Saul Wold X-Patchwork-Id: 34559 Message-Id: To: openembedded-core@lists.openembedded.org From: Andy Ross The PIDFILE (/var/run/dbus/pid) referenced by /etc/init.d/dbus-1 did not match the path (/var/run/messagebus.pid) configured in /etc/dbus-1/system.conf, so the initscript could start the daemon, but not stop it. Also remove needless directory ownership logic (dbus-daemon drops its pid file as root before calling setuid). Signed-off-by: Andy Ross Signed-off-by: Saul Wold --- meta/recipes-core/dbus/dbus-1.4.20/dbus-1.init | 11 +++-------- meta/recipes-core/dbus/dbus-1.5.12/dbus-1.init | 11 +++-------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/meta/recipes-core/dbus/dbus-1.4.20/dbus-1.init b/meta/recipes-core/dbus/dbus-1.4.20/dbus-1.init index 4abc4cb..17b58ed 100644 --- a/meta/recipes-core/dbus/dbus-1.4.20/dbus-1.init +++ b/meta/recipes-core/dbus/dbus-1.4.20/dbus-1.init @@ -18,9 +18,8 @@ set -e DAEMON=/usr/bin/dbus-daemon NAME=dbus -DAEMONUSER=messagebus -PIDDIR=/var/run/dbus -PIDFILE=$PIDDIR/pid +DAEMONUSER=messagebus # must match /etc/dbus-1/system.conf +PIDFILE=/var/run/messagebus.pid # must match /etc/dbus-1/system.conf UUIDDIR=/var/lib/dbus DESC="system message bus" EVENTDIR=/etc/dbus-1/event.d @@ -38,11 +37,7 @@ test "$ENABLED" != "0" || exit 0 start_it_up() { - if [ ! -d $PIDDIR ]; then - mkdir -p $PIDDIR - chown $DAEMONUSER $PIDDIR - chgrp $DAEMONUSER $PIDDIR - fi + mkdir -p "`dirname $PIDFILE`" if [ -e $PIDFILE ]; then PIDDIR=/proc/$(cat $PIDFILE) if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then diff --git a/meta/recipes-core/dbus/dbus-1.5.12/dbus-1.init b/meta/recipes-core/dbus/dbus-1.5.12/dbus-1.init index 4abc4cb..17b58ed 100644 --- a/meta/recipes-core/dbus/dbus-1.5.12/dbus-1.init +++ b/meta/recipes-core/dbus/dbus-1.5.12/dbus-1.init @@ -18,9 +18,8 @@ set -e DAEMON=/usr/bin/dbus-daemon NAME=dbus -DAEMONUSER=messagebus -PIDDIR=/var/run/dbus -PIDFILE=$PIDDIR/pid +DAEMONUSER=messagebus # must match /etc/dbus-1/system.conf +PIDFILE=/var/run/messagebus.pid # must match /etc/dbus-1/system.conf UUIDDIR=/var/lib/dbus DESC="system message bus" EVENTDIR=/etc/dbus-1/event.d @@ -38,11 +37,7 @@ test "$ENABLED" != "0" || exit 0 start_it_up() { - if [ ! -d $PIDDIR ]; then - mkdir -p $PIDDIR - chown $DAEMONUSER $PIDDIR - chgrp $DAEMONUSER $PIDDIR - fi + mkdir -p "`dirname $PIDFILE`" if [ -e $PIDFILE ]; then PIDDIR=/proc/$(cat $PIDFILE) if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then