[gentoo-dev] Gentoo Staffing Needs page is out of date

2016-11-22 Thread Gokturk Yuksek
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Hi all,

The Staffing Needs page on the wiki [0] seems a little out of date,
there are still mentions of "herds". I invite project leads and
members to update it. We added a reference to it in the Mentors wiki
page [1] and hoping to get more attention to it.

Thanks,

[0] https://wiki.gentoo.org/wiki/Project:Gentoo/Staffing_Needs
[1] https://wiki.gentoo.org/wiki/Project:Mentors
-BEGIN PGP SIGNATURE-

iQEcBAEBCgAGBQJYNSnHAAoJEIT4AuXAiM4zNPEH/iSRgDAR41bDftZwOeGmr8mI
BzMG3tPF/5qk1TW6mEYX3JZo6Kn6Af1F+5eKRGZJz1WZtn+qrCccQWm7Jf/o2C6w
OvfjoF9jQJCFPlK/rwxx9w0D5WsBiqf/Debw33Cli63vVIx3BOEFaNSV9Wxn6ZUj
RuIeANX91XoLWy6QOqPq8NVZZJ5yYRRQx3zmiR8BJzgiTfGl0BsjbwHJhGau3e+T
frd4hfhF6Lm78fIQe7/ga/2AQvK9E6TFgZB1BNmVg/9I9iIuoyp+DiYO+91mQykX
vkNXKg8T1ZFVAVZSAleSwWDFcuICd8f12FnbMuuO/inMyCX2O2njH+arT33qvlA=
=b+yy
-END PGP SIGNATURE-



Re: [gentoo-portage-dev] [PATCH v2] dep_zapdeps: make package selections internally consistent (bug 600346)

2016-11-22 Thread Zac Medico
On 11/22/2016 08:21 AM, Brian Dolbec wrote:
> On Sun, 20 Nov 2016 15:56:54 -0800
> Zac Medico  wrote:
> 
>> When selecting packages to determine which choices have upgrades
>> or downgrades relative to other choices, make the package selections
>> internally consistent by choosing a package that satisfies all atoms
>> in the choice which match a package in the same slot.
>>
>> Also, fix the Atom.match() method to handle _pkg_str instances,
>> since dep_zapdeps can pass in _pkg_str instances instead of Package
>> instances.
>>
>> X-Gentoo-Bug: 600346
>> X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=600346
>> ---
>> [PATCH v2] fixes incorrect logic in dep_zapdeps
>>
>>  pym/portage/dep/__init__.py  | 16 
>>  pym/portage/dep/dep_check.py | 28 ++--
>>  2 files changed, 38 insertions(+), 6 deletions(-)
>>
>> diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py
>> index 5dd1638..968ff5b 100644
>> --- a/pym/portage/dep/__init__.py
>> +++ b/pym/portage/dep/__init__.py
>> @@ -1603,10 +1603,18 @@ class Atom(_unicode):
>>  if pkg.cp == self.cp:
>>  return bool(match_from_list(self, [pkg]))
>>  else:
>> -for provided_cp in pkg.provided_cps:
>> -if provided_cp == self.cp:
>> -return bool(match_from_list(
>> -
>> self.replace(self.cp, provided_cp, 1), [pkg]))
>> +try:
>> +provided_cps = pkg.provided_cps
>> +except AttributeError:
>> +# Since _pkg_str instances lack
>> PROVIDE metadata,
>> +# just ignore this case (PROVIDE has
>> been deprecated
>> +# for years).
>> +pass
>> +else:
>> +for provided_cp in provided_cps:
>> +if provided_cp == self.cp:
>> +return
>> bool(match_from_list(
>> +
>> self.replace(self.cp, provided_cp, 1), [pkg])) return False
>>  
>>  _extended_cp_re_cache = {}
>> diff --git a/pym/portage/dep/dep_check.py
>> b/pym/portage/dep/dep_check.py index 9d2ca4b..737d2b1 100644
>> --- a/pym/portage/dep/dep_check.py
>> +++ b/pym/portage/dep/dep_check.py
>> @@ -5,6 +5,7 @@ from __future__ import unicode_literals
>>  
>>  __all__ = ['dep_check', 'dep_eval', 'dep_wordreduce', 'dep_zapdeps']
>>  
>> +import collections
>>  import logging
>>  import operator
>>  
>> @@ -354,6 +355,7 @@ def dep_zapdeps(unreduced, reduced, myroot,
>> use_binaries=0, trees=None): all_use_satisfied = True
>>  all_use_unmasked = True
>>  conflict_downgrade = False
>> +slot_atoms = collections.defaultdict(list)
>>  slot_map = {}
>>  cp_map = {}
>>  for atom in atoms:
>> @@ -418,9 +420,31 @@ def dep_zapdeps(unreduced, reduced, myroot,
>> use_binaries=0, trees=None): avail_slot = Atom("%s:%s" % (atom.cp,
>> avail_pkg.slot)) 
>>  slot_map[avail_slot] = avail_pkg
>> +slot_atoms[avail_slot].append(atom)
>>  highest_cpv = cp_map.get(avail_pkg.cp)
>> -if highest_cpv is None or \
>> -vercmp(avail_pkg.version,
>> highest_cpv.version) > 0:
>> +all_match_current = None
>> +all_match_previous = None
>> +if (highest_cpv is not None and
>> +highest_cpv.slot == avail_pkg.slot):
>> +# If possible, make the package
>> selection internally
>> +# consistent by choosing a package
>> that satisfies all
>> +# atoms which match a package in the
>> same slot. Later on,
>> +# the package version chosen here is
>> used in the
>> +# has_upgrade/has_downgrade logic to
>> prefer choices with
>> +# upgrades, and a package choice
>> that is not internally
>> +# consistent will lead the
>> has_upgrade/has_downgrade logic
>> +# to produce invalid results (see
>> bug 600346).
>> +all_match_current =
>> all(a.match(avail_pkg)
>> +for a in
>> slot_atoms[avail_slot])
>> +all_match_previous =
>> all(a.match(highest_cpv)
>> +for a in
>> slot_atoms[avail_slot])
>> +if all_match_previous and not
>> all_match_current:
>> +continue
>> +
>> +current_higher = (highest_cpv is None or
>> +vercmp(avail_pkg.version,
>> highest_cpv.version) > 0) +

Re: [gentoo-portage-dev] [PATCH v2] dep_zapdeps: make package selections internally consistent (bug 600346)

2016-11-22 Thread Brian Dolbec
On Sun, 20 Nov 2016 15:56:54 -0800
Zac Medico  wrote:

> When selecting packages to determine which choices have upgrades
> or downgrades relative to other choices, make the package selections
> internally consistent by choosing a package that satisfies all atoms
> in the choice which match a package in the same slot.
> 
> Also, fix the Atom.match() method to handle _pkg_str instances,
> since dep_zapdeps can pass in _pkg_str instances instead of Package
> instances.
> 
> X-Gentoo-Bug: 600346
> X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=600346
> ---
> [PATCH v2] fixes incorrect logic in dep_zapdeps
> 
>  pym/portage/dep/__init__.py  | 16 
>  pym/portage/dep/dep_check.py | 28 ++--
>  2 files changed, 38 insertions(+), 6 deletions(-)
> 
> diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py
> index 5dd1638..968ff5b 100644
> --- a/pym/portage/dep/__init__.py
> +++ b/pym/portage/dep/__init__.py
> @@ -1603,10 +1603,18 @@ class Atom(_unicode):
>   if pkg.cp == self.cp:
>   return bool(match_from_list(self, [pkg]))
>   else:
> - for provided_cp in pkg.provided_cps:
> - if provided_cp == self.cp:
> - return bool(match_from_list(
> -
> self.replace(self.cp, provided_cp, 1), [pkg]))
> + try:
> + provided_cps = pkg.provided_cps
> + except AttributeError:
> + # Since _pkg_str instances lack
> PROVIDE metadata,
> + # just ignore this case (PROVIDE has
> been deprecated
> + # for years).
> + pass
> + else:
> + for provided_cp in provided_cps:
> + if provided_cp == self.cp:
> + return
> bool(match_from_list(
> +
> self.replace(self.cp, provided_cp, 1), [pkg])) return False
>  
>  _extended_cp_re_cache = {}
> diff --git a/pym/portage/dep/dep_check.py
> b/pym/portage/dep/dep_check.py index 9d2ca4b..737d2b1 100644
> --- a/pym/portage/dep/dep_check.py
> +++ b/pym/portage/dep/dep_check.py
> @@ -5,6 +5,7 @@ from __future__ import unicode_literals
>  
>  __all__ = ['dep_check', 'dep_eval', 'dep_wordreduce', 'dep_zapdeps']
>  
> +import collections
>  import logging
>  import operator
>  
> @@ -354,6 +355,7 @@ def dep_zapdeps(unreduced, reduced, myroot,
> use_binaries=0, trees=None): all_use_satisfied = True
>   all_use_unmasked = True
>   conflict_downgrade = False
> + slot_atoms = collections.defaultdict(list)
>   slot_map = {}
>   cp_map = {}
>   for atom in atoms:
> @@ -418,9 +420,31 @@ def dep_zapdeps(unreduced, reduced, myroot,
> use_binaries=0, trees=None): avail_slot = Atom("%s:%s" % (atom.cp,
> avail_pkg.slot)) 
>   slot_map[avail_slot] = avail_pkg
> + slot_atoms[avail_slot].append(atom)
>   highest_cpv = cp_map.get(avail_pkg.cp)
> - if highest_cpv is None or \
> - vercmp(avail_pkg.version,
> highest_cpv.version) > 0:
> + all_match_current = None
> + all_match_previous = None
> + if (highest_cpv is not None and
> + highest_cpv.slot == avail_pkg.slot):
> + # If possible, make the package
> selection internally
> + # consistent by choosing a package
> that satisfies all
> + # atoms which match a package in the
> same slot. Later on,
> + # the package version chosen here is
> used in the
> + # has_upgrade/has_downgrade logic to
> prefer choices with
> + # upgrades, and a package choice
> that is not internally
> + # consistent will lead the
> has_upgrade/has_downgrade logic
> + # to produce invalid results (see
> bug 600346).
> + all_match_current =
> all(a.match(avail_pkg)
> + for a in
> slot_atoms[avail_slot])
> + all_match_previous =
> all(a.match(highest_cpv)
> + for a in
> slot_atoms[avail_slot])
> + if all_match_previous and not
> all_match_current:
> + continue
> +
> + current_higher = (highest_cpv is None or
> + vercmp(avail_pkg.version,
> highest_cpv.version) > 0) +
> + if current_higher or (all_match_current and
> not all_match_previous): 

