bug#25361: info_TEXINFOS cannot be set conditionally?

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#25361: info_TEXINFOS cannot be set conditionally?

Benno Schulenberg

Hi,

What I would like to achieve is that the doc/Makefile that is
the result of ./configure contains rules that only try to build
nano.info and nano.html from nano.texi /if/ makeinfo is available,
and only tries to install nano.info and nano.html if /either/ they
already exist or makeinfo is available.  I've tried by putting a
HAVE_MAKINFO around the info_TEXINFOS = nano.texi defintion, but
that doesn't work.  It results in the message below, and since it
says to contact bug-automake, here is the message:

make[2]: Entering directory '/home/ben/Sources/NANO/doc'
 cd .. && /bin/sh /home/ben/Sources/NANO/missing automake-1.15 --gnu doc/Makefile
doc/Makefile.am:27: warning: automake does not support info_TEXINFOS being defined conditionally
automake-1.15: error: undefined condition 'TRUE' for 'info_TEXINFOS'
automake-1.15: info_TEXINFOS:
automake-1.15:   {
automake-1.15:     HAVE_MAKEINFO => {
automake-1.15:       type: =
automake-1.15:       where: doc/Makefile.am:27:
automake-1.15:       comment:
automake-1.15:       value: nano.texi
automake-1.15:       owner: Makefile
automake-1.15:     }
automake-1.15:   }
automake-1.15:
automake-1.15: Please contact <[hidden email]>.
 at /usr/share/automake-1.15/Automake/Channels.pm line 662.
        Automake::Channels::msg("automake", "", "undefined condition 'TRUE' for 'info_TEXINFOS'\x{a}info_TEXINFOS:"...) called at /usr/share/automake-1.15/Automake/ChannelDefs.pm line 212
        Automake::ChannelDefs::prog_error("undefined condition 'TRUE' for 'info_TEXINFOS'\x{a}info_TEXINFOS:"...) called at /usr/share/automake-1.15/Automake/Item.pm line 95
        Automake::Item::rdef(Automake::Variable=HASH(0x9499ba0), Automake::Condition=HASH(0x91184d0)) called at /usr/bin/automake-1.15 line 7588
        Automake::require_file_with_macro(Automake::Condition=HASH(0x91184d0), "info_TEXINFOS", 0, "texinfo.tex") called at /usr/bin/automake-1.15 line 3417
        Automake::handle_texinfo_helper(Automake::Variable=HASH(0x9499ba0)) called at /usr/bin/automake-1.15 line 3439
        Automake::handle_texinfo() called at /usr/bin/automake-1.15 line 7848
        Automake::generate_makefile("doc/Makefile.am", "doc/Makefile.in") called at /usr/bin/automake-1.15 line 8133
        Automake::handle_makefile("doc/Makefile.in") called at /usr/bin/automake-1.15 line 8145
        Automake::handle_makefiles_serial() called at /usr/bin/automake-1.15 line 8277
make[2]: *** [Makefile:412: Makefile.in] Error 255


Any suggestions as to how I could achieve the desired relaxed
behavior?

Benno

--
http://www.fastmail.com - Email service worth paying for. Try it for free




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#25361: info_TEXINFOS cannot be set conditionally?

Hans-Bernhard Bröker
Am 04.01.2017 um 21:35 schrieb Benno Schulenberg:
>
> Hi,
>
> What I would like to achieve is that the doc/Makefile that is
> the result of ./configure contains rules that only try to build
> nano.info and nano.html from nano.texi /if/ makeinfo is available,

That's what the 'missing' mechanism does automatically already.  So the
only thing you need to do for that is to have nano.info and nano.html
files in your tarball.

> and only tries to install nano.info and nano.html if /either/ they
> already exist or makeinfo is available.

Again, all you have to do is distribute the files, and they'll be used
if they can't be rebuilt.

You will have to change the way you call makeinfo to let 'missing'
actually do its job, though :-P





Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#25361: info_TEXINFOS cannot be set conditionally?

Benno Schulenberg

