diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass index a4b8a2d6d6..0997b3da7a 100644 --- a/meta/classes/useradd.bbclass +++ b/meta/classes/useradd.bbclass @@ -154,7 +154,11 @@ python useradd_sysroot_sstate () { bb.build.exec_func("useradd_sysroot", d) elif task == "prepare_recipe_sysroot": # Used to update this recipe's own sysroot so the user/groups are available to do_install - scriptfile = d.expand("${RECIPE_SYSROOT}${bindir}/postinst-useradd-${PN}") + + # If do_populate_sysroot is triggered and we write the file here, there would be an overlapping + # files. See usergrouptests.UserGroupTests.test_add_task_between_p_sysroot_and_package + scriptfile = d.expand("${RECIPE_SYSROOT}${bindir}/postinst-useradd-${PN}-recipedebug") + bb.build.exec_func("useradd_sysroot", d) elif task == "populate_sysroot": # Used when installed in dependent task sysroots diff --git a/meta/lib/oeqa/selftest/cases/usergrouptests.py b/meta/lib/oeqa/selftest/cases/usergrouptests.py index f6a40b21e7..a331ca9f2c 100644 --- a/meta/lib/oeqa/selftest/cases/usergrouptests.py +++ b/meta/lib/oeqa/selftest/cases/usergrouptests.py @@ -18,11 +18,9 @@ class UserGroupTests(OESelftestTestCase): self.logger.info("Packaging creategroup2") self.assertTrue(bitbake(' creategroup2 -c package')) - def _test_add_task_between_p_sysroot_and_package(self): - self.logger.info("Cleaning sstate for useraddbadtask") - self.logger.info("Building useraddbadtask") - # fails due to bug #14961 - self.assertTrue(bitbake(' useraddbadtask -C fetch')) + def test_add_task_between_p_sysroot_and_package(self): + # Test for YOCTO #14961 + self.assertTrue(bitbake('useraddbadtask -C fetch')) def test_static_useradd_from_dynamic(self): metaselftestpath = get_test_layer()