Re: [gentoo-dev] package.mask vs ~arch

2014-07-06 Thread William Hubbs
On Sun, Jul 06, 2014 at 01:07:18PM +, hasufell wrote:
> If you are talking about actually testing and running the software then
> that's a different story and definitely not within our scope when
> committing to ~arch.
> 
> That said, I think it's a reasonable minimum to at least check if an
> ebuild emerges on my current machine with my current setup before
> committing to ~arch. If even that fails, what's the point of committing
> the ebuild?

Yes, this is basically what I do. I make sure the ebuild emerges and
the software runs in the configuration I was running the old version in.
Once I know that's true, I don't see anything wrong with committing to
~arch.

William


signature.asc
Description: Digital signature


Re: [gentoo-dev] package.mask vs ~arch

2014-07-06 Thread hasufell
Greg KH:
> On Mon, Jun 30, 2014 at 04:15:55PM +0200, Jeroen Roovers wrote:
>> On Mon, 30 Jun 2014 09:25:27 -0400
>> Rich Freeman  wrote:
>>
>>> Agree 100%.  I'm taking about masking things that HAVEN'T BEEN TESTED
>>> AT ALL.  The maintainer knows that they compile, and that is it.
>>
>> Developers who "HAVEN'T [...] TESTED AT ALL" and still commit their
>> changes to the tree should immediately hand in their toys and leave
>> the project.
> 
> What toys?  Were we given some when we became developers?  If I had some
> I'd send mine back in, but as I don't, I'll keep committing stable
> kernel ebuilds that I never test as no one seems to be complaining...
> 
> greg "never make absolute statements" k-h
> 

Depends on what you mean with testing. Just renaming ebuilds like
foo-1.2.ebuild -> foo-1.3.ebuild and letting the community figure out if
that even makes sense (e.g. the ebuild dies in src_prepare, because a
patch fails or is missing) is a bit rough, although it may work if you
know the underlying package very well.

If you are talking about actually testing and running the software then
that's a different story and definitely not within our scope when
committing to ~arch.

That said, I think it's a reasonable minimum to at least check if an
ebuild emerges on my current machine with my current setup before
committing to ~arch. If even that fails, what's the point of committing
the ebuild?



Re: [gentoo-dev] package.mask vs ~arch

2014-07-05 Thread Greg KH
On Mon, Jun 30, 2014 at 04:15:55PM +0200, Jeroen Roovers wrote:
> On Mon, 30 Jun 2014 09:25:27 -0400
> Rich Freeman  wrote:
> 
> > Agree 100%.  I'm taking about masking things that HAVEN'T BEEN TESTED
> > AT ALL.  The maintainer knows that they compile, and that is it.
> 
> Developers who "HAVEN'T [...] TESTED AT ALL" and still commit their
> changes to the tree should immediately hand in their toys and leave
> the project.

What toys?  Were we given some when we became developers?  If I had some
I'd send mine back in, but as I don't, I'll keep committing stable
kernel ebuilds that I never test as no one seems to be complaining...

greg "never make absolute statements" k-h



Re: [gentoo-dev] package.mask vs ~arch

2014-07-02 Thread Rich Freeman
On Wed, Jul 2, 2014 at 1:56 PM, Tom Wijsman  wrote:
> That is an edge case; it's somewhat hard to maintain a package if you
> can't test it, and there are occasions (eg. Amazon EC2 related
> packages) where this is indeed needed. I don't see a need to introduce
> that masked though; but again, it depends on how edgy it is...
>

No argument there.  I think that use of package masks for
testing-related purposes should be rare and short-lived.  I just don't
think that banning them entirely is the right solution.  If they're
done right they probably shouldn't be noticed by the majority.

Rich



Re: [gentoo-dev] package.mask vs ~arch

2014-07-02 Thread Tom Wijsman
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Mon, 30 Jun 2014 15:44:21 -0400
Ian Stakenvicius  wrote:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA256
> 
> On 30/06/14 03:14 PM, Tom Wijsman wrote:
>
> > Setting up an overlay for this and poking a stick at a few
> > developers to try it out could help as an intermediary test, to
> > ensure that you don't break every ~arch user in the progress.
> > Better than "all or nothing"...
> 
> Or i can just use the same stick to poke them about the p.masked
> version in the tree. :)
> 
> All of this just means, to me, that as long as the packages indeed are
> actively being pursued for testing, I think it's still fine to use
> package.mask.  However, if things aren't being actively tested (ie
> they've been forgotten about) then probably whomever added the mask
> should be pinged relentlessly about it until it's resolved one way or
> another.  At least, I would find it perfectly acceptable to being
> pinged on any mask I've left rotting in the tree.

+1 One could say that ensuring it is tested is part of the workflow;
and then I don't mean your own testing, but inviting others to do so.

- -- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D
-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQEcBAEBAgAGBQJTtEguAAoJEPWZc8roOL/QKKoIAI0KlFu28ri4KB7gAWJAQXe/
cgvNYy7Gy5kwbl9pagCSP9NhBO0VZ4LNRZIMY0OqOhv/fs9pM2+tdKOV3c/f+8mo
3PvE2zW6+U0NUDBeYDmSdRoCVuFecuZiLk9y8gciGLIipLVZ9jaIwW2N5l/jvT69
KZFLLRgoFvLeXFvg05LUbZgKlMsvpi3DJh0HWG2l0CCuGAw+vNSnFqviPyFWnVCP
mhZZuYh3Xwf9/yyrWwKHFY+JjlHD2aqCd1rO9q7Ght/Wbi1knzBt4PE+kgj7xTSo
7BVTEuskcAq4yU9wvmxUYKIyGGwnjmVD5L+fK+LcVnWp4A8zwQG6bk6opiSIFN0=
=R2Cc
-END PGP SIGNATURE-


Re: [gentoo-dev] package.mask vs ~arch

2014-07-02 Thread Tom Wijsman
On Mon, 30 Jun 2014 15:19:59 -0400
Rich Freeman  wrote:

> On Mon, Jun 30, 2014 at 3:11 PM, Tom Wijsman 
> wrote:
> >
> > A test of a package to determine whether it appears to be working
> > OK or whether it destructs your system isn't too much asked for; if
> > it works it can then be ~arch tested, if it breaks you have a bug #
> > for p.mask.
> >
> > If someone can't test it at all, why was it added in the first
> > place?
> 
> So that it can be tested?  Maybe the maintainer doesn't have the
> ability to test the package (might require special hardware).  Maybe
> the maintainer doesn't have the time to test it right away, but wants
> to allow others to do so (especially if others show an interest).

That is an edge case; it's somewhat hard to maintain a package if you
can't test it, and there are occasions (eg. Amazon EC2 related
packages) where this is indeed needed. I don't see a need to introduce
that masked though; but again, it depends on how edgy it is...

> Sure, I can set up yet another overlay, which will be empty 99% of the
> time.  But, what is the harm in just using a mask?  I've yet to leave
> one sitting around for years (well, not for testing at least).

No problem with that if it is for a safe introduction, although I'm
not quite sure how much that really invites actual testing; however
it's not about that, everything that stays longer forms the problem.

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] package.mask vs ~arch

2014-07-02 Thread Peter Stuge
Rich Freeman wrote:
> If we're going to define ~arch as basically stable, and arch as
> out-of-date, then we might as well drop keywords entirely.

I actually don't think that would be such a bad thing.

I only consider ~arch relevant, because it is the closest to upstream.

I want the distribution I use to be as thin as possible; the value it
adds is administrative - and the Gentoo packages and tools are fantastic.
\o/

The thicker a distribution is, the larger a gap between users and
upstream it creates, which inconveniences *both* users and upstream,
because users have to wait for new code, and upstreams have to deal
with lots of known and possibly fixed bugs.

The ideal would be only live ebuilds, but for now we have no precise
technology for synchronization.

Version numbers are both blunt and arbitrary.


//Peter



Re: [gentoo-dev] package.mask vs ~arch

2014-07-01 Thread Rich Freeman
On Tue, Jul 1, 2014 at 8:41 AM, Patrick Lauer  wrote:
> On 06/30/14 22:15, Jeroen Roovers wrote:
>> On Mon, 30 Jun 2014 09:25:27 -0400
>> Rich Freeman  wrote:
>>
>>> Agree 100%.  I'm taking about masking things that HAVEN'T BEEN TESTED
>>> AT ALL.  The maintainer knows that they compile, and that is it.
>>
>> Developers who "HAVEN'T [...] TESTED AT ALL" and still commit their
>> changes to the tree should immediately hand in their toys and leave
>> the project.
>>
>
> I usually avoid overlays (best way to make things hard to find), so when
> there's stuff that upstream says is experimental (e.g. perl6/rakudo with
> the MoarVM backend) I have no issue with adding it as un-keyworded
> ebuilds to the tree. That way it's easy to test, and once there's a bit
> more confidence that it works well enough it's trivial to keyword.
>

