[gentoo-dev] Last rites: mask ruby24-only slots of ruby packages for removal

2019-07-17 Thread Hans de Graaff
# Hans de Graaff  (2019-07-17)
# Mask ruby24-only slots for removal in 30 days. These slots do not
# have any reverse dependencies. Please migrate to or use a newer slot.
dev-ruby/gherkin:4
dev-ruby/net-http-persistent:0
dev-ruby/net-ssh-gateway:2
dev-ruby/rouge:0
dev-ruby/vcr:2
dev-ruby/webmock:2
dev-util/cucumber-core:0


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


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

2019-07-17 Thread Michał Górny
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?

-- 
Best regards,
Michał Górny



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


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

2019-07-17 Thread Haelwenn (lanodan) Monnier
[2019-07-17 15:25:10+0200] Michał Górny:
> 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.
> """

Should this be for any dependency? For example wlroots, sway, … are
using scdoc to transform a form of markdown to manpages, and the
resulting program is very small.

$ qsize scdoc
app-text/scdoc-1.9.3-r1: 5 files, 12 non-files, 59.9K

So in my opinion if the dependency is probably smaller than bundling
the files the dependency should be used.

> 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.

I would fully support that as in my opinion all ebuilds should provide
at least usage documentation though manpages and/or via the 
non-standard -h / --help.



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

2019-07-17 Thread Michał Górny
On Wed, 2019-07-17 at 15:42 +0200, Haelwenn (lanodan) Monnier wrote:
> [2019-07-17 15:25:10+0200] Michał Górny:
> > 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.
> > """
> 
> Should this be for any dependency? For example wlroots, sway, … are
> using scdoc to transform a form of markdown to manpages, and the
> resulting program is very small.
> 
> $ qsize scdoc
> app-text/scdoc-1.9.3-r1: 5 files, 12 non-files, 59.9K
> 
> So in my opinion if the dependency is probably smaller than bundling
> the files the dependency should be used.
> 

Yes, unconditionally requiring the dependency also fits the proposed
wording.


-- 
Best regards,
Michał Górny



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


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

2019-07-17 Thread Mike Gilbert
On Wed, Jul 17, 2019 at 9: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).  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?

I'm against this.

I seriously doubt maintainers will take the time/effort to pre-build
and distribute manpages. The end result of this will be additional
hard dependencies on heavyweight packages.

I would prefer to give users the choice NOT to install these heavy
packages. If USE=doc is not sufficent, introduce a new flag for it.



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

2019-07-17 Thread Roy Bamford
On 2019.07.17 14:25, 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?
> 
> -- 
> Best regards,
> Michał Górny
> 
> 

Michał,

This works on systems with plenty of resources.
I suspect very few arm users have man/doc/info pages installed.
FEATURES="noman nodoc noinfo" is less than ideal as everything 
is still built, so you pay the build time, but not installed.

Does anyone read documentation on embedded class hardware?
I know I don't. 

Personally, I don't build much on embedded hardware either but I'm 
aware of users that do.

I like to have the choice to not build documentation on low power
systems. Its a part of Gentoos flexibility that should not be removed.

-- 
Regards,

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

pgpsuZgzBJDUh.pgp
Description: PGP signature


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

