Re: [gentoo-dev] [RFC] New QA policy: Packages must not disable installing manpages via USE flags

2019-07-22 Thread desultory
On 07/22/19 21:08, Aaron Bauman wrote:
> On Sat, Jul 20, 2019 at 06:16:24PM -0400, Rich Freeman wrote:
>> On Sat, Jul 20, 2019 at 4:22 PM Michał Górny  wrote:
>>>
>>>
>>> Yes, I get it.  User experience is not important if it would mean
>>> developers would actually do anything but the bare minimum to get
>>> from one paycheck to another.  The usual Gentoo attitude.
>>>
>>
>> Not sure where I go to sign up for those paychecks.  However, even
>> employers have to accept that policies have a resource cost to them.
>>
>> Requiring people to do more than the bare minimum often just ensures
>> that they won't even bother to do the bare minimum.  I'm all for
> 
> I do like that. I will send you the royalties for quoting you.
> 
>> finding ways to standardize things so that everybody benefits at a
>> very low cost.  This doesn't seem that, and honestly requiring
>> packages to bundle pre-built manpages seems a bit non-Gentooish to
>> begin with.
>>
>> -- 
>> Rich
>>
> 
> Regarding pre-built manpages, I think you have missed Michal's (yea, I don't
> fancy letters on my keyboard) point here. He is looking at a compromise of:
> 
> 1. I want some documentation
> 2. It doesn't ship from upstream (without crazy extra deps)
> 3. Gentoo guy hooked me up and packaged it pre-built with it
> 4. Thanks!
> 
This seems rather more like an argument for reviving GRP with the flags
to generate man pages enabled [1] and encouraging people to install from
that without installing build-only dependencies if they need all of the
documentation while maintaining a smaller installed footprint and
dependency graphs than it does for requiring ebuild maintainers to jump
through hoops and remove such flags because of yet another not quite
thought through proposal.

[1] No points for guessing where a ready supply of prebuilt man pages
could be found if that were to be done. Nor for realizing that making
manpage packages out of it could probably be robustly scripted in less
time than has been invested in this discussion so far.



Re: [gentoo-dev] [RFC] New QA policy: Packages must not disable installing manpages via USE flags

2019-07-22 Thread Kent Fredric
On Mon, 22 Jul 2019 21:08:51 -0400
Aaron Bauman  wrote:

> 1. I want some documentation
> 2. It doesn't ship from upstream (without crazy extra deps)
> 3. Gentoo guy hooked me up and packaged it pre-built with it
> 4. Thanks!

The proposal as-stated is:

1. Documentation requires even 1 additional dep
2. Thou may not use a USE flag for this
3. Thus, if you want to elide the dependency from *any* merge graph,
   you must elide it from *all* merge graphs.
4. Thus, you must locally perform some non-standard hackery that will
   be different for every package to produce these, work out where to put
   it which is also not standardised, and also prohibit the user from
   being able to update these themselves via a revision bump, _AND_ you
   will need to put in place non-standard mechanisms to ensure it gets
   updated when you update the package, in order for the documentation
   not to diverge from the sources.

There's a lot of "U, thats bad" in point 4.

Hence, counter-proposals are trying to look at a way to achieve points
2 & 3 in your list, without resorting to barbaric torture and inherent
fragility.

We understand the /achieve, but the mechanism proposed doesn't suit, as
stated.





pgpCNAHDVKiyf.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] [RFC] New QA policy: Packages must not disable installing manpages via USE flags

