[OE-core] [PATCHv2] dbus: fix for right owner in postinst

Richard Purdie richard.purdie at linuxfoundation.org
Tue Nov 1 14:15:37 UTC 2011


On Tue, 2011-11-01 at 14:36 +0100, Martin Jansa wrote:
> On Mon, Oct 31, 2011 at 11:40 PM, Richard Purdie
> <richard.purdie at linuxfoundation.org> wrote:
> > On Mon, 2011-10-31 at 18:43 +0100, Martin Jansa wrote:
> >> * even when I see right chown/chmod in log.do_install, files are still
> >>   owned by bitbake:bitbake (user running bitbake) and we need to fix it on target
> >> $ tail -n 4 temp/log.do_install.27768
> >> + chown messagebus:messagebus /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/dbus-1.4.12-r2/image/var/run/dbus /OE/shr-core/tmp/work/armv7a-vfp-neon-o
> >> e-linux-gnueabi/dbus-1.4.12-r2/image/var/lib/dbus
> >> + chown root:messagebus /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/dbus-1.4.12-r2/image/usr/libexec/dbus-daemon-launch-helper
> >> + chmod 4754 /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/dbus-1.4.12-r2/image/usr/libexec/dbus-daemon-launch-helper
> >> + ln -sf /dev/null /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/dbus-1.4.12-r2/image//lib/systemd/system/dbus-1.service
> >>
> >> $ ll -d /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/dbus-1.4.12-r2/image/var/run/dbus \
> >>   /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/dbus-1.4.12-r2/image/var/lib/dbus \
> >>   /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/dbus-1.4.12-r2/image/usr/libexec/dbus-daemon-launch-helper \
> >>  /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/dbus-1.4.12-r2/image/usr/libexec/dbus-daemon-launch-helper
> >> -rwsr-xr-- 1 bitbake bitbake 819869 Oct 29 12:35 /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/dbus-1.4.12-r2/image/usr/libexec/dbus-daemon-launch-he
> >> lper*
> >> -rwsr-xr-- 1 bitbake bitbake 819869 Oct 29 12:35 /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/dbus-1.4.12-r2/image/usr/libexec/dbus-daemon-launch-he
> >> lper*
> >> drwxr-xr-x 2 bitbake bitbake   4096 Oct 29 12:35 /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/dbus-1.4.12-r2/image/var/lib/dbus/
> >> drwxr-xr-x 2 bitbake bitbake   4096 Oct 29 12:35 /OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/dbus-1.4.12-r2/image/var/run/dbus/
> >>
> >> * and we _cannot_ use ${D} in postinst script because it get's expanded
> >>   before including postinst file to ipk's control.tar.gz
> >>   and on target I see something like this:
> >>   if [ -z "/OE/shr-core/tmp/work/armv7a-vfp-neon-oe-linux-gnueabi/dbus-1.4.12-r2/image" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
> >>   which is wrong $D without {} works
> >>
> >> * V2: updated with Otavio version to fix it also for do_rootfs
> >>
> >> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> >> ---
> >>  meta/recipes-core/dbus/dbus.inc |   12 +++++-------
> >>  1 files changed, 5 insertions(+), 7 deletions(-)
> >
> > This is just wallpapering over the cracks I'm afraid. There is something
> > more fundamental going wrong here and we need to track it down...
> 
> Is pseudo really supposed to allow chown in do_install()? And then ie
> keep changed owners in sysroot or even sstate to recreate packages
> later with right file owners?

Yes, it is.

> Because normally all produced files are owned by UID who is building
> them (in my example bitbake) and only when creating packages/rootfs
> it's packaged with expected UID for target (ie root).

I appreciate that.

> So this wallpapering makes current dbus at least usable on target.

This doesn't mean the fix is correct though. I have a patch series to
fix the real issues (there are several) that will be published shortly.

Cheers,

Richard







More information about the Openembedded-core mailing list