diff options
author | Arthur Zamarin <arthurzam@gentoo.org> | 2024-01-13 11:16:10 +0200 |
---|---|---|
committer | Arthur Zamarin <arthurzam@gentoo.org> | 2024-01-13 11:16:10 +0200 |
commit | f2d4e371da2bfa834644973d4dd0bede50deafb4 (patch) | |
tree | b01862d2cd0d1c25a6af0417080bf6b7b18bdcd2 /testdata | |
parent | DeprecatedDep: fix mishandling of slotted deprecates (diff) | |
download | pkgcheck-f2d4e371da2bfa834644973d4dd0bede50deafb4.tar.gz pkgcheck-f2d4e371da2bfa834644973d4dd0bede50deafb4.tar.bz2 pkgcheck-f2d4e371da2bfa834644973d4dd0bede50deafb4.zip |
UnstatedIuse: check for unstated IUSE in "?" dependencies
Check for cases where a dependency uses conditional use dependency
with unknown USE flag. PMS states:
It is an error for an ebuild to use a conditional use dependency when
that ebuild does not have the flag in IUSE_EFFECTIVE.
Bug: https://bugs.gentoo.org/921841
Requested-by: Sam James <sam@gentoo.org>
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Diffstat (limited to 'testdata')
6 files changed, 15 insertions, 2 deletions
diff --git a/testdata/data/repos/standalone/DependencyCheck/MissingUseDepDefault/fix.patch b/testdata/data/repos/standalone/DependencyCheck/MissingUseDepDefault/fix.patch index c86bbe16..c1cd3750 100644 --- a/testdata/data/repos/standalone/DependencyCheck/MissingUseDepDefault/fix.patch +++ b/testdata/data/repos/standalone/DependencyCheck/MissingUseDepDefault/fix.patch @@ -1,10 +1,10 @@ diff -Naur standalone/DependencyCheck/MissingUseDepDefault/MissingUseDepDefault-0.ebuild fixed/DependencyCheck/MissingUseDepDefault/MissingUseDepDefault-0.ebuild --- standalone/DependencyCheck/MissingUseDepDefault/MissingUseDepDefault-0.ebuild 2019-12-02 21:50:34.617257001 -0700 +++ fixed/DependencyCheck/MissingUseDepDefault/MissingUseDepDefault-0.ebuild 2019-12-02 21:52:56.547749364 -0700 -@@ -3,7 +3,7 @@ - HOMEPAGE="https://github.com/pkgcore/pkgcheck" +@@ -4,7 +4,7 @@ SLOT="0" LICENSE="BSD" + IUSE="foo" -DEPEND="stub/stub1[foo]" -RDEPEND="|| ( stub/stub2[used] stub/stub2[-foo] )" -BDEPEND="stub/stub3[foo?]" diff --git a/testdata/data/repos/standalone/DependencyCheck/UnstatedIuse/expected-verbose.json b/testdata/data/repos/standalone/DependencyCheck/UnstatedIuse/expected-verbose.json index 799fec6f..12e2f462 100644 --- a/testdata/data/repos/standalone/DependencyCheck/UnstatedIuse/expected-verbose.json +++ b/testdata/data/repos/standalone/DependencyCheck/UnstatedIuse/expected-verbose.json @@ -1,2 +1,3 @@ +{"__class__": "UnstatedIuse", "category": "DependencyCheck", "package": "UnstatedIuse", "version": "0", "attr": "depend", "flags": ["used"], "profile": null, "num_profiles": null} {"__class__": "UnstatedIuse", "category": "DependencyCheck", "package": "UnstatedIuse", "version": "0", "attr": "rdepend", "flags": ["used"], "profile": "default/amd64", "num_profiles": null} {"__class__": "UnstatedIuse", "category": "DependencyCheck", "package": "UnstatedIuse", "version": "0", "attr": "rdepend", "flags": ["used"], "profile": "default/x86", "num_profiles": null} diff --git a/testdata/data/repos/standalone/DependencyCheck/UnstatedIuse/expected.json b/testdata/data/repos/standalone/DependencyCheck/UnstatedIuse/expected.json index 512b0afa..0950d1f3 100644 --- a/testdata/data/repos/standalone/DependencyCheck/UnstatedIuse/expected.json +++ b/testdata/data/repos/standalone/DependencyCheck/UnstatedIuse/expected.json @@ -1 +1,2 @@ +{"__class__": "UnstatedIuse", "category": "DependencyCheck", "package": "UnstatedIuse", "version": "0", "attr": "depend", "flags": ["used"], "profile": null, "num_profiles": null} {"__class__": "UnstatedIuse", "category": "DependencyCheck", "package": "UnstatedIuse", "version": "0", "attr": "rdepend", "flags": ["used"], "profile": "default/amd64", "num_profiles": 2} diff --git a/testdata/repos/standalone/DependencyCheck/MissingUseDepDefault/MissingUseDepDefault-0.ebuild b/testdata/repos/standalone/DependencyCheck/MissingUseDepDefault/MissingUseDepDefault-0.ebuild index 53992988..f03b475b 100644 --- a/testdata/repos/standalone/DependencyCheck/MissingUseDepDefault/MissingUseDepDefault-0.ebuild +++ b/testdata/repos/standalone/DependencyCheck/MissingUseDepDefault/MissingUseDepDefault-0.ebuild @@ -4,6 +4,7 @@ DESCRIPTION="Ebuild missing USE dependency default" HOMEPAGE="https://github.com/pkgcore/pkgcheck" SLOT="0" LICENSE="BSD" +IUSE="foo" DEPEND="stub/stub1[foo]" RDEPEND="|| ( stub/stub2[used] stub/stub2[-foo] )" BDEPEND="stub/stub3[foo?]" diff --git a/testdata/repos/standalone/DependencyCheck/MissingUseDepDefault/metadata.xml b/testdata/repos/standalone/DependencyCheck/MissingUseDepDefault/metadata.xml new file mode 100644 index 00000000..bd802a63 --- /dev/null +++ b/testdata/repos/standalone/DependencyCheck/MissingUseDepDefault/metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <use> + <flag name="foo">stub</flag> + </use> +</pkgmetadata> diff --git a/testdata/repos/standalone/DependencyCheck/UnstatedIuse/UnstatedIuse-0.ebuild b/testdata/repos/standalone/DependencyCheck/UnstatedIuse/UnstatedIuse-0.ebuild index b7438aaa..1179764b 100644 --- a/testdata/repos/standalone/DependencyCheck/UnstatedIuse/UnstatedIuse-0.ebuild +++ b/testdata/repos/standalone/DependencyCheck/UnstatedIuse/UnstatedIuse-0.ebuild @@ -1,5 +1,8 @@ +EAPI=7 + DESCRIPTION="Ebuild with unstated IUSE in depsets" HOMEPAGE="https://github.com/pkgcore/pkgcheck" SLOT="0" LICENSE="BSD" RDEPEND="used? ( stub/stub1 )" +DEPEND="stub/stub4[used?]" |