| Submitter | Andy Ross |
|---|---|
| Date | Aug. 10, 2012, 7 p.m. |
| Message ID | <1344625241-15300-1-git-send-email-andy.ross@windriver.com> |
| Download | mbox | patch |
| Permalink | /patch/34281/ |
| State | Accepted |
| Commit | 23cfbff5611c2ed52eedfaa99b1d6eccd326f035 |
| Headers | show |
Comments
On 08/10/2012 12:00 PM, Andy Ross wrote: > 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 <andy.ross@windriver.com> > --- > 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 ]; thenOn 08/10/2012 12:00 PM, Andy Ross wrote:> 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 <andy.ross@windriver.com> > --- > 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 > > PIDDIR=/proc/$(cat $PIDFILE) > if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then > Merged into OE-Core Thanks Sau!
Patch
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
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 <andy.ross@windriver.com> --- 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(-)