> -----Original Message----- > From: openembedded-core@lists.openembedded.org <openembedded- > c...@lists.openembedded.org> On Behalf Of Richard Purdie > Sent: den 19 december 2020 12:19 > To: Luca Bocassi <luca.bocca...@gmail.com>; openembedded- > c...@lists.openembedded.org > Subject: Re: [OE-core] [PATCH v3 1/5] systemd: update 246 -> 247 > > On Sat, 2020-12-19 at 11:03 +0000, Richard Purdie via > lists.openembedded.org wrote: > > On Sat, 2020-12-19 at 10:33 +0000, Richard Purdie via > > lists.openembedded.org wrote: > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/1662/st > eps/14/logs/stdio > > > > > > (there is a second issue there from other patches in master-next > > > too). > > > > > > We do need a green build to be able to merge so this may depend on > > > someone else looking into that reproducibility issue. I did try and > > > give some hints in my previous email, I'd need to look at the code > > > to > > > be able to give any more pointers. > > > > Looking at the output in > > https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20201219- > fqxxqel9/packages/diff-html/ > > > > you can see that the .text section in the binary changes size. > > Ignoring > > the offset changes, the actual change is the change in size of > > the maybe_emit_login_defs_warning function from 256 to 275 bytes. > > > > That function is in the systemd sources in > > git/src/sysusers/sysusers.c. > > > > It uses a variety of configuration options such as: > > > > SYSTEM_ALLOC_UID_MIN > > SYSTEM_UID_MAX > > SYSTEM_ALLOC_GID_MIN > > SYSTEM_GID_MAX > > > > My best guess is that we're not setting one of these and its falling > > back to a host system value which varies by host distro. > > > > Obviously we need to prove that and figure out the correct value for > > OE > > usage but its maybe a pointer as to the possible problem (or I could > > be > > totally wrong!). > > I was far enough into this I kept going. The defaults for these are set > in meson.build from: > > foreach tuple : [['system-alloc-uid-min', 'SYS_UID_MIN', 1], # Also see > login.defs(5). > ['system-uid-max', 'SYS_UID_MAX', 999], > ['system-alloc-gid-min', 'SYS_GID_MIN', 1], > ['system-gid-max', 'SYS_GID_MAX', 999]] > > which if they're not set, looks at the host system /etc/login.defs file > which is host contamination and is bad. On my ubuntu system, these > aren't set by default. For Centos7 and 8:
Now this made me feel really stupid. We have had the following lines in our systemd_%.bbappend for years and I never got around to upstream them: # FIXME: These are incorrectly determined by meson based on the host's # /etc/login.defs file. If there is a way to get meson to do the right thing # when configuring for cross compilation, then that should be upstreamed to # systemd, otherwise this change should be upstreamed to OE. EXTRA_OEMESON += "-Dsystem-uid-max=999 \ -Dsystem-gid-max=999" Sorry about that. > [rpurdie@centos8-ty-1 ~]$ grep SYS /etc/login.defs > SYS_UID_MIN 201 > SYS_UID_MAX 999 > SYS_GID_MIN 201 > SYS_GID_MAX 999 > > so I think we have our trigger. I have a simply patch to specify > defaults in the recipe which I think should resolve this. I'll add it > to master-next and see if that helps. Looking at your patch in master-next, I believe you should set -Dsystem-alloc-uid-min and -Dsystem-alloc-gid-min to 101 rather than 1 to match what is in /etc/login.defs. > Cheers, > > Richard //Peter
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#145890): https://lists.openembedded.org/g/openembedded-core/message/145890 Mute This Topic: https://lists.openembedded.org/mt/79058125/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-