If the goal is to reduce clutter in the profiles then this could be a
good alternative.  Nothing would prevent a maintainer from sticking a
comment in the ebuild as well.

Hate to derail this, but another option would be to migrate
package.mask to a directory (eventually) and manage masks by project
or by date.  Projects could create standing files when needed, and
misc masks would go into a file named by year/quarter.  Then anybody
looking in the directory can spot projects that are dead, or files
which are old.  Either would be easier to clean up.

Obviously restructuring the profiles entirely as has been suggested
will help, though not for masks like these.

Rich



Re: [gentoo-dev] package.mask vs ~arch

2014-07-01 Thread Patrick Lauer
On 06/30/14 22:15, Jeroen Roovers wrote:
> On Mon, 30 Jun 2014 09:25:27 -0400
> Rich Freeman  wrote:
> 
>> Agree 100%.  I'm taking about masking things that HAVEN'T BEEN TESTED
>> AT ALL.  The maintainer knows that they compile, and that is it.
> 
> Developers who "HAVEN'T [...] TESTED AT ALL" and still commit their
> changes to the tree should immediately hand in their toys and leave
> the project.
> 

I usually avoid overlays (best way to make things hard to find), so when
there's stuff that upstream says is experimental (e.g. perl6/rakudo with
the MoarVM backend) I have no issue with adding it as un-keyworded
ebuilds to the tree. That way it's easy to test, and once there's a bit
more confidence that it works well enough it's trivial to keyword.





Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Roy Bamford
On 2014.06.30 16:40, Ian Stakenvicius wrote:
> On 30/06/14 11:36 AM, Michał Górny wrote:

[snip]

> >
> > But... if you unmask it, someone will test it and report whether
> > it works :P.
> >
> 
> But... if I unmask it, -everyone- using ~arch will install it and
> it'll break all the systems that it doesn't work on, which -could- be
> quite a lot at this point.  :D
> 
> 
> 

Yep.  The good old days ... X11 going modular ... expat-2 and a few 
others that I've forgotten.
There was no news then so if you missed an email to the list you got to 
pick up the pieces.  Those examples may well be me missing emails.

I've run ~arch since mid 2002 and until the last few years always had a 
few builds fail or things build then operate so badly they needed to be 
p.masked locally.  That's what buildpkg is for ... so that after you 
spend 10 hours building *office and find out its a dud, you can back it 
out in a few minutes.

-- 
Regards,

Roy Bamford
(Neddyseagoon) a member of
elections
gentoo-ops
forum-mods
trustees


pgpjfKriB3eLY.pgp
Description: PGP signature


Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Roy Bamford
On 2014.06.30 05:01, William Hubbs wrote:
> All,
> 
> I am starting a new thread so we don't refer to a specific package,
> but I
> am quoting Rich and hasufell from the previous masking thread.
> 
> On Sun, Jun 29, 2014 at 10:04:54AM -0400, Rich Freeman wrote:
> > On Sun, Jun 29, 2014 at 8:36 AM, hasufell 
> wrote:
> > > This is still too vague for me. If it's expected to be short-
> term,
> then
> > > it can as well just land in ~arch.
> > 
> > A package that hasn't been tested AT ALL doesn't belong in ~arch.
> > Suppose the maintainer is unable to test some aspect of the 
> package,
> > or any aspect of the package?  Do we want it to break completely 
> for
> > ~arch?  In that event, nobody will run ~arch for that package, and
> > then it still isn't getting tested.
> 
> I'm not saying that we should just randomly throw something into 
> ~arch
> without testing it, but ~arch users are running ~arch with the
> understanding that their systems will break from time to time and 
> they
> are expected to be able to deal with it when/if it happens. ~arch is
> not a second stable branch.
> 
> > I agree that masking for testing is like having a 3rd branch, but
> I'm
> > not convinced that this is a bad thing.  ~arch should be for
> packages
> > that have received rudimentary testing and which are ready for
> testing
> > by a larger population.  Masking should be used for packages that
> > haven't received rudimentary testing - they might not have been
> tested
> > at all.
> 
> The concern with this argument is  the definition of rudimentary
> testing
> is subjective, especially when a package supports many possible
> configurations.
> 
> I think some packages need wide testing before they go stable, and
> that
> is where ~arch can help out.
> 
> In particular, I would argue that for system-critical packages, users
> should be very careful about running ~arch unless they know what the
> fallout can be.
> 
> *snip*
> 
> > I guess the question is, what exactly are we trying to fix?  Even 
> if
> > occasionally a maintainer drops the ball and leaves something 
> masked
> > for a year, how is that different from a maintainer dropping the
> ball
> > and not adding a new release to the main tree for a year?  Would we
> be
> > better off if Docker 1 wasn't in the tree at all?  If it happened 
> to
> > have a known issue would ~arch users be better off if some other 
> dev
> > came along and helpfully added it to the tree unmasked no realizing
> > that somebody else was already working on it?
> 
> Take a look at profiles/package.mask. You will see many packages in
> there with the description, "masked for testing" on their masks, with
> no
> bug references, that have been there for multiple years. My view is 
> we
> should either get those masks resolved or boot the affected
> packages/versions out of the tree. If they haven't received
> rudimentary
> testing by now, it is pretty obvious that no one cares about them.
> 
> William
> 
> 

Once upon a time, not so long ago I don't remember it, there were very 
few overlays.  At that time, there was always a lot of packages in the 
tree "masked for testing".  At that time, well before layman, overlays 
were inconvenient. 

As overlays have become more widespread and used as a way to lower the 
barrier to contributing directly to Gentoo, there are fewer packages 
"masked for testing".

I like the old way, it avoids installing yet another overlay but 
clearly others feel differently or there would not be so many overlays 
to choose from. The reality is, both ways work for me.
Pragmatically, its not practical to merge all of the overlays into the 
tree, then ban overlays.  That would be a return to the old way.

This just represents a change of workflow with time.
The question then is do we need to formalise the changed workflow, or 
can both be allowed to continue side by side?

-- 
Regards,

Roy Bamford
(Neddyseagoon) a member of
elections
gentoo-ops
forum-mods
trustees


pgpwJVV2X65ZZ.pgp
Description: PGP signature


Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Jeroen Roovers
On Mon, 30 Jun 2014 15:49:54 -0400
Joshua Kinard  wrote:

> So a mask on
> "=sys-devel/gcc-4.9.0" with the reason of "Masked for testing" makes
> perfect sense, especially since this version of gcc enables strong
> stack-protection.

In that case "this version of gcc enables strong stack-protection
[which might kill your cow]" is a good masking reason. Go for it.

"Masked for testing" never makes sense, let alone perfect sense, because
the intent (testing) is prevented by the action (masking). On the
other hand, "unmasked for testing" would make perfect sense.


 jer



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Joshua Kinard
On 06/30/2014 09:25, Rich Freeman wrote:
> On Mon, Jun 30, 2014 at 12:01 AM, William Hubbs  wrote:
>>
>> On Sun, Jun 29, 2014 at 10:04:54AM -0400, Rich Freeman wrote:
>>> On Sun, Jun 29, 2014 at 8:36 AM, hasufell  wrote:
 This is still too vague for me. If it's expected to be short-term, then
 it can as well just land in ~arch.
>>>
>>> A package that hasn't been tested AT ALL doesn't belong in ~arch.
>>> Suppose the maintainer is unable to test some aspect of the package,
>>> or any aspect of the package?  Do we want it to break completely for
>>> ~arch?  In that event, nobody will run ~arch for that package, and
>>> then it still isn't getting tested.
>>
>> I'm not saying that we should just randomly throw something into ~arch
>> without testing it, but ~arch users are running ~arch with the
>> understanding that their systems will break from time to time and they
>> are expected to be able to deal with it when/if it happens. ~arch is
>> not a second stable branch.
> 
> Agree 100%.  I'm taking about masking things that HAVEN'T BEEN TESTED
> AT ALL.  The maintainer knows that they compile, and that is it.  Or
> maybe they tested it in a very limited set of circumstances but know
> that other untested circumstances are important to the users and they
> have definite plans to get them tested.

