diff options
| author | Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com> | 2023-12-07 12:45:32 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-12-08 17:51:10 +0000 |
| commit | ecef665062be55fcfa0915216335d08883aa86f7 (patch) | |
| tree | 7526dc8da27cf82895da01ed0994cb1071e6bc91 /meta-selftest | |
| parent | d14eb12deb625e6644c0e727c336ad6bfafd0793 (diff) | |
| download | poky-ecef665062be55fcfa0915216335d08883aa86f7.tar.gz | |
useradd: Fix issues with useradd dependencies
If recipe A requires the useradd actions of recipe B we need to
ensure that recipe B is part of the recipe A dependancy chain. In
order to do that, we introduce USERADD_DEPENDS. This makes sure
that the do_populate_sysroot_setscene of recipe B exists for
recipe A in case of a missing TMPDIR. This requires changes made in
runqueue.py by RP.
This commit along with the runqueue fixes effects:
Bug 13419 - recipes that add users to groups cannot rely on other recipes creating those groups (when population from sstate happens)
Bug 13904 - do_prepare_recipe_sysroot: postinst-useradd-* does not run in order of dependency and sometimes fails
Bug 13279 - Make sure users/groups exist for package_write_* tasks
Bug 15084 - For some reason using of same user in two recipes does not work properly
I've included the start of self-testing for useradd by adding tests for
13419 (which ends up testing 13904, 13279, 15084 by virtue of them all
having the same root cause)
(From OE-Core rev: b47f2352376bd16b7e7087b4dab143403e67e094)
Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta-selftest')
| -rw-r--r-- | meta-selftest/recipes-test/selftest-users/creategroup1.bb | 32 | ||||
| -rw-r--r-- | meta-selftest/recipes-test/selftest-users/creategroup2.bb | 33 |
2 files changed, 65 insertions, 0 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 | |||
