[gentoo-portage-dev] Wanted: committer for the portage git repo

2013-11-26 Thread Sebastian Luther
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

2013-11-26 Thread Mike Frysinger
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)

2013-11-26 Thread SebastianLuther
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

2013-11-26 Thread SebastianLuther
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

2013-11-26 Thread Mike Frysinger
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

2013-11-26 Thread Brian Dolbec
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

2013-11-26 Thread Mike Frysinger
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.