diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass index fb70b3e..cbcc9e9 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,17 @@ 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): diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc index caa781c..99b2fc7 100644 --- a/meta/recipes-core/dbus/dbus.inc +++ b/meta/recipes-core/dbus/dbus.inc @@ -105,4 +105,8 @@ do_install_virtclass-native() { # dbus-glib-native and dbus-glib need this xml file ./bus/dbus-daemon --introspect > ${STAGING_DATADIR_NATIVE}/dbus/dbus-bus-introspect.xml } + +do_install_virtclass-nativesdk() { + autotools_do_install +} BBCLASSEXTEND = "native nativesdk"