[OE-core] [PATCH 1/2] useradd.bbclass: handle nativesdk case

Scott Garman scott.a.garman at intel.com
Mon Nov 7 21:32:23 UTC 2011


On 11/07/2011 01:11 PM, Eric Bénard wrote:
> * without this patch, building dbus-nativesdk leads to a missing
> dependency on 'base-passwd-nativesdk'
> This was added by commit 46e6c3fa8034b12d178d605f3f5d7efe69671a13
> * this patch handle the nativesdk case in the class useradd
> * close bug 1702 http://bugzilla.pokylinux.org/show_bug.cgi?id=1702
>
> Signed-off-by: Eric Bénard<eric at eukrea.com>

Acked-by: Scott Garman <scott.a.garman at intel.com>

> ---
>   meta/classes/useradd.bbclass |   18 +++++++++++++++---
>   1 files changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
> index fb70b3e..b935d01 100644
> --- a/meta/classes/useradd.bbclass
> +++ b/meta/classes/useradd.bbclass
> @@ -3,9 +3,16 @@ USERADDPN ?= "${PN}"
>   # base-passwd-cross provides the default passwd and group files in the
>   # target sysroot, and shadow -native and -sysroot provide the utilities
>   # and support files needed to add and modify user and group accounts
> -DEPENDS_append = " base-passwd shadow-native shadow-sysroot"
>   RDEPENDS_${USERADDPN}_append = " base-passwd shadow"
>
> +def useradd_dep_append(d):
> +	deps = ' '
> +	if not bb.data.inherits_class('nativesdk', d):
> +		deps = ' shadow-native shadow-sysroot base-passwd'
> +	return deps
> +
> +DEPENDS_append = "${@useradd_dep_append(d)}"
> +
>   # This preinstall function will be run in two contexts: once for the
>   # native sysroot (as invoked by the useradd_sysroot() wrapper), and
>   # also as the preinst script in the target package.
> @@ -96,8 +103,13 @@ useradd_sysroot_sstate () {
>   	fi
>   }
>
> -do_install[prefuncs] += "useradd_sysroot"
> -SSTATEPOSTINSTFUNCS += "useradd_sysroot_sstate"
> +python () {
> +	if not bb.data.inherits_class('nativesdk', d):
> +		funcs = bb.data.getVarFlag('do_install', 'prefuncs', d) or ""
> +		funcs += 'useradd_sysroot'
> +		bb.data.setVarFlag('do_install', 'prefuncs', funcs, d)
> +		d.setVar('SSTATEPOSTINSTFUNCS', (bb.data.getVar('SSTATEPOSTINSTFUNCS', d, True) or "").join("useradd_sysroot_sstate"))
> +}
>
>   # Recipe parse-time sanity checks
>   def update_useradd_after_parse(d):


-- 
Scott Garman
Embedded Linux Engineer - Yocto Project
Intel Open Source Technology Center




More information about the Openembedded-core mailing list