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 <[email protected]> --- INSTALL | 1 + bootstrap.conf | 23 +++++++++++------------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/INSTALL b/INSTALL index f49bfdd2d0c5..056e36e06df3 100644 --- a/INSTALL +++ b/INSTALL @@ -25,6 +25,7 @@ configuring the GRUB. * Flex 2.5.35 or later * pkg-config * GNU patch +* wget (for downloading updated translations) * Other standard GNU/Unix tools * a libc with large file support (e.g. glibc 2.1 or later) diff --git a/bootstrap.conf b/bootstrap.conf index 79d4248c84aa..40e0b0cf47bb 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -113,17 +113,16 @@ bootstrap_epilogue () { # languages. autogenerated="en@quot en@hebrew de@hebrew en@cyrillic en@greek en@arabic en@piglatin de_CH" - for x in $autogenerated; do - rm -f "po/$x.po"; - done - - ( - ( - cd po && ls *.po| cut -d. -f1 - for x in $autogenerated; do - echo "$x"; - done - ) | sort | uniq | xargs - ) >po/LINGUAS + { + # 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 } -- 2.34.1 _______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
