[gentoo-portage-dev] Wanted: committer for the portage git repo
Hi everyone, since zmedico seems to be unavailable for now, I started to fix some bugs (see below). The problem is that I need someone with commit rights to the portage git repo, with the time to ack and commit my stuff. Does anyone volunteer to play this role? What is rather critical for now are the patches in the slot_operator_fixes branch in my github repo [1]. They fix: Bug 486580 - sys-apps/portage: seems to rebuild python-exec revdeps 'too early' Bug 491518 - sys-apps/portage-2.2.7 tries to force rebuild llvm on every other package merge Bug 489704 - emerge keeps rebuilding (flags rR) the same files every time it runs Bug 472104 - emerge: Show more info for slot rebuilds might help with: Bug 468486 - 2.2.0_alpha173 - emerge --deep is extremely slow Bug 492564 - portage tries to upgrade more than requested [1] https://github.com/few/fews-portage-branch/tree/slot_operator_fixes Sebastian
Re: [gentoo-portage-dev] Wanted: committer for the portage git repo
On Tuesday 26 November 2013 04:36:39 Sebastian Luther wrote: since zmedico seems to be unavailable for now, I started to fix some bugs (see below). The problem is that I need someone with commit rights to the portage git repo, with the time to ack and commit my stuff. Does anyone volunteer to play this role? use git email and post to the list -mike signature.asc Description: This is a digitally signed message part.
[gentoo-portage-dev] [PATCH 1/2] Fix a missing rebuild (bug 490362)
From: Sebastian Luther sebastianlut...@gmx.de The dependency in the ebuild was changed from slot operator to no slot operator. The vdb contained the slot operator and emerge would refuse to rebuild, causing a missed update. --- pym/_emerge/depgraph.py| 3 +- .../tests/resolver/test_slot_conflict_rebuild.py | 55 ++ 2 files changed, 56 insertions(+), 2 deletions(-) diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 033057b..da2e604 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -1301,8 +1301,7 @@ class depgraph(object): selected_atoms = None for atom in replacement_parent.validated_atoms: - if not atom.slot_operator == = or \ - atom.blocker or \ + if atom.blocker or \ atom.cp != dep.atom.cp: continue diff --git a/pym/portage/tests/resolver/test_slot_conflict_rebuild.py b/pym/portage/tests/resolver/test_slot_conflict_rebuild.py index 0fe8f5d..f39508c 100644 --- a/pym/portage/tests/resolver/test_slot_conflict_rebuild.py +++ b/pym/portage/tests/resolver/test_slot_conflict_rebuild.py @@ -180,3 +180,58 @@ class SlotConflictRebuildTestCase(TestCase): self.assertEqual(test_case.test_success, True, test_case.fail_msg) finally: playground.cleanup() + + def testSlotConflictDepChange(self): + + Bug 490362 + The dependency in the ebuild was changed form slot operator to + no slot operator. The vdb contained the slot operator and emerge + would refuse to rebuild. + + ebuilds = { + app-misc/A-1 : { + EAPI: 5, + DEPEND: app-misc/B, + RDEPEND: app-misc/B + }, + + app-misc/B-1 : { + EAPI: 5, + SLOT: 0/1 + }, + + app-misc/B-2 : { + EAPI: 5, + SLOT: 0/2 + }, + } + + installed = { + app-misc/A-1 : { + EAPI: 5, + DEPEND: app-misc/B:0/1=, + RDEPEND: app-misc/B:0/1= + }, + app-misc/B-1 : { + EAPI: 5, + SLOT: 0/1 + }, + } + + test_cases = ( + ResolverPlaygroundTestCase( + [app-misc/B], + success = True, + mergelist = ['app-misc/B-2', 'app-misc/A-1']), + ) + + world = [app-misc/A] + + playground = ResolverPlayground(ebuilds=ebuilds, + installed=installed, world=world, debug=False) + try: + for test_case in test_cases: + playground.run_TestCase(test_case) + self.assertEqual(test_case.test_success, True, test_case.fail_msg) + finally: + playground.cleanup() -- 1.8.1.5
[gentoo-portage-dev] [PATCH 2/2] Suppress debug outout from tests
From: Sebastian Luther sebastianlut...@gmx.de --- pym/portage/tests/resolver/test_slot_conflict_rebuild.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pym/portage/tests/resolver/test_slot_conflict_rebuild.py b/pym/portage/tests/resolver/test_slot_conflict_rebuild.py index f39508c..cac8742 100644 --- a/pym/portage/tests/resolver/test_slot_conflict_rebuild.py +++ b/pym/portage/tests/resolver/test_slot_conflict_rebuild.py @@ -173,7 +173,7 @@ class SlotConflictRebuildTestCase(TestCase): world = [] playground = ResolverPlayground(ebuilds=ebuilds, - installed=installed, world=world, debug=True) + installed=installed, world=world, debug=False) try: for test_case in test_cases: playground.run_TestCase(test_case) -- 1.8.1.5
Re: [gentoo-portage-dev] Another slot operator fix
On Tuesday 26 November 2013 15:06:22 sebastianlut...@gmx.de wrote: This first patches fixes: Bug 490362 - dev-libs/icu-51.2-r1 conflicts with dev-tex/bibtexu-3.71_p20120701 The second patch suppresses some debug output from tests from an earlier commit. looks like these two have been pushed -mike signature.asc Description: This is a digitally signed message part.
Re: [gentoo-portage-dev] Another slot operator fix
On Tue, 2013-11-26 at 22:27 -0500, Mike Frysinger wrote: On Tuesday 26 November 2013 15:06:22 sebastianlut...@gmx.de wrote: This first patches fixes: Bug 490362 - dev-libs/icu-51.2-r1 conflicts with dev-tex/bibtexu-3.71_p20120701 The second patch suppresses some debug output from tests from an earlier commit. looks like these two have been pushed -mike Nope, I just checked. I almost got caught same as you. For the second patch, there is an identical chunk of code at line 101 of resolver/test_slot_conflict_rebuild.py. But the one in the patch is at line 176. The first patch is also not applied. Yeah, sorry for the list(range()). I misread the xrange 2to3 fixer which states it wraps range() with list(), but only for existing py2 code use of range(). signature.asc Description: This is a digitally signed message part
Re: [gentoo-portage-dev] Another slot operator fix
On Tuesday 26 November 2013 23:25:03 Brian Dolbec wrote: On Tue, 2013-11-26 at 22:27 -0500, Mike Frysinger wrote: On Tuesday 26 November 2013 15:06:22 sebastianlut...@gmx.de wrote: This first patches fixes: Bug 490362 - dev-libs/icu-51.2-r1 conflicts with dev-tex/bibtexu-3.71_p20120701 The second patch suppresses some debug output from tests from an earlier commit. looks like these two have been pushed Nope, I just checked. I almost got caught same as you. For the second patch, there is an identical chunk of code at line 101 of resolver/test_slot_conflict_rebuild.py. But the one in the patch is at line 176. The first patch is also not applied. thanks, i'll look again Yeah, sorry for the list(range()). I misread the xrange 2to3 fixer which states it wraps range() with list(), but only for existing py2 code use of range(). np. sometimes we forget and become the tools of our tools :). -mike signature.asc Description: This is a digitally signed message part.