new file mode 100644
@@ -0,0 +1,31 @@
+SUMMARY = "asecondgroup"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+LICENSE = "MIT"
+
+DEPENDS = "coreutils-native"
+
+
+S = "${WORKDIR}"
+
+inherit useradd allarch
+USERADD_DEPENDS = "bfirstgroup"
+
+USERADD_PACKAGES = "${PN}"
+
+USERADD_PARAM:${PN} = "-r -g grouptest3 -G grouptest2 -s /sbin/nologin gt4"
+GROUPADD_PARAM:${PN} = "-r grouptest3"
+
+TESTDIR = "${D}${sysconfdir}/creategroup"
+
+do_install() {
+ install -d ${TESTDIR}
+ install -d ${TESTDIR}/dir
+ touch ${TESTDIR}/file
+ ln -s ./file ${TESTDIR}/symlink
+ install -d ${TESTDIR}/fifotest
+ mkfifo ${TESTDIR}/fifotest/fifo
+}
+
+FILES:${PN} = "${sysconfdir}/creategroup/*"
+
new file mode 100644
@@ -0,0 +1,29 @@
+SUMMARY = "bfirstgroup"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+LICENSE = "MIT"
+
+DEPENDS = "coreutils-native"
+
+S = "${WORKDIR}"
+
+inherit useradd allarch
+
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "-r -g grouptest2 -s /sbin/nologin gt3"
+GROUPADD_PARAM:${PN} = "-r grouptest2"
+
+TESTDIR = "${D}${sysconfdir}/creategroup"
+
+do_install() {
+ install -d ${TESTDIR}
+ install -d ${TESTDIR}/dir
+ touch ${TESTDIR}/file
+ ln -s ./file ${TESTDIR}/symlink
+ install -d ${TESTDIR}/fifotest
+ mkfifo ${TESTDIR}/fifotest/fifo
+
+}
+
+FILES:${PN} = "${sysconfdir}/creategroup/*"
new file mode 100644
@@ -0,0 +1,30 @@
+SUMMARY = "asecondgroup"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+LICENSE = "MIT"
+
+DEPENDS = "coreutils-native"
+
+
+S = "${WORKDIR}"
+
+inherit useradd allarch
+USERADD_DEPENDS = "asecondgroup"
+
+USERADD_PACKAGES = "${PN}"
+
+USERADD_PARAM:${PN} = "-r -g grouptest4 -G grouptest3 -s /sbin/nologin gt5"
+GROUPADD_PARAM:${PN} = "-r grouptest4"
+
+TESTDIR = "${D}${sysconfdir}/creategroup"
+
+do_install() {
+ install -d ${TESTDIR}
+ install -d ${TESTDIR}/dir
+ touch ${TESTDIR}/file
+ ln -s ./file ${TESTDIR}/symlink
+ install -d ${TESTDIR}/fifotest
+ mkfifo ${TESTDIR}/fifotest/fifo
+}
+
+FILES:${PN} = "${sysconfdir}/creategroup/*"
new file mode 100644
@@ -0,0 +1,25 @@
+SUMMARY = "groupdep"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+LICENSE = "MIT"
+
+DEPENDS = "coreutils-native cthirdgroup"
+
+S = "${WORKDIR}"
+
+TESTDIR = "${D}${sysconfdir}/creategroup"
+
+do_install() {
+ install -d ${TESTDIR}
+ install -d ${TESTDIR}/dir
+ touch ${TESTDIR}/file
+ ln -s ./file ${TESTDIR}/symlink
+ install -d ${TESTDIR}/fifotest
+ mkfifo ${TESTDIR}/fifotest/fifo
+ chown gt3:grouptest2 ${TESTDIR}/file
+ chown -R gt3:grouptest2 ${TESTDIR}/dir
+ chown -h gt4:grouptest3 ${TESTDIR}/symlink
+ chown -R gt4:grouptest3 ${TESTDIR}/fifotest
+}
+
+FILES:${PN} = "${sysconfdir}/creategroup/*"
@@ -51,3 +51,10 @@ class UserGroupTests(OESelftestTestCase):
self.write_config("USERADD_GID_TABLES += \"files/static-group\"")
self.logger.info("Rebuild with other staticids")
self.assertTrue(bitbake(' core-image-minimal'))
+
+ def test_postinst_order(self):
+ # Test for YOCTO #13904
+ bitbake(' bfirstgroup asecondgroup cthirdgroup groupdep -c clean')
+ self.logger.info("Building groupdep do_prepare_recipe_sysroot")
+ self.assertTrue(bitbake(' groupdep -c do_prepare_recipe_sysroot'))
+
This tests for 13904, that postinst-useradd-* run in order. Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com> --- .../selftest-users/asecondgroup.bb | 31 +++++++++++++++++++ .../selftest-users/bfirstgroup.bb | 29 +++++++++++++++++ .../selftest-users/cthirdgroup.bb | 30 ++++++++++++++++++ .../recipes-test/selftest-users/groupdep.bb | 25 +++++++++++++++ .../lib/oeqa/selftest/cases/usergrouptests.py | 7 +++++ 5 files changed, 122 insertions(+) create mode 100644 meta-selftest/recipes-test/selftest-users/asecondgroup.bb create mode 100644 meta-selftest/recipes-test/selftest-users/bfirstgroup.bb create mode 100644 meta-selftest/recipes-test/selftest-users/cthirdgroup.bb create mode 100644 meta-selftest/recipes-test/selftest-users/groupdep.bb