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

Martin Jansa martin.jansa at gmail.com
Tue Nov 1 13:36:38 UTC 2011


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?

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).

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

Cheers,




More information about the Openembedded-core mailing list