2019-07-17 Thread Robin H. Johnson
On Wed, Jul 17, 2019 at 03:25:10PM +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.
> """
Reading this wording I feel some of the other response have missed the
intent of this policy.

It would be better as two separate policy statements:
"""
Packages must not disable installing manpages via USE flags.
FEATURES=noman should be used to restrict installation of manpages.
"""

The install part I feel is uncontroversial in itself, as it does leave
open that a USE flag could control dependencies & building the manpages
(yes, I'm rules-lawyering).

"""
Package maintainers must build & distribute pre-built manpages IFF
(upstream does not offer them) AND
(building manpages requires build-time additional dependencies)
"""

I agree with the goals of the shipping manpages, but I'm worried about
the requirements it imposes.

- requires the maintainer has some tooling SOMEWHERE to build & package
  the manpages. Does this go into the ebuild somehow (e.g. a special
  phase)? If not, where else does it get maintained for each package?
- requires a consistent hosting solution for the additional distfiles
  created by this change (projects.g.o?).
- significantly increases the version bump requirements (can't simply
  copy & local-build & quick-test & commit)
- may require special handling to build & ship manpages in multiple
  languages (admittedly very few packages offer non-english manpages).
  => the maintainer now needs to build manpages for ALL possible
 languages. This might require the maintainer has lots of locales on
 their local system.

-- 
Robin Hugh Johnson
Gentoo Linux: Dev, Infra Lead, Foundation Treasurer
E-Mail   : robb...@gentoo.org
GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
GnuPG FP : 7D0B3CEB E9B85B1F 825BCECF EE05E6F6 A48F6136


signature.asc
Description: PGP signature


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

2019-07-17 Thread Mart Raudsepp
Ühel kenal päeval, K, 17.07.2019 kell 18:05, kirjutas Robin H. Johnson:
> - significantly increases the version bump requirements (can't simply
>   copy & local-build & quick-test & commit)

Unrelated to the topic at hand, but I seriously hope this isn't the
standard we aim for in our version bumping. At the very least, the
build system should get checked for dependency changes (minimum deps
and otherwise)...


Mart


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


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

2019-07-17 Thread Matt Turner
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?



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

2019-07-17 Thread Robin H. Johnson
On Wed, Jul 17, 2019 at 09:09:47PM +0300, Mart Raudsepp wrote:
> Ühel kenal päeval, K, 17.07.2019 kell 18:05, kirjutas Robin H. Johnson:
> > - significantly increases the version bump requirements (can't simply
> >   copy & local-build & quick-test & commit)
> Unrelated to the topic at hand, but I seriously hope this isn't the
> standard we aim for in our version bumping. At the very least, the
> build system should get checked for dependency changes (minimum deps
> and otherwise)...
Yes, I usually also compare the release vs the previous one, on
upstream's source control, but that's outside the version bump loop in
my terminal. I'd say that's more in the research BEFORE copying
old.ebuild->new.ebuild

-- 
Robin Hugh Johnson
Gentoo Linux: Dev, Infra Lead, Foundation Treasurer
E-Mail   : robb...@gentoo.org
GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
GnuPG FP : 7D0B3CEB E9B85B1F 825BCECF EE05E6F6 A48F6136


signature.asc
Description: PGP signature


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

2019-07-17 Thread Andrey Utkin
I am also against the part of the proposal about maintainer being
responsible to prebuild the docs.

I'd also like to note that Gentoo users are empowered to locally bump
ebuild versions in this insanely easy way, it almost always works, and
it is really useful at times.

With this policy, this instanely easy way will work with lower
probability, because one would need to work around the missing docs
package for the new version.

Also, I don't see how this would work for proxy-maintained packages and
just with external contributions.

Proxies team members have to trust the docs prebuilt by non-devs?
Or they have to build the docs themselves as part of procedure of
acceptance of external contribution?

Perhaps what they can do to stay safe is to sidestep external
contributions which touch such packages.


P.S.

Not a great argument, but I just want to say this: source-based
nature of Gentoo has ingrained the feeling in me that not only
everything is open for studying, but also that, most of time, the result
of package installation on user's machine is "sterile", not tainted by
any interference from middlemen.

I think the currently discussed issue is not critical. Feels odd to
reduce the source-based nature because of that.


signature.asc
Description: Digital signature


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

2019-07-17 Thread Thomas Deutschmann
On 2019-07-17 16:56, Mike Gilbert wrote:
> I'm against this.
> 
> I seriously doubt maintainers will take the time/effort to pre-build
> and distribute manpages. The end result of this will be additional
> hard dependencies on heavyweight packages.

I second that.

Keep in mind that aside new time requirement for pre-building and
distributing per bump, you often cannot use build system anymore for
installation. For example, please see net-misc/iputils package:
Because it's a base system package, we need to avoid insane doc
dependencies (and this is only xsltproc -- not even the craziest doc
dep hell). Therefore we already ship pre-generated man pages.

But because package provides various USE flags it's becoming a pain to
manually install required docs, see [1]. I don't believe that we want
constructs like that for many packages...


See also:
=
[1] 
https://gitweb.gentoo.org/repo/gentoo.git/tree/net-misc/iputils/iputils-.ebuild?id=ec886beb76dc342eec146f7e4d3785437c12bfa9#n159


-- 
Regards,
Thomas Deutschmann / Gentoo Linux Developer
C4DD 695F A713 8F24 2AA1 5638 5849 7EE5 1D5D 74A5



signature.asc
Description: OpenPGP digital signature


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

2019-07-17 Thread Kent Fredric
On Wed, 17 Jul 2019 15:25:10 +0200
Michał Górny  wrote:

> What are your comments?

I think there's a situation not covered by this prose which is in a bit
of a grey area as per the intentions behind it, (but I would argue is
otherwise fine).

Some systems ship multiple types of documentation, and some, simply
having the package installed means the documentation is available as
the documentation is part of the installed sources.

In the perl ecosystem, if one wants to read documentation for the
installed module "Foo", one only needs to do `perldoc Foo`.

The perl *installer* toolchain however *also* generates manpages with
the extension ".3pm", which we currently *universally* strip, because
they're surplus to requirements, and most users don't expect to use
`man` to read their perl module documentation.

( Perldoc incidentally converts POD to groff on the fly and so its
pretty much identical )

We have exemptions for shipping man-pages for executables, as they
don't get the '.3pm' extension, and they make sense, because then, "I
have /usr/bin/foo, man foo will tell me about it" as an assumption
works fine.

I don't think any of this is "a problem" as such for us, just
suspecting there are other similar cases out there not covered by the
letter of the policy.

In short, the policy suggests that our blanket removal of man pages
is harmful, even though it really isn't the case. ( That is, man pages
for this system are not primary documentation, merely secondary )

That said, we never plan on gating this removal behind a USE flag, it
would create an *impossible* amount of work.


pgp6tznTt_K0X.pgp
Description: OpenPGP digital signature


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

2019-07-17 Thread Chí-Thanh Christopher Nguyễn

Michał Górny schrieb:

Packages must not disable installing manpages via USE flags



a. USE flags that disable building both a program and its manpage


I think it seems an implicit goal that this policy should apply to programs 
and their manpages?


In that case, I would suggest to at least limit this policy to man section 1 
and 8. As mattst88 explained in another post, X.org developer documentation 
in man pages is not interesting for non-developers, and does usually not 
describe the functions of a program.



Best regards,
Chí-Thanh Christopher Nguyễn