Hi Michał,

On 2019/07/23 14:39, Michał Górny wrote:
On Wed, 2019-07-24 at 00:17 +1200, Kent Fredric wrote:
On Tue, 23 Jul 2019 13:38:28 +0200
Gerion Entrup <gerion.ent...@flump.de> wrote:

What about a compromise?:
Deliver a (prebuild) manpage as package maintainer by default, but keep
a use flag "man-build" (or whatever) that builds the man page for everyone
(also the maintainer herself)  with use of the crazy extra deps. So a user can
do (incomplete) version bumps and gets a manpage and the maintainer
gets the prebuild manpage in a defined way.
You're missing the part where the maintainer is, by the policy,
required to, for every bump:

1. Ensure the generated documentation is extracted from the build
2. Packaged into a tarball somewhere
3. Uploaded to a server that can host that tarball
4. Update the package to use that.

Failure to do this will mean you're shipping out-dated documentation to
the user.
I fail to see how this could happen, unless you'd be using terrible
hacks.
And therein lies the issue.  We would.
This series of back-flips is just not practical at present, and
introduces more steps where mistakes can break the ebuild.
 From this thread, it seems that most devs find it impractical to even
test their ebuilds.

No.  They've been saying that the overhead of maintaining the above mentioned terrible hacks is unacceptable.  Imagine this:

In order to build man pages I need to pull in 20 additional packages.  So when I roll new ebuild, I need those 20 ... not an issue for me, so now I need to build the man pages, and I need to create a tarball with those.  A tarball which won't exist at the time when I initially build, so it's not available to generate a Manifest.  So first I have to avoid those from SRC_URI completely.  Then once I've deployed the pre-built manpages, I need to re-add it.

So every time there is an upstream version bump, this needs to be rechecked and determined whether the manpages also needs to be bumped, or I need to bump unconditionally.  More overhead.

This is outright annoying.  Unless it can be automated properly. And I believe it might be possible, but it'll involve yet more base complexity by adding build-time dependencies to build man pages to a separate depend (or at least flag them with a USE=buildman flag), somehow portage would need to first sort out the building and deployment of the separate SRC_URI for man pages before adding to the Manifest.  You get where I'm going I hope.

Everybody agrees with your base premise:  It's ideal to ship (optional) documentation along with every single package, especially if it doesn't have to pull in a boatload of dependencies.

Kind Regards,
Jaco


Reply via email to