diff options
| -rw-r--r-- | meta-selftest/recipes-test/selftest-users/creategroup1.bb | 32 | ||||
| -rw-r--r-- | meta-selftest/recipes-test/selftest-users/creategroup2.bb | 33 | ||||
| -rw-r--r-- | meta/classes/useradd.bbclass | 4 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/usergrouptests.py | 17 |
4 files changed, 85 insertions, 1 deletions
diff --git a/meta-selftest/recipes-test/selftest-users/creategroup1.bb b/meta-selftest/recipes-test/selftest-users/creategroup1.bb new file mode 100644 index 0000000000..ebbbfaa83d --- /dev/null +++ b/meta-selftest/recipes-test/selftest-users/creategroup1.bb | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | SUMMARY = "creategroup pt 1" | ||
| 2 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" | ||
| 3 | |||
| 4 | LICENSE = "MIT" | ||
| 5 | |||
| 6 | DEPENDS = "coreutils-native" | ||
| 7 | |||
| 8 | S = "${WORKDIR}" | ||
| 9 | |||
| 10 | inherit useradd allarch | ||
| 11 | |||
| 12 | USERADD_PACKAGES = "${PN}" | ||
| 13 | USERADD_PARAM:${PN} = "-u 5555 --gid grouptest gt1" | ||
| 14 | GROUPADD_PARAM:${PN} = "-r grouptest" | ||
| 15 | |||
| 16 | TESTDIR = "${D}${sysconfdir}/creategroup" | ||
| 17 | |||
| 18 | do_install() { | ||
| 19 | install -d ${TESTDIR} | ||
| 20 | install -d ${TESTDIR}/dir | ||
| 21 | touch ${TESTDIR}/file | ||
| 22 | ln -s ./file ${TESTDIR}/symlink | ||
| 23 | install -d ${TESTDIR}/fifotest | ||
| 24 | mkfifo ${TESTDIR}/fifotest/fifo | ||
| 25 | |||
| 26 | chown gt1:grouptest ${TESTDIR}/file | ||
| 27 | chown -R gt1:grouptest ${TESTDIR}/dir | ||
| 28 | chown -h gt1:grouptest ${TESTDIR}/symlink | ||
| 29 | chown -R gt1:grouptest ${TESTDIR}/fifotest | ||
| 30 | } | ||
| 31 | |||
| 32 | FILES:${PN} = "${sysconfdir}/creategroup/*" | ||
diff --git a/meta-selftest/recipes-test/selftest-users/creategroup2.bb b/meta-selftest/recipes-test/selftest-users/creategroup2.bb new file mode 100644 index 0000000000..ef697f09b4 --- /dev/null +++ b/meta-selftest/recipes-test/selftest-users/creategroup2.bb | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | SUMMARY = "creategroup pt 2" | ||
| 2 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" | ||
| 3 | |||
| 4 | LICENSE = "MIT" | ||
| 5 | |||
| 6 | DEPENDS = "coreutils-native" | ||
| 7 | USERADD_DEPENDS = "creategroup1" | ||
| 8 | |||
| 9 | S = "${WORKDIR}" | ||
| 10 | |||
| 11 | inherit useradd allarch | ||
| 12 | |||
| 13 | USERADD_PACKAGES = "${PN}" | ||
| 14 | USERADD_PARAM:${PN} = "-u 5556 --gid grouptest gt2" | ||
| 15 | |||
| 16 | TESTDIR = "${D}${sysconfdir}/creategroup" | ||
| 17 | |||
| 18 | do_install() { | ||
| 19 | install -d ${TESTDIR} | ||
| 20 | install -d ${TESTDIR}/dir | ||
| 21 | touch ${TESTDIR}/file | ||
| 22 | ln -s ./file ${TESTDIR}/symlink | ||
| 23 | install -d ${TESTDIR}/fifotest | ||
| 24 | mkfifo ${TESTDIR}/fifotest/fifo | ||
| 25 | |||
| 26 | chown gt2:grouptest ${TESTDIR}/file | ||
| 27 | chown -R gt2:grouptest ${TESTDIR}/dir | ||
| 28 | chown -h gt2:grouptest ${TESTDIR}/symlink | ||
| 29 | chown -R gt2:grouptest ${TESTDIR}/fifotest | ||
| 30 | } | ||
| 31 | |||
| 32 | FILES:${PN} = "${sysconfdir}/creategroup/*" | ||
| 33 | |||
diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass index 4d3bd9a5f5..a4b8a2d6d6 100644 --- a/meta/classes/useradd.bbclass +++ b/meta/classes/useradd.bbclass | |||
| @@ -177,9 +177,11 @@ SYSROOT_PREPROCESS_FUNCS += "${SYSROOTFUNC}" | |||
| 177 | 177 | ||
| 178 | SSTATEPREINSTFUNCS:append:class-target = " useradd_sysroot_sstate" | 178 | SSTATEPREINSTFUNCS:append:class-target = " useradd_sysroot_sstate" |
| 179 | 179 | ||
| 180 | USERADD_DEPENDS ??= "" | ||
| 181 | DEPENDS += "${USERADD_DEPENDS}" | ||
| 180 | do_package_setscene[depends] += "${USERADDSETSCENEDEPS}" | 182 | do_package_setscene[depends] += "${USERADDSETSCENEDEPS}" |
| 181 | do_populate_sysroot_setscene[depends] += "${USERADDSETSCENEDEPS}" | 183 | do_populate_sysroot_setscene[depends] += "${USERADDSETSCENEDEPS}" |
| 182 | USERADDSETSCENEDEPS:class-target = "${MLPREFIX}base-passwd:do_populate_sysroot_setscene pseudo-native:do_populate_sysroot_setscene shadow-native:do_populate_sysroot_setscene ${MLPREFIX}shadow-sysroot:do_populate_sysroot_setscene" | 184 | USERADDSETSCENEDEPS:class-target = "${MLPREFIX}base-passwd:do_populate_sysroot_setscene pseudo-native:do_populate_sysroot_setscene shadow-native:do_populate_sysroot_setscene ${MLPREFIX}shadow-sysroot:do_populate_sysroot_setscene ${@' '.join(['%s:do_populate_sysroot_setscene' % pkg for pkg in d.getVar("USERADD_DEPENDS").split()])}" |
| 183 | USERADDSETSCENEDEPS = "" | 185 | USERADDSETSCENEDEPS = "" |
| 184 | 186 | ||
| 185 | # Recipe parse-time sanity checks | 187 | # Recipe parse-time sanity checks |
diff --git a/meta/lib/oeqa/selftest/cases/usergrouptests.py b/meta/lib/oeqa/selftest/cases/usergrouptests.py new file mode 100644 index 0000000000..98e8102590 --- /dev/null +++ b/meta/lib/oeqa/selftest/cases/usergrouptests.py | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | # | ||
| 2 | # Copyright OpenEmbedded Contributors | ||
| 3 | # | ||
| 4 | # SPDX-License-Identifier: MIT | ||
| 5 | # | ||
| 6 | |||
| 7 | from oeqa.selftest.case import OESelftestTestCase | ||
| 8 | from oeqa.utils.commands import bitbake | ||
| 9 | |||
| 10 | class UserGroupTests(OESelftestTestCase): | ||
| 11 | def test_group_from_dep_package(self): | ||
| 12 | self.logger.info("Building creategroup2") | ||
| 13 | bitbake(' creategroup2 creategroup1') | ||
| 14 | bitbake(' creategroup2 creategroup1 -c clean') | ||
| 15 | self.logger.info("Packaging creategroup2") | ||
| 16 | self.assertTrue(bitbake(' creategroup2 -c package')) | ||
| 17 | |||
