[OE-core] can pkg_{pre, post}rm functions be run at all for image creation?

Richard Purdie richard.purdie at linuxfoundation.org
Mon Aug 4 13:53:04 UTC 2014


On Mon, 2014-08-04 at 09:42 -0400, Robert P. J. Day wrote:
>   oooooh ... that's still kind of weaselly terminology. :-) i'm not
> *trying* to be annoyingly pedantic, but this is just the kind of thing
> that students tend to ask about, which is why i want to nail the
> details.
> 
>   the current docs state that pkg_*rm routines are *not* run during
> image creation, and i'm going to accept that. that means that if a
> pkg_*rm routine *is* written with reference to ${D}, as long as that's
> run on the target, it won't make a difference. so the references to
> ${D} in that context don't *hurt*, they're just unnecessary. and
> potentially confusing, which is why i'm trying to clarify this. (every
> pkg_*rm routine i've seen, *if* it tests the value of ${D}, bailed if
> it was set, which makes sense if they should never, ever be invoked at
> image creation time.)

In the interests of being pedantic since I know you value correctness,
they test $D. If they used ${D}, it would get expanded by bitbake at
build time which is not what you want.

>   WRT stuff run at rootfs postprocessing time, sure, you could always
> run a package removal command, but clarify this for me -- once you're
> into rootfs postprocessing, you're running in a "pseudo" environment
> such that you are *effectively* running inside that rootfs, no? so in
> that case, all filename references would be full names WRT to the root
> filesystem -- no references to ${D}. is that correct? or am i just
> confused?

Pseudo environment means you can perform operations as root, its not a
chroot. You could be in a pseudo chroot of course but our image
generation isn't.

Cheers,

Richard




More information about the Openembedded-core mailing list