Re: INSTALL nits

Paul Eggert <[email protected]>
Newsgroups gmane.comp.sysutils.autoconf.general
Organization UCLA Computer Science Department
Message-ID <[email protected]>
On 2023-08-14 11:01, Gavin Smith wrote:

> It makes no sense to include the Info cross-reference beginning "*note"
> in a plain text file

Thanks, fixed by installing the attached into Autoconf and propagating 
it into Gnulib.


> Using ASCII quotes, like 'README', would be just as good here.

I think the switch from ASCII came because Texinfo 7 defaults to UTF-8.

To cater to any builders inconvenienced by UTF-8, a developer can ship 
the contents of INSTALL.ISO instead. As most builders moved on to UTF-8 
some time ago, it should be OK for INSTALL itself to use it.


> * A "bootstrap" command is recommended as the first step:
> 
>       The following shell commands:
>    
>         test -f configure || ./bootstrap
>         ./configure
>         make
>         make install
>    
>    should configure, build, and install this package.
> 
> However, a "bootstrap" command does not exist in all packages (and isn't
> specified by the GNU coding standards(*)), making this INSTALL file less
> useful to include in other packages.

It should be OK, as ‘test -f configure || ./bootstrap’ should work on 
any package following the GNU coding standards, even if there is no 
‘bootstrap’. The attached patch tries to clarify this point.

The ./bootstrap approach is increasingly popular, which is why we 
recently updated the Autoconf manual to cover it.
0001-Mention-.-bootstrap-privacy-implications.patch (text/x-patch, 3.2 KB)
From b2b69331d6257a64ee520a2a219e49c62c70d4e1 Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email protected]>
Date: Tue, 15 Aug 2023 17:21:03 -0700
Subject: [PATCH] Mention ./bootstrap privacy implications

* doc/install.texi: Fix some problems noted by Gavin Smith in:
https://lists.gnu.org/r/autoconf/2023-08/msg00000.html
---
 doc/install.texi | 36 ++++++++++++++++++++++++++++--------
 1 file changed, 28 insertions(+), 8 deletions(-)

diff --git a/doc/install.texi b/doc/install.texi
index 6c3a9c21..b2ceae2e 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -19,8 +19,8 @@ make install
 
 @noindent
 should configure, build, and install this package.
-The @command{./bootstrap} line is intended for developers;
-you can omit it when building from a distribution tarball.
+The first line, which bootstraps, is intended for developers;
+when building from distribution tarballs it does nothing and can be skipped.
 
 The following
 more-detailed instructions are generic; see the @file{README} file for
@@ -39,10 +39,12 @@ GNU Coding Standards}.
 the GNU Coding Standards.
 @end ifclear
 
+Many packages have scripts meant for developers instead of ordinary
+builders, as they may use developer tools that are less commonly installed,
+or they may access the network, which has privacy implications.
 If the @command{bootstrap} shell script exists, it attempts to build the
-@command{configure} shell script and related files, perhaps by
-downloading other software components from the network, and by using
-developer tools that are less commonly installed.  Because the output of
+@command{configure} shell script and related files, possibly
+using developer tools or the network.  Because the output of
 @command{bootstrap} is system-independent, it is normally run by a
 package developer so that its output can be put into the distribution
 tarball and ordinary builders and users need not run @command{bootstrap}.
@@ -85,7 +87,8 @@ The simplest way to compile this package is:
 @item
 If this is a developer checkout and file @samp{configure} does not yet exist,
 type @samp{./bootstrap} to create it.
-You may need special developer tools and network access to bootstrap.
+You may need special developer tools and network access to bootstrap,
+and the network access may have privacy implications.
 
 @item
 Type @samp{./configure} to configure the package for your system.
@@ -397,15 +400,32 @@ the installation locations.
 
 @item --host=@var{type}
 Build binaries for system @var{type}.
+@ifplaintext
+See ``Specifying a System Type''.
+@end ifplaintext
+@ifnotplaintext
 @xref{System Types}.
+@end ifnotplaintext
 
 @item --enable-@var{feature}
 @itemx --disable-@var{feature}
-Enable or disable the optional @var{feature}.  @xref{Optional Features}.
+Enable or disable the optional @var{feature}.
+@ifplaintext
+See ``Optional Features''.
+@end ifplaintext
+@ifnotplaintext
+@xref{Optional Features}.
+@end ifnotplaintext
 
 @item --with-@var{package}
 @itemx --without-@var{package}
-Use or omit @var{package} when building.  @xref{Optional Features}.
+Use or omit @var{package} when building.
+@ifplaintext
+See ``Optional Features''.
+@end ifplaintext
+@ifnotplaintext
+@xref{Optional Features}.
+@end ifnotplaintext
 
 @item --quiet
 @itemx --silent
-- 
2.39.2
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.