Summary: | sys-apps/portage: media-libs/mesa slot operator dependency on sys-devel/llvm triggers missed llvm slot upgrade | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Anton Bolshakov <anton.bugs> |
Component: | Current packages | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | alexander, esigra, mgorny, x11 |
Priority: | Normal | Keywords: | InVCS |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=526160 https://bugs.gentoo.org/show_bug.cgi?id=480736 https://bugs.gentoo.org/show_bug.cgi?id=478188 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 155723, 706142 |
Description
Anton Bolshakov
2020-01-25 06:39:32 UTC
Michał, any suggestions how we could accomplish this? It should work as-is... The slot operator rebuild is not triggered for some reason. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=a4d832db2da41240558c424710a00435a797f0d6 commit a4d832db2da41240558c424710a00435a797f0d6 Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2020-01-25 22:17:54 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2020-01-25 22:34:36 +0000 OrUpgradeInstalledTestCase: add test for bug 706278 Bug: https://bugs.gentoo.org/706278 Signed-off-by: Zac Medico <zmedico@gentoo.org> .../tests/resolver/test_or_upgrade_installed.py | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) This issue bears similarity to the missed virtual slot update from bug 526160, the difference being that we have this || ( llvm:10 llvm:9 llvm:8 ... ) construct instead of a number of virtual slots to choose from. I have a working patch in https://github.com/zmedico/portage/compare/master...bug_706278_llvm_slot_upgrade_for_mesa_deps that I'm nearly happy with. It breaks the test case for bug 480736 but I don't see a way to handle that case simultaneously without the addition of some fancy backtracking like for bug 382421, and the packages that triggered bug 480736 no longer exist anyway. Patch posted for review: https://archives.gentoo.org/gentoo-portage-dev/message/f8c836cc158735624cbfeb41526c4cb3 https://github.com/gentoo/portage/pull/501 The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=f7d83d75c6b05a16ef07473917082dbd0cd9955c commit f7d83d75c6b05a16ef07473917082dbd0cd9955c Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2020-01-26 01:44:14 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2020-01-27 03:18:02 +0000 dep_zapdeps: adjust || preference for slot upgrades (bug 706278) Prefer choices that include a slot upgrade when appropriate, like for the || ( llvm:10 ... llvm:7 ) case reported in bug 706278. In order to avoid pulling in inappropriate slot upgrades, like those which should only be pulled in with --update and --deep, add a want_update flag to each choice which is True for choices that pull in a new slot for which an update is desirable. Mark the test case for bug 480736 as todo, since the "undesirable" slot upgrade which triggers a blocker conflict in this test case is practically indistinguishable from a desirable slot upgrade. This particular blocker conflict is no longer relevant, since current versions of media-libs/libpostproc are no longer compatible with any available media-video/ffmpeg slot. In order to solve this test case, some fancy backtracking (like for bug 382421) will be required. Bug: https://bugs.gentoo.org/706278 Bug: https://bugs.gentoo.org/480736 Signed-off-by: Zac Medico <zmedico@gentoo.org> lib/_emerge/depgraph.py | 16 ++++- lib/portage/dep/dep_check.py | 79 ++++++++++++---------- lib/portage/tests/resolver/test_or_choices.py | 9 +++ .../tests/resolver/test_or_upgrade_installed.py | 3 +- 4 files changed, 67 insertions(+), 40 deletions(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34b349600f178ed252c125866c3c3fd731cfb2f4 commit 34b349600f178ed252c125866c3c3fd731cfb2f4 Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2020-01-28 05:18:53 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2020-01-28 05:19:09 +0000 sys-apps/portage: Bump to version 2.3.86 #706278 Adjust || preference for slot upgrades #706298 Suppress package.keywords warning for API consumers Bug: https://bugs.gentoo.org/706142 Bug: https://bugs.gentoo.org/480736 Bug: https://bugs.gentoo.org/706278 Bug: https://bugs.gentoo.org/706298 Package-Manager: Portage-2.3.86, Repoman-2.3.20 Signed-off-by: Zac Medico <zmedico@gentoo.org> sys-apps/portage/Manifest | 1 + sys-apps/portage/portage-2.3.86.ebuild | 276 +++++++++++++++++++++++++++++++++ 2 files changed, 277 insertions(+) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=d77d933b4a9cb2b830e661806a2a8689ffbac0ef commit d77d933b4a9cb2b830e661806a2a8689ffbac0ef Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2020-02-01 04:53:45 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2020-02-01 20:54:11 +0000 depclean: do not eliminate upgrades (bug 707108) For depclean actions, prefer choices where all packages have been pulled into the graph, except for choices that eliminate upgrades. This solves the test case for bug 707108, where depclean eliminated a new slot of python that had been pulled in by a world update. This should also prevent non-deterministic elimination of the latest vala slot that was reported in bug 693790. NOTE: There's a common perception (expressed in bug 705700) that emerge is pulling in an "unecessary" python slot in cases when that python slot is not enabled in PYTHON_TARGETS. However, the so-called "unnecessary" slot is practically indistinguishable from a desirable upgrade such as the missed llvm slot upgrade that was reported in bug 706278. Therefore, be advised that emerge must pull in the highest visible slot (regardless of PYTHON_TARGETS) in order to ensure that a desirable upgrade is not missed. Fixes: f7d83d75c6b0 ("dep_zapdeps: adjust || preference for slot upgrades (bug 706278)") Bug: https://bugs.gentoo.org/707108 Bug: https://bugs.gentoo.org/706278 Bug: https://bugs.gentoo.org/705700 Bug: https://bugs.gentoo.org/693790 Signed-off-by: Zac Medico <zmedico@gentoo.org> lib/portage/dep/dep_check.py | 23 +++++++++++++---------- lib/portage/tests/resolver/test_or_choices.py | 4 ++-- 2 files changed, 15 insertions(+), 12 deletions(-) |