From: "Peter A. Bigot" <pab@pabigot.com>
To: Gary Thomas <gary@mlbassoc.com>,
openembedded-core@lists.openembedded.org,
Peter Seebach <peter.seebach@windriver.com>
Subject: Re: dbus build host uid/gid leaking into target home directory
Date: Sun, 12 Oct 2014 01:31:26 -0500 [thread overview]
Message-ID: <543A203E.2000902@pabigot.com> (raw)
In-Reply-To: <5439BCE9.80002@mlbassoc.com>
On 10/11/2014 06:27 PM, Gary Thomas wrote:
> On 2014-10-11 17:14, Peter A. Bigot wrote:
>> On 10/11/2014 04:10 PM, Gary Thomas wrote:
>>> On 2014-10-11 11:16, Peter A. Bigot wrote:
>>>> Back at
>>>> http://lists.openembedded.org/pipermail/openembedded-core/2011-December/053836.html
>>>> it was noted that the dbus home directory /var/lib/dbus on the
>>>> target was using the
>>>> build host uid/gid. Various discussion agreed this shouldn't
>>>> happen, but there was no resolution in the thread.
>>>>
>>>> I found https://bugzilla.yoctoproject.org/show_bug.cgi?id=1711
>>>> which is marked fixed, but on a newly installed system I find:
>>>>
>>>> root@beaglebone:~# ls -l /var/lib
>>>> total 52
>>>> drwxr-xr-x 2 root root 4096 Oct 11 2014 alsa
>>>> drwxr-xr-x 2 root root 4096 Oct 11 2014 arpd
>>>> drwxr-xr-x 2 root root 4096 Oct 11 12:30 connman
>>>> drwxr-xr-x 2 102 105 4096 Oct 11 2014 dbus
>>>>
>>>> where the dbus uid/gid is from my host system as shown by:
>>>>
>>>> root@beaglebone:~# grep dbus /etc/passwd
>>>> messagebus:x:999:998::/var/lib/dbus:/bin/false
>>>> llc[140]$ grep dbus /etc/passwd
>>>> messagebus:x:102:105::/var/run/dbus:/bin/false
>>>>
>>>> This arises in an image extending core-image-base building
>>>> meta-ti's version of beaglebone. (I'm actually trying to fix the
>>>> same problem arising in a patch intended to make sure
>>>> ntp's home directory exists, but the dbus one appears to be the
>>>> same thing.)
>>>>
>>>> The suggested workaround for opkg of using a pkg_postinst script
>>>> doesn't work in my case because the rpm post-install script gets
>>>> run on the build host that's creating rootfs.The
>>>> ownership is wrong in the generated rootfs tar files whether or not
>>>> there's a post-install script that tries to change it.
>>>>
>>>> For my ntp patch I verified that removing the package and
>>>> installing it on the target does work as expected.
>>>>
>>>> Does anybody else see this sort of thing?
>>>>
>>>> If not, where in the image packaging code is the magic that's
>>>> supposed to help pseudo record who's really supposed to own the
>>>> files and re-apply that when the image packaging is
>>>> done?
>>>
>>> It does not happen in my builds which are more-or-less stock
>>> Poky (I have my own distro and BSP layers). Must be something
>>> going on in the meta-ti layer?
>>>
>>> Are you using the latest OE-core (or Poky/Yocto) master?
>>
>> Thanks for the sanity check.
>>
>> I'm using master of poky and meta-openembedded, right at the point of
>> dizzy branch. The problem is reproduced with a fresh bitbake
>> core-image-base with these layers:
>>
>> BBLAYERS ?= "\
>> ${OE_META_SOURCES}/poky/meta \
>> ${OE_META_SOURCES}/poky/meta-yocto \
>> ${OE_META_SOURCES}/poky/meta-yocto-bsp \
>> ${OE_META_SOURCES}/meta-openembedded/meta-filesystems \
>> ${OE_META_SOURCES}/meta-openembedded/meta-networking \
>> ${OE_META_SOURCES}/meta-openembedded/meta-oe \
>> ${OE_META_SOURCES}/meta-openembedded/meta-systemd \
>> ${OE_META_SOURCES}/meta-openembedded/meta-python \
>> ${OE_META_SOURCES}/meta-qt3 \
>> "
>>
>> and these customizations options in local.conf:
>>
>> # Default machine
>> MACHINE ?= "beaglebone"
>>
>> # Want to try this distro, but it enables security_flags.inc which
>> # requires recipe changes.
>> #DISTRO = "poky-lsb"
>> # So instead do some of the pieces so we can still use core-image-lsb*
>> DISTRO = "poky"
>> DISTROOVERRIDES = "poky:linuxstdbase"
>> DISTRO_FEATURES_append = " pam largefile"
>>
>> # The future is systemd
>> DISTRO_FEATURES_append = " systemd"
>> VIRTUAL-RUNTIME_init_manager = "systemd"
>> DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
>>
>> I did try commenting out the override for poky:linuxstdbase and it
>> had no effect. I'll try trimming out more stuff tomorrow.
>
> The other big item is that I use sysvinit, not systemd.
Nope. Pulled out everything but DISTRO=poky and MACHINE=beaglebone, and
bitbake core-image-base produces a nice sysvinit image with:
root@beaglebone:~# grep messag /etc/passwd
messagebus:x:997:996::/var/lib/dbus:/bin/false
root@beaglebone:~# ls -l /var/lib
drwxr-xr-x 2 root root 4096 Oct 12 04:26 alsa
drwxr-xr-x 2 102 105 4096 Oct 12 04:29 dbus
drwxr-xr-x 2 root root 4096 Oct 12 03:48 misc
drwxr-xr-x 2 root root 4096 Jan 1 2000 urandom
drwxr-xr-x 3 root root 4096 Oct 12 04:29 wdj
Interestingly, if pseudo is built --without-passwd-fallback, which
prevents it from referencing the build host passwd/group files, dbus
won't install:
DEBUG: Executing shell function useradd_sysroot
Running groupadd commands...
NOTE: Performing groupadd with [--root
/prj/oe/omap/build-beaglesysv-master/tmp/sysroots/beaglebone -r netdev]
and 10 times of retry
groupadd: cannot lock /etc/group; try again later.
WARNING: groupadd command did not succeed. Retrying...
groupadd: cannot lock /etc/group; try again later.
...
ERROR: Tried running groupadd command 10 times without scucess, giving up
WARNING: exit code 1 from a shell command.
ERROR: Function failed: useradd_sysroot (log file is located at
/prj/oe/omap/build-beaglesysv-master/tmp/work/cortexa8hf-vfp-neon-poky-linux-gnueabi/dbus/1.8.2-r0/temp/log.do_install.2960)
which is probably a clue. Adding Peter Seebach in hopes something here
rings a bell.
Peter
next prev parent reply other threads:[~2014-10-12 6:31 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-11 17:16 dbus build host uid/gid leaking into target home directory Peter A. Bigot
2014-10-11 21:10 ` Gary Thomas
2014-10-11 23:14 ` Peter A. Bigot
2014-10-11 23:27 ` Gary Thomas
2014-10-12 6:31 ` Peter A. Bigot [this message]
2014-10-12 21:05 ` Peter A. Bigot
2014-10-13 9:13 ` Paul Eggleton
2014-10-13 12:00 ` Peter A. Bigot
2014-10-14 6:23 ` Paul Barker
2014-10-14 9:39 ` Burton, Ross
2014-10-14 9:43 ` Martin Jansa
2014-10-14 9:45 ` Martin Jansa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=543A203E.2000902@pabigot.com \
--to=pab@pabigot.com \
--cc=gary@mlbassoc.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=peter.seebach@windriver.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox