[gentoo-dev] Mentor

2023-11-22 Thread Aaron Bauman
Hi, all,

Recently, I retired due to lack of time for Gentoo [1]

I am able to dedicate more time now and the foreseeable future.

Anyone interested in mentoring me? :)

[1]: https://bugs.gentoo.org/show_bug.cgi?id=463162


Re: [gentoo-dev] You currently cannot smoothly upgrade a 4 months old Gentoo system

2021-11-03 Thread Aaron Bauman
On Wed, Nov 03, 2021 at 10:32:34PM +0100, Ulrich Mueller wrote:
> >>>>> On Wed, 03 Nov 2021, Aaron Bauman wrote:
> 
> > I love digging through old council logs to find "policy"
> 
> > Not sure why others don't feel the same way.
> 
> Patches for the devmanual are welcome. 

Is that where the policy belongs?

If so, shouldn't the council update it based on their decisions?

"patches are welcome" doesn't fit every scenario.

-Aaron



Re: [gentoo-dev] You currently cannot smoothly upgrade a 4 months old Gentoo system

2021-11-03 Thread Aaron Bauman
On Wed, Nov 03, 2021 at 05:34:16PM +0100, Ulrich Mueller wrote:
> > On Wed, 03 Nov 2021, Rich Freeman wrote:
> 
> > On Wed, Nov 3, 2021 at 11:03 AM Thomas Deutschmann  
> > wrote:
> >> 
> >> This is not about finding solution to upgrade the system (in this case
> >> it was enough to force PYTHON_TARGETS=python3_8 for portage). This is
> >> about raising awareness that Gentoo is a rolling distribution and that
> >> we guarantee users to be able to upgrade their system when they do world
> >> upgrades just once a year (remember: in my case the last world upgrade
> >> is just 4 months old!). If they cannot upgrade their system without
> >> manual intervention, we failed to do our job.
> 
> > Do we have this "guarantee" documented somewhere?  I thought I've
> > heard six months tossed around.  You say one year.  It seems
> > reasonable to have some sort of guideline like this and try to stick
> > with it, at least for @system.
> 
> We do. Summary of 2009-11-09 Council meeting:
>

I love digging through old council logs to find "policy"

Not sure why others don't feel the same way.

> | https://projects.gentoo.org/council/meeting-logs/20091109-summary.txt
> |
> | Upgrade path for old systems
> | 
> | Vote (unanimous): The ebuild tree must provide an upgrade path to a
> | stable system that hasn't been updated for one year.
> |
> | Action: leio will start a discussion on gentoo-dev on if and how to
> | support upgrading systems that are outdated more than a year.





Re: [gentoo-dev] [RFC] Removing separate "security supported" arch list

2021-10-21 Thread Aaron Bauman
On Thu, Oct 21, 2021 at 10:05:20AM +0200, Micha=C5=82 G=C3=B3rny wrote:
> Hello,
>=20
> Splitting from the discussion in [1] (moving more arhitectures to
> ~arch), I'd like to propose that we remove the "security supported"
> architecture list from [2] and instead level security support with
> the general architecture support in Gentoo, e.g. by having all
> architectures with stable profiles be "security supported".
>

I fully support this approach and have long advocated for it.

Overall, all stables arches should be security supported and if
they begin lagging behind they should be dropped to unstable.

I am sure there are some nuances, but this is a great start.

Let's do it!

-Aaron



[gentoo-dev] Package up for grab

2021-08-28 Thread Aaron Bauman
Hi, all.

The following package is up for grabs. It has 2 open bugs [1] [2].

I am no longer interested in maintaining packages within the Ruby
ecosystem.

-Aaron

[1]: https://bugs.gentoo.org/736414
[2]: https://bugs.gentoo.org/767343




Re: [gentoo-dev] News Item for uClibc-ng deprecation

