[OE-core] [PATCH] base.bbclass: add dependency on pseudo from do_prepare_recipe_sysroot
Richard Purdie
richard.purdie at linuxfoundation.org
Fri Aug 30 16:49:33 UTC 2019
On Fri, 2019-08-16 at 11:13 +0200, Mattias Hansson wrote:
> do_prepare_recipe_sysroot may perform groupadd, which requires pseudo.
> However, do_prepare_recipe_sysroot does not depend on pseudo explicitly,
> which sometimes causes a build error when building a recipe that adds
> groups.
>
> This issue only occurs when executing do_prepare_recipe_sysroot for a
> recipe that adds groups before finishing a task that depends on pseudo
> for a recipe that doesn't add groups.
>
> Signed-off-by: Mattias Hansson <mattihn at axis.com>
> ---
> meta/classes/base.bbclass | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
> index 0c8a4b2862..0576b110c9 100644
> --- a/meta/classes/base.bbclass
> +++ b/meta/classes/base.bbclass
> @@ -480,6 +480,7 @@ python () {
> # If we're building a target package we need to use fakeroot (pseudo)
> # in order to capture permissions, owners, groups and special files
> if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('cross', d):
> + d.setVarFlag('do_prepare_recipe_sysroot', 'fakeroot', '1')
> d.setVarFlag('do_unpack', 'umask', '022')
> d.setVarFlag('do_configure', 'umask', '022')
> d.setVarFlag('do_compile', 'umask', '022')
This basically forces all target recipes prepare-recipe sysroot to run
under pseudo "just in case", with all the performance overhead that
entails. prepare_recipe_sysroot does a lot of file accesses so this is
significant. It will also increase the pseudo database sizes
everywhere.
We'll need to find a better way to handle this I'm afraid.
Cheers,
Richard
More information about the Openembedded-core
mailing list