2019-07-22 Thread Aaron Bauman
On Sun, Jul 21, 2019 at 08:30:03AM +0200, Michał Górny wrote:
> On Wed, 2019-07-17 at 12:09 -0700, Matt Turner wrote:
> > On Wed, Jul 17, 2019 at 6:25 AM Michał Górny  wrote:
> > > Hello,
> > > 
> > > The QA team would like to introduce the following policy:
> > > 
> > > """
> > > Packages must not disable installing manpages via USE flags (e.g.
> > > USE=man or USE=doc).
> > 
> > Xorg libraries use USE=doc to control the build (sometimes) and
> > installation of thousands of developer-documentation man pages. 99.9%
> > of the time users don't want the developer man pages installed.
> > 
> > With USE=-doc the packages still install man pages for the
> > applications, just not the developer documentation man pages.
> > 
> > Is that not reasonable?
> 
> I think it's a reasonable compromise.
> 
> -- 
> Best regards,
> Michał Górny
> 

If no one noticed. I think the original proposal is looking for some "common
sense" here.

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] [RFC] New QA policy: Packages must not disable installing manpages via USE flags

2019-07-22 Thread Aaron Bauman
On Sat, Jul 20, 2019 at 06:16:24PM -0400, Rich Freeman wrote:
> On Sat, Jul 20, 2019 at 4:22 PM Michał Górny  wrote:
> >
> >
> > Yes, I get it.  User experience is not important if it would mean
> > developers would actually do anything but the bare minimum to get
> > from one paycheck to another.  The usual Gentoo attitude.
> >
> 
> Not sure where I go to sign up for those paychecks.  However, even
> employers have to accept that policies have a resource cost to them.
> 
> Requiring people to do more than the bare minimum often just ensures
> that they won't even bother to do the bare minimum.  I'm all for

I do like that. I will send you the royalties for quoting you.

> finding ways to standardize things so that everybody benefits at a
> very low cost.  This doesn't seem that, and honestly requiring
> packages to bundle pre-built manpages seems a bit non-Gentooish to
> begin with.
> 
> -- 
> Rich
> 

Regarding pre-built manpages, I think you have missed Michal's (yea, I don't
fancy letters on my keyboard) point here. He is looking at a compromise of:

1. I want some documentation
2. It doesn't ship from upstream (without crazy extra deps)
3. Gentoo guy hooked me up and packaged it pre-built with it
4. Thanks!

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] [RFC] New QA policy: Packages must not disable installing manpages via USE flags

2019-07-22 Thread Kent Fredric
On Mon, 22 Jul 2019 21:04:07 -0400
Aaron Bauman  wrote:

> I am going to divert topics here... "freedom"... like freedom to post on a
> mailing list without restriction (e.g. whitelisting) ?

Please don't, this ain't going anywhere.


pgpPhG_Z53cgV.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] [RFC] New QA policy: Packages must not disable installing manpages via USE flags

2019-07-22 Thread Aaron Bauman
On Sat, Jul 20, 2019 at 08:50:29PM +0300, Andrew Savchenko wrote:
> On Wed, 17 Jul 2019 15:25:10 +0200 Michał Górny wrote:
> > Hello,
> > 
> > The QA team would like to introduce the following policy:
> > 
> > """
> > Packages must not disable installing manpages via USE flags (e.g.
> > USE=man or USE=doc).  If upstream does not ship prebuilt manpages
> > and building them requires additional dependencies, the maintainer
> > should build them and ship along with the package.
> > """
> > 
> > 
> > Explanatory note:
> > 
> > This applies to having USE flags that specifically control building
> > manpages.  It obviously does not affect:
> > 
> > a. USE flags that disable building both a program and its manpage (e.g.
> > if USE=gui disables building gfrobnicate, not installing gfrobnicate(1)
> > is correct),
> > 
> > b. use of LINGUAS to control installed manpages.
> > 
> > 
> > Rationale:
> > 
> > Manpages are the basic form of user documentation on Gentoo Linux.  Not
> > installing them is harmful to our users.  On the other hand, requiring
> > additional dependencies is inconvenient.  Therefore, packaging prebuilt
> > manpages (whenever upstream doesn't do that already) is a good
> > compromise that provides user with documentation without additional
> > dependencies.
> > 
> > 
> > What are your comments?
> 
> The basic foundation of Gentoo is freedom of choise for our users.
> If installing man pages means no additional dependencies, than
> proposed rule is ok. However if such dependencies are required it is
> up to users to decide if they wan them or not.
> 
> Having USE=man (or USE=doc) for such purposes is fine. Having
> USE=man enabled by default in user profile is also fine. Forcing
> users to install unnecessary dependencies on minimal systems in a
> no go and turns Gentoo into something else.
> 
> Best regards,
> Andrew Savchenko

I am going to divert topics here... "freedom"... like freedom to post on a
mailing list without restriction (e.g. whitelisting) ?

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] [RFC] New QA policy: Packages must not disable installing manpages via USE flags

2019-07-22 Thread Kent Fredric
On Mon, 22 Jul 2019 09:18:38 -0400
Rich Freeman  wrote:

>  So,
> there is a relationship between packages that need to have manpages
> pregenerated and the package manager.

My objection re: pollution is more to the point that this propagation
of mechanisms that are inherently "package manager control flow" into
USE flags is an anti-feature.

USE="test" is already objectionable enough, but adding Yet Another Use
Flag, and potentially, adding it to every package is just asking for
trouble, asking for more ways for the portage resolver to get confused,
asking for more ways for annoying auto-unmask mechanics to fire, and
asking for more reasons for people to have to come to #gentoo and have
somebody hold their hand trying to make sense of the huge mountain of
spew ( which is potentially unrelated to the real problem, obscured by
portage pushing past the problem before barfing ), and I'd rather we
reduced that problem, not expanded on it.

Like for instance, a common problem is USE="test" introducing cycles,
some of them are unavoidable, and portage is completely unable to
provide a working merge plan, because it can't even *consider* the
option of temporarily disabling USE="test" to resolve the cycle, and
then restoring USE="test" and building it a second time.

End Users who want to employ FEATURES="test" blanket wide across
portage have to hand-curate a collection of tools and hacks to make it
work.

Obviously, this is also exacerbated as portage can't soft-install a
package or a collection of packages, for the purpose of testing
integrity, prior to deploying them to the system, which would be
necessary for X -> Y -> Z -> X to proceed far enough that X can be
rebuilt, and tested, without potentially deploying a broken X[-test] to
the system, and without potentially deploying Y and Z, which could in
turn be broken due to X[-test] not throwing a failing test.

If portage could do that, there's so many other things it could be
doing too ...

Like, ( and this is getting a bit OT ):

Auto-Reaping build-only dependencies as soon as no targets in the merge
plan need them.




pgpOtPQ1ekz67.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] [RFC] New QA policy: Packages must not disable installing manpages via USE flags

2019-07-22 Thread Rich Freeman
On Mon, Jul 22, 2019 at 8:35 AM Kent Fredric  wrote:
>
> Though I suspect *literally* using USE flags for this as-is might be
> the wrong approach, as that just causes user-side pollution :/
>

Maybe in some other situations this might be true, but as I mentioned
in my previous email, users who DO want to build their own manpages
wouldn't want to use the pregenerated ones.  Also, packages that have
them need to know on the user side so that they can fetch them.  So,
there is a relationship between packages that need to have manpages
pregenerated and the package manager.

-- 
Rich



Re: [gentoo-dev] [RFC] New QA policy: Packages must not disable installing manpages via USE flags

2019-07-22 Thread Kent Fredric
On Mon, 22 Jul 2019 11:00:42 +0200
Jaco Kroon  wrote:

> USE flag to enable/disable bundled packages.  Any packages that gets 
> committed with this USE flag goes off to a build server that builds the 
> package and prepares an install (without bundled) and then the man pages 
> can be scraped from the prepared install I reckon and placed on a 
> standard URL, say d.g.o/manpages/${CATEGORY}/${PVR}.tar.gz  ... possibly 
> an eclass may be required I don't know, haven't thought about it that much.

In general, I really do like these suggestions for a dedicated USE flag
for use on gentoo automated build servers.

I think in general, this idea could even be extended to achieve more
than just pure MAN page generation, just implementation could be a bit
spicy, maybe even need future EAPI changes.

If the end result is a collection of asset tarballs of some kind that
contain various aspects of the same package, where the ebuild itself
dictates how the ebuild should be built on the build server, then it
enables us to approximate debian-esque deployment models where
"maintainer decides what aspects you get", but without the need to
strip end-users of essential utility.

Though I suspect *literally* using USE flags for this as-is might be
the wrong approach, as that just causes user-side pollution :/

Perhaps there's an Out-Of-Band strategy that can be employed, maybe
even using files not currently under PMS control.

IDK. I do get the impression we're "on the right track" with this, just
I don't like the proposals as-stated completely.


pgpQ2oFSI1YFs.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] [RFC] New QA policy: Packages must not disable installing manpages via USE flags

2019-07-22 Thread Jaco Kroon

Hi,

I'm with Rich on this one.  I trust that like me most of the developers 
here earn pay checks from elsewhere and that our time here is either 
completely volunteer work, or towards a purpose that suits that of our 
employers.


Unless there is a way to automate the building of the associated man 
pages on a build server in some way.  This might be possible come to 
think of it.


USE flag to enable/disable bundled packages.  Any packages that gets 
committed with this USE flag goes off to a build server that builds the 
package and prepares an install (without bundled) and then the man pages 
can be scraped from the prepared install I reckon and placed on a 
standard URL, say d.g.o/manpages/${CATEGORY}/${PVR}.tar.gz  ... possibly 
an eclass may be required I don't know, haven't thought about it that much.


I am in support of the idea that for any given command there should be a 
"sensible" man page (it could be as simple as pointing to online 
documentation), but don't see this as a show stopper.


I'll support this proposal if, and only if, there is a way to automate 
the building and distribution of "bundled" man pages as proposed.


Kind Regards,
Jaco

On 2019/07/21 00:16, Rich Freeman wrote:


On Sat, Jul 20, 2019 at 4:22 PM Michał Górny  wrote:


Yes, I get it.  User experience is not important if it would mean
developers would actually do anything but the bare minimum to get
from one paycheck to another.  The usual Gentoo attitude.


Not sure where I go to sign up for those paychecks.  However, even
employers have to accept that policies have a resource cost to them.

Requiring people to do more than the bare minimum often just ensures
that they won't even bother to do the bare minimum.  I'm all for
finding ways to standardize things so that everybody benefits at a
very low cost.  This doesn't seem that, and honestly requiring
packages to bundle pre-built manpages seems a bit non-Gentooish to
begin with.