On Wed, 2023-08-30 at 21:08 +0100, Richard Purdie via lists.openembedded.org wrote: > On Wed, 2023-08-30 at 18:07 +0100, Eilís 'pidge' Ní Fhlannagáin wrote: > > On 30/08/2023 15:08, Richard Purdie wrote: > > > On Wed, 2023-08-30 at 15:04 +0100, Eilís 'pidge' Ní Fhlannagáin wrote: > > > > On 30/08/2023 14:19, Richard Purdie wrote: > > > > > On Wed, 2023-08-30 at 12:39 +0000, Eilís 'pidge' Ní Fhlannagáin wrote: > > > > > > [YOCTO #15023] > > > > > > > > > > > > In this instance (do_populate_sdk with api-documentation turned on), > > > > > > pseudo is going to end up finding the passwd/groups files in > > > > > > recipe-sysroot-native which is incorrect and does not have man. The > > > > > > solution here should be to ensure that pseudo points to the > > > > > > passwd/groups > > > > > > files in recipe-sysroot (which does have man:man). > > > > > > > > > > > > Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <[email protected]> > > > > > > --- > > > > > > scripts/postinst-intercepts/update_mandb | 2 +- > > > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > > > > > diff --git a/scripts/postinst-intercepts/update_mandb > > > > > > b/scripts/postinst-intercepts/update_mandb > > > > > > index a061bb426a6..6bc073bfff5 100644 > > > > > > --- a/scripts/postinst-intercepts/update_mandb > > > > > > +++ b/scripts/postinst-intercepts/update_mandb > > > > > > @@ -13,4 +13,4 @@ PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D > > > > > > $D${bindir}/mandb --config-file $C > > > > > > > > > > > > rm -f $CONFIG > > > > > > > > > > > > -chown -R man:man $D${localstatedir}/cache/man/ > > > > > > +PSEUDO_PASSWD=$D chown -R man:man $D${localstatedir}/cache/man/ > > > > > > > > > > Is there a more general problem here? Wouldn't this issue apply to > > > > > other postinst scripts too? > > > > > > > > Yes and No. The other postinst scripts if they do attempt to chown, are > > > > trying to do it for root:root (which recipe-native-sysroot's passwd and > > > > groups obviously have). We could add this to the others as well, just to > > > > maintain consistency. > > > > > > > > This is all because in image.bbclass, we're setting PSEUDO_PASSWD to > > > > STAGING_DIR_NATIVE which I believe normally should be correct, except in > > > > an instance like this. > > > > > > image.bbclass sets it to: > > > > > > meta/classes-recipe/image.bbclass:PSEUDO_PASSWD = > > > "${IMAGE_ROOTFS}:${STAGING_DIR_NATIVE}" > > > > > > so it should look at IMAGE_ROOTFS first, which I think is the same as > > > $D here? > > > > > > Something isn't quite adding up... > > > > In this case, IMAGE_ROOTFS and D are not the same, either at the start > > of do_populate_sdk or when the postinst script runs: > > > > bitbake -e yields: > > > > IMAGE_ROOTFS="/home/pidge/poky/build/tmp/work/qemux86_64-poky-linux/core-image-base/1.0/rootfs" > > > > Passing IMAGE_ROOTFS into the update-mandb postinst scripts yields this: > > > > D="/home/pidge/poky/build/tmp/work/qemux86_64-poky-linux/core-image-base/1.0/sdk/image/usr/local/oe-sdk-hardcoded-buildpath/sysroots/core2-64-poky-linux" > > IMAGE_ROOTFS="/home/pidge/poky/build/tmp/work/core2-64-poky-linux/eudev/3.2.12/rootfs" > > > > Even if we were relying on an IMAGE_ROOTFS that pointed to what we > > expected, it is probably the wrong option here because there is no > > assurance it's populated with a passwd file when we run bitbake > > core-image-base -f -c do_populate_sdk. I've checked on my setup and have > > verified that it doesn't contain anything at that stage. > > > > In my patch $D is actually set to ${SDK_OUTPUT}/${SDKPATHNATIVE} (not > > recipe-sysroot, I'll correct this in the log) which incidentally is also > > the same place we're running mandb from. > > This might hint at the real issue :) > > If this is during do_populate_sdk, it is worth noting that the SDK > doesn't have file ownership, either for the nativesdk components or the > target ones. This therefore shouldn't be running in that context at > all!
Have a look at https://git.yoctoproject.org/poky/tree/scripts/nativesdk-intercept/chown The real question is why that doesn't change man:man (or whatever) to root:root... Cheers, Richard
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#186925): https://lists.openembedded.org/g/openembedded-core/message/186925 Mute This Topic: https://lists.openembedded.org/mt/101050953/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
