Remove unnecessary subshells. Loop over autogenerated po files only once. Use existing LINGUAS created by bootstrap instead of finding po files again. Add wget as a soft requirement now that we are using bootstrap's code for updating translation files. This should only be needed if updated translations are desired, which is the default. There should be older translation files already, and wget is not necessary if those will suffice. Signed-off-by: Glenn Washburn <development@efficientek.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
129 lines
3.4 KiB
Plaintext
129 lines
3.4 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=
|
|
|
|
# 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
|
|
|
|
if [ "x$SKIP_PO" = "x" ]; then
|
|
# Generate LINGUAS with all supported languages. Bootstrap will
|
|
# generate a LINGUAS, but it will not contain the autogenerated
|
|
# languages.
|
|
autogenerated="en@quot en@hebrew de@hebrew en@cyrillic en@greek en@arabic en@piglatin de_CH"
|
|
|
|
{
|
|
# NOTE: xargs has no POSIX compliant way to avoid running the program
|
|
# given as an argument when there are no input lines. So ensure that
|
|
# basename is always run with at least one argument, the empty string,
|
|
# and ignore the first line of output.
|
|
ls po/*.po | xargs -L 100 basename -s .po -a "" | tail -n +2
|
|
for x in $autogenerated; do
|
|
rm -f "po/$x.po"
|
|
echo "$x"
|
|
done
|
|
} | sort | uniq | xargs >po/LINGUAS
|
|
fi
|
|
}
|