GNU bug report logs -
#54063
automake cannot run without generated Texinfo manual
Previous Next
Reported by: Patrice Dumas <pertusus <at> free.fr>
Date: Sat, 19 Feb 2022 14:13:02 UTC
Severity: normal
Done: Karl Berry <karl <at> freefriends.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
On 24 Feb 2022 11:19, Patrice Dumas wrote:
> On Thu, Feb 24, 2022 at 01:52:21AM -0500, Mike Frysinger wrote:
> > On 19 Feb 2022 15:03, Patrice Dumas wrote:
> > > In Texinfo, we have a texinfo manual which is automatically generated
> > > from Pod sections from Texinfo perl modules. When this generated manual
> > > is removed, automake cannot run anymore. To workaround this issue, we
> > > have a generation of a fake manual that contains only @setfilename manual.info
> > > in the autogen.sh script that can be used to bootstrap some other
> > > autogenerated things, in particular Makefile fragments. However, this
> > > is not practical, in particular if the generated manual is removed and
> > > the Makefile.am file is modified, one need to redo a fake manual in
> > > order to have things being ok again.
> > >
> > > It seems to me that one way to avoid the issue would be if automake used
> > > only the texinfo manual name to construct the rules. It would probably
> > > be a good thing to do irrespective of this issue, as @setfilename is not
> > > as important as it used to be, now it is fully optional, and we probably
> > > should consider as a best practice not to have @setfilename in Texinfo
> > > manuals.
> > >
> > > The manual is in doc/tp_api in the texinfo sources, it is tp_api.texi.
> >
> > automake already has some fallback logic if @setfilename isn't set -- it
> > uses the basename of the source file and changes .texi to .info. but it
> > doesn't work if the file doesn't exist. i think that should be easy to
> > support.
> >
> > --- a/bin/automake.in
> > +++ b/bin/automake.in
> > @@ -3062,7 +3062,8 @@ sub scan_texinfo_file
> > {
> > my ($filename) = @_;
> >
> > - my $texi = new Automake::XFile "< $filename";
> > + my $source = -e $filename ? $filename : "/dev/null";
> > + my $texi = new Automake::XFile "< $source";
> > verb "reading $filename";
> >
> > my ($outfile, $vfile);
> >
> > if this is the only thing you need, then i won't think any harder about it.
>
> I have not tested but it looks good (or a variation with the same effect
> if /dev/null is not portable).
automake already relies on redirecting to /dev/null, so shouldn't be an issue.
> The only issue I see is if after the
> file is generated the @setfilename is not the same as the file base name
> there will be errors. I do not think that automake should support that
> setup, but maybe it would be good to state it in the documentation.
> Maybe something like:
>
> "Texinfo files that are generated should have a basename matching
> @setfilename, if there is a @setfilename."
sounds reasonable, but i don't think this is a new issue.
-mike
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 2 years and 5 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.