useradd: Handle users from a package being used in others
authorThomas Fitzsimmons <fitzsim@cisco.com>
Thu, 5 Sep 2013 22:41:20 +0000 (23:41 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 6 Sep 2013 22:04:48 +0000 (23:04 +0100)
If there is a package A (TUNE_PKGARCH) which is depended upon by B which
is MACHINE_ARCH and you build B for machine X, then Y, the user isn't
present in the sysroot for machine Y since the useradd code is never
triggered.

The change ensures the code does get triggered and the user is present.

[YOCTO 4739]

(From OE-Core rev: 5871337da49f8cd1eaf53f7cd0aacc026dc7bcdb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/useradd.bbclass

index eabfc5d..a850e9d 100644 (file)
@@ -101,7 +101,7 @@ useradd_sysroot () {
 }
 
 useradd_sysroot_sstate () {
-       if [ "${BB_CURRENTTASK}" = "package_setscene" ]
+       if [ "${BB_CURRENTTASK}" = "package_setscene" -o "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]
        then
                useradd_sysroot
        fi
@@ -123,6 +123,7 @@ USERADDSETSCENEDEPS_virtclass-cross = ""
 USERADDSETSCENEDEPS_class-native = ""
 USERADDSETSCENEDEPS_class-nativesdk = ""
 do_package_setscene[depends] += "${USERADDSETSCENEDEPS}"
+do_populate_sysroot_setscene[depends] += "${USERADDSETSCENEDEPS}"
 
 # Recipe parse-time sanity checks
 def update_useradd_after_parse(d):