[PATCH v3 1/4] bootstrap: Run linguas.sh in bootstrap epilogue

Glenn Washburn
2025-11-19T19:50:23Z

Heretofore, linguas.sh had to be run by the user and a common mistake
made when building GRUB was to not run the command. By adding it to
the bootstrap epilogue it will by default get run at the end of the
bootstrap script. The user no longer needs to remember to run it.
If the --skip-po option is passed to bootstrap, do not run linguas.sh.
This allows for bootstrap to be run without updating the translations,
which might be desired in the future if we track po files so that
translations can be used as they were at time of release.

Update INSTALL file to reflect that it is no longer necessary to run
linguas.sh. Also, fix a list numbering error.

Fixes: 9f73ebd49be (* INSTALL: Document linguas.sh.)
Signed-off-by: Glenn Washburn <development@efficientek.com>
---
INSTALL | 17 +++++++----------
bootstrap.conf | 8 +++++++-
2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/INSTALL b/INSTALL
index 22b68cb6c766..f49bfdd2d0c5 100644
--- a/INSTALL
+++ b/INSTALL
@@ -140,15 +140,12 @@ The simplest way to compile this package is:

1. `cd' to the directory containing the package's source code.

- 2. Skip this and following step if you use release tarball and proceed to
- step 4. If you want translations type `./linguas.sh'.
-
- 3. Type `./bootstrap'.
+ 2. Type `./bootstrap'.

The autogen.sh (called by bootstrap) uses python. By default autodetect
it, but it can be overridden by setting the PYTHON variable.

- 4. Type `./configure' to configure the package for your system.
+ 3. Type `./configure' to configure the package for your system.
If you're using `csh' on an old version of System V, you might
need to type `sh ./configure' instead to prevent `csh' from trying
to execute `configure' itself.
@@ -156,19 +153,19 @@ The simplest way to compile this package is:
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.

- 6. Type `make' to compile the package.
+ 4. Type `make' to compile the package.

- 7. Optionally, type `make check' to run any self-tests that come with
+ 5. Optionally, type `make check' to run any self-tests that come with
the package. Note that many of the tests require root privileges in
order to run.

- 8. Type `make install' to install the programs and any data files and
+ 6. Type `make install' to install the programs and any data files and
documentation.

- 9. Type `make html' or `make pdf' to generate the html or pdf
+ 7. Type `make html' or `make pdf' to generate the html or pdf
documentation. Note, these are not built by default.

- 10. You can remove the program binaries and object files from the
+ 8. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
diff --git a/bootstrap.conf b/bootstrap.conf
index 8eff35b45d5d..e894666fd252 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -63,7 +63,7 @@ checkout_only_file=
copy=true
vc_ignore=

-SKIP_PO=t
+SKIP_PO=n

# Build prerequisites
buildreq="\
@@ -108,4 +108,10 @@ bootstrap_post_import_hook () {

bootstrap_epilogue () {
mv INSTALL.grub INSTALL
+
+ # Update translation files and create LINGUAS file used to determine
+ # the set of languages used to translate.
+ if [ "x$SKIP_PO" = "xn" ]; then
+ ./linguas.sh
+ fi
}