Follow-up Comment #21, bug #66583 (group groff):

At 2024-12-27T19:23:56-0500, anonymous wrote:
> Follow-up Comment #15, bug #66583 (group groff):
>
> [comment #13 comment #13:]
>> Alex, does this fix address the problem you reported to the email
>> list in the "Build error in Devuan stable" thread (linked in comment
>> #4 and comment #5 here)?
>
> I doubt it will, because in his case, ./configure evaluated makeinfo
> as present & up-to-date,

Either I'm confused, or you mean not "makeinfo", but one or more of the
artifacts that "makeinfo" produces (groff.info, groff.html, and
groff.txt), the first two of which are only a subset of artifacts
produced since these formats involve multiple output files).

> and only the subsequent build failed. My patch merely addresses cases
> where one doesn't have (up-to-date) makeinfo. Note that in the message
> I linked, I instructed him to manually modify the patch.
>
> I have an expanded version locally which adds flag to ./configure to
> not build the Texinfo manual even when makeinfo is present &
> up-to-date.

Again, either I'm confused or you are.  makeinfo(1) is an external
program.  We do not declare it as a prerequisite, so make(1) never
evaluates its up-to-dateness.  If a target requiring the command is run,
and makeinfo(1) is not found or not executable, the target fails.

> I haven't posted it yet because I deemed it incomplete. It deals only
> with the Texinfo manual and not with the rest of the docs, which might
> also be desired.

Not by me.  We get some good integration testing out of generating mom's
documentation and groff-man-pages.{txt,pdf}.  For that matter, ms.ps and
me{ref,intro}.ps serve as integration tests for the "ms" and "me" macro
packages.

> I had hoped that Branden would assist me in disentangling the gnu.eps
> file from the rest of documentation, which would allow me to extend
> this to the entire docs.

That file plays multiple roles.  Once upon a time (about 22 years ago),
it was used only by what was then called "doc/homepage.ms" (now
"doc/webpage.ms"), so doc/doc.am (though at that time groff didn't use
Automake) was the correct place to site its management.  Then Keith
Marshall started to use it in his "pdfmark.ms" document (since dropped
from groff).  Then around 2006, hdtbl examples started using it.  Then
when Peter Schaffter contributed mom, or at some point afterward, he
started using it in mom's example documents.  Later still, I drafted it
into service as an artifact for automated testing.

In any case it needs to be built for inclusion in the distribution
archive.  We don't have a hard dependency on the pnmtools, which
generation of "gnu.eps" from "gnu.xpm" requires.

> Alas, it seems he doesn't get the desirability of such changes, let
> alone the idiocy of the current setup, so I am sending the patch to
> the mailing list in case someone finds it useful.

I'm not motivated to bend our Automakery into shapes that Automake
doesn't easily accommodate (not saying--yet--that any patch of yours
does that).  Better alternatives are to solicit the Automake developers
for the features we need, or, shock horror, have
builders-from-the-repository install more build dependencies (this is
already the case anyway, e.g., with bison/yacc) or invite them to grab
the generated copies of the manual from a distribution archive (which
they can produce with "make dist").

Admittedly, the date stamp on groff.texi is going to bump with
considerable frequency, so make(1) will keep finding the generated
targets out-of-date and demand TeX/makeinfo again.

Since the people who don't want to build the documentation are also
unlikely to ever contribute patches to it, perhaps the best solution to
is to concretely manifest one's contempt for documentation with "git rm
doc/groff.texi".

> To be honest, I am not sure it's the right patch; it's just the one
> that matched my abilities. If anyone is capable of fixing this
> properly, it's Branden, but he doesn't seem very eager to do it.

That's a fair reading.  See above.

> The problematic part is doc/gnu.eps. The instructions for building it
> are specified in doc/doc.am alongside other documentation, but the
> file itself is included by tests as well.

Well then, it is not something that should be predicated on any
conditions governed by --no-docs, --without-docs, --screw-the-docs, or
what have you.  It's similarly unwise to delete the line


include $(top_srcdir)/doc/doc.am


...from "Makefile.am", as a documentation-hater might feel tempted to
do.

Let "doc.am" do the work it needs to do to satisfy the rest of the
build.  If there's a _clean_ way to pass over the generated forms of our
Texinfo manual in silence, I'm amenable to them.

Disabling the rest of the documents, not so much, because as I said they
also serve as integration tests of functional code being shipped.

While we're spewing invective at documentation that insists on being
built, we might remind ourselves that groff, as a typesetting
application, _is a system for creating documentation_.

If you think I take automated testing lightly, I can point you to about
280 exhibits of contrary evidence.  If a groff build fails in producing
its documentation, I want to hear from people who observe it; it's not
some corner case or weird syntax exercised by a regression test, but a
class of problem much more likely to be observed in user's documents.

> I have tried extracting the instructions related to it into a separate
> file, but it didn't work correctly. I will try looking into it again
> and try to make it work.

I wouldn't bother.  As noted, "gnu.eps" wears several hats, and moving
the rules for generating it to the top level would.  (I'm annoyed enough
that "penguin.{ps,pdf}" get produced in the root of the _build_
directory.)



    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?66583>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to