Re: gnu.png and line-layout.png missing

"G. Branden Robinson" <[email protected]> Fri, 31 Jul 2026 19:44:55 -0500
Newsgroups gmane.comp.printing.groff.general
Message-ID <20260801004455.jirbiwy6mv7tad6h@illithid>
--euq4kst76gonlyfu
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Subject: Re: gnu.png and line-layout.png missing
MIME-Version: 1.0

Hi Bruno,

At 2026-07-31T23:55:09+0200, Bruno Haible wrote:
> G. Branden Robinson wrote:
> > > cp: cannot stat './doc/gnu.png': No such file or directory
> > > cp: cannot stat './doc/line-layout.png': No such file or directory
> > > make: *** [Makefile:20050: doc/groff.html] Error 1
> > >=20
> > > If I need to use either "make -k" or "./configure
> > > --enable-maintainer-mode", there's something wrong with the build
> > > system. (I am not a maintainer of groff.)
> >=20
> > We've documented that you _do_ need to `--enable-maintainer-mode` to
> > build groff from Git.
>=20
> From the AM_MAINTAINER_MODE documentation [1], it is clear that it is
> meant for the case of re-building files that are under version
> control.

Acknowledged.

> I would argue that if a file is *not* under version control and is
> needed by other targets, its rule should be enabled, regardless of
> --enable-maintainer-mode or not.

Here's the problem.  Maybe you know of a better solution.

We include these PNG files in our Texinfo manual.

$ git grep @image doc/groff.texi.in
doc/groff.texi.in:@center @image{line-layout,4in,,line layout diagram,.png}
doc/groff.texi.in:@center @image{gnu,1in,,A wildebeest happily regards a Gu=
tenberg press.,.png}

The rendered forms of our Texinfo manual are in our distribution
archive (EXTRA_DIST).

We also include these PNG files in various groff-generated documents
that _aren't_ in our distribution archive.

And we support both in-tree and out-of-tree builds.

Upon making these seemingly small changes to our Texinfo manual, I ran
into the same difficulties Dimitris Papavasiliou reported today on the
help-texinfo list.

https://lists.gnu.org/archive/html/help-texinfo/2026-07/msg00000.html

[Dimitris: Here's how I solved it, but this Automake file is not for the
faint of heart.  :(

https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/doc/doc.am ]

Officially using maintainer mode is a very recent, post-rc1 change.

commit e2cd638955de3d8fb664529e76ff41bdc31a102e
Author: G. Branden Robinson <[email protected]>
Date:   Sun Jul 19 08:38:32 2026 -0500

    doc/doc.am: Employ `MAINTAINER_MODE`.

    Use GNU Automake's "maintainer mode" to manage maintainer-mode targets.

    * configure.ac: Interpolate `AM_MAINTAINER_MODE` macro with "disable"
      argument.

    * bootstrap: Note necessity of running the "configure" script with
      `--enable-maintainer-mode` (when building from groff's Git
      repository).

    * doc/doc.am: Add targets produced only in maintainer mode to the
      `MAINTAINERCLEANFILES` macro.

      ($(DOC_GNU_EPS)):
      ($(DOC_GNU_PNG)):
      ($(DOC_LINE_LAYOUT_EPS)):
      ($(DOC_LINE_LAYOUT_PNG)): Bracket existing target rules in
      `MAINTAINER_MODE` Automake conditional.  Add `else` branch defining
      them with empty recipes for non-maintainer mode.

    Fixes excessive build dependencies imposed on distribution archives.
    Thanks to Alexis Hildebrandt for the report in
    <https://lists.gnu.org/archive/html/groff/2026-07/msg00010.html>.

Does GNU Automake support a better method of satisfying our
requirements?

Regards,
Branden

--euq4kst76gonlyfu
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEh3PWHWjjDgcrENwa0Z6cfXEmbc4FAmptQYAACgkQ0Z6cfXEm
bc4a+Q/+L2ViDqlMYF7vMhnenIO9QZNSItsuMC9qR9sL+2AoFB6id409xqqO2S48
uUX4xp47hAgxC+EjCu6m/p/yHJW8jYL2LbJCK7RMiSG63qFfGzBa58t9eZAgsYGU
JdkehZvDPyuxt4fXFnsA8aiRjAO4isZfsOn73zyadV16GQA06UpedGiUtr0jHbzc
d5UTWEb2f3gWu42tkeBNWQX4PDKkRKdwg7ZCLIjq1F2ItMIWJL/J6BF35TNdX9Ch
PB1P56KHG7eZMH+3M/iIERAB+E+v0lgxX0gGAScWjGM41Q573U8gz+llbDK4b+Nc
7X+Y27O1xx+cdejwRyGYFq1goDNcgP4yb1Dk/AsReB/Ux4R1e8Fibt/SfaMtARmF
8Hg/lTpNu6GQo8QI8Hnl5BeGHqeQBC/V9CEPwItyjhFKh3RWQNQMtyY9mnyorraB
3NtIEwavr3vvLjMmSpla4XnSpLenxsK7XqiiN3I6ZeeieyQRcjB9Xx7XAeR/x+qw
4ciWdtb0bt9nb3t8NoPNGKSnqpzpkAjqyX75zjBqAsFHjUklCnhP2TD3n1yy2WjE
dUMxlzuKzxHVY8mTgmCXmUmwsU2UFWW66chbHNjkY3+zJPeQkCC4Elj5KqqjPn4B
faQEjlMAss7PhcqO4+ksqcR52cKv6LotB0K9k3h4as3E7FMtMl8=
=kXvb
-----END PGP SIGNATURE-----

--euq4kst76gonlyfu--