Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 496652 - dev-libs/glib - add USE=man
Summary: dev-libs/glib - add USE=man
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: Normal enhancement
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2014-01-01 06:53 UTC by Andrew Church
Modified: 2025-01-31 17:51 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
glib-2.36.4-r1.ebuild.patch (glib-2.36.4-r1.ebuild.patch,1.30 KB, patch)
2014-01-01 06:53 UTC, Andrew Church
Details | Diff
glib-2.36.4-r1.ebuild.patch (glib-2.36.4-r1.ebuild.patch,1.27 KB, patch)
2014-01-01 18:43 UTC, Andrew Church
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Church 2014-01-01 06:53:12 UTC
Created attachment 366680 [details, diff]
glib-2.36.4-r1.ebuild.patch

dev-libs/glib pulls in a large number of dependencies just to generate manpages.  It seems reasonable to allow manpage installation to be disabled with USE=-doc for people who don't need the manpages.

The attached ebuild patch has IUSE=+doc to preserve current behavior, but it could just as easily default to -doc.
Comment 1 Alexandre Rostovtsev (RETIRED) gentoo-dev 2014-01-01 15:56:12 UTC
Nack from me.

First, because I disagree with the patch's goals. I believe in the old principle that any command-line utility needs to have a man page. And in the case of glib, the dependencies for building man pages are not exactly onerous: docbook-xml-dtd and libxslt are small packages, and they are in the dependency list of lots of other libraries, not just glib. And if you are targeting an embedded system where every megabyte of storage matters, surely you are using INSTALL_MASK to skip installing man pages, have a separate build machine, and are not keeping a copy of not just docbook-xml-dtd, but also gcc, binutils, perl, autotools, cmake, and all the other pure build-time dependencies for your system inside your install image!

Second, I disagree with the implementation. USE=doc almost everywhere in portage refers to a heavy collection of html or pdf files, not to man pages. And gtk-doc-am is required not for man pages, but for linking glib's API documentation.
Comment 2 Andrew Church 2014-01-01 17:27:08 UTC
I'm happy to rename USE=doc to USE=man, but I thought the point of Gentoo was to give users control over what they install?

FYI, the package installs fine after emerge -C gtk-doc-am, so it seems safe to say that gtk-doc-am is not used if configured with --disable-man.
Comment 3 Alexandre Rostovtsev (RETIRED) gentoo-dev 2014-01-01 18:18:03 UTC
(In reply to Andrew Church from comment #2)
> FYI, the package installs fine after emerge -C gtk-doc-am

That's bug #492544.
Comment 4 Pacho Ramos gentoo-dev 2014-01-01 18:25:11 UTC
I also disagree with making man pages installation optional via USE flags for this, that is also completely incoherent with the rest of stuff in the tree (that installs manpages always). If you don't want to install man pages you can configure portage to not do that, if you want to skip some dependencies, you can try to use package.provided (even if I don't think this deps are big enough to deserve that)
Comment 5 David Heidelberg (okias) 2014-01-01 18:28:30 UTC
(In reply to Alexandre Rostovtsev from comment #1)
> Nack from me.
> 
> First, because I disagree with the patch's goals. I believe in the old
> principle that any command-line utility needs to have a man page. And in the

There are cases, where is no need install these files (and dependencies) - at least because you can find these man pages on internet.

> case of glib, the dependencies for building man pages are not exactly
> onerous: docbook-xml-dtd and libxslt are small packages, and they are in the
> dependency list of lots of other libraries, not just glib. And if you are
> targeting an embedded system where every megabyte of storage matters, surely
> you are using INSTALL_MASK to skip installing man pages, have a separate
> build machine, and are not keeping a copy of not just docbook-xml-dtd, but
> also gcc, binutils, perl, autotools, cmake, and all the other pure
> build-time dependencies for your system inside your install image!
> 
> Second, I disagree with the implementation. USE=doc almost everywhere in
> portage refers to a heavy collection of html or pdf files, not to man pages.
> And gtk-doc-am is required not for man pages, but for linking glib's API
> documentation.

By looking at this patch - if USE s/doc/man/ it shouldn't be too much effort to make user happy? :)

I'd personally like to have USE="-man" on most of my systems (excluding servers for good feeling).
Of course, I use FEATURES="noman noinfo nodoc".
It's just small waste:
* calculating more deps
** installing that deps
* increasing glib compile time and resource usage to gain something, which...
** is purged from build after. ( FEATURES="noman" )
** remain on drive unused ( in my case 99% man pages )

That's just my personal opinion :) Of course, I'm not sure, if adding this option could bring some issues or problems with glib.
Comment 6 Andrew Church 2014-01-01 18:43:05 UTC
Created attachment 366706 [details, diff]
glib-2.36.4-r1.ebuild.patch

Thanks, I wasn't aware of the gtk-doc issue.  Fixed.

I've also changed the patch to use USE=man instead of USE=doc.

>I also disagree with making man pages installation optional via USE flags for
>this, that is also completely incoherent with the rest of stuff in the tree
>(that installs manpages always).

$ grep -r 'IUSE=.*[^a-z-]man[^a-z-]' /usr/portage/metadata
/usr/portage/metadata/md5-cache/dev-cpp/libcmis-0.3.1:IUSE=static-libs man test
/usr/portage/metadata/md5-cache/dev-cpp/libcmis-9999:IUSE=static-libs man test
/usr/portage/metadata/md5-cache/dev-cpp/libcmis-0.4.1:IUSE=static-libs man test
/usr/portage/metadata/md5-cache/dev-cpp/libcmis-0.2.3-r1:IUSE=static-libs man test

There's even a bug involving USE=man for that package (bug 430480) and no arguments were made there about USE=man being a bad idea (indeed, the resolution comment is "good catch, thanks for the report").

And even supposing that resolution goes against some wider policy, how is forcing the user to conform to an arbitrary belief about "how things should be" compatible with the "extreme configurability" which is supposed to be one of the hallmarks of the Gentoo experience (http://www.gentoo.org/main/en/about.xml)?  I could see an argument for forcing manpage installation if disabling it required extensive patching of the source, but this is just a dependency adjustment and a ./configure flag change.
Comment 7 Gilles Dartiguelongue (RETIRED) gentoo-dev 2014-01-22 22:19:44 UTC
Nack for making man pages optional from me as well.

The policy in Gentoo is to always provide man pages (or "user documentation" might be the word to search for in docs).

If we make it optional this is really for exceptional extra dependencies but here, this is only libxslt and some stylesheets which is not much (a few KB for DTDs) and reused in plenty of places (libxslt).

All in all, portage provides the mean to disable man pages installation (FEATURES=noman) and to cleanup build dependencies if they annoy you so I do not wish deviate from the policy.

Seeing the other team members answer, I will now close this bug wontfix.

Thanks for reporting.