diff options
| -rw-r--r-- | meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb | 15 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/git.py | 15 |
2 files changed, 30 insertions, 0 deletions
diff --git a/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb b/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb index cc5d7eae5a..fa3041b7d8 100644 --- a/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb +++ b/meta-selftest/recipes-test/git-submodule-test/git-submodule-test.bb | |||
| @@ -7,3 +7,18 @@ INHIBIT_DEFAULT_DEPS = "1" | |||
| 7 | 7 | ||
| 8 | SRC_URI = "gitsm://git.yoctoproject.org/git-submodule-test;branch=master" | 8 | SRC_URI = "gitsm://git.yoctoproject.org/git-submodule-test;branch=master" |
| 9 | SRCREV = "a2885dd7d25380d23627e7544b7bbb55014b16ee" | 9 | SRCREV = "a2885dd7d25380d23627e7544b7bbb55014b16ee" |
| 10 | |||
| 11 | S = "${WORKDIR}/git" | ||
| 12 | |||
| 13 | do_test_git_as_user() { | ||
| 14 | cd ${S} | ||
| 15 | git status | ||
| 16 | } | ||
| 17 | addtask test_git_as_user after do_unpack | ||
| 18 | |||
| 19 | fakeroot do_test_git_as_root() { | ||
| 20 | cd ${S} | ||
| 21 | git status | ||
| 22 | } | ||
| 23 | do_test_git_as_root[depends] += "virtual/fakeroot-native:do_populate_sysroot" | ||
| 24 | addtask test_git_as_root after do_unpack | ||
diff --git a/meta/lib/oeqa/selftest/cases/git.py b/meta/lib/oeqa/selftest/cases/git.py new file mode 100644 index 0000000000..f12874dc7d --- /dev/null +++ b/meta/lib/oeqa/selftest/cases/git.py | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | from oeqa.selftest.case import OESelftestTestCase | ||
| 2 | from oeqa.utils.commands import bitbake | ||
| 3 | |||
| 4 | class GitCheck(OESelftestTestCase): | ||
| 5 | def test_git_intercept(self): | ||
| 6 | """ | ||
| 7 | Git binaries with CVE-2022-24765 fixed will refuse to operate on a | ||
| 8 | repository which is owned by a different user. This breaks our | ||
| 9 | do_install task as that runs inside pseudo, so the git repository is | ||
| 10 | owned by the build user but git is running as (fake)root. | ||
| 11 | |||
| 12 | We have an intercept which disables pseudo, so verify that it works. | ||
| 13 | """ | ||
| 14 | bitbake("git-submodule-test -c test_git_as_user") | ||
| 15 | bitbake("git-submodule-test -c test_git_as_root") | ||