2021-08-17 Thread Aaron Bauman
On Tue, Aug 17, 2021 at 01:27:45PM -0400, Mike Gilbert wrote:
> On Tue, Aug 17, 2021 at 7:40 AM Anthony G. Basile  wrote:
> >
> > Hi everyone,
> >
> > Can I get feedback on the following news item?  (BTW, thanks soap)
> >
> > Title: uClibc-ng retirement on 2023/01/01
> > Author: Anthony G. Basile 
> > Posted: 2021-08-15
> > Revision: 1
> > News-Item-Format: 2.0
> > Display-If-Profile: default/linux/uclibc/*
> >
> > uClibc-ng is mostly abandoned upstream, and since my RFC in Jan 2021,
> > noone has volunteered to step up maintenance or expressed interest in
> > the uClibc-ng profiles. With this announcement we last-rite the "uclibc"
> > profiles, which will be removed on 2023/01/01. For parties interested in
> > an alternative libc, consider moving to musl, which is supported.
> 
> 2023? That seems like a pretty long time to wait to remove something
> that isn't very well supported right now.

+1

While I have no involvement with uClibc-ng, it does seem awfully long
before removal.

-Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] [RFC] Decoupling stabilization from security bugs

2021-08-13 Thread Aaron Bauman
On Thu, Aug 12, 2021 at 01:17:32PM -0700, Matt Turner wrote:
> On Thu, Aug 12, 2021 at 5:53 AM Michał Górny  wrote:
> >



> To do that, I think we'd want to change what's required for the "clean
> up" step. Since today the "clean up" step is dropping the vulnerable
> package versions from the tree, it is dependent on
> non-security-supported architectures completing the stabilization bug.
> I think we'd like to break that dependence.
>

Yes, please. Thank you for bringing this up. This has been a hotly
debated item in the past with former security leads dictating that
"clean up" is not relevant to the security process, but it remained
codified in documentation that it needs to occur.

It is indeed important, as leaving vulnerable versions is the tree is not
good for anyone and impacts many other areas (e.g. promoting tree
cleanliness).

Further, as mgorny mentioned in a follow-up email to this, we need to
understand what is a "security supported" architecture. This has also
been an issue in the past with council intervention needed to declare
dropping specific arches to exp profiles and allowing security to drop
support and subsequently move bugs forward.

And to continue on my soap box, we have a small blurb on the security
page [1] which states what architectures are considered security supported.
This is less than ideal. We also generally state that stable arches are
supported and must be dealt with during the vulnerability process.

So, all in all, it is highly conflated IMHO and is *not* ideal for
anyone to have to determine that a particular arch is stable but not
security supported. 

As such, I advocate for any stable arch to be security supported by
default. If the arch lags or is dropped then it goes to unstable
(process TBD).


[1]: https://www.gentoo.org/support/security/vulnerability-treatment-policy.html

-Aaron


signature.asc
Description: PGP signature


[gentoo-dev] Re: [RFC] Decoupling stabilization from security bugs

2021-08-12 Thread Aaron Bauman
On Thu, Aug 12, 2021 at 02:53:33PM +0200, Michał Górny wrote:
> Hello, everyone.
> 
> TL;DR: I'd like to propose that stabilizations are done via blockers of
> security bugs instead of security bugs themselves, i.e. as any other
> stabilizations.
> 
> 
> Right now we're often performing security-related stabilizations via
> security bugs. This has a few problems, that are:
> 



> WDYT?

I welcome this change. Let's do it.

-Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] RFC: new category for container related packages, instead of app-emulation

2021-08-05 Thread Aaron Bauman
On Thu, Aug 05, 2021 at 02:44:40PM -0700, Georgy Yakovlev wrote:
> Hi,
> 
> We've been collecting more and more container related packages in
>  app-emulation/*
> 
> What do you think about finally moving those packages to separate category?
> 

This would be a more accurate categorization of the packages and I am in
favor of it.

-Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] [PATCH] 2021-07-09-systemd-tmpfiles: re-add news item

2021-07-14 Thread Aaron Bauman
On Wed, Jul 14, 2021 at 10:49:34AM +0200, Andreas K. Huettel wrote:
> > > 
> > > 1) either the severity assignment of this bug by the Security project as 
> > > B1 wrong (i.e. it should have been classified "harmless")

 

> Well, over the last year or so every 2-3 months the (uninformed) discussion 
> came up, "don't use openrc stages because you are automatically rooted". That 
> leaves a rather bad impression of Gentoo, independent of whether it is true 
> or not. If noone from sec team noticed the discussions...

Absolutely, that would leave a bad impression. Where were these
discussions taking place?

> 
> > > 2) or the entire classification of severity levels according to the 
> > > Security project pointless (i.e. you can't base any actions on them 
> > > because a mystery onion needs to be taken into account).
> > > 
> > 
> > I am not sure if this is sarcasm, but every bug must be considered
> > through the correct aperture. That is, based on your environment,
> > protections in place, defense in depth, and other buzzwords... hence the
> > onion analogy.
> 
> It's not sarcasm. The point of the classification is to give clear rules (why 
> else would you list, e.g., required response times on the vulnerability 
> treatment page (no matter how illusory they are)).
> 
> If you don't take all factors into account when *making* the classification, 
> then all gain you have from the classification is lost.
>

Let me explain differently. Gentoo has a vulnerability rating system
that is indepedent of any other system. This system is used to classify
bugs from a distro perspective and common usage of various applications.

However, one cannot consider all possible attack vectors, impacts, and
configuration scenarios being used by our users. So, it is not lost...
we just can't possibly account for all the things.

Yes, the response times are utter crap and as I mentioned the Gentoo
system needs to be overhauled/adapted.

-Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] [PATCH] 2021-07-09-systemd-tmpfiles: re-add news item

2021-07-13 Thread Aaron Bauman
On Wed, Jul 14, 2021 at 12:04:34AM +0200, Andreas K. Huettel wrote:
> 
> > The package was masked due to a miscommunication with the Gentoo 
> > Security project.
> > 
> > While it is true that the way opentmpfiles is currently implemented 
> > allows for certain races, from the security point of view, you always 
> > have to classify the vulnerability in context of your threat model 
> > because security depends on multiple layers (onion model).
> 
> 
> I would like to respectfully point out that this makes 
> 
> 1) either the severity assignment of this bug by the Security project as B1 
> wrong (i.e. it should have been classified "harmless")
>

The Gentoo model is not perfect and should be overhauled. However, it
works for most things and sometimes bugs fall between the cracks.

The package shouldn't have been masked either based on a bug that was
purposely ignored for many years simply because they want to disband the
package now and found a "security reason" to add to the mask.

> 2) or the entire classification of severity levels according to the Security 
> project pointless (i.e. you can't base any actions on them because a mystery 
> onion needs to be taken into account).
> 

I am not sure if this is sarcasm, but every bug must be considered
through the correct aperture. That is, based on your environment,
protections in place, defense in depth, and other buzzwords... hence the
onion analogy.

-Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] [RFC] Changes to EAPI ban workflow

2021-07-12 Thread Aaron Bauman
On Mon, Jul 12, 2021 at 04:59:06PM +0200, Michał Górny wrote:
> On Mon, 2021-07-12 at 09:33 -0400, Aaron Bauman wrote:
> > On Mon, Jul 12, 2021 at 11:38:18AM +0100, Marek Szuba wrote:
> > > On 2021-07-11 21:54, Michał Górny wrote:
> > > 
> > > > My gut feeling is that having this distinction is useful.  However, it
> > > > has been pointed out that we've probably never really had to use it
> > > > (i.e. use the "banned" argument to stop someone from using old EAPI)
> > > > and that the switch from "deprecated" to "banned" state did not really
> > > > affect porting away from old EAPI.
> > > 
> > > For the benefit of those not interested in sifting through the logs of
> > > Council meetings, here is a quick reiteration of my take on this:
> > > 
> > > 1. Maybe it's my professional bend speaking but it feels to me like we
> > > really should establish a clear, GLEP-documented EAPI life cycle with
> > > well-defined meaning of individual stages. I will work on preparing a
> > > suitable proposal;
> > > 
> > > 2. Until the above has introduced a (hopefully) better system, I am all 
> > > for
> > > removing step 2 because it makes the procedure less bureaucratic.
> > > 
> > > 
> > > On 2021-07-12 02:11, Aaron Bauman wrote:
> > > 
> > > > Just officially ban it, send out a message, and use the best judgement
> > > > when enforcing it (should it even need to be enforced).
> > > 
> > > And the point of establishing a policy doomed from start to be enforced
> > > weakly or not at all is? Other than making the Council look like we care
> > > more about theatrics than actual governance, that is.
> > > 
> > > -- 
> > > Marecki
> > > 
> > 
> > It is not theatrics. It is a policy that was effective in the past and
> > is used in lieu of a technical measure. Albeit, it is unlikely to be
> > enforced because most people abide by the deprecation warnings.
> > 
> 
> That's the whole point.  Do we need a two-step deprecation/ban if 'most'
> people abide by deprecation warnings?
> 
> I'm wondering if the two-step deprecation/ban isn't a symptom of a wider
> problem.  After all, we want people to stop using old EAPIs after
> they're deprecated, not after they're explicitly forbidden to use them.
> 
> Maybe the whole point is that we should stop trying to draw explicit
> lines everywhere and instead assume -- per common sense -- that
> deprecating is enough for people to eventually stop using them.
> 

As said, in lieu of that we have a fail safe.


signature.asc
Description: PGP signature


Re: [gentoo-dev] [RFC] Changes to EAPI ban workflow

2021-07-12 Thread Aaron Bauman
On Mon, Jul 12, 2021 at 04:21:02PM +0200, Thomas Deutschmann wrote:
> Hi,
> 
> it's not clear to me what will be the consequences of this change.
> 
> I am expecting good faith and that nobody will add an ebuild with deprecated
> EAPI just for fun or because maintainer prefers retro stuff.
> 
> So looking at the reasons to bump without touching EAPI:
> 
> a) Because of a changing dep/add slot operator
> 
> b) Because of a security vulnerability.
> 
> c) Other critical fixes which should reach users ASAP.
> 
> In addition, all of this could happen by non-primary maintainer of the
> package.
> 

Like a lot of policies and rules in Gentoo there are exceptions. This is
why we have various projects and teams that enforce said policies and
rules. Finally, we have escalation procedures with various independent
bodies to handle it should common sense prove to be an uncommon virtue.

We cannot legislate common sense.

So many people spending so much time to arrive at an imperfect policy, as
usual.

-Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] [RFC] Changes to EAPI ban workflow

2021-07-12 Thread Aaron Bauman
On Mon, Jul 12, 2021 at 11:38:18AM +0100, Marek Szuba wrote:
> On 2021-07-11 21:54, Michał Górny wrote:
> 
> > My gut feeling is that having this distinction is useful.  However, it
> > has been pointed out that we've probably never really had to use it
> > (i.e. use the "banned" argument to stop someone from using old EAPI)
> > and that the switch from "deprecated" to "banned" state did not really
> > affect porting away from old EAPI.
> 
> For the benefit of those not interested in sifting through the logs of
> Council meetings, here is a quick reiteration of my take on this:
> 
> 1. Maybe it's my professional bend speaking but it feels to me like we
> really should establish a clear, GLEP-documented EAPI life cycle with
> well-defined meaning of individual stages. I will work on preparing a
> suitable proposal;
> 
> 2. Until the above has introduced a (hopefully) better system, I am all for
> removing step 2 because it makes the procedure less bureaucratic.
> 
> 
> On 2021-07-12 02:11, Aaron Bauman wrote:
> 
> > Just officially ban it, send out a message, and use the best judgement
> > when enforcing it (should it even need to be enforced).
> 
> And the point of establishing a policy doomed from start to be enforced
> weakly or not at all is? Other than making the Council look like we care
> more about theatrics than actual governance, that is.
> 
> -- 
> Marecki
> 

It is not theatrics. It is a policy that was effective in the past and
is used in lieu of a technical measure. Albeit, it is unlikely to be
enforced because most people abide by the deprecation warnings.

-Aaron



signature.asc
Description: PGP signature


Re: [gentoo-dev] [RFC] Changes to EAPI ban workflow

2021-07-11 Thread Aaron Bauman
On Sun, Jul 11, 2021 at 10:54:45PM +0200, Michał Górny wrote:
> Hi, everyone.
> 
> The Council has eventually decided that the proposed agenda item
> changing the EAPI workflow has not received sufficient public
> discussion, so I'd like to restart it.
> 
> 
> 3. When all ebuilds are removed, the EAPI is added to eapis-banned
> and the tools now explicitly forbid adding ebuilds with that EAPI.
> 
> 
> The change proposed in [1] eliminates step 2.  The EAPI remains
> in 'deprecated' policy-state until all ebuilds using it are removed. 
> There is no distinction between 'weak' deprecation ("please don't use
> it") and 'strong' ban ("you mustn't use it unless you have a very good
> reason to").
> 

There seems to be a lot of time spent on whether to take 1 minute
to officialy ban an EAPI in a meeting. Plots are cool, but nothing
statistically significant is going to show given the small issues we had
in the past. The formality is simply to keep those small issues from
being a headache to other devs.

Just officially ban it, send out a message, and use the best judgement
when enforcing it (should it even need to be enforced).

-Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] dev-python/cryptography to use rust, effectively killing alpha, hppa, ia64, m68k, s390

2021-02-08 Thread Aaron Bauman
On Mon, Feb 08, 2021 at 10:02:43AM -0800, Alec Warner wrote:
> On Mon, Feb 8, 2021 at 9:56 AM Alessandro Barbieri
>  wrote:
> >
> > Il Lun 8 Feb 2021, 12:19 Michał Górny  ha scritto:
> >>



> >
> > Should we shed tears for those legacy architectures or move forward? Does 
> > anyone really use them in production?
> 
> Many users don't use gentoo in 'production' so I'm not sure how that
> matters in our decision making. I'm not sure the trade off here
> (taking rust as a core dep) is reasonable and it looks like we can
> avoid it.
>

Do we have anything to support this claim?

-Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] [News review v2] LibreSSL support discontinued

2021-01-04 Thread Aaron Bauman
On Mon, Jan 04, 2021 at 10:21:58AM +0100, Michał Górny wrote:
> v2, with additional 'emerge --deselect':
> ---
> Title: LibreSSL support discontinued
> Author: Michał Górny 
> Posted: 202x-xx-xx
> Revision: 1
> News-Item-Format: 2.0
> Display-If-Installed: dev-libs/libressl
> 
> Starting 2021-02-01, Gentoo will no longer actively pursue supporting

s/no longer actively pursue/discontinue

-Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] [RFC] Discontinuing LibreSSL support?

2020-12-29 Thread Aaron Bauman



On December 29, 2020 4:39:06 AM EST, "Michał Górny"  wrote:
>On Mon, 2020-12-28 at 23:18 +, Peter Stuge wrote:
>> Michał Górny wrote:
>> > > A. It is a distinct implementation with probably /quite some/
>> > > stable
>> > > compatibility, meaning that it will work perfectly fine as an
>> > > alternative in many cases.
>> > 
>> > Except that it doesn't, as has been proven numerous times.
>> 
>> I'm sure that there are numerous cases where libressl doesn't work,
>> but that's no reason to dismiss cases where it *does*.
>
>Are you asking people to put an effort into maintaining something that
>can't be practically installed?  'I don't use a single Qt application
>(yet!), so I demand you support LibreSSL for me!'
>

I don't see Peter demanding anything here. He has an opinion as a user and he 
has offered it. Just as others have offered theirs.

>A side effect of this approach is that users will be tricked into using
>LibreSSL, only to discover that they eventually have to transition
>their systems back.  We have been there with LibAV.  However, unlike
>LibAV, transition between SSL providers is non-trivial.
>

No one is tricking anyone into using LibreSSL.

>> Did anyone gather actual numbers?
>
>$ find -name '*libressl*.patch' | grep -v dev-libs/libressl | wc -l
>61
>
>That's just the tip of the iceberg.  Nobody's going to be able to even
>guess how many upstream have accepted *bad* patches.  How many packages
>are forcing obsolete algorithms because someone added '!libressl'
>conditions because LibreSSL keeps pretending to be a newer OpenSSL
>version without actually implementing its API.
>

That's quite an assumption to assume all of these patches are "bad."

>> > > B. It brings its own TLS API, a unique feature which by itself
>> > > warrants the package.
>> > 
>> > ...which by itself has no future
>> 
>> That's arrogant and silly coming from anywhere but upstream.
>> 
>> You can argue that you will never use the API in your TLS programs,
>> but even then that says really nothing about the API provider itself.
>
>That's my opinion and I have a right to have it without being insulted.
>

Yes, you do. Just as others have a right to theirs without being spoken to as 
you have done so here.

It is clear you have a problem with the LibreSSL implementation, but portraying 
that as a user being ignorant, demanding, or anythimg else is uncalled for to 
get your point across. 

Quit saying people are insulting you when you have clearly done so in the very 
same email response. 

>I don't dispute whether it's good.  I dispute whether tightly binding
>it to a problematic LibreSSL is a good idea.  Sure, this means that
>some people will be forced to use LibreSSL because of libtls.
>
>But in practice, this means that any upstream starting to use libtls
>does a huge disservice to their users by preventing them from using
>their preferred SSL provider.  So in the end, you either don't use
>libtls or your users are in pain.
>
>Actually, I see that someone has apparently forked libtls into libretls
>(the irony!) that works against OpenSSL [1].
>
>[1] https://git.causal.agency/libretls/about/

Anyway, +1 for LibreSSL removal.

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



[gentoo-dev] Last rites: dev-python/pytest-catchlog

2020-12-02 Thread Aaron Bauman
# Aaron Bauman  (2020-12-02)
# Deprecated. Functionality is native to dev-python/pytest now
# Removal in 14 days
dev-python/pytest-catchlog

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


[gentoo-dev] Last rites: net-analyzer/dosdetector

2020-11-30 Thread Aaron Bauman
# Aaron Bauman  (2020-11-30)
# EAPI=5. Multiple open bugs #603866 #713620
# Dead upstream. Removal in 30 days.
net-analyzer/dosdetector

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


[gentoo-dev] Debian Tools Project packages up for grabs

2020-11-09 Thread Aaron Bauman
Hi, all.

The following packages are up for grabs as the Debian Tools Project has
no active members. All packages have been dropped to maintainer-needed.

Enjoy.

app-crypt/libmd
dev-util/debhelper
net-misc/apt-cacher-ng

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] Deprecating AMD64 17.0 profiles?

2020-11-09 Thread Aaron Bauman



On November 9, 2020 6:54:33 AM EST, Peter Stuge  wrote:
>Andreas K. Hüttel wrote:
>> it's probably time to deprecate the amd64 17.0 profiles!
>
>I for one am not so excited about the amd64 17.1 profiles. On the
>surface
>it appeared to me that one developer has "taken over" just about
>everything,
>which (regardless of the individual) can't be a good thing..
>

What does this even mean?

>
>Jaco Kroon wrote:
>> ...just wondering where the lib32 => lib symlink comes from now.
>
>baselayout contains a conversion to/from lib symlink(s).
>
>
>Kind regards
>
>//Peter

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



Re: [gentoo-dev] A feedback about the CI bug reporting system

2020-11-06 Thread Aaron Bauman
On Fri, Nov 06, 2020 at 10:14:30AM +0100, Michał Górny wrote:
> On Fri, 2020-11-06 at 08:21 +0100, Agostino Sarubbo wrote:
> > Hello all,
> > 
> > 6 months have been passed after the CI system started to file bug reports.
> > ~ 4700 bugs have been submitted
> > 
> > We _know_ that atm is not possible to set a specific summary, instead a 
> > generic summary is used in case of compile failures and test failures.
> > There are also some documented limitations.
> 
> I do disagree with your presumption that this needs to be automated.
> The whole point behind providing a service is that you should be ready
> to dedicate *your* time into the service.  However, we keep feeling that
> you assume that your time is too precious, and it is better to waste
> a little bit of everybody else's time.  This is why Toralf's effort is
> much more appreciated.
>

ACK. This is the same level of coordination the security team received
when a multitude of bugs were filed once ago discovered fuzzing. It was
lots of bugs, little information, inabilities to reproduce various
crashes, invalid ratings/severity levels, and often a blog that
simply regurgitated the same inaccuracies. Any attempt to ask/coordinate
was met with lack of information or simply "see my blog" responses.

The only time interaction occured was when bugs were closed due to
invalidity, lack of information, or severity/ratings downgraded.

All this to say, I concur his actions seem to show that he believes his
time is more precious than others and that "numbers matter" when it
comes to opening bugs and CVE's.

> To summarize, what your tinderboxing effort lacks is really a human
> touch.  You seem to have set the goal to file as many bugs as possible
> automatically.  I disagree with that, as I would like this effort to
> focus on helping developers, not pursuing them.  This requires a human
> touch, not a machine lord.
>

This right here.

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] A feedback about the CI bug reporting system

2020-11-06 Thread Aaron Bauman
On Fri, Nov 06, 2020 at 09:39:35AM +0100, Agostino Sarubbo wrote:
> On venerdì 6 novembre 2020 09:18:50 CET Joonas Niilola wrote:
> > Would it be possible for "someone" to figure it out, if you made your
> > tinderbox scripts/code public? ;) Hate to say it, but toralf does pretty
> > good job here, so it could be better.
> 
> As stated multiple times, toralf said that the way he's filing bugs expect a 
> copy-paste action for the summary, this is not possible if you want to do 
> that 
> in a more automatic way.
>

Is this coming from the same individual who would complain when security
bugs were not filled out properly in the summary? So, take a dose of
your own medicine here. People prefer usable reports that allow them to
solve problems.

> 
> > Yes, I do find your tinderbox work useful most of the time. Thanks!
> > However the latest, ehh, show with DISTUTILS_USE_SETUPTOOLS has made
> > people do *hundreds* of commits that now apparently need a fixing
> > anyway, or reverting back, and that doesn't feel nice. Sure maybe the
> > eclass could do some fixing too, but maybe this notice wasn't meant to
> > be full-tree scanned (at least _yet_).
> 
> This class of bugs comes from a request. Months ago I also asked if I had 
> report these bugs during the stabilization and I got a positive feedback.
> 

Where was this positive feedback? As you stated on #gentoo-dev today you don't
really participate in the ML... so, I presume the positive feedback came
on IRC. Most of us don't scan those logs to "prove" such things. Keep it
on the ML and people will have record.

> 
> > From my point of view your work is, and has been, appreciated, but you
> > could coordinate better with other people. Hate to say it again, but
> > toralf does seems to do a better job here too in that regard. Unless
> > you're fine with comparing tinderboxers.
> > With toralf's logs it's easy to reproduce the whole environment leading
> > to a build failure, while with yours it's just build.log, thay may or
> > may not be enough to find the build-breaking issue.
> 
> This is something already discussed (maybe privately?) and clearly state by 
> me.
> If you say that with my logs you are unable to reproduce the issue, since I'm 
> providing emerge --info and build log, you are saying that those info are not 
> enough.
> So, I'd suggest to fix this issue upstream by clearly defining what is needed 
> in a bug report, because AFAIK atm for a bug report is needed a build log and 
> emerge --info
> 

+1 to coordinate with others. Keep it here on the ML.

This shouldn't be "ago v toralf"... it should be about the impact of
your automation efforts on the rest of the community. Right now, it
looks like that is mostly negative given the ML feedback.

Frankly, if this is anything like your security efforts (re: fuzzing)
then I can understand the concerns people have expressed.

Please, stop with the "automate everything, open many bugs, and move on"
philosophy. It didn't work well in security and it won't work here.
Build a quality solution that makes an impact for the distro.

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


[gentoo-dev] Last rites: net-wireless/gr-*

2020-09-22 Thread Aaron Bauman
# Aaron Bauman  (2020-09-22)
# Fails to build with new Python or at all.
# QA issues (byte compiling etc). All live ebuilds.
# Removal in 14 days
net-wireless/gr-baz
net-wireless/gr-doa
net-wireless/gr-foo
net-wireless/gr-ntsc
net-wireless/gr-ntsc-rc
net-wireless/gr-ppm-wiegand
net-wireless/gr-rftap
net-wireless/gr-specest

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


[gentoo-dev] Last rites: dev-embedded/ftdi_eeprom

2020-08-29 Thread Aaron Bauman
# Aaron Bauman  (2020-08-29)
# EAPI=4, use dev-embedded/libftd[tools] instead
# Removal in 30 days
dev-embedded/ftdi_eeprom

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


[gentoo-dev] Last rites: app-cdr/pburn

2020-08-29 Thread Aaron Bauman
# Aaron Bauman  (2020-08-29)
# EAPI=4, latest release 4.3.19 in 2019.
# Unmaintained. Removal in 30 days.
app-cdr/pburn

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


[gentoo-dev] Last rites: app-admin/passook

2020-08-29 Thread Aaron Bauman
# Aaron Bauman  (2020-08-29)
# EAPI=4, simple script, relies on hardcoded
# /usr/dict/words for generation. Removal in 30 days.
app-admin/passook

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


[gentoo-dev] Last rites: net-mail/maildirtree

2020-08-28 Thread Aaron Bauman
# Aaron Bauman  (2020-08-28)
# EAPI=4 and fails to compile
# Dead upstream. Removal in 30 days
net-mail/maildirtree

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


[gentoo-portage-dev] [PATCH] lib/*: Fix useless-return

2020-08-07 Thread Aaron Bauman
* Python implies such things. Let's drop 'em and be consistent.

Signed-off-by: Aaron Bauman 
---
 lib/_emerge/EbuildPhase.py | 6 +++---
 lib/_emerge/resolver/output.py | 5 +
 lib/portage/elog/mod_custom.py | 1 +
 lib/portage/elog/mod_echo.py   | 4 ++--
 lib/portage/elog/mod_mail.py   | 2 ++
 lib/portage/glsa.py| 3 +++
 lib/portage/mail.py| 1 +
 lib/portage/sync/controller.py | 3 ++-
 lib/portage/util/whirlpool.py  | 2 ++
 pylintrc   | 1 -
 10 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/lib/_emerge/EbuildPhase.py b/lib/_emerge/EbuildPhase.py
index ceffeccee..e6256d0aa 100644
--- a/lib/_emerge/EbuildPhase.py
+++ b/lib/_emerge/EbuildPhase.py
@@ -9,12 +9,11 @@ import tempfile
 
 from _emerge.AsynchronousLock import AsynchronousLock
 from _emerge.BinpkgEnvExtractor import BinpkgEnvExtractor
-from _emerge.CompositeTask import CompositeTask
-from _emerge.EbuildProcess import EbuildProcess
 from _emerge.MiscFunctionsProcess import MiscFunctionsProcess
+from _emerge.EbuildProcess import EbuildProcess
+from _emerge.CompositeTask import CompositeTask
 from _emerge.PackagePhase import PackagePhase
 from _emerge.TaskSequence import TaskSequence
-
 from portage.package.ebuild._ipc.QueryCommand import QueryCommand
 from portage.util._dyn_libs.soname_deps_qa import (
_get_all_provides,
@@ -397,6 +396,7 @@ class EbuildPhase(CompositeTask):
fd_pipes=self.fd_pipes, phase=phase, 
scheduler=self.scheduler,
settings=self.settings)
self._start_task(clean_phase, self._fail_clean_exit)
+   return
 
def _fail_clean_exit(self, clean_phase):
self._final_exit(clean_phase)
diff --git a/lib/_emerge/resolver/output.py b/lib/_emerge/resolver/output.py
index b6c77ecad..1dcb47020 100644
--- a/lib/_emerge/resolver/output.py
+++ b/lib/_emerge/resolver/output.py
@@ -243,6 +243,7 @@ class Display:
cur_use_map[key], old_iuse_map[key],
old_use_map[key], is_new, feature_flags,
reinst_flags_map.get(key))
+   return
 
 
@staticmethod
@@ -538,6 +539,7 @@ class Display:
if show_repos and repoadd:
myprint += " " + teal("[%s]" % repoadd)
writemsg_stdout("%s\n" % (myprint,), noiselevel=-1)
+   return
 
 
def print_blockers(self):
@@ -546,6 +548,7 @@ class Display:
"""
for pkg in self.blockers:
writemsg_stdout("%s\n" % (pkg,), noiselevel=-1)
+   return
 
 
def print_verbose(self, show_repos):
@@ -559,6 +562,7 @@ class Display:
# that RepoDisplay.__unicode__() is called in python2.
writemsg_stdout("%s" % (self.conf.repo_display,),
noiselevel=-1)
+   return
 
 
def print_changelog(self):
@@ -683,6 +687,7 @@ class Display:
if ebuild_path_cl is not None:
self.changelogs.extend(_calc_changelog(
ebuild_path_cl, pkg_info.previous_pkg, 
pkg.cpv))
+   return
 
 
def check_system_world(self, pkg):
diff --git a/lib/portage/elog/mod_custom.py b/lib/portage/elog/mod_custom.py
index aaf1d3b1b..7cfafeccc 100644
--- a/lib/portage/elog/mod_custom.py
+++ b/lib/portage/elog/mod_custom.py
@@ -18,3 +18,4 @@ def process(mysettings, key, logentries, fulltext):
retval = portage.process.spawn_bash(mylogcmd)
if retval != 0:
raise portage.exception.PortageException("!!! 
PORTAGE_ELOG_COMMAND failed with exitcode %d" % retval)
+   return
diff --git a/lib/portage/elog/mod_echo.py b/lib/portage/elog/mod_echo.py
index a026847b7..80f2b11ac 100644
--- a/lib/portage/elog/mod_echo.py
+++ b/lib/portage/elog/mod_echo.py
@@ -3,10 +3,9 @@
 # Distributed under the terms of the GNU General Public License v2
 
 import sys
-
+from portage.output import EOutput, colorize
 from portage.const import EBUILD_PHASES
 from portage.localization import _
-from portage.output import EOutput, colorize
 
 
 _items = []
@@ -62,3 +61,4 @@ def _finalize():
for line in msgcontent:
fmap[msgtype](line.strip("\n"))
_items = []
+   return
diff --git a/lib/portage/elog/mod_mail.py b/lib/portage/elog/mod_mail.py
index f737a80ce..38eaa277f 100644
--- a/lib/portage/elog/mod_mail.py
+++ b/lib/portage/elog/mod_mail.py
@@ -41,3 +41,5 @@ def process(mysettings, key, logentries, fulltext):
portage.mail.send_mail(mysettings, mymessage)
except PortageException as e:
writemsg("%s\n

Re: [gentoo-portage-dev] [PATCH] lib/*: Fix useless-return

2020-08-07 Thread Aaron Bauman
On Fri, Aug 07, 2020 at 12:28:04PM -0400, Aaron Bauman wrote:
> * Python implies such things. Let's drop 'em and be consistent.
> 
> Signed-off-by: Aaron Bauman 
> ---
>  "\\"   | 20 
>  lib/_emerge/EbuildPhase.py |  6 +++---
>  lib/_emerge/resolver/output.py |  5 -
>  lib/portage/elog/mod_custom.py |  1 -
>  lib/portage/elog/mod_echo.py   |  4 ++--
>  lib/portage/elog/mod_mail.py   |  2 --
>  lib/portage/glsa.py|  3 ---
>  lib/portage/mail.py|  1 -
>  lib/portage/sync/controller.py |  3 +--
>  lib/portage/util/whirlpool.py  |  2 --
>  pylintrc   |  1 +
>  11 files changed, 27 insertions(+), 21 deletions(-)
>  create mode 100644 "\\"
> 
> diff --git "a/\\" "b/\\"
> new file mode 100644
> index 0..aaf1d3b1b
> --- /dev/null
> +++ "b/\\"
> @@ -0,0 +1,20 @@
> +# elog/mod_custom.py - elog dispatch module
> +# Copyright 2006-2020 Gentoo Authors
> +# Distributed under the terms of the GNU General Public License v2
> +
> +import portage.elog.mod_save
> +import portage.exception
> +import portage.process
> +
> +def process(mysettings, key, logentries, fulltext):
> + elogfilename = portage.elog.mod_save.process(mysettings, key, 
> logentries, fulltext)
> +
>  if not isinstance(source, bytes):
> @@ -777,7 +776,6 @@ def processBuffer(ctx):

[snip]

Please disregard. Sending new patch.

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


[gentoo-portage-dev] [PATCH] lib/*: Fix useless-return

2020-08-07 Thread Aaron Bauman
* Python implies such things. Let's drop 'em and be consistent.

Signed-off-by: Aaron Bauman 
---
 "\\"   | 20 
 lib/_emerge/EbuildPhase.py |  6 +++---
 lib/_emerge/resolver/output.py |  5 -
 lib/portage/elog/mod_custom.py |  1 -
 lib/portage/elog/mod_echo.py   |  4 ++--
 lib/portage/elog/mod_mail.py   |  2 --
 lib/portage/glsa.py|  3 ---
 lib/portage/mail.py|  1 -
 lib/portage/sync/controller.py |  3 +--
 lib/portage/util/whirlpool.py  |  2 --
 pylintrc   |  1 +
 11 files changed, 27 insertions(+), 21 deletions(-)
 create mode 100644 "\\"

diff --git "a/\\" "b/\\"
new file mode 100644
index 0..aaf1d3b1b
--- /dev/null
+++ "b/\\"
@@ -0,0 +1,20 @@
+# elog/mod_custom.py - elog dispatch module
+# Copyright 2006-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+import portage.elog.mod_save
+import portage.exception
+import portage.process
+
+def process(mysettings, key, logentries, fulltext):
+   elogfilename = portage.elog.mod_save.process(mysettings, key, 
logentries, fulltext)
+
+   if not mysettings.get("PORTAGE_ELOG_COMMAND"):
+   raise portage.exception.MissingParameter("!!! Custom logging 
requested but PORTAGE_ELOG_COMMAND is not defined")
+   else:
+   mylogcmd = mysettings["PORTAGE_ELOG_COMMAND"]
+   mylogcmd = mylogcmd.replace("${LOGFILE}", elogfilename)
+   mylogcmd = mylogcmd.replace("${PACKAGE}", key)
+   retval = portage.process.spawn_bash(mylogcmd)
+   if retval != 0:
+   raise portage.exception.PortageException("!!! 
PORTAGE_ELOG_COMMAND failed with exitcode %d" % retval)
diff --git a/lib/_emerge/EbuildPhase.py b/lib/_emerge/EbuildPhase.py
index e6256d0aa..ceffeccee 100644
--- a/lib/_emerge/EbuildPhase.py
+++ b/lib/_emerge/EbuildPhase.py
@@ -9,11 +9,12 @@ import tempfile
 
 from _emerge.AsynchronousLock import AsynchronousLock
 from _emerge.BinpkgEnvExtractor import BinpkgEnvExtractor
-from _emerge.MiscFunctionsProcess import MiscFunctionsProcess
-from _emerge.EbuildProcess import EbuildProcess
 from _emerge.CompositeTask import CompositeTask
+from _emerge.EbuildProcess import EbuildProcess
+from _emerge.MiscFunctionsProcess import MiscFunctionsProcess
 from _emerge.PackagePhase import PackagePhase
 from _emerge.TaskSequence import TaskSequence
+
 from portage.package.ebuild._ipc.QueryCommand import QueryCommand
 from portage.util._dyn_libs.soname_deps_qa import (
_get_all_provides,
@@ -396,7 +397,6 @@ class EbuildPhase(CompositeTask):
fd_pipes=self.fd_pipes, phase=phase, 
scheduler=self.scheduler,
settings=self.settings)
self._start_task(clean_phase, self._fail_clean_exit)
-   return
 
def _fail_clean_exit(self, clean_phase):
self._final_exit(clean_phase)
diff --git a/lib/_emerge/resolver/output.py b/lib/_emerge/resolver/output.py
index 1dcb47020..b6c77ecad 100644
--- a/lib/_emerge/resolver/output.py
+++ b/lib/_emerge/resolver/output.py
@@ -243,7 +243,6 @@ class Display:
cur_use_map[key], old_iuse_map[key],
old_use_map[key], is_new, feature_flags,
reinst_flags_map.get(key))
-   return
 
 
@staticmethod
@@ -539,7 +538,6 @@ class Display:
if show_repos and repoadd:
myprint += " " + teal("[%s]" % repoadd)
writemsg_stdout("%s\n" % (myprint,), noiselevel=-1)
-   return
 
 
def print_blockers(self):
@@ -548,7 +546,6 @@ class Display:
"""
for pkg in self.blockers:
writemsg_stdout("%s\n" % (pkg,), noiselevel=-1)
-   return
 
 
def print_verbose(self, show_repos):
@@ -562,7 +559,6 @@ class Display:
# that RepoDisplay.__unicode__() is called in python2.
writemsg_stdout("%s" % (self.conf.repo_display,),
noiselevel=-1)
-   return
 
 
def print_changelog(self):
@@ -687,7 +683,6 @@ class Display:
if ebuild_path_cl is not None:
self.changelogs.extend(_calc_changelog(
ebuild_path_cl, pkg_info.previous_pkg, 
pkg.cpv))
-   return
 
 
def check_system_world(self, pkg):
diff --git a/lib/portage/elog/mod_custom.py b/lib/portage/elog/mod_custom.py
index 7cfafeccc..aaf1d3b1b 100644
--- a/lib/portage/elog/mod_custom.py
+++ b/lib/portage/elog/mod_custom.py
@@ -18,4 +18,3 @@ 

[gentoo-portage-dev] [PATCH] *: drop all import __future__ statements

2020-08-06 Thread Aaron Bauman
* We only support Py3 now.

Signed-off-by: Aaron Bauman 
---
 bin/archive-conf  |  4 +--
 bin/check-implicit-pointer-usage.py   |  2 --
 bin/clean_locks   |  4 +--
 bin/dispatch-conf |  4 +--
 bin/dohtml.py |  4 +--
 bin/doins.py  |  2 --
 bin/ebuild|  4 +--
 bin/egencache |  4 +--
 bin/emaint|  4 +--
 bin/emerge|  4 +--
 bin/env-update|  4 +--
 bin/fixpackages   |  4 +--
 bin/glsa-check|  4 +--
 bin/portageq  |  4 +--
 bin/quickpkg  |  4 +--
 bin/regenworld|  4 +--
 lib/_emerge/Scheduler.py  |  2 --
 lib/_emerge/UserQuery.py  |  2 --
 lib/_emerge/actions.py|  2 --
 lib/_emerge/chk_updated_cfg_files.py  |  2 --
 lib/_emerge/countdown.py  |  4 +--
 lib/_emerge/depgraph.py   |  2 --
 lib/_emerge/help.py   |  4 +--
 lib/_emerge/main.py   |  2 --
 lib/_emerge/post_emerge.py|  4 +--
 lib/_emerge/resolver/circular_dependency.py   |  8 +++---
 lib/_emerge/resolver/package_tracker.py   |  4 +--
 lib/_emerge/resolver/slot_collision.py|  3 +--
 lib/_emerge/unmerge.py|  2 --
 lib/portage/_emirrordist/FetchTask.py |  2 --
 lib/portage/_global_updates.py|  4 +--
 lib/portage/_sets/__init__.py |  2 --
 lib/portage/_sets/dbapi.py|  2 --
 lib/portage/_sets/libs.py |  4 +--
 lib/portage/cache/anydbm.py   |  5 ++--
 lib/portage/cache/sqlite.py   |  3 +--
 lib/portage/cvstree.py|  2 --
 lib/portage/dbapi/vartree.py  |  2 --
 lib/portage/dispatch_conf.py  |  5 +---
 lib/portage/elog/mod_echo.py  |  4 +--
 lib/portage/emaint/main.py|  4 +--
 lib/portage/glsa.py   | 27 +--
 lib/portage/localization.py   |  4 +--
 lib/portage/metadata.py   |  2 --
 lib/portage/module.py |  5 +---
 lib/portage/news.py   |  2 --
 lib/portage/output.py |  2 --
 lib/portage/package/ebuild/fetch.py   |  2 --
 lib/portage/sync/controller.py|  3 ---
 lib/portage/sync/old_tree_timestamp.py|  4 +--
 lib/portage/tests/__init__.py |  4 +--
 lib/portage/tests/util/test_xattr.py  |  4 +--
 .../util/_dyn_libs/display_preserved_libs.py  |  6 ++---
 lib/portage/util/_eventloop/EventLoop.py  |  5 +---
 .../util/_eventloop/PollSelectAdapter.py  |  5 ++--
 lib/portage/util/_xattr.py|  4 +--
 lib/portage/util/locale.py|  4 +--
 lib/portage/util/movefile.py  |  2 --
 repoman/bin/repoman   |  5 ++--
 repoman/lib/repoman/actions.py|  4 +--
 repoman/lib/repoman/errors.py |  2 --
 repoman/lib/repoman/gpg.py|  2 --
 repoman/lib/repoman/main.py   |  5 ++--
 repoman/lib/repoman/metadata.py   |  2 --
 .../lib/repoman/modules/commit/repochecks.py  |  2 --
 .../lib/repoman/modules/scan/ebuild/ebuild.py |  3 +--
 repoman/lib/repoman/modules/vcs/settings.py   |  3 +--
 repoman/lib/repoman/modules/vcs/vcs.py|  3 +--
 repoman/lib/repoman/profile.py|  2 --
 repoman/lib/repoman/scanner.py|  6 ++---
 repoman/lib/repoman/tests/__init__.py |  4 +--
 repoman/lib/repoman/utilities.py  |  4 +--
 repoman/runtests  |  4 +--
 repoman/setup.py  |  4 +--
 runtests  |  4 +--
 setup.py  |  2 --
 76 files changed, 74 insertions(+), 212 deletions(-)

diff --git a/bin/archive-conf b/bin/archive-conf
index 8341ffe73..bfc54a629 100755
--- a/bin/archive-conf
+++ b/bin/archive-conf
@@ -1,5 +1,5 @@
 #!/usr/bin/python -b
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 #
@@ -9,8 +9,6 @@
 #  Jeremy Wohl's dispatch-conf script and the portage chkcontents script.
 #
 
-from __future__ import print_function
-
 import sys
 
 from os import path as osp
diff --git a/bin/check-implicit-pointer-usage.py 
b/bin/check-implicit-pointer-usage.py
index 868e4b3c8..3914e038d 100755

[gentoo-portage-dev] [PATCH] lib/*: exempt two core files from ungrouped-imports check

2020-08-06 Thread Aaron Bauman
* These will take some time to refactor/address if at all possible.
* Turn on ungrouped-imports check for entire repo

Signed-off-by: Aaron Bauman 
---
 lib/portage/__init__.py |  1 +
 lib/portage/checksum.py | 15 ---
 pylintrc|  1 +
 3 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/lib/portage/__init__.py b/lib/portage/__init__.py
index 73bb1ed0d..916c93510 100644
--- a/lib/portage/__init__.py
+++ b/lib/portage/__init__.py
@@ -1,5 +1,6 @@
 # Copyright 1998-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
+# pylint: disable=ungrouped-imports
 
 VERSION = "HEAD"
 
diff --git a/lib/portage/checksum.py b/lib/portage/checksum.py
index d4a75c058..b5dae9672 100644
--- a/lib/portage/checksum.py
+++ b/lib/portage/checksum.py
@@ -1,20 +1,21 @@
 # checksum.py -- core Portage functionality
 # Copyright 1998-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
+# pylint: disable=ungrouped-imports
 
-import portage
-from portage.const import PRELINK_BINARY, HASHING_BLOCKSIZE
-from portage.localization import _
-from portage import os
-from portage import _encodings
-from portage import _unicode_decode, _unicode_encode
 import errno
 import functools
 import hashlib
+import portage
 import stat
 import subprocess
 import tempfile
 
+from portage import _encodings, _unicode_decode, _unicode_encode
+from portage import os
+from portage.const import HASHING_BLOCKSIZE, PRELINK_BINARY
+from portage.localization import _
+
 
 # Summary of all available hashes and their implementations,
 # most preferred first. Please keep this in sync with logic below.
@@ -32,7 +33,7 @@ import tempfile
 # SHA3_512: hashlib (3.6+), pysha3, pycrypto
 
 
-#dict of all available hash functions
+# Dict of all available hash functions
 hashfunc_map = {}
 hashorigin_map = {}
 
diff --git a/pylintrc b/pylintrc
index 9b0975329..f2aadf14f 100644
--- a/pylintrc
+++ b/pylintrc
@@ -28,6 +28,7 @@ enable=
 trailing-newlines,
 trailing-whitespace,
 unexpected-line-ending-format,
+ungrouped-imports,
 unnecessary-semicolon,
 unused-import,
 useless-import-alias,
-- 
2.28.0




[gentoo-portage-dev] [PATCH] lib/portage/xml/metadata.py: fix ungrouped-imports w/refactor

2020-08-06 Thread Aaron Bauman
* This drops the import for cElementTree as it is deprecated. See:

https://docs.python.org/3/library/xml.etree.elementtree.html

* Drop the error checking as these modules are a part of stdlib.

* Additionally, the pyexpat issue was fixed in 3.2. See:

https://bugs.python.org/issue14988

Signed-off-by: Aaron Bauman 
---
 lib/portage/xml/metadata.py | 29 -
 1 file changed, 8 insertions(+), 21 deletions(-)

diff --git a/lib/portage/xml/metadata.py b/lib/portage/xml/metadata.py
index 646edb5b9..808ba2246 100644
--- a/lib/portage/xml/metadata.py
+++ b/lib/portage/xml/metadata.py
@@ -31,29 +31,16 @@
 __all__ = ('MetaDataXML', 'parse_metadata_use')
 
 
-try:
-   import xml.etree.cElementTree as etree
-except (SystemExit, KeyboardInterrupt):
-   raise
-except (ImportError, SystemError, RuntimeError, Exception):
-   # broken or missing xml support
-   # https://bugs.python.org/issue14988
-   import xml.etree.ElementTree as etree
-
-try:
-   from xml.parsers.expat import ExpatError
-except (SystemExit, KeyboardInterrupt):
-   raise
-except (ImportError, SystemError, RuntimeError, Exception):
-   ExpatError = SyntaxError
-
 import re
-import xml.etree.ElementTree
+import xml.etree.ElementTree as etree
+
+from xml.parsers.expat import ExpatError
+
 from portage import _encodings, _unicode_encode
 from portage.util import cmp_sort_key, unique_everseen
 
 
-class _MetadataTreeBuilder(xml.etree.ElementTree.TreeBuilder):
+class _MetadataTreeBuilder(etree.TreeBuilder):
"""
Implements doctype() as required to avoid deprecation warnings with
Python >=2.7.
@@ -198,8 +185,8 @@ class MetaDataXML:
 
try:
self._xml_tree = 
etree.parse(_unicode_encode(metadata_xml_path,
-   encoding=_encodings['fs'], errors='strict'),
-   
parser=etree.XMLParser(target=_MetadataTreeBuilder()))
+   encoding = _encodings['fs'], errors='strict'),
+   parser = 
etree.XMLParser(target=_MetadataTreeBuilder()))
except ImportError:
pass
except ExpatError as e:
@@ -238,7 +225,7 @@ class MetaDataXML:
try:
self._herdstree = 
etree.parse(_unicode_encode(self._herds_path,
encoding=_encodings['fs'], 
errors='strict'),
-   
parser=etree.XMLParser(target=_MetadataTreeBuilder()))
+   parser = 
etree.XMLParser(target=_MetadataTreeBuilder()))
except (ImportError, IOError, SyntaxError):
return None
 
-- 
2.28.0




[gentoo-portage-dev] [PATCH] lib/*: Fix ungrouped-imports

2020-08-06 Thread Aaron Bauman
* This fixes ungrouped imports for a portion of the repo. The remaining
  fixes will come in another batch of atomic commits as the imports are
  buried behind conditionals, are __futures__ that may be able to go
  away, etc

* Per the above, check will not be enabled yet

Signed-off-by: Aaron Bauman 
---
 lib/_emerge/FakeVartree.py  |  7 +++---
 lib/_emerge/FifoIpcDaemon.py|  2 +-
 lib/_emerge/MetadataRegen.py|  6 +++--
 lib/portage/emaint/modules/move/move.py |  6 +++--
 lib/portage/metadata.py | 16 +++--
 lib/portage/sync/modules/rsync/rsync.py | 31 +
 lib/portage/util/_async/BuildLogger.py  |  4 ++--
 7 files changed, 40 insertions(+), 32 deletions(-)

diff --git a/lib/_emerge/FakeVartree.py b/lib/_emerge/FakeVartree.py
index 37349bcdd..fa6c17beb 100644
--- a/lib/_emerge/FakeVartree.py
+++ b/lib/_emerge/FakeVartree.py
@@ -1,12 +1,14 @@
 # Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
+import portage
 import warnings
 
-import portage
-from portage import os
 from _emerge.Package import Package
 from _emerge.PackageVirtualDbapi import PackageVirtualDbapi
+from _emerge.resolver.DbapiProvidesIndex import PackageDbapiProvidesIndex
+
+from portage import os
 from portage.const import VDB_PATH
 from portage.dbapi.vartree import vartree
 from portage.dep._slot_operator import find_built_slot_operator_atoms
@@ -14,7 +16,6 @@ from portage.eapi import _get_eapi_attrs
 from portage.exception import InvalidData, InvalidDependString
 from portage.update import grab_updates, parse_updates, update_dbentries
 from portage.versions import _pkg_str
-from _emerge.resolver.DbapiProvidesIndex import PackageDbapiProvidesIndex
 
 
 class FakeVardbGetPath:
diff --git a/lib/_emerge/FifoIpcDaemon.py b/lib/_emerge/FifoIpcDaemon.py
index a21e94db6..22aa6f9fc 100644
--- a/lib/_emerge/FifoIpcDaemon.py
+++ b/lib/_emerge/FifoIpcDaemon.py
@@ -1,9 +1,9 @@
 # Copyright 2010-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
+from _emerge.AbstractPollTask import AbstractPollTask
 
 from portage import os
-from _emerge.AbstractPollTask import AbstractPollTask
 from portage.cache.mappings import slot_dict_class
 
 class FifoIpcDaemon(AbstractPollTask):
diff --git a/lib/_emerge/MetadataRegen.py b/lib/_emerge/MetadataRegen.py
index 8eb110a46..dc3ef7e57 100644
--- a/lib/_emerge/MetadataRegen.py
+++ b/lib/_emerge/MetadataRegen.py
@@ -2,10 +2,12 @@
 # Distributed under the terms of the GNU General Public License v2
 
 import portage
-from portage import os
-from portage.dep import _repo_separator
+
 from _emerge.EbuildMetadataPhase import EbuildMetadataPhase
+
+from portage import os
 from portage.cache.cache_errors import CacheError
+from portage.dep import _repo_separator
 from portage.util._async.AsyncScheduler import AsyncScheduler
 
 class MetadataRegen(AsyncScheduler):
diff --git a/lib/portage/emaint/modules/move/move.py 
b/lib/portage/emaint/modules/move/move.py
index e2df53fd8..4d1bb0df1 100644
--- a/lib/portage/emaint/modules/move/move.py
+++ b/lib/portage/emaint/modules/move/move.py
@@ -1,10 +1,12 @@
-# Copyright 2005-2018 Gentoo Foundation
+# Copyright 2005-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 import portage
+
+from _emerge.Package import Package
+
 from portage import os
 from portage.exception import InvalidData
-from _emerge.Package import Package
 from portage.versions import _pkg_str
 
 class MoveHandler:
diff --git a/lib/portage/metadata.py b/lib/portage/metadata.py
index 935bcc307..f932c094a 100644
--- a/lib/portage/metadata.py
+++ b/lib/portage/metadata.py
@@ -1,19 +1,21 @@
+# Copyright 1998-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
 
-import sys
-import signal
 import logging
 import operator
-
 import portage
-from portage import os
+import sys
+import signal
+
+from _emerge.ProgressHandler import ProgressHandler
+
 from portage import eapi_is_supported
-from portage.util import writemsg_level
+from portage import os
 from portage.cache.cache_errors import CacheError
-from _emerge.ProgressHandler import ProgressHandler
 from portage.eclass_cache import hashed_path
-
+from portage.util import writemsg_level
 
 def action_metadata(settings, portdb, myopts, porttrees=None):
if porttrees is None:
diff --git a/lib/portage/sync/modules/rsync/rsync.py 
b/lib/portage/sync/modules/rsync/rsync.py
index cf574208d..50d086a60 100644
--- a/lib/portage/sync/modules/rsync/rsync.py
+++ b/lib/portage/sync/modules/rsync/rsync.py
@@ -1,31 +1,32 @@
 # Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-import sys
-import logging
-import time
-import signal
-import socket
 import datetime
 import io
-import re
+import logging
+import portage
 import random
+import re

Re: [gentoo-dev] News item: Multiple root kernel command-line arguments

2020-08-06 Thread Aaron Bauman
On Thu, Aug 06, 2020 at 05:59:14PM +0200, Thomas Deutschmann wrote:
> On 2020-08-06 17:44, Michał Górny wrote:
> > I'm not sure if you've noticed but there are people actively working
> > towards removing stale news items and trying not to dump everything
> > on once on a user freshly installing the system.  Don't you consider
> > this a worthwhile goal?
> 
> I don't see how this is conflicting.
> 
> This news item can probably go away after 1-2 years.
> 
> But for now, people who were just lucky will probably trigger this when
> upgrading to genkernel-4.1 on their first reboot due to switched device
> manager.
> 
> But again: It's not a genkernel issue, so displaying that only for
> people who have genkernel installed would miss a bunch of users.
> 

Wait, changes were made to genkernel to switch from mdev to (e)udev
which causes breakage, but it is *not* an issue with genkernel?

Aside from this, do we have any evidence or bugs validating that users
experience breakage with randomly named boot devices in kexec?

It is great that you found an issue, but why try and be agnostic as to
which one caused the issue? It looks worse that we cannot simply say:

"genkernel changed for the better and things *may* break now... please
read this!"

Instead, we are pushing a news item to a lot of people simply because we
*assume* it may be an issue for others with no evidence.

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


[gentoo-portage-dev] [PATCH] lib/*: fix superfluous-parens and enable check

2020-08-05 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/_emerge/actions.py   | 14 +++---
 lib/_emerge/resolver/slot_collision.py   |  4 ++--
 lib/_emerge/stdout_spinner.py|  2 +-
 lib/_emerge/unmerge.py   |  4 ++--
 lib/portage/_sets/dbapi.py   |  6 +++---
 lib/portage/cache/template.py|  2 +-
 lib/portage/dep/__init__.py  | 10 +-
 lib/portage/dep/dep_check.py |  2 +-
 lib/portage/getbinpkg.py |  6 +++---
 lib/portage/glsa.py  |  2 +-
 lib/portage/localization.py  |  2 +-
 lib/portage/locks.py |  2 +-
 lib/portage/manifest.py  |  2 +-
 lib/portage/news.py  |  4 ++--
 lib/portage/package/ebuild/config.py |  2 +-
 lib/portage/process.py   |  6 +++---
 lib/portage/sync/controller.py   |  4 ++--
 lib/portage/sync/modules/rsync/rsync.py  |  8 
 lib/portage/tests/resolver/ResolverPlayground.py |  2 +-
 lib/portage/util/__init__.py |  4 ++--
 lib/portage/util/env_update.py   |  2 +-
 lib/portage/xpak.py  | 10 +-
 pylintrc |  1 +
 23 files changed, 51 insertions(+), 50 deletions(-)

diff --git a/lib/_emerge/actions.py b/lib/_emerge/actions.py
index 43e9de43a..7d2d9b315 100644
--- a/lib/_emerge/actions.py
+++ b/lib/_emerge/actions.py
@@ -333,7 +333,7 @@ def action_build(emerge_config, trees=DeprecationWarning,
 
return 1
else:
-   if ("--resume" in myopts):
+   if "--resume" in myopts:
print(darkgreen("emerge: It seems we have nothing to 
resume..."))
return os.EX_OK
 
@@ -450,7 +450,7 @@ def action_build(emerge_config, trees=DeprecationWarning,
myopts.pop("--ask", None)
 
if ("--pretend" in myopts) and not ("--fetchonly" in myopts or 
"--fetch-all-uri" in myopts):
-   if ("--resume" in myopts):
+   if "--resume" in myopts:
mymergelist = mydepgraph.altlist()
if len(mymergelist) == 0:
print(colorize("INFORM", "emerge: It seems we 
have nothing to resume..."))
@@ -522,7 +522,7 @@ def action_build(emerge_config, trees=DeprecationWarning,
level=logging.ERROR, 
noiselevel=-1)
return 1
 
-   if ("--resume" in myopts):
+   if "--resume" in myopts:
favorites=mtimedb["resume"]["favorites"]
 
else:
@@ -2319,7 +2319,7 @@ def adjust_config(myopts, settings):
settings.backup_changes("PORTAGE_VERBOSE")
 
# Set so that configs will be merged regardless of remembered status
-   if ("--noconfmem" in myopts):
+   if "--noconfmem" in myopts:
settings["NOCONFMEM"]="1"
settings.backup_changes("NOCONFMEM")
 
@@ -2424,7 +2424,7 @@ def getportageversion(portdir, _unused, profile, chost, 
vardb):
if profilever is None:
try:
profilever = "!" + os.readlink(profile)
-   except (OSError):
+   except OSError:
pass
 
if profilever is None:
@@ -3057,7 +3057,7 @@ def run_action(emerge_config):
level=logging.ERROR, noiselevel=-1)
return 1
 
-   if ("--quiet" in emerge_config.opts):
+   if "--quiet" in emerge_config.opts:
spinner.update = spinner.update_quiet
portage.util.noiselimit = -1
 
@@ -3085,7 +3085,7 @@ def run_action(emerge_config):
if "python-trace" in 
emerge_config.target_config.settings.features:
portage.debug.set_trace(True)
 
-   if not ("--quiet" in emerge_config.opts):
+   if not "--quiet" in emerge_config.opts:
if '--nospinner' in emerge_config.opts or \
emerge_config.target_config.settings.get('TERM') == 
'dumb' or \
not sys.stdout.isatty():
diff --git a/lib/_emerge/resolver/slot_collision.py 
b/lib/_emerge/resolver/slot_collision.py
index 7536ce7a2..df3816717 100644
--- a/lib/_emerge/resolver/slot_collision.py
+++ b/lib/_emerge/resolver

[gentoo-portage-dev] [PATCH 5/6] tabcheck.py: fix multiple-imports

2020-08-05 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 tabcheck.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tabcheck.py b/tabcheck.py
index a28ad93d9..1df26785d 100755
--- a/tabcheck.py
+++ b/tabcheck.py
@@ -1,6 +1,7 @@
 #!/usr/bin/python -b
 
-import tabnanny,sys
+import sys
+import tabnanny
 
 for x in sys.argv:
tabnanny.check(x)
-- 
2.28.0




[gentoo-portage-dev] [PATCH 6/6] pylintrc: enable multiple-imports check

2020-08-05 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 pylintrc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pylintrc b/pylintrc
index b7091516c..5f4ec3278 100644
--- a/pylintrc
+++ b/pylintrc
@@ -19,6 +19,7 @@ enable=
 misplaced-future,
 missing-final-newline,
 mixed-line-endings,
+multiple-imports,
 redefined-builtin,
 reimported,
 relative-beyond-top-level,
-- 
2.28.0




[gentoo-portage-dev] [PATCH 2/6] lib/portage/elog/mod_custom.py: fix multiple-imports

2020-08-05 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/elog/mod_custom.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/portage/elog/mod_custom.py b/lib/portage/elog/mod_custom.py
index 836bdad62..7cfafeccc 100644
--- a/lib/portage/elog/mod_custom.py
+++ b/lib/portage/elog/mod_custom.py
@@ -2,7 +2,9 @@
 # Copyright 2006-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-import portage.elog.mod_save, portage.process, portage.exception
+import portage.elog.mod_save
+import portage.exception
+import portage.process
 
 def process(mysettings, key, logentries, fulltext):
elogfilename = portage.elog.mod_save.process(mysettings, key, 
logentries, fulltext)
-- 
2.28.0




[gentoo-portage-dev] [PATCH 4/6] lib/portage/dep/__init__.py: fix multiple-imports

2020-08-05 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/dep/__init__.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/portage/dep/__init__.py b/lib/portage/dep/__init__.py
index 50266a21b..c0ed2dd3c 100644
--- a/lib/portage/dep/__init__.py
+++ b/lib/portage/dep/__init__.py
@@ -13,8 +13,10 @@ __all__ = [
'_repo_separator', '_slot_separator',
 ]
 
-import re, sys
+import re
+import sys
 import warnings
+
 from functools import lru_cache
 
 import portage
-- 
2.28.0




[gentoo-portage-dev] [PATCH 3/6] lib/portage/tests/runTests.py: fix multiple-imports

2020-08-05 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/tests/runTests.py | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/portage/tests/runTests.py b/lib/portage/tests/runTests.py
index d4d1f7c76..9514abebe 100755
--- a/lib/portage/tests/runTests.py
+++ b/lib/portage/tests/runTests.py
@@ -1,14 +1,15 @@
 #!/usr/bin/python -bWd
 # runTests.py -- Portage Unit Test Functionality
-# Copyright 2006-2014 Gentoo Foundation
+# Copyright 2006-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-import os, sys
-import os.path as osp
 import grp
+import os
+import os.path as osp
 import platform
 import pwd
 import signal
+import sys
 
 def debug_signal(signum, frame):
import pdb
-- 
2.28.0




[gentoo-portage-dev] [PATCH 1/6] lib/portage/elog/mod_mail.py: fix multiple-imports

2020-08-05 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/elog/mod_mail.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/portage/elog/mod_mail.py b/lib/portage/elog/mod_mail.py
index 4edf507eb..38eaa277f 100644
--- a/lib/portage/elog/mod_mail.py
+++ b/lib/portage/elog/mod_mail.py
@@ -2,7 +2,9 @@
 # Copyright 2006-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-import portage.mail, socket
+import portage.mail
+import socket
+
 from portage.exception import PortageException
 from portage.localization import _
 from portage.util import writemsg
-- 
2.28.0




[gentoo-portage-dev] [PATCH] lib/portage/repository/config.py: fix trailing-comma-tuple

2020-08-04 Thread Aaron Bauman
* This fixes the one instance of trailing-comma-tuple in the repo
* A tuple does need created, but lets do so inside of parentheses as
  expected

Suggested-By: Sam James 
Suggested-By: Zac Medico 
Signed-off-by: Aaron Bauman 
---
 lib/portage/repository/config.py | 2 +-
 pylintrc | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/portage/repository/config.py b/lib/portage/repository/config.py
index 0f3e582f8..f7c956dd8 100644
--- a/lib/portage/repository/config.py
+++ b/lib/portage/repository/config.py
@@ -871,7 +871,7 @@ class RepoConfigLoader:
continue
if repo.masters is None:
if self.mainRepo() and repo_name != 
self.mainRepo().name:
-   repo.masters = self.mainRepo(),
+   repo.masters = (self.mainRepo(),)
else:
repo.masters = ()
else:
diff --git a/pylintrc b/pylintrc
index 337311daa..5e13f714c 100644
--- a/pylintrc
+++ b/pylintrc
@@ -21,7 +21,8 @@ enable=
 redefined-builtin,
 reimported,
 relative-beyond-top-level,
-trailing-newlines,
+trailing-comma-tuple,
+   trailing-newlines,
 trailing-whitespace,
 unexpected-line-ending-format,
 unnecessary-semicolon,
-- 
2.28.0




Re: [gentoo-portage-dev] [PATCH 1/2] lib/portage/repository/config.py: fix trailing comma

2020-08-04 Thread Aaron Bauman
On Tue, Aug 04, 2020 at 09:43:03PM -0400, Aaron Bauman wrote:
> * This fixes the one instance of a trailing comma in the repo which
>   actually causes a tuple to be created.
> 
> Signed-off-by: Aaron Bauman 
> ---
>  lib/portage/repository/config.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/portage/repository/config.py 
> b/lib/portage/repository/config.py
> index 0f3e582f8..f4dd834b5 100644
> --- a/lib/portage/repository/config.py
> +++ b/lib/portage/repository/config.py
> @@ -871,7 +871,7 @@ class RepoConfigLoader:
>   continue
>   if repo.masters is None:
>   if self.mainRepo() and repo_name != 
> self.mainRepo().name:
> - repo.masters = self.mainRepo(),
> + repo.masters = self.mainRepo()
>   else:
>   repo.masters = ()
>   else:
> -- 
> 2.28.0
> 
> 

Please disregard this patch series.

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


[gentoo-portage-dev] [PATCH 2/2] pylintrc: turn on trailing commas check

2020-08-04 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 pylintrc | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/pylintrc b/pylintrc
index 337311daa..d651cd1ee 100644
--- a/pylintrc
+++ b/pylintrc
@@ -13,15 +13,16 @@
 
#disable=no-absolute-import,bad-continuation,C0103,C0114,C0115,E1101,W0201,no-name-in-module
 disable=all
 enable=
-cyclic-import,
+   cyclic-import,
 import-self,
 misplaced-future,
 missing-final-newline,
 mixed-line-endings,
-redefined-builtin,
+   redefined-builtin,
 reimported,
 relative-beyond-top-level,
-trailing-newlines,
+   trailing-comma-tuple,
+   trailing-newlines,
 trailing-whitespace,
 unexpected-line-ending-format,
 unnecessary-semicolon,
-- 
2.28.0




[gentoo-portage-dev] [PATCH 1/2] lib/portage/repository/config.py: fix trailing comma

2020-08-04 Thread Aaron Bauman
* This fixes the one instance of a trailing comma in the repo which
  actually causes a tuple to be created.

Signed-off-by: Aaron Bauman 
---
 lib/portage/repository/config.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/portage/repository/config.py b/lib/portage/repository/config.py
index 0f3e582f8..f4dd834b5 100644
--- a/lib/portage/repository/config.py
+++ b/lib/portage/repository/config.py
@@ -871,7 +871,7 @@ class RepoConfigLoader:
continue
if repo.masters is None:
if self.mainRepo() and repo_name != 
self.mainRepo().name:
-   repo.masters = self.mainRepo(),
+   repo.masters = self.mainRepo()
else:
repo.masters = ()
else:
-- 
2.28.0




[gentoo-portage-dev] [PATCH] DEVELOPING: Update minimum python version

2020-08-04 Thread Aaron Bauman
* Other style/readability fixes

Signed-off-by: Aaron Bauman 
---
 DEVELOPING | 18 +++---
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/DEVELOPING b/DEVELOPING
index 31b559402..7bc559125 100644
--- a/DEVELOPING
+++ b/DEVELOPING
@@ -1,17 +1,15 @@
 Code Guidelines
 ---
+
 A few code guidelines to try to stick to, please comment if none of
 these make sense, they are pretty basic and mostly apply to old code.
-However for people who are looking at current code, they make take up
+However for people who are looking at current code, they may take up
 bad habits that exist in the current codebase.
 
 Python Version
 --
 
-Python 2.7 is the minimum supported version as it eases 3.x compatibility.
-All exception handling should use Python 3 'except' syntax, and the print
-function should be used instead of Python 2's print statement (use "from
-__future__ import print_function" everywhere).
+Python 3.6 is the minimum supported version.
 
 Dependencies
 
@@ -30,7 +28,7 @@ width.
 Line-Wrapping
 -
 
-Lines should typically not be longer than 80 characters; if they are an
+Lines should typically not be longer than 80 characters; if they are, an
 attempt should be made to wrap them.  Move code to the line below and
 indent once (\t).
 
@@ -47,7 +45,7 @@ errors.append(MalformedMetadata(
   attr='DESCRIPTION.toolong')
 
 The mixing of tabs and spaces means other developers can't read what you
-did. This is why the python peps state spaces over tabs; because with
+did. This is why the Python PEPs state spaces over tabs; because with
 spaces the line wrapping is always clear (but you cannot convert spaces
 as easily as tabwidth).
 
@@ -189,12 +187,18 @@ at 72.  Prefix the message with the component you touched 
if this makes
 sense.  Postfix the message with the bug it fixes, if it does.
 
 Feel free to use the following notes (if applicable):
+
 Signed-off-by: Wrote (a substantial portion of) the patch
+
 Reviewed-by: Reviewed the patch thoroughly
+
 Tested-by:  Tested the patch thoroughly
+
 Acked-by: Approved the concept but did not read the patch in detail
 (typically used by the maintainer of a specific portion, or a lead)
+
 Suggested-by: Designed the implementation
+
 Requested-by: Reported the bug/made the feature request
 
 Example:
-- 
2.28.0




[gentoo-portage-dev] [PATCH] pylintrc: add more module checks

2020-08-04 Thread Aaron Bauman
* Repo is already clear... so let's turn these on

Signed-off-by: Aaron Bauman 
---
 pylintrc | 25 -
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/pylintrc b/pylintrc
index ad32f70d7..cd76d38dd 100644
--- a/pylintrc
+++ b/pylintrc
@@ -13,16 +13,23 @@
 
#disable=no-absolute-import,bad-continuation,C0103,C0114,C0115,E1101,W0201,no-name-in-module
 disable=all
 enable=
-   missing-final-newline,
-   mixed-line-endings,
-   redefined-builtin,
-   reimported,
+cyclic-import,
+import-error,
+   import-self,
+misplaced-future,
+missing-final-newline,
+mixed-line-endings,
+redefined-builtin,
+reimported,
+relative-beyond-top-level,
trailing-newlines,
-   trailing-whitespace,
-   unexpected-line-ending-format,
-   unnecessary-semicolon,
-   unused-import,
-   useless-object-inheritance
+trailing-whitespace,
+unexpected-line-ending-format,
+unnecessary-semicolon,
+unused-import,
+useless-import-alias,
+useless-object-inheritance,
+wildcard-import
 
 # A comma-separated list of package or module names from where C extensions may
 # be loaded. Extensions are loading into the active Python interpreter and may
-- 
2.28.0




[gentoo-portage-dev] [PATCH 2/4] lib/portage/dbapi/vartree.py: fix reimported

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/dbapi/vartree.py | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lib/portage/dbapi/vartree.py b/lib/portage/dbapi/vartree.py
index fcf164e82..fbf455363 100644
--- a/lib/portage/dbapi/vartree.py
+++ b/lib/portage/dbapi/vartree.py
@@ -1619,7 +1619,6 @@ class dblink:
At present this is implemented as a text backend in /var/db/pkg.
"""
 
-   import re
_normalize_needed = re.compile(r'//|^[^/]|./$|(^|/)\.\.?(/|$)')
 
_contents_re = re.compile(r'^(' + \
-- 
2.28.0




[gentoo-portage-dev] [PATCH 1/4] pylintrc: turn on checks for reimported modules

2020-08-03 Thread Aaron Bauman
* also, really fix the enable module structure

Signed-off-by: Aaron Bauman 
---
 pylintrc | 20 +++-
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/pylintrc b/pylintrc
index 690941715..ad32f70d7 100644
--- a/pylintrc
+++ b/pylintrc
@@ -12,15 +12,17 @@
 # --disable=W".
 
#disable=no-absolute-import,bad-continuation,C0103,C0114,C0115,E1101,W0201,no-name-in-module
 disable=all
-enable=missing-final-newline,
-   mixed-line-endings,
-   redefined-builtin,
-   trailing-newlines,
-   trailing-whitespace,
-   unexpected-line-ending-format,
-   unnecessary-semicolon,
-   unused-import,
-   useless-object-inheritance
+enable=
+   missing-final-newline,
+   mixed-line-endings,
+   redefined-builtin,
+   reimported,
+   trailing-newlines,
+   trailing-whitespace,
+   unexpected-line-ending-format,
+   unnecessary-semicolon,
+   unused-import,
+   useless-object-inheritance
 
 # A comma-separated list of package or module names from where C extensions may
 # be loaded. Extensions are loading into the active Python interpreter and may
-- 
2.28.0




[gentoo-portage-dev] [PATCH 3/4] lib/_emerge/search.py: fix reimported

2020-08-03 Thread Aaron Bauman
* The bold module is imported twice. Once as 'bold' and again as 'white.
  Remove the duplication and fix the one reference to 'white'

Signed-off-by: Aaron Bauman 
---
 lib/_emerge/search.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/_emerge/search.py b/lib/_emerge/search.py
index a4ad74311..a59191c1a 100644
--- a/lib/_emerge/search.py
+++ b/lib/_emerge/search.py
@@ -9,7 +9,7 @@ from portage.dbapi.porttree import _parse_uri_map
 from portage.dbapi.IndexedPortdb import IndexedPortdb
 from portage.dbapi.IndexedVardb import IndexedVardb
 from portage.localization import localized_size
-from portage.output import  bold, bold as white, darkgreen, green, red
+from portage.output import bold, darkgreen, green, red
 from portage.util import writemsg_stdout
 from portage.util.iterators.MultiIterGroupBy import MultiIterGroupBy
 
@@ -413,7 +413,7 @@ class search:
 
if masked:
msg.append(green("*") + "  " + \
-   white(match) + " " + 
red("[ Masked ]") + "\n")
+   bold(match) + " " + 
red("[ Masked ]") + "\n")
else:
msg.append(green("*") + "  " + 
bold(match) + "\n")
myversion = 
self.getVersion(full_package, search.VERSION_RELEASE)
-- 
2.28.0




[gentoo-portage-dev] [PATCH 4/4] lib/portage/util/socks5.py: fix reimport

2020-08-03 Thread Aaron Bauman
* This drops the internal class import of the asyncio module. It is not
  available in all supported Python versions.

Suggested-by: Zac Medico 
Signed-off-by: Aaron Bauman 
---
 lib/portage/util/socks5.py | 7 +--
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/lib/portage/util/socks5.py b/lib/portage/util/socks5.py
index c0657ae2a..65d2400e8 100644
--- a/lib/portage/util/socks5.py
+++ b/lib/portage/util/socks5.py
@@ -1,5 +1,5 @@
 # SOCKSv5 proxy manager for network-sandbox
-# Copyright 2015-2019 Gentoo Authors
+# Copyright 2015-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 import errno
@@ -14,7 +14,6 @@ from portage.process import atexit_register, spawn
 from portage.util.futures.compat_coroutine import coroutine
 from portage.util.futures import asyncio
 
-
 class ProxyManager:
"""
A class to start and control a single running SOCKSv5 server process
@@ -33,10 +32,6 @@ class ProxyManager:
paths)
@type settings: portage.config
"""
-   try:
-   import asyncio  # NOQA
-   except ImportError:
-   raise NotImplementedError('SOCKSv5 proxy requires 
asyncio module')
 
tmpdir = os.path.join(settings['PORTAGE_TMPDIR'], 'portage')
ensure_dirs_kwargs = {}
-- 
2.28.0




[gentoo-portage-dev] [PATCH 2/4] lib/portage/emaint/modules/merges/merges.py: fix unnecessary-semicolon

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/emaint/modules/merges/merges.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/portage/emaint/modules/merges/merges.py 
b/lib/portage/emaint/modules/merges/merges.py
index a2b70edb8..775dc59d2 100644
--- a/lib/portage/emaint/modules/merges/merges.py
+++ b/lib/portage/emaint/modules/merges/merges.py
@@ -1,4 +1,4 @@
-# Copyright 2005-2014 Gentoo Foundation
+# Copyright 2005-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 import portage
@@ -93,7 +93,7 @@ class MergesHandler:
def __init__(self):
"""Create MergesHandler object."""
eroot = portage.settings['EROOT']
-   tracking_path = os.path.join(eroot, PRIVATE_PATH, 
'failed-merges');
+   tracking_path = os.path.join(eroot, PRIVATE_PATH, 
'failed-merges')
self._tracking_file = TrackingFile(tracking_path)
self._vardb_path = os.path.join(eroot, VDB_PATH)
 
-- 
2.28.0




[gentoo-portage-dev] [PATCH 1/4] lib/portage/output.py: fix unnecessary-semicolon

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/output.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/portage/output.py b/lib/portage/output.py
index ab99caf98..098285a52 100644
--- a/lib/portage/output.py
+++ b/lib/portage/output.py
@@ -231,7 +231,7 @@ def _parse_color_map(config_root='/', onerror=None):
raise
 
 def nc_len(mystr):
-   tmp = re.sub(esc_seq + "^m]+m", "", mystr);
+   tmp = re.sub(esc_seq + "^m]+m", "", mystr)
return len(tmp)
 
 _legal_terms_re = 
re.compile(r'^(xterm|xterm-color|Eterm|aterm|rxvt|screen|kterm|rxvt-unicode|gnome|interix|tmux|st-256color|alacritty|konsole)')
-- 
2.28.0




[gentoo-portage-dev] [PATCH 3/4] lib/portage/util/env_update.py: fix unnecessary-semicolon

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/util/env_update.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/portage/util/env_update.py b/lib/portage/util/env_update.py
index 9c6fe3cdd..7a2ee2551 100644
--- a/lib/portage/util/env_update.py
+++ b/lib/portage/util/env_update.py
@@ -213,7 +213,7 @@ def _env_update(makelinks, target_root, prev_mtimes, 
contents, env,
newprelink.write("# contents of /etc/env.d directory\n")
 
for x in sorted(potential_lib_dirs) + ['bin', 'sbin']:
-   newprelink.write('-l /%s\n' % (x,));
+   newprelink.write('-l /%s\n' % (x,))
prelink_paths = set()
prelink_paths |= set(specials.get('LDPATH', []))
prelink_paths |= set(specials.get('PATH', []))
-- 
2.28.0




[gentoo-portage-dev] [PATCH 4/4] pylintrc: enable more checks

2020-08-03 Thread Aaron Bauman
* These checks are already passing... so let's enable them so we do not
  have regressions
* Sort the checks alphabetically and break into more manageable
  structure
* Display all warnings/errors from pylint by enabling all messages as
  all listed checks are now passing. This will allow folks to run
  'pylint' without having to modify the pylintrc.

Signed-off-by: Aaron Bauman 
---
 pylintrc | 12 ++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/pylintrc b/pylintrc
index 7fd05f322..1f6867d21 100644
--- a/pylintrc
+++ b/pylintrc
@@ -12,7 +12,15 @@
 # --disable=W".
 
#disable=no-absolute-import,bad-continuation,C0103,C0114,C0115,E1101,W0201,no-name-in-module
 disable=all
-enable=redefined-builtin,useless-object-inheritance,trailing-newlines,unused-import,trailing-whitespace
+enable=missing-final-newline,
+   mixed-line-endings,
+   redefined-builtin,
+   trailing-newlines,
+   trailing-whitespace,
+   unexpected-line-ending-format,
+   unnecessary-semicolon,
+   useless-object-inheritance,
+   unused-import
 
 # A comma-separated list of package or module names from where C extensions may
 # be loaded. Extensions are loading into the active Python interpreter and may
@@ -51,7 +59,7 @@ unsafe-load-any-extension=no
 
 # Only show warnings with the listed confidence levels. Leave empty to show
 # all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED.
-confidence=HIGH
+confidence=
 
 [REPORTS]
 
-- 
2.28.0




[gentoo-portage-dev] [PATCH 68/68] pylintrc: turn on trailing-whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 pylintrc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pylintrc b/pylintrc
index 6f0eef386..7fd05f322 100644
--- a/pylintrc
+++ b/pylintrc
@@ -12,7 +12,7 @@
 # --disable=W".
 
#disable=no-absolute-import,bad-continuation,C0103,C0114,C0115,E1101,W0201,no-name-in-module
 disable=all
-enable=redefined-builtin,useless-object-inheritance,trailing-newlines,unused-import
+enable=redefined-builtin,useless-object-inheritance,trailing-newlines,unused-import,trailing-whitespace
 
 # A comma-separated list of package or module names from where C extensions may
 # be loaded. Extensions are loading into the active Python interpreter and may
-- 
2.28.0




[gentoo-portage-dev] [PATCH 67/68] lib/portage/cache/fs_template.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/cache/fs_template.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/portage/cache/fs_template.py b/lib/portage/cache/fs_template.py
index 64050f439..37aac7e42 100644
--- a/lib/portage/cache/fs_template.py
+++ b/lib/portage/cache/fs_template.py
@@ -15,7 +15,7 @@ del lazyimport
 
 
 class FsBased(template.database):
-   """template wrapping fs needed options, and providing _ensure_access as 
a way to 
+   """template wrapping fs needed options, and providing _ensure_access as 
a way to
attempt to ensure files have the specified owners/perms"""
 
def __init__(self, *args, **config):
-- 
2.28.0




[gentoo-portage-dev] [PATCH 62/68] lib/portage/tests/resolver/test_old_dep_chain_display.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/tests/resolver/test_old_dep_chain_display.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/portage/tests/resolver/test_old_dep_chain_display.py 
b/lib/portage/tests/resolver/test_old_dep_chain_display.py
index 8aedf5999..7ab21e8e9 100644
--- a/lib/portage/tests/resolver/test_old_dep_chain_display.py
+++ b/lib/portage/tests/resolver/test_old_dep_chain_display.py
@@ -1,4 +1,4 @@
-# Copyright 2010-2011 Gentoo Foundation
+# Copyright 2010-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 from portage.tests import TestCase
@@ -8,8 +8,8 @@ class OldDepChainDisplayTestCase(TestCase):
 
def testOldDepChainDisplay(self):
ebuilds = {
-   "dev-libs/A-1": { "DEPEND": "foo? ( dev-libs/B[-bar] 
)", "IUSE": "+foo", "EAPI": "2" }, 
-   "dev-libs/A-2": { "DEPEND": "foo? ( dev-libs/C )", 
"IUSE": "+foo", "EAPI": "1" }, 
+   "dev-libs/A-1": { "DEPEND": "foo? ( dev-libs/B[-bar] 
)", "IUSE": "+foo", "EAPI": "2" },
+   "dev-libs/A-2": { "DEPEND": "foo? ( dev-libs/C )", 
"IUSE": "+foo", "EAPI": "1" },
"dev-libs/B-1": { "IUSE": "bar", "DEPEND": "!bar? ( 
dev-libs/D[-baz] )", "EAPI": "2" },
"dev-libs/C-1": { "KEYWORDS": "~x86" },
"dev-libs/D-1": { "IUSE": "+baz", "EAPI": "1" },
-- 
2.28.0




[gentoo-portage-dev] [PATCH 64/68] lib/_emerge/search.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/_emerge/search.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/_emerge/search.py b/lib/_emerge/search.py
index 000c427e0..a4ad74311 100644
--- a/lib/_emerge/search.py
+++ b/lib/_emerge/search.py
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 import difflib
@@ -333,7 +333,7 @@ class search:
match_string = setname
else:
match_string = setname.split("/")[-1]
-   
+
if self.searchre.search(match_string):
yield ("set", setname)
elif self.searchdesc:
-- 
2.28.0




[gentoo-portage-dev] [PATCH 60/68] lib/_emerge/BinpkgEnvExtractor.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/_emerge/BinpkgEnvExtractor.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/_emerge/BinpkgEnvExtractor.py 
b/lib/_emerge/BinpkgEnvExtractor.py
index 5ba14955d..b19586e83 100644
--- a/lib/_emerge/BinpkgEnvExtractor.py
+++ b/lib/_emerge/BinpkgEnvExtractor.py
@@ -1,4 +1,4 @@
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 import errno
@@ -36,7 +36,7 @@ class BinpkgEnvExtractor(CompositeTask):
extractor_proc = SpawnProcess(
args=[BASH_BINARY, "-c", shell_cmd],
background=self.background,
-   env=self.settings.environ(), 
+   env=self.settings.environ(),
scheduler=self.scheduler,
logfile=self.settings.get('PORTAGE_LOG_FILE'))
 
-- 
2.28.0




[gentoo-portage-dev] [PATCH 49/68] lib/portage/tests/xpak/test_decodeint.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/tests/xpak/test_decodeint.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/portage/tests/xpak/test_decodeint.py 
b/lib/portage/tests/xpak/test_decodeint.py
index 2da573598..5eb82410c 100644
--- a/lib/portage/tests/xpak/test_decodeint.py
+++ b/lib/portage/tests/xpak/test_decodeint.py
@@ -1,5 +1,5 @@
 # xpak/test_decodeint.py
-# Copright Gentoo Foundation 2006
+# Copyright 2006-2020 Gentoo Authors
 # Portage Unit Testing Functionality
 
 from portage.tests import TestCase
@@ -8,7 +8,7 @@ from portage.xpak import decodeint, encodeint
 class testDecodeIntTestCase(TestCase):
 
def testDecodeInt(self):
-   
+
for n in range(1000):
self.assertEqual(decodeint(encodeint(n)), n)
 
-- 
2.28.0




[gentoo-portage-dev] [PATCH 54/68] lib/portage/tests/ebuild/test_config.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/tests/ebuild/test_config.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/portage/tests/ebuild/test_config.py 
b/lib/portage/tests/ebuild/test_config.py
index 60f3ecab4..a48f1329f 100644
--- a/lib/portage/tests/ebuild/test_config.py
+++ b/lib/portage/tests/ebuild/test_config.py
@@ -1,4 +1,4 @@
-# Copyright 2010-2015 Gentoo Foundation
+# Copyright 2010-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 import io
@@ -85,7 +85,7 @@ class ConfigTestCase(TestCase):
"package.license":
(
"dev-libs/* TEST",
-   "dev-libs/A -TEST2", 
+   "dev-libs/A -TEST2",
"=dev-libs/A-2 TEST3 @TEST",
"*/* @EULA TEST2",
"=dev-libs/C-1 *",
-- 
2.28.0