I think what needs to be defined here is "testing".  What if I know of a
group of packages that are not only open-source and compile w/o major
issues, but are in use in enterprise environments, and not yet in Gentoo?
Would not a "compile and ship it" approach, into "~arch", work best for
something like that?  Do I really need to set up a testing platform for them
and test each one out?

That's just one example, though.  Perhaps we need to work up some very broad
and general guidelines on what "testing" means, and apply that to ~arch.


>> In particular, I would argue that for system-critical packages, users
>> should be very careful about running ~arch unless they know what the
>> fallout can be.
> 
> I agree.  I think ~arch should break far more often than it does
> today.  However, I wouldn't extend that to sticking stuff in ~arch
> that hasn't even been executed.  If it is THAT unstable then nobody
> will want to run it, and that defeats the goal of having more testing.

I've been running ~arch for years and very rarely, do I see a breakage.
We're not one of the BSDs, or even Debian, in which we maintain a static
branch of specific package versions.  In a way, I view "arch" to imply
something very close to FreeBSD's -RELEASE branch, just with the flexibility
of getting new major revisions periodically.  "~arch" is more like -STABLE,
but it moves faster and potentially introduces minor breakages once in a
while, but nothing that requires a complete reinstall.

We don't really have anything that's like -CURRENT or a nightly-like build,
in which major, massive breakages are more common.  TBH, I don't know if we
should have something like that.  The hybrid-like approach we have now seems
to work out best for us.


>> Take a look at profiles/package.mask. You will see many packages in
>> there with the description, "masked for testing" on their masks, with no
>> bug references, that have been there for multiple years. My view is we
>> should either get those masks resolved or boot the affected
>> packages/versions out of the tree. If they haven't received rudimentary
>> testing by now, it is pretty obvious that no one cares about them.
> 
> Are they even maintained?

We probably just need to step up review and cleaning out of package.mask
more often.  Since Portage tools can parse the file already, it shouldn't be
too hard to determine if there are any masks in there for packages or
package versions that no longer exist in the tree and prune it down some.


> If not maintained, then leave them alone until treecleaned.  If they
> are maintained, then I'd be interested in hearing from maintainers as
> to what they're up to.  I wouldn't just remove the mask unless
> somebody is actually going to co-maintain.  The issue of absentee
> maintainers is a different one than masks, though obsolete masks is a
> symptom of it just like obsolete ebuilds are.

Perhaps some periodic, automated reminders to anyone who adds a package to
package.mask to check up on it?  If the mask persists for a while after such
a notification, it escalates to QA or to -dev?

-- 
Joshua Kinard
Gentoo/MIPS
ku...@gentoo.org
4096R/D25D95E3 2011-03-28

"The past tempts us, the present confuses us, the future frightens us.  And
our lives slip away, moment by moment, lost in that vast, terrible in-between."

--Emperor Turhan, Centauri Republic



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Joshua Kinard
On 06/30/2014 11:27, Jeroen Roovers wrote:
> On Mon, 30 Jun 2014 10:37:11 -0400
> Rich Freeman  wrote:
> 
>> You're basically asking for the practice of hard-masks for testing to
>> be banned.
> 
> My original point in the other thread was that "masked for testing" is
> not a valid reason. A reference to an outstanding issue, bug report,
> discussion or other resources would help users determine whether it's
> safe for them to unmask an ebuild locally. "Masked for testing" offers
> no guidance at all and is nothing more than a lazy substitute for real
> content.

I would agree to a point.  In the case of some toolchain related packages,
like gcc and binutils, "masked for testing" keeps potentially dangerous
system updates from propagating out to a majority of users.  However, those
users and developers who are quite avid about being on the forefront of the
latest and greatest already know how to unmask such packages and test them
out.  So a mask on "=sys-devel/gcc-4.9.0" with the reason of "Masked for
testing" makes perfect sense, especially since this version of gcc enables
strong stack-protection.

-- 
Joshua Kinard
Gentoo/MIPS
ku...@gentoo.org
4096R/D25D95E3 2011-03-28

"The past tempts us, the present confuses us, the future frightens us.  And
our lives slip away, moment by moment, lost in that vast, terrible in-between."

--Emperor Turhan, Centauri Republic



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Ian Stakenvicius
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 30/06/14 03:14 PM, Tom Wijsman wrote:
> On Mon, 30 Jun 2014 11:40:19 -0400 Ian Stakenvicius
>  wrote:
> 
>> On 30/06/14 11:36 AM, Michał Górny wrote:
>>> Dnia 2014-06-30, o godz. 11:22:07 Ian Stakenvicius
>>>  napisał(a):
>>> 
 Here's a great example of this -- dev-libs/nss-3.16-r1 is 
 p.masked by me for testing, because when I converted it to 
 multilib i needed to change the way it does some internal
 ABI determination tests, and although I know it does work
 fine on multilib-amd64 and (non-multilib) x86, I am not
 confident without more testing that it will work for
 cross-compiles or other non-multilib arches.  As such, it
 -is- in the tree, but I've masked it until I can test it
 myself in these circumstances or find someone else that can
 do it for me.
>>> 
>>> But... if you unmask it, someone will test it and report
>>> whether it works :P.
>>> 
> 
>> But... if I unmask it, -everyone- using ~arch will install it
>> and it'll break all the systems that it doesn't work on, which
>> -could- be quite a lot at this point.  :D
> 
> Setting up an overlay for this and poking a stick at a few
> developers to try it out could help as an intermediary test, to
> ensure that you don't break every ~arch user in the progress.
> Better than "all or nothing"...
> 
> 

Or i can just use the same stick to poke them about the p.masked
version in the tree. :)

All of this just means, to me, that as long as the packages indeed are
actively being pursued for testing, I think it's still fine to use
package.mask.  However, if things aren't being actively tested (ie
they've been forgotten about) then probably whomever added the mask
should be pinged relentlessly about it until it's resolved one way or
another.  At least, I would find it perfectly acceptable to being
pinged on any mask I've left rotting in the tree.
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.22 (GNU/Linux)

iF4EAREIAAYFAlOxvhUACgkQ2ugaI38ACPBqfQD/b4Rj0qoczFNwQO6jfnQjkL74
wFvxDV4SvER3BOyZRKkBAK5C63zG0YEAZvpfYTd6CwNLeX4cNdZXuVyMTqbPhx5k
=DbOV
-END PGP SIGNATURE-



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Rich Freeman
On Mon, Jun 30, 2014 at 3:11 PM, Tom Wijsman  wrote:
>
> A test of a package to determine whether it appears to be working OK or
> whether it destructs your system isn't too much asked for; if it works
> it can then be ~arch tested, if it breaks you have a bug # for p.mask.
>
> If someone can't test it at all, why was it added in the first place?

So that it can be tested?  Maybe the maintainer doesn't have the
ability to test the package (might require special hardware).  Maybe
the maintainer doesn't have the time to test it right away, but wants
to allow others to do so (especially if others show an interest).