Re: [gentoo-dev] Developer GitHub usernames

2016-11-22 Thread Jeroen Roovers
On Mon, 21 Nov 2016 20:36:42 +
Ciaran McCreesh  wrote:

> Wait what. Why am I being blamed for any of this? I assure you, MichaƂ
> isn't one of my sockpuppet developer accounts, and my involvement with
> Github as a company is limited to them buying me an awful lot of
> free booze once. I think you might be seeing conspiracies in the
> wrong place...

Oh, might have misread something. Sorry, Ciaran.


 jer



Re: [gentoo-dev] Re: Stabilisation procedure

2016-11-22 Thread Alice Ferrazzi
On Sat, Nov 19, 2016 at 12:55:09AM -0800, Daniel Campbell wrote:
> On 11/17/2016 01:07 PM, Robin H. Johnson wrote:
> > On Thu, Nov 17, 2016 at 03:05:41PM +0100, Kristian Fiskerstrand wrote:
> >>> Isn't it implied that any stabilisation is approved by the maintainer?
> >>> Has it ever been acceptable to go around stabilising random packages?
> >>>
> >>
> >> Explicit > Implicit when we're updating things anyways.
> >>
> >> There are scenarios where e.g Security is calling for stabilization ,
> >> I'll add some info to the draft security GLEP with some requirements for
> >> when this can happen without maintainer involvement as well..
> >>
> >> Ultimately maintainer is responsible for the state of the stable tree
> >> for the packages they maintain and should be taking proactive steps for
> >> this also for security bugs, it doesn't "always" happen like that.
> > 
> > The interaction of this proposal and the prior discussion of allow
> > maintainers to document the maintenance policy of given packages is
> > where it would really come into play.
> > 
> > Using two packages for examples:
> > app-admin/diradm: I am the upstream author as well as the package
> > maintainer. I care about it being marked stable. I'd prefer the normal
> > policy of other people asking me (with timeout) before touching it.
> > 
> > app-admin/cancd: It's a very obscure package that I put in the tree
> > because I needed it, but I haven't personally used it in many years. 
> > I fix the packaging if it's broken only.
> > I'm inclined to mark it with 'anybody-may-bump/fix/stabilize'.
> > 
> Agreed. For most of my packages, I really don't mind since we're all
> working on Gentoo together, but it'd be super helpful if I was simply
> notified in the event that a package I maintain has gotten a security
> bump, patch, or stabilization. Sure, 'git log' and 'git blame' can
> explain a few things, but if I was going to edit a package, I have the
> maintainer's e-mail available right there in metadata.xml. To me it's a
> courtesy that should be a requirement by default, while devs that don't
> care can use whatever means we agree upon to indicate that they don't care.
> 
> This creates a "contact first" practice, which it seems we want to
> encourage. If someone isn't responsive and/or away, that complicates
> things, but if it's a security concern or the last blocker in a big
> stabilization effort (looking at you, tcl 8.6...), then it makes sense
> to just go ahead and make the bumps necessary.

What about maintainers that are away without writing it in their
maintainer bug ?
After how many days of no replay can be fair to touch their package ?

> 
> -- 
> Daniel Campbell - Gentoo Developer
> OpenPGP Key: 0x1EA055D6 @ hkp://keys.gnupg.net
> fpr: AE03 9064 AE00 053C 270C  1DE4 6F7A 9091 1EA0 55D6
> 





signature.asc
Description: PGP signature