[gentoo-portage-dev] [PATCH 65/68] lib/portage/cache/mappings.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/cache/mappings.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/portage/cache/mappings.py b/lib/portage/cache/mappings.py
index 5933981b9..93764e5b8 100644
--- a/lib/portage/cache/mappings.py
+++ b/lib/portage/cache/mappings.py
@@ -1,4 +1,4 @@
-# Copyright: 2005-2019 Gentoo Authors
+# Copyright: 2005-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 # Author(s): Brian Harring (ferri...@gentoo.org)
 
@@ -212,7 +212,7 @@ class ProtectedDict(MutableMapping):
self.blacklist[key] = True
return
raise KeyError(key)
-   
+
 
def __iter__(self):
for k in self.new:
-- 
2.28.0




[gentoo-portage-dev] [PATCH 50/68] lib/portage/_sets/shell.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/_sets/shell.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/portage/_sets/shell.py b/lib/portage/_sets/shell.py
index 2c95845c8..8bea9fd63 100644
--- a/lib/portage/_sets/shell.py
+++ b/lib/portage/_sets/shell.py
@@ -1,4 +1,4 @@
-# Copyright 2007 Gentoo Foundation
+# Copyright 2007-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 import subprocess
@@ -30,7 +30,7 @@ class CommandOutputSet(PackageSet):
super(CommandOutputSet, self).__init__()
self._command = command
self.description = "Package set generated from output of '%s'" 
% self._command
-   
+
def load(self):
pipe = subprocess.Popen(self._command, stdout=subprocess.PIPE, 
shell=True)
stdout, stderr = pipe.communicate()
-- 
2.28.0




