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> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
118 lines
2.8 KiB
Plaintext
118 lines
2.8 KiB
Plaintext
# Bootstrap configuration.
|
|
|
|
# Copyright (C) 2006-2022 Free Software Foundation, Inc.
|
|
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
|
|
GNULIB_REVISION=9f48fb992a3d7e96610c4ce8be969cff2d61a01b
|
|
|
|
# gnulib modules used by this package.
|
|
# mbswidth is used by fix-width.diff's changes to argp rather than directly.
|
|
gnulib_modules="
|
|
argp
|
|
base64
|
|
error
|
|
filevercmp
|
|
fnmatch
|
|
getdelim
|
|
getline
|
|
gettext-h
|
|
gitlog-to-changelog
|
|
mbswidth
|
|
progname
|
|
realloc-gnu
|
|
regex
|
|
save-cwd
|
|
stdbool
|
|
"
|
|
|
|
gnulib_tool_option_extras="\
|
|
--no-conditional-dependencies \
|
|
--no-vc-files \
|
|
"
|
|
|
|
gnulib_name=libgnu
|
|
source_base=grub-core/lib/gnulib
|
|
gnulib_extra_files="
|
|
build-aux/install-sh
|
|
build-aux/mdate-sh
|
|
build-aux/texinfo.tex
|
|
build-aux/depcomp
|
|
build-aux/config.guess
|
|
build-aux/config.sub
|
|
"
|
|
|
|
# Additional xgettext options to use. Use "\\\newline" to break lines.
|
|
XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
|
|
--from-code=UTF-8\\\
|
|
'
|
|
|
|
checkout_only_file=
|
|
copy=true
|
|
vc_ignore=
|
|
|
|
SKIP_PO=n
|
|
|
|
# Build prerequisites
|
|
buildreq="\
|
|
autoconf 2.64
|
|
automake 1.14
|
|
gettext -
|
|
git 1.5.5
|
|
patch -
|
|
tar -
|
|
"
|
|
|
|
# bootstrap doesn't give us a reasonable way to stop Automake from
|
|
# overwriting this, so we just copy our version aside and put it back later.
|
|
cp -a INSTALL INSTALL.grub
|
|
|
|
bootstrap_post_import_hook () {
|
|
set -e
|
|
|
|
# Instead of patching our gnulib and therefore maintaining a fork, submit
|
|
# changes to gnulib and update the hash above when they've merged. Do not
|
|
# add new patches here.
|
|
for patchname in fix-width \
|
|
fix-regcomp-resource-leak \
|
|
fix-regexec-resource-leak \
|
|
fix-gcc-15-compile \
|
|
fix-unused-value; do
|
|
patch -d grub-core/lib/gnulib -p2 \
|
|
< "grub-core/lib/gnulib-patches/$patchname.patch"
|
|
done
|
|
|
|
for patchname in \
|
|
0001-Support-POTFILES-shell \
|
|
0002-Handle-gettext_printf-shell-function \
|
|
0003-Make-msgfmt-output-in-little-endian \
|
|
0004-Use-SHELL-rather-than-bin-sh; do
|
|
patch -d po -p3 \
|
|
< "po/gettext-patches/$patchname.patch"
|
|
done
|
|
FROM_BOOTSTRAP=1 ./autogen.sh
|
|
set +e # bootstrap expects this
|
|
}
|
|
|
|
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
|
|
}
|