In my example of mythtv, testing might require first updating all the
front-ends to be current and ensure that nothing breaks (it might only
be emerge --sync'ed monthly).  Then a window has to exist where
nothing will be recorded.  Then everything gets brought down and
backed up (not a big deal, but nobody is watching TV for a while).
Then you update everything and see if it works, perhaps having to
tweak things a bit.  Then you do the quick tests (record shows, play
things back, check the web front end).  Then you leave it alone for a
day and see if anybody screams - best not to do this if you'll be
really busy the next day.

If people are clamoring for an update, it may be more productive to
just let them have it with a disclaimer about quality, rather than
just putting them off for a week or two.

Sure, I can set up yet another overlay, which will be empty 99% of the
time.  But, what is the harm in just using a mask?  I've yet to leave
one sitting around for years (well, not for testing at least).

Rich



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Tom Wijsman
On Mon, 30 Jun 2014 11:32:35 -0500
William Hubbs  wrote:

> As said before, ~arch users know that their systems will break
> sometimes, so if the package works for you, unleash it on ~arch. If
> someone using a configuration you don't have finds that it breaks, I'm
> sure it would be reported. Then you could determine whether the bug is
> severe enough to warrant a mask.

As long as important/core/system packages don't result in a wide scale
breakage on ~arch this approach should be fine; we've been doing fine
before, so I don't think that this warrants a change in what we do.

Just want to note that you can get an idea from previous outages (or
similar events like python-exec / UPower) on how much testing is needed.

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Tom Wijsman
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Mon, 30 Jun 2014 11:40:19 -0400
Ian Stakenvicius  wrote:

> On 30/06/14 11:36 AM, Michał Górny wrote:
> > Dnia 2014-06-30, o godz. 11:22:07 Ian Stakenvicius 
> > napisał(a):
> > 
> >> Here's a great example of this -- dev-libs/nss-3.16-r1 is
> >> p.masked by me for testing, because when I converted it to
> >> multilib i needed to change the way it does some internal ABI
> >> determination tests, and although I know it does work fine on
> >> multilib-amd64 and (non-multilib) x86, I am not confident without
> >> more testing that it will work for cross-compiles or other
> >> non-multilib arches.  As such, it -is- in the tree, but I've
> >> masked it until I can test it myself in these circumstances or
> >> find someone else that can do it for me.
> > 
> > But... if you unmask it, someone will test it and report whether
> > it works :P.
> > 
> 
> But... if I unmask it, -everyone- using ~arch will install it and
> it'll break all the systems that it doesn't work on, which -could- be
> quite a lot at this point.  :D

Setting up an overlay for this and poking a stick at a few developers to
try it out could help as an intermediary test, to ensure that you don't
break every ~arch user in the progress. Better than "all or nothing"...

- -- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D
-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQEcBAEBAgAGBQJTsbcmAAoJEPWZc8roOL/QOVMH/3PXYSKNIOnEbsuo6JbHoksZ
UO7D88KNsN0Z8sbygsjM3H6Qkh6+iQSIqIhu8g6Y5OvT2bndz/qoJI3jIyO/Kjg/
no9tfiuCT61erHpQDg81LuPA2IaQnL1DbnNmsYl+j7SIMxu3R7nWLu0VmZbp1DA+
aEWn4eZX9z6IMqQWRDGmiJ7LAyJk36qFZwsvIlUJvfEJQEr0nIhJ+9UQsiNq0sPJ
ytZ5VI14MXW2bY84THWxn12Svey42AEsd9ggzgHnWp04v08NWseypvI69kAyvM0z
pu2G9k7QAx/ULNz9BuzZUm2vBO7D5qROy1G3EEY+GqySkqYNefOgobtY3CT/T8M=
=1qIF
-END PGP SIGNATURE-


Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Tom Wijsman
On Mon, 30 Jun 2014 10:48:22 -0400
Rich Freeman  wrote:

> On Mon, Jun 30, 2014 at 10:15 AM, Jeroen Roovers 
> wrote:
> > On Mon, 30 Jun 2014 09:25:27 -0400
> > Rich Freeman  wrote:
> >
> >> Agree 100%.  I'm taking about masking things that HAVEN'T BEEN
> >> TESTED AT ALL.  The maintainer knows that they compile, and that
> >> is it.
> >
> > Developers who "HAVEN'T [...] TESTED AT ALL" and still commit their
> > changes to the tree should immediately hand in their toys and leave
> > the project.
> 
> What harm does it cause to commit an untested package in a masked
> state to the tree?
> 
> Doing so violates no policy, and IMHO it shouldn't be considered a
> policy violation either, especially if it makes life easier on anybody
> who has actually volunteered to test it.

"should" != "must"; that joke aside, while it's not punishable by
policy (and shouldn't even be punished if it's not repeated behavior)
we rather need to keep the package.mask file of a reasonable size.

The goal of this file is to have an overview of what _is_ BROKEN; when
you add a lot of UNSURE, its contents will diverge away from this goal.

A test of a package to determine whether it appears to be working OK or
whether it destructs your system isn't too much asked for; if it works
it can then be ~arch tested, if it breaks you have a bug # for p.mask.

If someone can't test it at all, why was it added in the first place?

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Tom Wijsman
On Mon, 30 Jun 2014 10:12:14 +0200
"Andreas K. Huettel"  wrote:

> Masked commit:
> * a part of a bigger version bump, i.e. one of many packages that
> need to update together
> * or something where I *know* that issues preventing normal function
> still exist. I.e., I want to be able to ask others for testing, but
> something is still missing and I'm actively working on it.

This is how I like it to be; for ebuilds that are known as broken,
even when that is due to them being incomplete (multiple packages).

When testing packages are added as masked, they miss out on more
testing; now consider that they might just work, you can miss out on
smaller edge case^ bugs if a faster stabilization* must follow later.

 ^ The more users, the more different system environments, ...

 * Reverse dependency that needs it, security and so on.

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


[OT] Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Tom Wijsman
On Mon, 30 Jun 2014 02:04:20 -0400
Alexandre Rostovtsev  wrote:

> I realize that not everybody agrees with me, but I see ~arch as a
> "semi-stable" branch - an internally consistent branch for people who
> don't feel like maintaining a horrific mess of keywords and masks in
> their /etc/portage and don't want to wait weeks/months for bugfixes to
> their favorite ebuilds to be marked stable by overworked arch teams,
> and who don't mind seeing an occasional build failure or crash as a
> consequence of standing closer to the bleeding edge.

[[ TL;DR: This mail is a confirmation with some more side details. ]]

+1. I do agree; it works well, and the occasional regression that
manages to get through often isn't too bad. Maybe once in multiple
years you end up with a broken boot; however, that's not a huge problem
if you plan upgrades to not be in front of a deadline / presentation. 

> In my view, experimental work not ready for general exposure should be
> kept in overlays and/or the main tree's package.mask, depending on how
> the particular project's workflow is organized.

Indeed; take for example MATE, I bump the packages over a span of a few
days and keep it masked until mate-base/mate. With GNOME it is similar.

This is a case where I need more packages do the standard developer
testing; so, I can't just have an individual package unmasked without
being able to confirm that it actually works at run-time.

For version bumps / new packages I just don't add them to the tree till
I have confidently tested for it to not be a bug magnet, but rather a
stabilization candidate; I thus don't understand such p.mask entries. 

> At any given stability level, a system-critical library ideally ought
> to be better-tested than, say, a game or a media player. In practice,
> this sometimes doesn't happen, because some system-critical library
> maintainers don't care about ~arch users and dump experimental code in
> their laps, and in my view that's a bad thing because it encourages
> users to come up with ad-hoc mixed arch/~arch setups which have
> *never* been tested by any developer.

The granted ability to make a choice brings its own limits. :)

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D


signature.asc
Description: PGP signature


Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread William Hubbs
On Mon, Jun 30, 2014 at 01:07:17PM -0400, Rich Freeman wrote:
> On Mon, Jun 30, 2014 at 12:32 PM, William Hubbs  wrote:
> > On Mon, Jun 30, 2014 at 06:13:45PM +0200, Jeroen Roovers wrote:
> >> On Mon, 30 Jun 2014 11:40:19 -0400
> >> Ian Stakenvicius  wrote:
> >>
> >> > But... if I unmask it, -everyone- using ~arch will install it and
> >> > it'll break all the systems that it doesn't work on, which -could- be
> >> > quite a lot at this point.  :D
> >>
> >> Which is great, because then you have an actual test result, whereas
> >> before you had nothing but a stupid mask.
> >>
> >> And lots of people are suddenly very much interested in getting any and
> >> all bugs fixed in the new ebuild, whereas before you only had the stupid
> >> mask.
> >>
> >>
> >>  jer
> >
> > I am going to agree with Jer on this.
> >
> > As said before, ~arch users know that their systems will break
> > sometimes, so if the package works for you, unleash it on ~arch. If
> > someone using a configuration you don't have finds that it breaks, I'm
> > sure it would be reported. Then you could determine whether the bug is
> > severe enough to warrant a mask.
> >
> 
> We're not talking about packages that work for the maintainer.  We're
> talking about packages where the maintainer doesn't know if they work.
> Or at least, those are the packages I'm talking about.

The debate is sort of two-pronged, and I split out the package.mask
question to another thread. There are 6 year old p.mask entries that
just say "masked for testing", and those are listed in the new thread I
started.

> Everybody seems to think that this is a debate between having newer
> ebuilds in the tree masked vs unmasked.  This is a debate between
> having newer ebuilds in the tree masked vs not having them in the tree
> at all.  Nobody is going to put an ebuild in the tree unmasked if they
> don't know that it is going to work, and per earlier comments anybody
> who does that probably shouldn't have commit privs.
 
 What was said earlier is if a maintainer just runs compile tests then
 commits the new version that person probably shouldn't have commit
 privs.

> Rules won't make maintainers do more work.  They can only prevent
> maintainers from doing certain kinds of work.  That is why I tend to
> oppose more rules unless they actually are preventing some kind of
> harm, or having a likely benefit.  I just don't see the benefit here.
 
 The benefit of getting packages into ~arch vs "masked for testing" is
 that maintainers can get users to test their packages in configurations
 that the maintainers are not able to test with.

 Also, it opens up the package to more testing because it will be
 exposed to more users with different configurations.