[gentoo-portage-dev] [PATCH 48/68] lib/_emerge/resolver/output_helpers.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/_emerge/resolver/output_helpers.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/_emerge/resolver/output_helpers.py 
b/lib/_emerge/resolver/output_helpers.py
index 25aa925b4..932e66e1b 100644
--- a/lib/_emerge/resolver/output_helpers.py
+++ b/lib/_emerge/resolver/output_helpers.py
@@ -588,7 +588,7 @@ class PkgInfo:
"""Simple class to hold instance attributes for current
information about the pkg being printed.
"""
-   
+
__slots__ = ("attr_display", "built", "cp",
"ebuild_path", "fetch_symbol", "merge",
"oldbest", "oldbest_list", "operation", "ordered", 
"previous_pkg",
-- 
2.28.0




[gentoo-portage-dev] [PATCH 46/68] lib/portage/tests/resolver/test_simple.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/tests/resolver/test_simple.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/portage/tests/resolver/test_simple.py 
b/lib/portage/tests/resolver/test_simple.py
index 324ffa2a6..b457b9d7a 100644
--- a/lib/portage/tests/resolver/test_simple.py
+++ b/lib/portage/tests/resolver/test_simple.py
@@ -1,4 +1,4 @@
-# Copyright 2010-2012 Gentoo Foundation
+# Copyright 2010-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 from portage.tests import TestCase
@@ -8,7 +8,7 @@ class SimpleResolverTestCase(TestCase):
 
def testSimple(self):
ebuilds = {
-   "dev-libs/A-1": { "KEYWORDS": "x86" }, 
+   "dev-libs/A-1": { "KEYWORDS": "x86" },
"dev-libs/A-2": { "KEYWORDS": "~x86" },
"dev-libs/B-1.2": {},
 
-- 
2.28.0




[gentoo-portage-dev] [PATCH 56/68] lib/portage/cache/template.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/cache/template.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/portage/cache/template.py b/lib/portage/cache/template.py
index 509f8a2dc..c8351a924 100644
--- a/lib/portage/cache/template.py
+++ b/lib/portage/cache/template.py
@@ -29,7 +29,7 @@ class database:
self.readonly = readonly
self.sync_rate = 0
self.updates = 0
-   
+
def __getitem__(self, cpv):
"""set a cpv to values
This shouldn't be overriden in derived classes since it handles 
the __eclasses__ conversion.
@@ -255,7 +255,7 @@ class database:
"""generic function for walking the entire cache db, matching 
restrictions to
filter what cpv's are returned.  Derived classes should 
override this if they
can implement a faster method then pulling each cpv:values, and 
checking it.
-   
+
For example, RDBMS derived classes should push the matching 
logic down to the
actual RDBM."""
 
-- 
2.28.0




[gentoo-portage-dev] [PATCH 63/68] lib/portage/tests/emerge/test_simple.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/tests/emerge/test_simple.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/portage/tests/emerge/test_simple.py 
b/lib/portage/tests/emerge/test_simple.py
index e8144c55f..94b3076c1 100644
--- a/lib/portage/tests/emerge/test_simple.py
+++ b/lib/portage/tests/emerge/test_simple.py
@@ -339,7 +339,7 @@ call_has_and_best_version() {
emerge_cmd + ("--oneshot", "--usepkg", "dev-libs/B",),
 
# trigger clean prior to pkg_pretend as in bug #390711
-   ebuild_cmd + (test_ebuild, "unpack"), 
+   ebuild_cmd + (test_ebuild, "unpack"),
emerge_cmd + ("--oneshot", "dev-libs/A",),
 
emerge_cmd + ("--noreplace", "dev-libs/A",),
-- 
2.28.0




[gentoo-portage-dev] [PATCH 47/68] lib/portage/cache/sqlite.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/cache/sqlite.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/portage/cache/sqlite.py b/lib/portage/cache/sqlite.py
index 02bf3fcde..3a372bcfc 100644
--- a/lib/portage/cache/sqlite.py
+++ b/lib/portage/cache/sqlite.py
@@ -33,7 +33,7 @@ class database(fs_template.FsBased):
self._allowed_keys_set = frozenset(self._allowed_keys)
self._allowed_keys = sorted(self._allowed_keys_set)
 
-   self.location = os.path.join(self.location, 
+   self.location = os.path.join(self.location,
self.label.lstrip(os.path.sep).rstrip(os.path.sep))
 
if not self.readonly and not os.path.exists(self.location):
@@ -105,7 +105,7 @@ class database(fs_template.FsBased):
table_parameters.append("UNIQUE(%s)" % 
self._db_table["packages"]["package_key"])
create_statement.append(",".join(table_parameters))
create_statement.append(")")
-   
+
self._db_table["packages"]["create"] = " 
".join(create_statement)
 
cursor = self._db_cursor
-- 
2.28.0




[gentoo-portage-dev] [PATCH 66/68] lib/portage/dbapi/virtual.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/dbapi/virtual.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/portage/dbapi/virtual.py b/lib/portage/dbapi/virtual.py
index f62fc2a30..4ed0dea1b 100644
--- a/lib/portage/dbapi/virtual.py
+++ b/lib/portage/dbapi/virtual.py
@@ -1,4 +1,4 @@
-# Copyright 1998-2013 Gentoo Foundation
+# Copyright 1998-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 from portage.dbapi import dbapi
@@ -214,7 +214,7 @@ class fakedbapi(dbapi):
 
 class testdbapi:
"""A dbapi instance with completely fake functions to get by hitting 
disk
-   TODO(antarus): 
+   TODO(antarus):
This class really needs to be rewritten to have better stubs; but these 
work for now.
The dbapi classes themselves need unit tests...and that will be a lot 
of work.
"""
-- 
2.28.0




[gentoo-portage-dev] [PATCH 42/68] lib/portage/cache/flat_hash.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/cache/flat_hash.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/portage/cache/flat_hash.py b/lib/portage/cache/flat_hash.py
index 7d5b44511..7d48bae81 100644
--- a/lib/portage/cache/flat_hash.py
+++ b/lib/portage/cache/flat_hash.py
@@ -22,7 +22,7 @@ class database(fs_template.FsBased):
 
def __init__(self, *args, **config):
super(database,self).__init__(*args, **config)
-   self.location = os.path.join(self.location, 
+   self.location = os.path.join(self.location,
self.label.lstrip(os.path.sep).rstrip(os.path.sep))
write_keys = set(self._known_keys)
write_keys.add("_eclasses_")
-- 
2.28.0




[gentoo-portage-dev] [PATCH 51/68] lib/portage/_sets/files.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/_sets/files.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/portage/_sets/files.py b/lib/portage/_sets/files.py
index 57e5aa34f..6a7eb828b 100644
--- a/lib/portage/_sets/files.py
+++ b/lib/portage/_sets/files.py
@@ -174,7 +174,7 @@ class StaticFileSet(EditablePackageSet):
greedy=greedy, 
dbapi=trees["vartree"].dbapi)
return rValue
multiBuilder = classmethod(multiBuilder)
-   
+
 class ConfigFileSet(PackageSet):
def __init__(self, filename):
super(ConfigFileSet, self).__init__()
-- 
2.28.0




[gentoo-portage-dev] [PATCH 61/68] lib/portage/util/_dyn_libs/LinkageMapELF.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/util/_dyn_libs/LinkageMapELF.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/portage/util/_dyn_libs/LinkageMapELF.py 
b/lib/portage/util/_dyn_libs/LinkageMapELF.py
index 954a956c6..930d78587 100644
--- a/lib/portage/util/_dyn_libs/LinkageMapELF.py
+++ b/lib/portage/util/_dyn_libs/LinkageMapELF.py
@@ -144,7 +144,7 @@ class LinkageMapELF:
_unicode_encode(obj,
encoding=_encodings['merge'], 
errors='strict')
except UnicodeEncodeError:
-   # The package appears to have been merged with 
a 
+   # The package appears to have been merged with a
# different value of 
sys.getfilesystemencoding(),
# so fall back to utf_8 if appropriate.
try:
@@ -249,7 +249,7 @@ class LinkageMapELF:
if can_lock:
self._dbapi.unlock()
 
-   # have to call scanelf for preserved libs here as they aren't 
+   # have to call scanelf for preserved libs here as they aren't
# registered in NEEDED.ELF.2 files
plibs = {}
if preserve_paths is not None:
-- 
2.28.0




[gentoo-portage-dev] [PATCH 59/68] lib/portage/update.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/update.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/portage/update.py b/lib/portage/update.py
index 07e977452..f11b14217 100644
--- a/lib/portage/update.py
+++ b/lib/portage/update.py
@@ -179,7 +179,7 @@ def grab_updates(updpath, prev_mtimes=None):
mylist = [myfile for myfile in mylist if len(myfile) == 7 and 
myfile[1:3] == "Q-"]
if len(mylist) == 0:
return []
-   
+
# sort by (year, quarter)
mylist.sort(key=lambda x: (x[3:], x[:2]))
 
-- 
2.28.0




[gentoo-portage-dev] [PATCH 52/68] lib/portage/tests/env/config/test_PackageMaskFile.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/tests/env/config/test_PackageMaskFile.py | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/portage/tests/env/config/test_PackageMaskFile.py 
b/lib/portage/tests/env/config/test_PackageMaskFile.py
index 0c5b30f53..62b5e54ce 100644
--- a/lib/portage/tests/env/config/test_PackageMaskFile.py
+++ b/lib/portage/tests/env/config/test_PackageMaskFile.py
@@ -1,5 +1,5 @@
 # test_PackageMaskFile.py -- Portage Unit Testing Functionality
-# Copyright 2007 Gentoo Foundation
+# Copyright 2007-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 from portage import os
@@ -8,7 +8,7 @@ from portage.tests import TestCase, test_cps
 from tempfile import mkstemp
 
 class PackageMaskFileTestCase(TestCase):
-   
+
def testPackageMaskFile(self):
self.BuildFile()
try:
@@ -18,12 +18,12 @@ class PackageMaskFileTestCase(TestCase):
self.assertTrue(atom in test_cps)
finally:
self.NukeFile()
-   
+
def BuildFile(self):
fd, self.fname = mkstemp()
f = os.fdopen(fd, 'w')
f.write("\n".join(test_cps))
f.close()
-   
+
def NukeFile(self):
os.unlink(self.fname)
-- 
2.28.0




[gentoo-portage-dev] [PATCH 58/68] lib/portage/tests/dep/test_dep_getcpv.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/tests/dep/test_dep_getcpv.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/portage/tests/dep/test_dep_getcpv.py 
b/lib/portage/tests/dep/test_dep_getcpv.py
index 79c1514a1..888b93cd4 100644
--- a/lib/portage/tests/dep/test_dep_getcpv.py
+++ b/lib/portage/tests/dep/test_dep_getcpv.py
@@ -1,5 +1,5 @@
 # test_dep_getcpv.py -- Portage Unit Testing Functionality
-# Copyright 2006 Gentoo Foundation
+# Copyright 2006-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 from portage.tests import TestCase
@@ -12,7 +12,7 @@ class DepGetCPV(TestCase):
def testDepGetCPV(self):
 
prefix_ops = [
-   "<", ">", "=", "~", "<=", 
+   "<", ">", "=", "~", "<=",
">=", "!=", "!<", "!>", "!~"
]
 
-- 
2.28.0




[gentoo-portage-dev] [PATCH 39/68] test_missing_iuse_and_evaluated_atoms.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 .../resolver/test_missing_iuse_and_evaluated_atoms.py | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/lib/portage/tests/resolver/test_missing_iuse_and_evaluated_atoms.py 
b/lib/portage/tests/resolver/test_missing_iuse_and_evaluated_atoms.py
index a860e7bb6..321118a6b 100644
--- a/lib/portage/tests/resolver/test_missing_iuse_and_evaluated_atoms.py
+++ b/lib/portage/tests/resolver/test_missing_iuse_and_evaluated_atoms.py
@@ -1,4 +1,4 @@
-# Copyright 2010 Gentoo Foundation
+# Copyright 2010-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 from portage.tests import TestCase
@@ -8,9 +8,9 @@ class MissingIUSEandEvaluatedAtomsTestCase(TestCase):
 
def testMissingIUSEandEvaluatedAtoms(self):
ebuilds = {
-   "dev-libs/A-1": { "DEPEND": "dev-libs/B[foo?]", "IUSE": 
"foo bar", "EAPI": 2 }, 
-   "dev-libs/A-2": { "DEPEND": "dev-libs/B[foo?,bar]", 
"IUSE": "foo bar", "EAPI": 2 }, 
-   "dev-libs/B-1": { "IUSE": "bar" }, 
+   "dev-libs/A-1": { "DEPEND": "dev-libs/B[foo?]", "IUSE": 
"foo bar", "EAPI": 2 },
+   "dev-libs/A-2": { "DEPEND": "dev-libs/B[foo?,bar]", 
"IUSE": "foo bar", "EAPI": 2 },
+   "dev-libs/B-1": { "IUSE": "bar" },
}
 
test_cases = (
-- 
2.28.0




[gentoo-portage-dev] [PATCH 57/68] lib/portage/tests/sets/shell/testShell.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/tests/sets/shell/testShell.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/portage/tests/sets/shell/testShell.py 
b/lib/portage/tests/sets/shell/testShell.py
index 58dc750bf..10e489d0e 100644
--- a/lib/portage/tests/sets/shell/testShell.py
+++ b/lib/portage/tests/sets/shell/testShell.py
@@ -1,5 +1,5 @@
 # testCommandOututSet.py -- Portage Unit Testing Functionality
-# Copyright 2007 Gentoo Foundation
+# Copyright 2007-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 from portage.process import find_binary
@@ -16,7 +16,7 @@ class CommandOutputSetTestCase(TestCase):
pass
 
def testCommand(self):
-   
+
params = set(test_cps)
command = find_binary("bash")
command += " -c '"
-- 
2.28.0




[gentoo-portage-dev] [PATCH 53/68] lib/portage/checksum.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/checksum.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/portage/checksum.py b/lib/portage/checksum.py
index 8f01f6ac4..d4a75c058 100644
--- a/lib/portage/checksum.py
+++ b/lib/portage/checksum.py
@@ -1,5 +1,5 @@
 # checksum.py -- core Portage functionality
-# Copyright 1998-2017 Gentoo Foundation
+# Copyright 1998-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 import portage
@@ -75,7 +75,7 @@ class _generate_hash_function:
def checksum_file(self, filename):
"""
Run a checksum against a file.
-   
+
@param filename: File to run the checksum against
@type filename: String
@return: The hash and size of the data
-- 
2.28.0




[gentoo-portage-dev] [PATCH 55/68] lib/portage/dbapi/bintree.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/dbapi/bintree.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/portage/dbapi/bintree.py b/lib/portage/dbapi/bintree.py
index 97be51121..59c265688 100644
--- a/lib/portage/dbapi/bintree.py
+++ b/lib/portage/dbapi/bintree.py
@@ -1686,7 +1686,7 @@ class binarytree:
resume = True
writemsg(_("Resuming download of this tbz2, but it is 
possible that it is corrupt.\n"),
noiselevel=-1)
-   
+
mydest = os.path.dirname(self.getname(pkgname))
self._ensure_dir(mydest)
# urljoin doesn't work correctly with unrecognized protocols 
like sftp
-- 
2.28.0




[gentoo-portage-dev] [PATCH 45/68] lib/portage/tests/resolver/test_slot_collisions.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/tests/resolver/test_slot_collisions.py | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/portage/tests/resolver/test_slot_collisions.py 
b/lib/portage/tests/resolver/test_slot_collisions.py
index a15ebf4e0..d84ccfcef 100644
--- a/lib/portage/tests/resolver/test_slot_collisions.py
+++ b/lib/portage/tests/resolver/test_slot_collisions.py
@@ -1,4 +1,4 @@
-# Copyright 2010-2019 Gentoo Authors
+# Copyright 2010-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 from portage.tests import TestCase
@@ -9,7 +9,7 @@ class SlotCollisionTestCase(TestCase):
def testSlotCollision(self):
 
ebuilds = {
-   "dev-libs/A-1": { "PDEPEND": "foo? ( dev-libs/B )", 
"IUSE": "foo" }, 
+   "dev-libs/A-1": { "PDEPEND": "foo? ( dev-libs/B )", 
"IUSE": "foo" },
"dev-libs/B-1": { "IUSE": "foo" },
"dev-libs/C-1": { "DEPEND": "dev-libs/A[foo]", "EAPI": 
2 },
"dev-libs/D-1": { "DEPEND": "dev-libs/A[foo=] 
dev-libs/B[foo=]", "IUSE": "foo", "EAPI": 2 },
@@ -50,11 +50,11 @@ class SlotCollisionTestCase(TestCase):
"dev-lang/perl-5.16": {"SLOT": "0/5.16", "EAPI": "5"},
}
installed = {
-   "dev-libs/A-1": { "PDEPEND": "foo? ( dev-libs/B )", 
"IUSE": "foo", "USE": "foo" }, 
+   "dev-libs/A-1": { "PDEPEND": "foo? ( dev-libs/B )", 
"IUSE": "foo", "USE": "foo" },
"dev-libs/B-1": { "IUSE": "foo", "USE": "foo" },
"dev-libs/C-1": { "DEPEND": "dev-libs/A[foo]", "EAPI": 
2 },
"dev-libs/D-1": { "DEPEND": "dev-libs/A[foo=] 
dev-libs/B[foo=]", "IUSE": "foo", "USE": "foo", "EAPI": 2 },
-   
+
"sci-libs/K-1": { "IUSE": "foo", "USE": "" },
"sci-libs/L-1": { "DEPEND": "sci-libs/K[-foo]" },
 
-- 
2.28.0




[gentoo-portage-dev] [PATCH 38/68] test_slot_conflict_unsatisfied_deep_deps.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 .../test_slot_conflict_unsatisfied_deep_deps.py| 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git 
a/lib/portage/tests/resolver/test_slot_conflict_unsatisfied_deep_deps.py 
b/lib/portage/tests/resolver/test_slot_conflict_unsatisfied_deep_deps.py
index 846ba0e59..83c638518 100644
--- a/lib/portage/tests/resolver/test_slot_conflict_unsatisfied_deep_deps.py
+++ b/lib/portage/tests/resolver/test_slot_conflict_unsatisfied_deep_deps.py
@@ -1,4 +1,4 @@
-# Copyright 2014 Gentoo Foundation
+# Copyright 2014-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 from portage.tests import TestCase
@@ -91,10 +91,10 @@ class SlotConflictUnsatisfiedDeepDepsTestCase(TestCase):
success=False),
 
# With --autounmask-backtrack=y:
-   #[ebuild  N~] dev-libs/A-2 
-   #[ebuild  N ] dev-libs/C-1 
-   #[ebuild  N ] dev-libs/D-1 
-   #[ebuild  N ] dev-libs/B-1 
+   #[ebuild  N~] dev-libs/A-2
+   #[ebuild  N ] dev-libs/C-1
+   #[ebuild  N ] dev-libs/D-1
+   #[ebuild  N ] dev-libs/B-1
#
#The following keyword changes are necessary to proceed:
# (see "package.accept_keywords" in the portage(5) man 
page for more details)
-- 
2.28.0




[gentoo-portage-dev] [PATCH 33/68] lib/portage/env/config.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/env/config.py | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/lib/portage/env/config.py b/lib/portage/env/config.py
index 865d8353a..522168640 100644
--- a/lib/portage/env/config.py
+++ b/lib/portage/env/config.py
@@ -1,5 +1,5 @@
 # config.py -- Portage Config
-# Copyright 2007-2009 Gentoo Foundation
+# Copyright 2007-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 __all__ = ["ConfigLoaderKlass", "GenericFile", "PackageKeywordsFile",
@@ -13,7 +13,7 @@ class ConfigLoaderKlass(UserDict):
A base class stub for things to inherit from.
Users may want a non-file backend.
"""
-   
+
def __init__(self, loader):
"""
@param loader: A class that has a load() that returns two dicts
@@ -38,13 +38,13 @@ class GenericFile(UserDict):
helpful when you really have no idea what you are loading (hint hint 
the file
should perhaps declare  what type it is? ;)
"""
-   
+
loaders = [KeyListFileLoader, KeyValuePairFileLoader, ItemFileLoader]
-   
+
def __init__(self, filename):
UserDict.__init__(self)
self.filename = filename
-   
+
def load(self):
for loader in self.loaders:
l = loader(self.filename, None)
@@ -64,7 +64,7 @@ class PackageKeywordsFile(ConfigLoaderKlass):
def __init__(self, filename):
super(PackageKeywordsFile, self).__init__(
self.default_loader(filename, validator=None))
-   
+
 class PackageUseFile(ConfigLoaderKlass):
"""
Inherits from PackageUse; implements a file-based backend.  Doesn't 
handle recursion yet.
@@ -74,11 +74,11 @@ class PackageUseFile(ConfigLoaderKlass):
def __init__(self, filename):
super(PackageUseFile, self).__init__(
self.default_loader(filename, validator=None))
-   
+
 class PackageMaskFile(ConfigLoaderKlass):
"""
A class that implements a file-based package.mask
-   
+
Entires in package.mask are of the form:
atom1
atom2
@@ -86,7 +86,7 @@ class PackageMaskFile(ConfigLoaderKlass):
-atom3
to revert a previous mask; this only works when masking files are 
stacked
"""
-   
+
default_loader = ItemFileLoader
 
def __init__(self, filename):
@@ -97,9 +97,9 @@ class PortageModulesFile(ConfigLoaderKlass):
"""
File Class for /etc/portage/modules
"""
-   
+
default_loader = KeyValuePairFileLoader
-   
+
def __init__(self, filename):
super(PortageModulesFile, self).__init__(
 self.default_loader(filename, validator=None))
-- 
2.28.0




[gentoo-portage-dev] [PATCH 34/68] lib/portage/dep/__init__.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/dep/__init__.py | 32 
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/lib/portage/dep/__init__.py b/lib/portage/dep/__init__.py
index 36f0dc8c9..50266a21b 100644
--- a/lib/portage/dep/__init__.py
+++ b/lib/portage/dep/__init__.py
@@ -1,5 +1,5 @@
 # deps.py -- Portage dependency resolution functions
-# Copyright 2003-2018 Gentoo Foundation
+# Copyright 2003-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 __all__ = [
@@ -9,7 +9,7 @@ __all__ = [
'get_operator', 'isjustname', 'isspecific',
'isvalidatom', 'match_from_list', 'match_to_list',
'paren_enclose', 'paren_normalize', 'paren_reduce',
-   'remove_slot', 'strip_empty', 'use_reduce', 
+   'remove_slot', 'strip_empty', 'use_reduce',
'_repo_separator', '_slot_separator',
 ]
 
@@ -93,7 +93,7 @@ def _get_atom_re(eapi_attrs):
atom_re = re.compile('^(?P(?:' +
'(?P' + _op + cpv_re + ')|' +
'(?P=' + cpv_re + r'\*)|' +
-   '(?P' + cp_re + '))' + 
+   '(?P' + cp_re + '))' +
'(' + _slot_separator + _slot_loose + ')?' +
_repo + ')(' + _use + ')?$', re.VERBOSE | re.UNICODE)
 
@@ -281,7 +281,7 @@ def paren_reduce(mystr, _deprecation_warn=True):

stack[level].extend(l[0])
else:
stack[level].extend(l)
-   else:   
+   else:
stack[level].append(l)
 
if l:
@@ -322,13 +322,13 @@ def paren_reduce(mystr, _deprecation_warn=True):
 
if token[-1] == "?":
need_bracket = True
-   
+
stack[level].append(token)
 
if level != 0 or need_bracket:
raise InvalidDependString(
_("malformed syntax: '%s'") % mystr)
-   
+
return stack[0]
 
 class paren_normalize(list):
@@ -420,7 +420,7 @@ def _use_reduce_cached(depstr, uselist, masklist, matchall, 
excludeall, \
else:
flag = conditional[:-1]
is_negated = False
-   
+
if is_valid_flag:
if not is_valid_flag(flag):
msg = _("USE flag '%s' referenced in " + \
@@ -669,7 +669,7 @@ def _use_reduce_cached(depstr, uselist, masklist, matchall, 
excludeall, \
raise InvalidDependString(
_("SRC_URI arrow not allowed in EAPI 
%s: token %s") % (eapi, pos+1))
need_simple_token = True
-   stack[level].append(token)  
+   stack[level].append(token)
else:
if need_bracket:
raise InvalidDependString(
@@ -710,11 +710,11 @@ def _use_reduce_cached(depstr, uselist, masklist, 
matchall, excludeall, \
if level != 0:
raise InvalidDependString(
_("Missing '%s' at end of string") % (")",))
-   
+
if need_bracket:
raise InvalidDependString(
_("Missing '%s' at end of string") % ("(",))
-   
+
if need_simple_token:
raise InvalidDependString(
_("Missing file name at end of string"))
@@ -1054,7 +1054,7 @@ class _use_dep:
tokens = []
 
all_defaults = self.missing_enabled | self.missing_disabled
-   
+
def validate_flag(flag):
return is_valid_flag(flag) or flag in all_defaults
 
@@ -1823,7 +1823,7 @@ def dep_getslot(mydep):
 
#remove repo_name if present
mydep = mydep.split(_repo_separator)[0]
-   
+
colon = mydep.find(_slot_separator)
if colon != -1:
bracket = mydep.find("[", colon)
@@ -2249,7 +2249,7 @@ def match_from_list(mydep, candidate_list):
 
elif operator == "=*": # glob match
# XXX: Nasty special casing for leading zeros
-   # Required as =* is a literal prefix match, so can't 
+   # Required as =* is a literal prefix match, so can't
# use vercmp
myver = mycpv_cps[2].lstrip("0")
if not myver or not myver[0].isdigit():
@@ -2495,7 +2495,7 @@ def get_required_use_flags(required_use, eapi=None):
 

[gentoo-portage-dev] [PATCH 32/68] lib/_emerge/unmerge.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/_emerge/unmerge.py | 28 ++--
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/lib/_emerge/unmerge.py b/lib/_emerge/unmerge.py
index 8de35a6ef..5204ac6f0 100644
--- a/lib/_emerge/unmerge.py
+++ b/lib/_emerge/unmerge.py
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
@@ -129,24 +129,24 @@ def _unmerge_display(root_config, myopts, unmerge_action,
if not os.path.exists(x):
print("\n!!! The path '"+x+"' 
doesn't exist.\n")
return 1, {}
-   
+
absx   = os.path.abspath(x)
sp_absx = absx.split("/")
if sp_absx[-1][-7:] == ".ebuild":
del sp_absx[-1]
absx = "/".join(sp_absx)
-   
+
sp_absx_len = len(sp_absx)
-   
+
vdb_path = 
os.path.join(settings["EROOT"], portage.VDB_PATH)
-   
+
sp_vdb = vdb_path.split("/")
sp_vdb_len = len(sp_vdb)
-   
+
if not os.path.exists(absx+"/CONTENTS"):
print("!!! Not a valid db dir: 
"+str(absx))
return 1, {}
-   
+
if sp_absx_len <= sp_vdb_len:
# The Path is shorter... so it 
can't be inside the vdb.
print(sp_absx)
@@ -154,7 +154,7 @@ def _unmerge_display(root_config, myopts, unmerge_action,
print("\n!!!",x,"cannot be 
inside "+ \
vdb_path+"; 
aborting.\n")
return 1, {}
-   
+
for idx in range(0,sp_vdb_len):
if idx >= sp_absx_len or 
sp_vdb[idx] != sp_absx[idx]:
print(sp_absx)
@@ -162,11 +162,11 @@ def _unmerge_display(root_config, myopts, unmerge_action,
print("\n!!!", x, "is 
not inside "+\
vdb_path+"; 
aborting.\n")
return 1, {}
-   
+

print("="+"/".join(sp_absx[sp_vdb_len:]))
candidate_catpkgs.append(

"="+"/".join(sp_absx[sp_vdb_len:]))
-   
+
newline=""
if (not "--quiet" in myopts):
newline="\n"
@@ -200,7 +200,7 @@ def _unmerge_display(root_config, myopts, unmerge_action,
print("" + green(i))
print()
sys.exit(1)
-   
+
if not mymatch and x[0] not in "<>=~":
mymatch = localtree.dep_match(x)
if not mymatch:
@@ -289,7 +289,7 @@ def _unmerge_display(root_config, myopts, unmerge_action,
if global_unmerge and not numselected:
portage.writemsg_stdout("\n>>> No outdated packages 
were found on your system.\n")
return 1, {}
-   
+
if not numselected:
portage.writemsg_stdout(
"\n>>> No packages selected for removal by " + \
@@ -319,7 +319,7 @@ def _unmerge_display(root_config, myopts, unmerge_action,
del stop, pos
 
# we don't want to unmerge packages that are still listed in 
user-editable package sets
-   # listed in "world" as they would be remerged on the next update of 
"world" or the 
+   # listed in "world" as they would be remerged on the next update of 
"world" or the
# relevant package sets.
unknown_sets = set()
for cp in range(len(pkgmap)):
@@ -356,7 +356,7 @@ def _unm

[gentoo-portage-dev] [PATCH 28/68] lib/portage/cache/sql_template.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/cache/sql_template.py | 24 
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/lib/portage/cache/sql_template.py 
b/lib/portage/cache/sql_template.py
index b87612f2d..180dd60b2 100644
--- a/lib/portage/cache/sql_template.py
+++ b/lib/portage/cache/sql_template.py
@@ -1,4 +1,4 @@
-# Copyright: 2005 Gentoo Foundation
+# Copyright: 2005-2020 Gentoo Authors
 # Author(s): Brian Harring (ferri...@gentoo.org)
 # License: GPL2
 
@@ -7,19 +7,19 @@ from portage.cache.template import reconstruct_eclasses
 
 class SQLDatabase(template.database):
"""template class for RDBM based caches
-   
+
This class is designed such that derivatives don't have to change much 
code, mostly constant strings.
_BaseError must be an exception class that all Exceptions thrown from 
the derived RDBMS are derived
from.
 
SCHEMA_INSERT_CPV_INTO_PACKAGE should be modified dependant on the 
RDBMS, as should SCHEMA_PACKAGE_CREATE-
-   basically you need to deal with creation of a unique pkgid.  If the 
dbapi2 rdbms class has a method of 
+   basically you need to deal with creation of a unique pkgid.  If the 
dbapi2 rdbms class has a method of
recovering that id, then modify _insert_cpv to remove the extra select.
 
Creation of a derived class involves supplying _initdb_con, and 
table_exists.
Additionally, the default schemas may have to be modified.
"""
-   
+
SCHEMA_PACKAGE_NAME = "package_cache"
SCHEMA_PACKAGE_CREATE   = "CREATE TABLE %s (\
pkgid INTEGER PRIMARY KEY, label VARCHAR(255), cpv 
VARCHAR(255), UNIQUE(label, cpv))" % SCHEMA_PACKAGE_NAME
@@ -116,10 +116,10 @@ class SQLDatabase(template.database):
 
def _delitem(self, cpv):
"""delete a cpv cache entry
-   derived RDBM classes for this *must* either support cascaded 
deletes, or 
+   derived RDBM classes for this *must* either support cascaded 
deletes, or
override this method"""
try:
-   try:
+   try:
self.con.execute("DELETE FROM %s WHERE label=%s 
AND cpv=%s" % \
(self.SCHEMA_PACKAGE_NAME, self.label, 
self._sfilter(cpv)))
if self.autocommits:
@@ -151,7 +151,7 @@ class SQLDatabase(template.database):
except self._BaseError as e:
raise cache_errors.CacheCorruption(cpv, e)
 
-   # __getitem__ fills out missing values, 
+   # __getitem__ fills out missing values,
# so we store only what's handed to us and is a known 
key
db_values = []
for key in self._known_keys:
@@ -183,7 +183,7 @@ class SQLDatabase(template.database):
doesn't support auto-increment columns for pkgid.
returns the cpvs new pkgid
note this doesn't commit the transaction.  The caller is 
expected to."""
-   
+
cpv = self._sfilter(cpv)
if self._supports_replace:
query_str = 
self.SCHEMA_INSERT_CPV_INTO_PACKAGE.replace("INSERT","REPLACE",1)
@@ -201,7 +201,7 @@ class SQLDatabase(template.database):
raise
self.con.execute("SELECT pkgid FROM %s WHERE label=%s AND 
cpv=%s" % \
(self.SCHEMA_PACKAGE_NAME, self.label, cpv))
-   
+
if self.con.rowcount != 1:
raise cache_error.CacheCorruption(cpv, "Tried to insert 
the cpv, but found "
" %i matches upon the following select!" % 
len(rows))
@@ -231,7 +231,7 @@ class SQLDatabase(template.database):
raise cache_errors.GeneralCacheCorruption(e)
 
try:
-   self.con.execute("SELECT cpv FROM %s WHERE label=%s" % 
+   self.con.execute("SELECT cpv FROM %s WHERE label=%s" %
(self.SCHEMA_PACKAGE_NAME, self.label))
except self._BaseError as e:
raise cache_errors.GeneralCacheCorruption(e)
@@ -246,7 +246,7 @@ class SQLDatabase(template.database):
self.label))
except self._BaseError as e:
raise cache_errors.CacheCorruption(self, cpv, e)
-   
+
oldcpv = None
l = []
for x, y, v in self.con.fetchall():
@@ -267,7 +267,7 @@ class SQLDatabase(template.database

[gentoo-portage-dev] [PATCH 40/68] lib/portage/package/ebuild/deprecated_profile_check.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/package/ebuild/deprecated_profile_check.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/portage/package/ebuild/deprecated_profile_check.py 
b/lib/portage/package/ebuild/deprecated_profile_check.py
index abf32a079..e93ece2ac 100644
--- a/lib/portage/package/ebuild/deprecated_profile_check.py
+++ b/lib/portage/package/ebuild/deprecated_profile_check.py
@@ -1,4 +1,4 @@
-# Copyright 2010-2013 Gentoo Foundation
+# Copyright 2010-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 __all__ = ['deprecated_profile_check']
@@ -36,7 +36,7 @@ def deprecated_profile_check(settings=None):
return
 
with io.open(_unicode_encode(deprecated_profile_file,
-   encoding=_encodings['fs'], errors='strict'), 
+   encoding=_encodings['fs'], errors='strict'),
mode='r', encoding=_encodings['content'], errors='replace') as 
f:
dcontent = f.readlines()
writemsg(colorize("BAD", _("\n!!! Your current profile is "
-- 
2.28.0




[gentoo-portage-dev] [PATCH 41/68] lib/portage/env/validators.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/env/validators.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/portage/env/validators.py b/lib/portage/env/validators.py
index 4d11d69fe..dae2d5041 100644
--- a/lib/portage/env/validators.py
+++ b/lib/portage/env/validators.py
@@ -1,5 +1,5 @@
 # validators.py Portage File Loader Code
-# Copyright 2007 Gentoo Foundation
+# Copyright 2007-2020 Gentoo Authors
 
 from portage.dep import isvalidatom
 
@@ -9,7 +9,7 @@ def PackagesFileValidator(atom):
""" This function mutates atoms that begin with - or *
It then checks to see if that atom is valid, and if
so returns True, else it returns False.
-   
+
Args:
atom: a string representing an atom such as sys-apps/portage-2.1
"""
-- 
2.28.0




[gentoo-portage-dev] [PATCH 35/68] lib/portage/getbinpkg.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/getbinpkg.py | 34 +-
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/lib/portage/getbinpkg.py b/lib/portage/getbinpkg.py
index 54b918a65..d588b324b 100644
--- a/lib/portage/getbinpkg.py
+++ b/lib/portage/getbinpkg.py
@@ -1,5 +1,5 @@
 # getbinpkg.py -- Portage binary-package helper functions
-# Copyright 2003-2014 Gentoo Foundation
+# Copyright 2003-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 from portage.output import colorize
@@ -52,7 +52,7 @@ def make_metadata_dict(data):
DeprecationWarning, stacklevel=2)
 
myid, _myglob = data
-   
+
mydict = {}
for k_bytes in portage.xpak.getindex_mem(myid):
k = _unicode_decode(k_bytes,
@@ -78,7 +78,7 @@ class ParseLinks(html_parser_HTMLParser):
 
def get_anchors(self):
return self.PL_anchors
-   
+
def get_anchors_by_prefix(self, prefix):
newlist = []
for x in self.PL_anchors:
@@ -86,7 +86,7 @@ class ParseLinks(html_parser_HTMLParser):
if x not in newlist:
newlist.append(x[:])
return newlist
-   
+
def get_anchors_by_suffix(self, suffix):
newlist = []
for x in self.PL_anchors:
@@ -94,7 +94,7 @@ class ParseLinks(html_parser_HTMLParser):
if x not in newlist:
newlist.append(x[:])
return newlist
-   
+
def handle_endtag(self, tag):
pass
 
@@ -215,10 +215,10 @@ def make_ftp_request(conn, address, rest=None, dest=None):
DeprecationWarning, stacklevel=2)
 
try:
-   
+
if dest:
fstart_pos = dest.tell()
-   
+
conn.voidcmd("TYPE I")
fsize = conn.size(address)
 
@@ -256,7 +256,7 @@ def make_ftp_request(conn, address, rest=None, dest=None):
 
except ValueError as e:
return None, int(str(e)[:4]), str(e)
-   
+
 
 def make_http_request(conn, address, _params={}, headers={}, dest=None):
"""Uses the |conn| object to request
@@ -296,7 +296,7 @@ def make_http_request(conn, address, _params={}, 
headers={}, dest=None):
str(parts[1]) + "\n")
address = parts[1]
break
-   
+
if (rc != 200) and (rc != 206):
return None, rc, "Server did not respond successfully (%s: %s)" 
% (str(response.status), str(response.reason))
 
@@ -313,10 +313,10 @@ def match_in_array(array, prefix="", suffix="", 
match_both=1, allow_overlap=0):
DeprecationWarning, stacklevel=2)
 
myarray = []
-   
+
if not (prefix and suffix):
match_both = 0
-   
+
for x in array:
add_p = 0
if prefix and (len(x) >= len(prefix)) and (x[:len(prefix)] == 
prefix):
@@ -337,7 +337,7 @@ def match_in_array(array, prefix="", suffix="", 
match_both=1, allow_overlap=0):
continue  # Too short to match.
else:
pass  # Do whatever... We're 
overlapping.
-   
+
if suffix and (len(x) >= len(suffix)) and (x[-len(suffix):] == 
suffix):
myarray.append(x)   # It matches
else:
@@ -368,7 +368,7 @@ def dir_get_list(baseurl, conn=None):
# if the address doesn't end with a slash.
address += "/"
page, rc, msg = make_http_request(conn, address, params, 
headers)
-   
+
if page:
parser = ParseLinks()
parser.feed(_unicode_decode(page))
@@ -426,7 +426,7 @@ def file_get_metadata(baseurl, conn=None, chunk_size=3000):
f.close()
else:
raise TypeError(_("Unknown protocol. '%s'") % protocol)
-   
+
if data:
xpaksize = portage.xpak.decodeint(data[-8:-4])
if (xpaksize + 8) > chunk_size:
@@ -544,7 +544,7 @@ def file_get_lib(baseurl, dest, conn=None):
f.close()
else:
raise TypeError(_("Unknown protocol. '%s'") % protocol)
-   
+
if not keepconnection:
conn.close()
 
@@ -621,7 +621,7 @@ def dir_get_metadata(baseurl, conn=None, chunk_size=3000, 
verbose=1, usingcache=
tbz2list = match_in_array(filelist, suffix=".tbz2")

[gentoo-portage-dev] [PATCH 27/68] lib/portage/process.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/process.py | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/portage/process.py b/lib/portage/process.py
index f0019f2c0..1ff886bf3 100644
--- a/lib/portage/process.py
+++ b/lib/portage/process.py
@@ -123,7 +123,7 @@ def sanitize_fds():
 def spawn_bash(mycommand, debug=False, opt_name=None, **keywords):
"""
Spawns a bash shell running a specific commands
-   
+
@param mycommand: The command for bash to run
@type mycommand: String
@param debug: Turn bash debugging on (set -x)
@@ -228,7 +228,7 @@ def spawn(mycommand, env=None, opt_name=None, 
fd_pipes=None, returnpid=False,
  cgroup=None):
"""
Spawns a given command.
-   
+
@param mycommand: the command to execute
@type mycommand: String or List (Popen style list)
@param env: If env is not None, it must be a mapping that defines the 
environment
@@ -277,7 +277,7 @@ def spawn(mycommand, env=None, opt_name=None, 
fd_pipes=None, returnpid=False,
 
logfile requires stdout and stderr to be assigned to this process (ie 
not pointed
   somewhere else.)
-   
+
"""
 
# mycommand is either a str or a list
@@ -516,7 +516,7 @@ def _exec(binary, mycommand, opt_name, fd_pipes,
 
"""
Execute a given binary with options
-   
+
@param binary: Name of program to execute
@type binary: String
@param mycommand: Options for program
@@ -945,7 +945,7 @@ def _setup_pipes(fd_pipes, close_fds=True, 
inheritable=None):
 def find_binary(binary):
"""
Given a binary name, find the binary in PATH
-   
+
@param binary: Name of the binary to find
@type string
@rtype: None or string
-- 
2.28.0




[gentoo-portage-dev] [PATCH 44/68] lib/portage/util/_async/PipeLogger.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/util/_async/PipeLogger.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/portage/util/_async/PipeLogger.py 
b/lib/portage/util/_async/PipeLogger.py
index 060483f0b..2bbdd3ddb 100644
--- a/lib/portage/util/_async/PipeLogger.py
+++ b/lib/portage/util/_async/PipeLogger.py
@@ -66,7 +66,7 @@ class PipeLogger(AbstractPollTask):
def _io_loop(self, input_file):
background = self.background
stdout_fd = self.stdout_fd
-   log_file = self._log_file 
+   log_file = self._log_file
fd = input_file.fileno()
 
while True:
-- 
2.28.0




[gentoo-portage-dev] [PATCH 31/68] lib/portage/manifest.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/manifest.py | 30 +++---
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/lib/portage/manifest.py b/lib/portage/manifest.py
index 79c756f04..d43f7d836 100644
--- a/lib/portage/manifest.py
+++ b/lib/portage/manifest.py
@@ -166,14 +166,14 @@ class Manifest:
def getFullname(self):
""" Returns the absolute path to the Manifest file for this 
instance """
return os.path.join(self.pkgdir, "Manifest")
-   
+
def getDigests(self):
""" Compability function for old digest/manifest code, returns 
dict of filename:{hashfunction:hashvalue} """
rval = {}
for t in MANIFEST2_IDENTIFIERS:
rval.update(self.fhashdict[t])
return rval
-   
+
def getTypeDigests(self, ftype):
""" Similar to getDigests(), but restricted to files of the 
given type. """
return self.fhashdict[ftype]
@@ -394,11 +394,11 @@ class Manifest:
def sign(self):
""" Sign the Manifest """
raise NotImplementedError()
-   
+
def validateSignature(self):
""" Validate signature on Manifest """
raise NotImplementedError()
-   
+
def addFile(self, ftype, fname, hashdict=None, ignoreMissing=False):
""" Add entry to Manifest optionally using hashdict to avoid 
recalculation of hashes """
if ftype == "AUX" and not fname.startswith("files/"):
@@ -414,22 +414,22 @@ class Manifest:
self.fhashdict[ftype][fname].update(hashdict)
if 
self.required_hashes.difference(set(self.fhashdict[ftype][fname])):
self.updateFileHashes(ftype, fname, 
checkExisting=False, ignoreMissing=ignoreMissing)
-   
+
def removeFile(self, ftype, fname):
""" Remove given entry from Manifest """
del self.fhashdict[ftype][fname]
-   
+
def hasFile(self, ftype, fname):
""" Return whether the Manifest contains an entry for the given 
type,filename pair """
return (fname in self.fhashdict[ftype])
-   
+
def findFile(self, fname):
""" Return entrytype of the given file if present in Manifest 
or None if not present """
for t in MANIFEST2_IDENTIFIERS:
if fname in self.fhashdict[t]:
return t
return None
-   
+
def create(self, checkExisting=False, assumeDistHashesSometimes=False,
assumeDistHashesAlways=False, requiredDistfiles=[]):
""" Recreate this Manifest from scratch.  This will not use any
@@ -586,17 +586,17 @@ class Manifest:
absname = os.path.join(self.pkgdir, "files", fname)
else:
absname = os.path.join(self.pkgdir, fname)
-   return absname  
-   
+   return absname
+
def checkAllHashes(self, ignoreMissingFiles=False):
for t in MANIFEST2_IDENTIFIERS:
self.checkTypeHashes(t, 
ignoreMissingFiles=ignoreMissingFiles)
-   
+
def checkTypeHashes(self, idtype, ignoreMissingFiles=False, 
hash_filter=None):
for f in self.fhashdict[idtype]:
self.checkFileHashes(idtype, f, 
ignoreMissing=ignoreMissingFiles,
hash_filter=hash_filter)
-   
+
def checkFileHashes(self, ftype, fname, ignoreMissing=False, 
hash_filter=None):
digests = 
_filter_unaccelarated_hashes(self.fhashdict[ftype][fname])
if hash_filter is not None:
@@ -623,7 +623,7 @@ class Manifest:
if checkDistfiles or onlyDistfiles:
for f in self._getCpvDistfiles(cpv):
self.checkFileHashes("DIST", f, 
ignoreMissing=False)
-   
+
def _getCpvDistfiles(self, cpv):
""" Get a list of all DIST files associated to the given cpv """
return self.fetchlist_dict[cpv]
@@ -648,12 +648,12 @@ class Manifest:
myhashkeys.remove(k)
myhashes = perform_multiple_checksums(self._getAbsname(ftype, 
fname), myhashkeys)
self.fhashdict[ftype][fname].update(myhashes)
-   
+
def updateTypeHashes(self, idtype, checkExisting=False, 
ignoreMissingFiles=True):
  

[gentoo-portage-dev] [PATCH 43/68] lib/portage/_emirrordist/FetchTask.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/_emirrordist/FetchTask.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/portage/_emirrordist/FetchTask.py 
b/lib/portage/_emirrordist/FetchTask.py
index f2342362d..334da7420 100644
--- a/lib/portage/_emirrordist/FetchTask.py
+++ b/lib/portage/_emirrordist/FetchTask.py
@@ -458,7 +458,7 @@ class FetchTask(CompositeTask):
if self._was_cancelled():
self.wait()
return
-   
+
if os.path.exists(self._fetch_tmp_file):
self._start_task(
FileDigester(file_path=self._fetch_tmp_file,
-- 
2.28.0




[gentoo-portage-dev] [PATCH 36/68] lib/portage/env/loaders.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/env/loaders.py | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/lib/portage/env/loaders.py b/lib/portage/env/loaders.py
index 5fa5452af..d24e6a47e 100644
--- a/lib/portage/env/loaders.py
+++ b/lib/portage/env/loaders.py
@@ -1,5 +1,5 @@
 # config.py -- Portage Config
-# Copyright 2007-2013 Gentoo Foundation
+# Copyright 2007-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 import errno
@@ -16,7 +16,7 @@ from portage import _unicode_encode
 from portage.localization import _
 
 class LoaderError(Exception):
-   
+
def __init__(self, resource, error_msg):
"""
@param resource: Resource that failed to load (file/sql/etc)
@@ -27,7 +27,7 @@ class LoaderError(Exception):
 
self.resource = resource
self.error_msg = error_msg
-   
+
def __str__(self):
return "Failed while loading resource: %s, error was: %s" % (
self.resource, self.error_msg)
@@ -38,7 +38,7 @@ def RecursiveFileLoader(filename):
If filename is of type file, return a generate that yields filename
else if filename is of type directory, return a generator that fields
files in that directory.
-   
+
Ignore files beginning with . or ending in ~.
Prune CVS directories.
 
@@ -117,7 +117,7 @@ class TestTextLoader(DataLoader):
 
def setErrors(self, errors):
self.errors = errors
-   
+
def load(self):
return (self.data, self.errors)
 
@@ -139,7 +139,7 @@ class FileLoader(DataLoader):
Return the {source: {key: value}} pairs from a file
Return the {source: [list of errors] from a load
 
-   @param recursive: If set and self.fname is a directory; 
+   @param recursive: If set and self.fname is a directory;
load all files in self.fname
@type: Boolean
@rtype: tuple
@@ -186,12 +186,12 @@ class FileLoader(DataLoader):
 class ItemFileLoader(FileLoader):
"""
Class to load data from a file full of items one per line
-   
+
>>> item1
>>> item2
>>> item3
>>> item1
-   
+
becomes { 'item1':None, 'item2':None, 'item3':None }
Note that due to the data store being a dict, duplicates
are removed.
@@ -199,7 +199,7 @@ class ItemFileLoader(FileLoader):
 
def __init__(self, filename, validator):
FileLoader.__init__(self, filename, validator)
-   
+
def lineParser(self, line, line_num, data, errors):
line = line.strip()
if line.startswith('#'): # Skip commented lines
@@ -223,7 +223,7 @@ class ItemFileLoader(FileLoader):
 class KeyListFileLoader(FileLoader):
"""
Class to load data from a file full of key [list] tuples
-   
+
>>>>key foo1 foo2 foo3
becomes
{'key':['foo1','foo2','foo3']}
@@ -274,7 +274,7 @@ class KeyListFileLoader(FileLoader):
 class KeyValuePairFileLoader(FileLoader):
"""
Class to load data from a file full of key=value pairs
-   
+
>>>>key=value
>>>>foo=bar
becomes:
-- 
2.28.0




[gentoo-portage-dev] [PATCH 37/68] lib/portage/_sets/__init__.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/_sets/__init__.py | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/portage/_sets/__init__.py b/lib/portage/_sets/__init__.py
index 6c6df4cca..ea0a8b9b4 100644
--- a/lib/portage/_sets/__init__.py
+++ b/lib/portage/_sets/__init__.py
@@ -1,4 +1,4 @@
-# Copyright 2007-2019 Gentoo Authors
+# Copyright 2007-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
@@ -150,12 +150,12 @@ class SetConfig:
if not setname in self.psets:
options["name"] = setname
options["world-candidate"] = "False"
-   
+
# for the unlikely case that there is already a section 
with the requested setname
import random
while setname in parser.sections():
setname = "%08d" % random.randint(0, 10**10)
-   
+
parser.add_section(setname)
for k, v in options.items():
parser.set(setname, k, v)
@@ -200,7 +200,7 @@ class SetConfig:
optdict = {}
for oname in parser.options(sname):
optdict[oname] = parser.get(sname, oname)
-   
+
# create single or multiple instances of the given 
class depending on configuration
if parser.has_option(sname, "multiset") and \
parser.getboolean(sname, "multiset"):
@@ -245,7 +245,7 @@ class SetConfig:
"must be configured as 
multiset") % {"class": classname, "section": sname})
continue
self._parsed = True
-   
+
def getSets(self):
self._parse()
return self.psets.copy()
-- 
2.28.0




[gentoo-portage-dev] [PATCH 26/68] lib/portage/locks.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/locks.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/portage/locks.py b/lib/portage/locks.py
index a0981712e..5fa6d5d38 100644
--- a/lib/portage/locks.py
+++ b/lib/portage/locks.py
@@ -444,7 +444,7 @@ def unlockfile(mytuple):
if(myfd == HARDLINK_FD):
unhardlink_lockfile(lockfilename, unlinkfile=unlinkfile)
return True
-   
+
# myfd may be None here due to myfd = mypath in lockfile()
if isinstance(lockfilename, str) and \
not os.path.exists(lockfilename):
@@ -672,7 +672,7 @@ def hardlock_cleanup(path, remove_all_locks=False):
hostpid  = parts[1].split("-")
host  = "-".join(hostpid[:-1])
pid   = hostpid[-1]
-   
+
if filename not in mylist:
mylist[filename] = {}
if host not in mylist[filename]:
@@ -683,7 +683,7 @@ def hardlock_cleanup(path, remove_all_locks=False):
 
 
results.append(_("Found %(count)s locks") % {"count": mycount})
-   
+
for x in mylist:
if myhost in mylist[x] or remove_all_locks:
mylockname = hardlock_name(path + "/" + x)
-- 
2.28.0




[gentoo-portage-dev] [PATCH 22/68] lib/portage/tests/dep/testExtractAffectingUSE.py: fix whitespace

2020-08-03 Thread Aaron Bauman
Signed-off-by: Aaron Bauman 
---
 lib/portage/tests/dep/testExtractAffectingUSE.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/portage/tests/dep/testExtractAffectingUSE.py 
b/lib/portage/tests/dep/testExtractAffectingUSE.py
index 026a55274..6293f25e8 100644
--- a/lib/portage/tests/dep/testExtractAffectingUSE.py
+++ b/lib/portage/tests/dep/testExtractAffectingUSE.py
@@ -1,4 +1,4 @@
-# Copyright 2010-2011 Gentoo Foundation
+# Copyright 2010-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 from portage.tests import TestCase
@@ -13,7 +13,7 @@ class TestExtractAffectingUSE(TestCase):
("a? ( A ) !b? ( B ) !c? ( C ) d? ( D )", "B", ("b",)),
("a? ( A ) !b? ( B ) !c? ( C ) d? ( D )", "C", ("c",)),
("a? ( A ) !b? ( B ) !c? ( C ) d? ( D )", "D", ("d",)),
-   
+
("a? ( b? ( AB ) )", "AB", ("a", "b")),
("a? ( b? ( c? ( ABC ) ) )", "ABC", ("a", "b", "c")),
 
@@ -46,7 +46,7 @@ class TestExtractAffectingUSE(TestCase):
("!? ( A )", "A"),
("( A", "A"),
("A )", "A"),
-   
+
("||( A B )", "A"),
("|| (A B )", "A"),
("|| ( A B)", "A"),
-- 
2.28.0




  1   2   3   4   5   >