Summary: | sys-apps/portage: doesn't merge repeated identical || (... ) any-of dependency blocks (and is very slow at dependency resolution when encountering such duplicates) | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Sam James <sam> |
Component: | Core - Dependencies | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | arsen, esigra, i, kfm, pacho, zmedico |
Priority: | Normal | Keywords: | InVCS |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=828136 https://bugs.gentoo.org/show_bug.cgi?id=891133 https://bugs.gentoo.org/show_bug.cgi?id=632026 https://github.com/gentoo/portage/pull/1259 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 921380 | ||
Bug Blocks: | 155723, 835380 |
Description
Sam James
2023-01-16 16:03:01 UTC
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2575ec6caaa80ed8d3c9361312c797837c7c2ec3 commit 2575ec6caaa80ed8d3c9361312c797837c7c2ec3 Author: Sam James <sam@gentoo.org> AuthorDate: 2023-01-16 16:04:22 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-01-16 16:05:08 +0000 sys-apps/ed: workaround unpacker.eclass/Portage dep resolution bug 1. unpacker_src_uri_depends doesn't flatten the deps (bug #891133) and emits several || ( ... ) blocks (4). 2. Portage doesn't handle several repeated identical || ( ...) blocks correctly and takes ages to resolve (bug #891137). It should merge them together. Bug: https://bugs.gentoo.org/891137 Bug: https://bugs.gentoo.org/891133 Signed-off-by: Sam James <sam@gentoo.org> sys-apps/ed/{ed-1.19.ebuild => ed-1.19-r1.ebuild} | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) Must be something about the disjunctive normal form (DNF) handling added for bug 632026. We can probably just have the _overlap_dnf function trigger deduplication when it detects overlap between any-of blocks, since a duplicate is a special kind of overlap. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=15c173dcea2401a13cfb3313918c77d7dbde133d commit 15c173dcea2401a13cfb3313918c77d7dbde133d Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2024-02-11 03:28:27 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2024-02-11 03:29:23 +0000 DuplicateOverlapDNFTestCase: Add test for bug 891137 Bug: https://bugs.gentoo.org/891137 Signed-off-by: Zac Medico <zmedico@gentoo.org> lib/portage/tests/dep/test_overlap_dnf.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=12f6056da88041f82a9c9dfc23ee0eab39077782 commit 12f6056da88041f82a9c9dfc23ee0eab39077782 Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2024-02-11 04:12:45 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2024-02-11 04:36:22 +0000 _overlap_dnf: deduplicate any-of blocks Duplicate any-of blocks are eliminated since DNF expansion of duplicates is nonsensical. Bug: https://bugs.gentoo.org/891137 Signed-off-by: Zac Medico <zmedico@gentoo.org> lib/portage/dep/dep_check.py | 17 ++++++++++++++--- lib/portage/tests/dep/test_overlap_dnf.py | 31 +++++++++++++++++++++++++------ 2 files changed, 39 insertions(+), 9 deletions(-) The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77c44c46194922509bc4f2b5cfc099412a560a69 commit 77c44c46194922509bc4f2b5cfc099412a560a69 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-02-22 07:23:40 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-02-22 07:23:50 +0000 sys-apps/portage: add 3.0.62 Closes: https://bugs.gentoo.org/663324 Closes: https://bugs.gentoo.org/728046 Closes: https://bugs.gentoo.org/891137 Closes: https://bugs.gentoo.org/906368 Closes: https://bugs.gentoo.org/916566 Closes: https://bugs.gentoo.org/921170 Closes: https://bugs.gentoo.org/921208 Closes: https://bugs.gentoo.org/921400 Closes: https://bugs.gentoo.org/922038 Closes: https://bugs.gentoo.org/922142 Closes: https://bugs.gentoo.org/923368 Closes: https://bugs.gentoo.org/923750 Closes: https://bugs.gentoo.org/923841 Closes: https://bugs.gentoo.org/923852 Closes: https://bugs.gentoo.org/923854 Closes: https://bugs.gentoo.org/924192 Closes: https://bugs.gentoo.org/924273 Closes: https://bugs.gentoo.org/924585 Closes: https://bugs.gentoo.org/921380 Signed-off-by: Sam James <sam@gentoo.org> sys-apps/portage/Manifest | 1 + sys-apps/portage/portage-3.0.62.ebuild | 246 +++++++++++++++++++++++++++++++++ 2 files changed, 247 insertions(+) |