> I'm fine with a policy that says that packages should only be masked
> for testing if they're actually being tested and there is some kind of
> roadmap for getting rid of the mask.
 
 The problem I see with "masked for testing" is probably similar to what
 you are talking about. If something is "masked for testing", there
 should be a push from somewhere to not keep it "masked for testing".

> I don't like seeing 3 year old masks in the profile either.  Let's try
> to curtail that kind of thing.  However, I think we're in danger of
> throwing the baby out with the bath water here.  I cringe anytime I
> hear somebody say that ~arch has fewer issues than stable, but the
> solution to that isn't to go looking for opportunities to break ~arch.
 
 I don't like seeing old masks in the profiles either. p.mask
 should never be permanent, but there are other issues associated with
 making that happen that should be in other threads probably.

All I'm saying about ~arch is that it is known to break and will
continue to break, so lets not try to pretend otherwise. Someone in this
thread said ~arch is semi-stable; it is not. If you use ~arch you are on
your own and expected to be able to handle any breakage that comes up.

William



signature.asc
Description: Digital signature


Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Rich Freeman
On Mon, Jun 30, 2014 at 12:32 PM, William Hubbs  wrote:
> On Mon, Jun 30, 2014 at 06:13:45PM +0200, Jeroen Roovers wrote:
>> On Mon, 30 Jun 2014 11:40:19 -0400
>> Ian Stakenvicius  wrote:
>>
>> > But... if I unmask it, -everyone- using ~arch will install it and
>> > it'll break all the systems that it doesn't work on, which -could- be
>> > quite a lot at this point.  :D
>>
>> Which is great, because then you have an actual test result, whereas
>> before you had nothing but a stupid mask.
>>
>> And lots of people are suddenly very much interested in getting any and
>> all bugs fixed in the new ebuild, whereas before you only had the stupid
>> mask.
>>
>>
>>  jer
>
> I am going to agree with Jer on this.
>
> As said before, ~arch users know that their systems will break
> sometimes, so if the package works for you, unleash it on ~arch. If
> someone using a configuration you don't have finds that it breaks, I'm
> sure it would be reported. Then you could determine whether the bug is
> severe enough to warrant a mask.
>

We're not talking about packages that work for the maintainer.  We're
talking about packages where the maintainer doesn't know if they work.
Or at least, those are the packages I'm talking about.

Everybody seems to think that this is a debate between having newer
ebuilds in the tree masked vs unmasked.  This is a debate between
having newer ebuilds in the tree masked vs not having them in the tree
at all.  Nobody is going to put an ebuild in the tree unmasked if they
don't know that it is going to work, and per earlier comments anybody
who does that probably shouldn't have commit privs.

Rules won't make maintainers do more work.  They can only prevent
maintainers from doing certain kinds of work.  That is why I tend to
oppose more rules unless they actually are preventing some kind of
harm, or having a likely benefit.  I just don't see the benefit here.

I'm fine with a policy that says that packages should only be masked
for testing if they're actually being tested and there is some kind of
roadmap for getting rid of the mask.

I don't like seeing 3 year old masks in the profile either.  Let's try
to curtail that kind of thing.  However, I think we're in danger of
throwing the baby out with the bath water here.  I cringe anytime I
hear somebody say that ~arch has fewer issues than stable, but the
solution to that isn't to go looking for opportunities to break ~arch.

Rich



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Jeroen Roovers
On Mon, 30 Jun 2014 12:40:59 -0400
Rich Freeman  wrote:

> I'm perfectly fine with the suggestion of requiring a bug reference
> when masking for testing.  I think that adds value.

You don't mean a reference to a bug report that merely says "masked for
testing" or purports to be a "tracker" (but isn't), right?


 jer



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Rich Freeman
On Mon, Jun 30, 2014 at 12:13 PM, Jeroen Roovers  wrote:
> On Mon, 30 Jun 2014 11:40:19 -0400
> Ian Stakenvicius  wrote:
>
>> But... if I unmask it, -everyone- using ~arch will install it and
>> it'll break all the systems that it doesn't work on, which -could- be
>> quite a lot at this point.  :D
>
> Which is great, because then you have an actual test result, whereas
> before you had nothing but a stupid mask.
>
> And lots of people are suddenly very much interested in getting any and
> all bugs fixed in the new ebuild, whereas before you only had the stupid
> mask.

This subjects a lot of users to unnecessary inconvenience.

Testing is a necessary inconvenience.  Anybody who uses ~arch should
be prepared for things to sometimes break.  However, foisting
completely alpha stuff on users that the maintainer simply hasn't
gotten a chance to test yet seems excessive.

I'm perfectly fine with the suggestion of requiring a bug reference
when masking for testing.  I think that adds value.  I just don't
think that giving the maintainers only the options of introducing
untested packages directly to ~arch or not putting them in the tree at
all is an unnecessary dichotomy.  Why tie our own hands?

Again, by all means lets require bug references and consider a masks
in the absence of activity a QA issue.  I'm less concerned with the
actual duration and more with the level of activity.  If it takes six
months of hard work to get something into the tree, that isn't a
problem, but six months of just rusting is a separate matter.

Rich



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread William Hubbs
On Mon, Jun 30, 2014 at 06:13:45PM +0200, Jeroen Roovers wrote:
> On Mon, 30 Jun 2014 11:40:19 -0400
> Ian Stakenvicius  wrote:
> 
> > But... if I unmask it, -everyone- using ~arch will install it and
> > it'll break all the systems that it doesn't work on, which -could- be
> > quite a lot at this point.  :D
> 
> Which is great, because then you have an actual test result, whereas
> before you had nothing but a stupid mask.
> 
> And lots of people are suddenly very much interested in getting any and
> all bugs fixed in the new ebuild, whereas before you only had the stupid
> mask.
> 
> 
>  jer

I am going to agree with Jer on this.

As said before, ~arch users know that their systems will break
sometimes, so if the package works for you, unleash it on ~arch. If
someone using a configuration you don't have finds that it breaks, I'm
sure it would be reported. Then you could determine whether the bug is
severe enough to warrant a mask.

William



signature.asc
Description: Digital signature


Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Jeroen Roovers
On Mon, 30 Jun 2014 11:40:19 -0400
Ian Stakenvicius  wrote:

> But... if I unmask it, -everyone- using ~arch will install it and
> it'll break all the systems that it doesn't work on, which -could- be
> quite a lot at this point.  :D

Which is great, because then you have an actual test result, whereas
before you had nothing but a stupid mask.

And lots of people are suddenly very much interested in getting any and
all bugs fixed in the new ebuild, whereas before you only had the stupid
mask.


 jer



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Ian Stakenvicius
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 30/06/14 11:36 AM, Michał Górny wrote:
> Dnia 2014-06-30, o godz. 11:22:07 Ian Stakenvicius 
> napisał(a):
> 
>> -BEGIN PGP SIGNED MESSAGE- Hash: SHA256
>> 
>> On 30/06/14 09:25 AM, Rich Freeman wrote:
>>> On Mon, Jun 30, 2014 at 12:01 AM, William Hubbs 
>>>  wrote:
 
 On Sun, Jun 29, 2014 at 10:04:54AM -0400, Rich Freeman
 wrote:
> On Sun, Jun 29, 2014 at 8:36 AM, hasufell
>  wrote:
>> This is still too vague for me. If it's expected to be 
>> short-term, then it can as well just land in ~arch.
> 
> A package that hasn't been tested AT ALL doesn't belong in 
> ~arch. Suppose the maintainer is unable to test some aspect
> of the package, or any aspect of the package?  Do we want
> it to break completely for ~arch?  In that event, nobody
> will run ~arch for that package, and then it still isn't
> getting tested.
 
 I'm not saying that we should just randomly throw something
 into ~arch without testing it, but ~arch users are running
 ~arch with the understanding that their systems will break
 from time to time and they are expected to be able to deal
 with it when/if it happens. ~arch is not a second stable
 branch.