On Fri, Jan 6, 2017, at 00:37, Hans-Bernhard Bröker wrote:
> Am 04.01.2017 um 21:35 schrieb Benno Schulenberg:
> > What I would like to achieve is that the doc/Makefile that is
> > the result of ./configure contains rules that only try to build
> > nano.info and nano.html from nano.texi /if/ makeinfo is available,
>
> That's what the 'missing' mechanism does automatically already.  So the
> only thing you need to do for that is to have nano.info and nano.html
> files in your tarball.

Okay, that works now.

> > and only tries to install nano.info and nano.html if /either/ they
> > already exist or makeinfo is available.
>
> Again, all you have to do is distribute the files, and they'll be used
> if they can't be rebuilt.

True.  But if they are not distributed (like in git), I would like the
install rules to be just skipped /if/ makeinfo is not available.  So,
if nano.info and nano.html are already there, install them, but if
they are not and 'makeinfo' is absent, don't even /try/ to build them.
I don't see how I can achieve that.

> You will have to change the way you call makeinfo to let 'missing'
> actually do its job, though :-P

Thanks for the hint.  :)  The specific rule was not needed, as
automake provides it by default.

Benno

--
http://www.fastmail.com - Email service worth paying for. Try it for free




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#25361: info_TEXINFOS cannot be set conditionally?

Hans-Bernhard Bröker
Am 07.01.2017 um 16:16 schrieb Benno Schulenberg:
> On Fri, Jan 6, 2017, at 00:37, Hans-Bernhard Bröker wrote:

>>> and only tries to install nano.info and nano.html if /either/
>>> they already exist or makeinfo is available.
>>
>> Again, all you have to do is distribute the files, and they'll be
>> used if they can't be rebuilt.

> True.  But if they are not distributed (like in git), I would like
> the install rules to be just skipped /if/ makeinfo is not available.
>
People using git sources can and should be expected to have more
complete tool chests than others, and makeinfo is well within the bounds
of what constitutes a reasonable tool collection for anyone wanting to
build GNU software from sources.

What can I say? Walking on the bleeding edge will hurt your feet,
sometimes. Needing more tools to build them is just the price one pays
for having the latest version(s) of software. People already need their
own automake, autoconf, perl, m4, (groff), gettext and C compiler.
makeinfo is really not a stretch on top of all that.

> So, if nano.info and nano.html are already there, install them, but
> if they are not and 'makeinfo' is absent, don't even /try/ to build
> them. I don't see how I can achieve that.

You shouldn't.  Pretending the build, much less install, was successful
despite such a lack of documentation is just a bad idea.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#25361: info_TEXINFOS cannot be set conditionally?

Benno Schulenberg

On Sat, Jan 7, 2017, at 17:27, Hans-Bernhard Bröker wrote:
> People using git sources can and should be expected to have more
> complete tool chests than others, and makeinfo is well within the bounds
> of what constitutes a reasonable tool collection for anyone wanting to
> build GNU software from sources.

True.

> > So, if nano.info and nano.html are already there, install them, but
> > if they are not and 'makeinfo' is absent, don't even /try/ to build
> > them. I don't see how I can achieve that.
>
> You shouldn't.  Pretending the build, much less install, was successful
> despite such a lack of documentation is just a bad idea.

Okay.

Benno

--
http://www.fastmail.com - A no graphics, no pop-ups email service




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#25361: info_TEXINFOS cannot be set conditionally?

Mathieu Lirzin
Hello,

Benno Schulenberg <[hidden email]> writes:

> On Sat, Jan 7, 2017, at 17:27, Hans-Bernhard Bröker wrote:
>> People using git sources can and should be expected to have more
>> complete tool chests than others, and makeinfo is well within the bounds
>> of what constitutes a reasonable tool collection for anyone wanting to
>> build GNU software from sources.
>
> True.
>
>> > So, if nano.info and nano.html are already there, install them, but
>> > if they are not and 'makeinfo' is absent, don't even /try/ to build
>> > them. I don't see how I can achieve that.
>>
>> You shouldn't.  Pretending the build, much less install, was successful
>> despite such a lack of documentation is just a bad idea.
>
> Okay.
>
> Benno

As explained by Hans-Bernhard, I think it is acceptable for a packages
having a Texinfo based documentation to require its contributors to have
'makeinfo' installed.

Thanks for the report.

--
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37



Loading...