>>> 
>>> Agree 100%.  I'm taking about masking things that HAVEN'T BEEN 
>>> TESTED AT ALL.  The maintainer knows that they compile, and
>>> that is it.  Or maybe they tested it in a very limited set of
>>> circumstances but know that other untested circumstances are
>>> important to the users and they have definite plans to get them
>>> tested.
>>> 
>> 
>> 
>> Here's a great example of this -- dev-libs/nss-3.16-r1 is
>> p.masked by me for testing, because when I converted it to
>> multilib i needed to change the way it does some internal ABI
>> determination tests, and although I know it does work fine on
>> multilib-amd64 and (non-multilib) x86, I am not confident without
>> more testing that it will work for cross-compiles or other
>> non-multilib arches.  As such, it -is- in the tree, but I've
>> masked it until I can test it myself in these circumstances or
>> find someone else that can do it for me.
> 
> But... if you unmask it, someone will test it and report whether
> it works :P.
> 

But... if I unmask it, -everyone- using ~arch will install it and
it'll break all the systems that it doesn't work on, which -could- be
quite a lot at this point.  :D


-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.22 (GNU/Linux)

iF4EAREIAAYFAlOxhOIACgkQ2ugaI38ACPD4NwD/Spcjj7VPGNIz+FCVTkSUDmKZ
ghVqFhuiemJO7+G62wgA/jc7bpyPsu8S7wbbNs3UYGqE//MyVYNWHDmOoXDZ3Qsk
=FEfS
-END PGP SIGNATURE-



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Michał Górny
Dnia 2014-06-30, o godz. 11:22:07
Ian Stakenvicius  napisał(a):

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA256
> 
> On 30/06/14 09:25 AM, Rich Freeman wrote:
> > On Mon, Jun 30, 2014 at 12:01 AM, William Hubbs
> >  wrote:
> >> 
> >> On Sun, Jun 29, 2014 at 10:04:54AM -0400, Rich Freeman wrote:
> >>> On Sun, Jun 29, 2014 at 8:36 AM, hasufell 
> >>> wrote:
>  This is still too vague for me. If it's expected to be
>  short-term, then it can as well just land in ~arch.
> >>> 
> >>> A package that hasn't been tested AT ALL doesn't belong in
> >>> ~arch. Suppose the maintainer is unable to test some aspect of
> >>> the package, or any aspect of the package?  Do we want it to
> >>> break completely for ~arch?  In that event, nobody will run
> >>> ~arch for that package, and then it still isn't getting
> >>> tested.
> >> 
> >> I'm not saying that we should just randomly throw something into
> >> ~arch without testing it, but ~arch users are running ~arch with
> >> the understanding that their systems will break from time to time
> >> and they are expected to be able to deal with it when/if it
> >> happens. ~arch is not a second stable branch.
> > 
> > Agree 100%.  I'm taking about masking things that HAVEN'T BEEN
> > TESTED AT ALL.  The maintainer knows that they compile, and that is
> > it.  Or maybe they tested it in a very limited set of circumstances
> > but know that other untested circumstances are important to the
> > users and they have definite plans to get them tested.
> > 
> 
> 
> Here's a great example of this -- dev-libs/nss-3.16-r1 is p.masked by
> me for testing, because when I converted it to multilib i needed to
> change the way it does some internal ABI determination tests, and
> although I know it does work fine on multilib-amd64 and (non-multilib)
> x86, I am not confident without more testing that it will work for
> cross-compiles or other non-multilib arches.  As such, it -is- in the
> tree, but I've masked it until I can test it myself in these
> circumstances or find someone else that can do it for me.

But... if you unmask it, someone will test it and report whether it
works :P.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Jeroen Roovers
On Mon, 30 Jun 2014 10:37:11 -0400
Rich Freeman  wrote:

> You're basically asking for the practice of hard-masks for testing to
> be banned.

My original point in the other thread was that "masked for testing" is
not a valid reason. A reference to an outstanding issue, bug report,
discussion or other resources would help users determine whether it's
safe for them to unmask an ebuild locally. "Masked for testing" offers
no guidance at all and is nothing more than a lazy substitute for real
content.


 jer



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Ian Stakenvicius
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 30/06/14 09:25 AM, Rich Freeman wrote:
> On Mon, Jun 30, 2014 at 12:01 AM, William Hubbs
>  wrote:
>> 
>> On Sun, Jun 29, 2014 at 10:04:54AM -0400, Rich Freeman wrote:
>>> On Sun, Jun 29, 2014 at 8:36 AM, hasufell 
>>> wrote:
 This is still too vague for me. If it's expected to be
 short-term, then it can as well just land in ~arch.
>>> 
>>> A package that hasn't been tested AT ALL doesn't belong in
>>> ~arch. Suppose the maintainer is unable to test some aspect of
>>> the package, or any aspect of the package?  Do we want it to
>>> break completely for ~arch?  In that event, nobody will run
>>> ~arch for that package, and then it still isn't getting
>>> tested.
>> 
>> I'm not saying that we should just randomly throw something into
>> ~arch without testing it, but ~arch users are running ~arch with
>> the understanding that their systems will break from time to time
>> and they are expected to be able to deal with it when/if it
>> happens. ~arch is not a second stable branch.
> 
> Agree 100%.  I'm taking about masking things that HAVEN'T BEEN
> TESTED AT ALL.  The maintainer knows that they compile, and that is
> it.  Or maybe they tested it in a very limited set of circumstances
> but know that other untested circumstances are important to the
> users and they have definite plans to get them tested.
> 


Here's a great example of this -- dev-libs/nss-3.16-r1 is p.masked by
me for testing, because when I converted it to multilib i needed to
change the way it does some internal ABI determination tests, and
although I know it does work fine on multilib-amd64 and (non-multilib)
x86, I am not confident without more testing that it will work for
cross-compiles or other non-multilib arches.  As such, it -is- in the
tree, but I've masked it until I can test it myself in these
circumstances or find someone else that can do it for me.


-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.22 (GNU/Linux)

iF4EAREIAAYFAlOxgJ8ACgkQ2ugaI38ACPC8zAD/XwulPJp4f3xNFe4ZP7gE+kmp
qhmdvJjUFyWW8j1dTHMA/jFc/mrH/dnyq/MJWBlUbEFY3ccebpLw/8C6/IaSeXw4
=iKL1
-END PGP SIGNATURE-



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Rich Freeman
On Mon, Jun 30, 2014 at 10:15 AM, Jeroen Roovers  wrote:
> On Mon, 30 Jun 2014 09:25:27 -0400
> Rich Freeman  wrote:
>
>> Agree 100%.  I'm taking about masking things that HAVEN'T BEEN TESTED
>> AT ALL.  The maintainer knows that they compile, and that is it.
>
> Developers who "HAVEN'T [...] TESTED AT ALL" and still commit their
> changes to the tree should immediately hand in their toys and leave
> the project.

What harm does it cause to commit an untested package in a masked
state to the tree?

Doing so violates no policy, and IMHO it shouldn't be considered a
policy violation either, especially if it makes life easier on anybody
who has actually volunteered to test it.

Real life example:

Mythtv has a fixes branch which I try to update monthly, but sometimes
it is every few months.  Sometimes users ping me because a fix is
likely to be useful to them, or perhaps to others as well (especially
if it has been a while since my last update).  Generally I don't put
new updates in the tree until I've run them for a day or two at home.
That to me is the threshold of minimal testing appropriate for ~arch,
but not stable.

Some users are clamoring for a new set of fixes, but I don't have time
to deploy it at home and test for a day or two.  Mythtv is not
compatible across versions and involves client/server tiers, a php web
interface, and plugins.  So, I bump it, test-compile it, and mask it
and announce it in the bug so those who really want it can have it.
It is probably fine, but I haven't so much as run it so I'm not going
to foist it on ~arch.  A few days or a week later I get around to
testing it myself, and unmask it.

Just what value does the distro obtain by banning that workflow?
Sure, I could stick it in my overlay, but that is an extra step for
users.  I just don't see a quality issue here unless we're talking
about neglect, and in general neglect will cause quality issues no
matter how many rules we create.

Rich



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Rich Freeman
On Mon, Jun 30, 2014 at 7:29 AM, hasufell  wrote:
> Huh? That's exactly the place. However, if you mean "AT ALL" in the
> sense that no one ever tried to compile it, then the guy who comitted
> should not have commit rights.

I mean in the sense that it has been compiled, but that it hasn't been
executed, or the maintainer believes that it significant portions of
it haven't been executed.

Simply being able to compile something shouldn't really be grounds for
sticking it in ~arch, at least not for x86/amd64.  I could see that
workflow making more sense for obscure archs where users are happy to
have any packages at all and the fact that something compiles is a
useful data point.

>
>> Sure, it could go into an overlay, but for that matter so could all of ~arch.
>
> Not at all. I made a clear distinction for that. Overlays have some good
> use cases, but even those get abused and we end up with projects not
> caring to import ebuilds to the tree anymore.

I have mixed feelings on this.

On the one hand I think having "first-class" overlays could be a
better solution to getting more outside contribution, and allowing for
more variety in QA standards (with users being able to choose).  Many
distros have a large percentage of their packages in unofficial
repositories of some kind.

On the other hand, Gentoo is not release-based, which means that
overlays will basically always be broken.  There has been talk about
better announcing changes to common deps and not just quietly patching
the tree so that overlay maintainers aren't behind the times.
However, overlays will never get systematically tested before changes
are made in the main tree, and since we don't have releases that is
going to make them problematic.

So, I guess I tend to agree with you more than not.

> To make a blunt statement here: many commits in profiles/ cause trouble
> for the user in one way or another. Some people on the forums already
> told us they want to switch, because they are sick of dealing with world
> updates since they seem get more and more complicated. For multilib we
> have been abusing profiles/ a lot, since there is only one alternative
> way which is almost impossible to carry out given the large scale of
> these changes: a parallel branch which gets imported in one blow.
>
> Profile hackery has to get less. It's not improving user experience.
> Users are switching to ~arch, because people tell them on IRC and
> elsewhere that it's "almost stable" and that arch is too slow. That
> makes the situation even worse.

I couldn't agree more here.  If we're going to define ~arch as
basically stable, and arch as out-of-date, then we might as well drop
keywords entirely.  That makes no sense, unless you're actually
backporting things like Debian does, which we don't.

>
> But I doubt we will come to any conclusion here. This thread will get
> some bikeshed and if someone really cares, he will bring it up to the
> council which will basically say "we encourage foo, but allow bar as
> well and leave anything else up to the maintainer", neither deciding on
> a real 3rd branch, nor declining it (because if they would decide on a
> 3rd branch, they would actually have to come up with a PMS addition that
> is sane and not ambigous like hardmasks which are used for all random
> sorts of things... and don't tell me hardmask messages can be used as an
> API).
>

You're basically asking for the practice of hard-masks for testing to
be banned.  If the council disagrees, it doesn't mean that somebody
has to come up with some mechanism to have some full-featured 3rd
branch in Gentoo.  Maybe they just agree that on occasion it is useful
to use hard-masks for testing.

Nobody is saying that these masks should sit around for months.  That
falls into the same category as packages that haven't been revbumped
in months despite upstream having new releases.

Rich



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Jeroen Roovers
On Mon, 30 Jun 2014 09:25:27 -0400
Rich Freeman  wrote:

> Agree 100%.  I'm taking about masking things that HAVEN'T BEEN TESTED
> AT ALL.  The maintainer knows that they compile, and that is it.

Developers who "HAVEN'T [...] TESTED AT ALL" and still commit their
changes to the tree should immediately hand in their toys and leave
the project.


 jer



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Alexandre Rostovtsev
On Mon, 2014-06-30 at 11:29 +, hasufell wrote:
> > I agree that masking for testing is like having a 3rd branch, but I'm
> > not convinced that this is a bad thing.
> 
> I have to reiterate:
> * increases the workload, because we are effectively running 3 branches
> * decreases the amount of testing for that time period, because... it's
> masked
> * causes confusion (see this thread)

A branch is is supposed to be internally consistent: for any X and Y,
the latest version of X from a given branch is in theory compatible with
the latest version of Y from the same branch. If they are not
compatible, there should be a bug that somebody is actively working on
resolving, or a blocker dependency, and such blockers ought to be
relatively rare to make things easy for human minds and package
managers.

Masked packages are not a third branch. Some packages are hardmasked for
being untested, some for impossible-to-fix bugs, some are known to break
a reverse dependency and are waiting for that reverse dependency to be
updated, some are lastrited for removal in 30 days. There is absolutely
no expectation that all masked packages are compatible with each other.

> * decreases the quality of our stable branch, because people suddenly
> expect the unstable branch to be ...stable and don't bother with filing
> stabilization requests anymore

Stablereq for wine-1.6.2 was filed in February. It got stabilized on
amd64 exactly 4 months later.

Security stablereq for freetype-2.5.3-r1 was filed in March for all
arches. Thus far, only hppa and ia64 stabilized it.

People don't bother with filing stabilization requests because they
realize that arch teams usually have a long backlog of existing
requests, and might take weeks/months to get to your new request.
Especially if your new request depends on other stablereqs.


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Rich Freeman
On Mon, Jun 30, 2014 at 12:01 AM, William Hubbs  wrote:
>
> On Sun, Jun 29, 2014 at 10:04:54AM -0400, Rich Freeman wrote:
>> On Sun, Jun 29, 2014 at 8:36 AM, hasufell  wrote:
>> > This is still too vague for me. If it's expected to be short-term, then
>> > it can as well just land in ~arch.
>>
>> A package that hasn't been tested AT ALL doesn't belong in ~arch.
>> Suppose the maintainer is unable to test some aspect of the package,
>> or any aspect of the package?  Do we want it to break completely for
>> ~arch?  In that event, nobody will run ~arch for that package, and
>> then it still isn't getting tested.
>
> I'm not saying that we should just randomly throw something into ~arch
> without testing it, but ~arch users are running ~arch with the
> understanding that their systems will break from time to time and they
> are expected to be able to deal with it when/if it happens. ~arch is
> not a second stable branch.

Agree 100%.  I'm taking about masking things that HAVEN'T BEEN TESTED
AT ALL.  The maintainer knows that they compile, and that is it.  Or
maybe they tested it in a very limited set of circumstances but know
that other untested circumstances are important to the users and they
have definite plans to get them tested.

> In particular, I would argue that for system-critical packages, users
> should be very careful about running ~arch unless they know what the
> fallout can be.

I agree.  I think ~arch should break far more often than it does
today.  However, I wouldn't extend that to sticking stuff in ~arch
that hasn't even been executed.  If it is THAT unstable then nobody
will want to run it, and that defeats the goal of having more testing.

> Take a look at profiles/package.mask. You will see many packages in
> there with the description, "masked for testing" on their masks, with no
> bug references, that have been there for multiple years. My view is we
> should either get those masks resolved or boot the affected
> packages/versions out of the tree. If they haven't received rudimentary
> testing by now, it is pretty obvious that no one cares about them.

Are they even maintained?

If not maintained, then leave them alone until treecleaned.  If they
are maintained, then I'd be interested in hearing from maintainers as
to what they're up to.  I wouldn't just remove the mask unless
somebody is actually going to co-maintain.  The issue of absentee
maintainers is a different one than masks, though obsolete masks is a
symptom of it just like obsolete ebuilds are.

Rich



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread hasufell
Rich Freeman:> On Sun, Jun 29, 2014 at 8:36 AM, hasufell
 wrote:
>> This is still too vague for me. If it's expected to be short-term, then
>> it can as well just land in ~arch.
> 
> A package that hasn't been tested AT ALL doesn't belong in ~arch.

Huh? That's exactly the place. However, if you mean "AT ALL" in the
sense that no one ever tried to compile it, then the guy who comitted
should not have commit rights.

> Suppose the maintainer is unable to test some aspect of the package,
> or any aspect of the package?  Do we want it to break completely for
> ~arch?  In that event, nobody will run ~arch for that package, and
> then it still isn't getting tested.

In that event, you will get a bug report VERY soon.

> I agree that masking for testing is like having a 3rd branch, but I'm
> not convinced that this is a bad thing.

I have to reiterate:
* increases the workload, because we are effectively running 3 branches
* decreases the amount of testing for that time period, because... it's
masked
* causes confusion (see this thread)
* decreases the quality of our stable branch, because people suddenly
expect the unstable branch to be ...stable and don't bother with filing
stabilization requests anymore
* makes the whole testing/stabilization iteration actually slower,
possibly even causing unnecessary exposures to security issues
* causes inconsistency, because not everyone actually agrees on the
3-branches concept and it was never actually decided to be one

> Sure, it could go into an overlay, but for that matter so could all of ~arch.

Not at all. I made a clear distinction for that. Overlays have some good
use cases, but even those get abused and we end up with projects not
caring to import ebuilds to the tree anymore.

To make the situation even worse, a lot of people don't mask broken
packages if they have ever been in ~arch, as if this is a one-way road
from hardmask->keywordmask->stable. No, it isn't.

> I guess the question is, what exactly are we trying to fix?  Even if
> occasionally a maintainer drops the ball and leaves something masked
> for a year, how is that different from a maintainer dropping the ball
> and not adding a new release to the main tree for a year?  Would we be
> better off if Docker 1 wasn't in the tree at all?  If it happened to
> have a known issue would ~arch users be better off if some other dev
> came along and helpfully added it to the tree unmasked no realizing
> that somebody else was already working on it?

Trying to fix
* workflow
* user experience
* quality of stable branch

Inconsistent usage of hardmasks is only one problem here, but it is one.


So, from my POV hardmasks are reasonable for these use cases:
* package was imported to ~arch, turned out broken, bugs are difficult
to fix, no improvement upstream
* package has security issues, but we don't want it removed (happens a
lot for games)
* package is known to be broken, but we want it in the tree (like
googleearth)
* package is a library and is either known to or expected to break more
than half of it's consumers

The last 3 points can, depending on the actual situation, be a good use
case for an overlay. Some already do it, including for non-trivial
libraries.


To make a blunt statement here: many commits in profiles/ cause trouble
for the user in one way or another. Some people on the forums already
told us they want to switch, because they are sick of dealing with world
updates since they seem get more and more complicated. For multilib we
have been abusing profiles/ a lot, since there is only one alternative
way which is almost impossible to carry out given the large scale of
these changes: a parallel branch which gets imported in one blow.

Profile hackery has to get less. It's not improving user experience.
Users are switching to ~arch, because people tell them on IRC and
elsewhere that it's "almost stable" and that arch is too slow. That
makes the situation even worse.


In addition, we should make the most important arch testing
points/techniques part of the quizzes and allow maintainers to carry out
stabilization on major arches if they have access to them (that doesn't
mean they have to, they can still request help from the dedicated arch
teams).

Having no clear release scheme can be neck-breaking for a project.
Rolling release or not.

But I doubt we will come to any conclusion here. This thread will get
some bikeshed and if someone really cares, he will bring it up to the
council which will basically say "we encourage foo, but allow bar as
well and leave anything else up to the maintainer", neither deciding on
a real 3rd branch, nor declining it (because if they would decide on a
3rd branch, they would actually have to come up with a PMS addition that
is sane and not ambigous like hardmasks which are used for all random
sorts of things... and don't tell me hardmask messages can be used as an
API).



Re: [gentoo-dev] package.mask vs ~arch

2014-06-30 Thread Andreas K. Huettel
Am Montag, 30. Juni 2014, 06:01:53 schrieb William Hubbs:
> 
> I'm not saying that we should just randomly throw something into ~arch
> without testing it, but ~arch users are running ~arch with the
> understanding that their systems will break from time to time and they
> are expected to be able to deal with it when/if it happens. ~arch is
> not a second stable branch.
> 

Hey William, 

here's my take:

Masked commit:
* a part of a bigger version bump, i.e. one of many packages that need to 
update together
* or something where I *know* that issues preventing normal function still 
exist. I.e., I want to be able to ask others for testing, but something is 
still missing and I'm actively working on it.

~arch commit: 
* I'm reasonably sure that it should work; it works for me.

Now, one can argue that work in progress should go into an overlay. That in my 
opinion makes sense for e.g. kde packages and kde overlay, or qt packages and 
qt overlay, or similar. Making a fresh overlay for one package or asking to 
add my dev overlay for one required ebuild makes no sense. 

Only my opinion...
Cheers, Andreas


-- 

Andreas K. Huettel
Gentoo Linux developer 
dilfri...@gentoo.org
http://www.akhuettel.de/



signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] package.mask vs ~arch

2014-06-29 Thread Alexandre Rostovtsev
On Sun, 2014-06-29 at 23:01 -0500, William Hubbs wrote:
> All,
> 
> I am starting a new thread so we don't refer to a specific package, but I
> am quoting Rich and hasufell from the previous masking thread.
> 
> On Sun, Jun 29, 2014 at 10:04:54AM -0400, Rich Freeman wrote:
> > On Sun, Jun 29, 2014 at 8:36 AM, hasufell  wrote:
> > > This is still too vague for me. If it's expected to be short-term, then
> > > it can as well just land in ~arch.
> > 
> > A package that hasn't been tested AT ALL doesn't belong in ~arch.
> > Suppose the maintainer is unable to test some aspect of the package,
> > or any aspect of the package?  Do we want it to break completely for
> > ~arch?  In that event, nobody will run ~arch for that package, and
> > then it still isn't getting tested.
> 
> I'm not saying that we should just randomly throw something into ~arch
> without testing it, but ~arch users are running ~arch with the
> understanding that their systems will break from time to time and they
> are expected to be able to deal with it when/if it happens. ~arch is
> not a second stable branch.

I realize that not everybody agrees with me, but I see ~arch as a
"semi-stable" branch - an internally consistent branch for people who
don't feel like maintaining a horrific mess of keywords and masks in
their /etc/portage and don't want to wait weeks/months for bugfixes to
their favorite ebuilds to be marked stable by overworked arch teams, and
who don't mind seeing an occasional build failure or crash as a
consequence of standing closer to the bleeding edge.

In my view, experimental work not ready for general exposure should be
kept in overlays and/or the main tree's package.mask, depending on how
the particular project's workflow is organized.

> > I agree that masking for testing is like having a 3rd branch, but I'm
> > not convinced that this is a bad thing.  ~arch should be for packages
> > that have received rudimentary testing and which are ready for testing
> > by a larger population.  Masking should be used for packages that
> > haven't received rudimentary testing - they might not have been tested
> > at all.
> 
> The concern with this argument is  the definition of rudimentary testing
> is subjective, especially when a package supports many possible
> configurations.
> 
> I think some packages need wide testing before they go stable, and that
> is where ~arch can help out.
> 
> In particular, I would argue that for system-critical packages, users
> should be very careful about running ~arch unless they know what the
> fallout can be.

At any given stability level, a system-critical library ideally ought to
be better-tested than, say, a game or a media player. In practice, this
sometimes doesn't happen, because some system-critical library
maintainers don't care about ~arch users and dump experimental code in
their laps, and in my view that's a bad thing because it encourages
users to come up with ad-hoc mixed arch/~arch setups which have *never*
been tested by any developer.


signature.asc
Description: This is a digitally signed message part


[gentoo-dev] package.mask vs ~arch

2014-06-29 Thread William Hubbs
All,

I am starting a new thread so we don't refer to a specific package, but I
am quoting Rich and hasufell from the previous masking thread.

On Sun, Jun 29, 2014 at 10:04:54AM -0400, Rich Freeman wrote:
> On Sun, Jun 29, 2014 at 8:36 AM, hasufell  wrote:
> > This is still too vague for me. If it's expected to be short-term, then
> > it can as well just land in ~arch.
> 
> A package that hasn't been tested AT ALL doesn't belong in ~arch.
> Suppose the maintainer is unable to test some aspect of the package,
> or any aspect of the package?  Do we want it to break completely for
> ~arch?  In that event, nobody will run ~arch for that package, and
> then it still isn't getting tested.

I'm not saying that we should just randomly throw something into ~arch
without testing it, but ~arch users are running ~arch with the
understanding that their systems will break from time to time and they
are expected to be able to deal with it when/if it happens. ~arch is
not a second stable branch.

> I agree that masking for testing is like having a 3rd branch, but I'm
> not convinced that this is a bad thing.  ~arch should be for packages
> that have received rudimentary testing and which are ready for testing
> by a larger population.  Masking should be used for packages that
> haven't received rudimentary testing - they might not have been tested
> at all.

The concern with this argument is  the definition of rudimentary testing
is subjective, especially when a package supports many possible
configurations.

I think some packages need wide testing before they go stable, and that
is where ~arch can help out.

In particular, I would argue that for system-critical packages, users
should be very careful about running ~arch unless they know what the
fallout can be.

*snip*

> I guess the question is, what exactly are we trying to fix?  Even if
> occasionally a maintainer drops the ball and leaves something masked
> for a year, how is that different from a maintainer dropping the ball
> and not adding a new release to the main tree for a year?  Would we be
> better off if Docker 1 wasn't in the tree at all?  If it happened to
> have a known issue would ~arch users be better off if some other dev
> came along and helpfully added it to the tree unmasked no realizing
> that somebody else was already working on it?

Take a look at profiles/package.mask. You will see many packages in
there with the description, "masked for testing" on their masks, with no
bug references, that have been there for multiple years. My view is we
should either get those masks resolved or boot the affected
packages/versions out of the tree. If they haven't received rudimentary
testing by now, it is pretty obvious that no one cares about them.

William



signature.asc
Description: Digital signature