bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fix to bootstrap


From: Jim Meyering
Subject: Re: Fix to bootstrap
Date: Thu, 19 Apr 2012 15:28:48 +0200

Reuben Thomas wrote:
> Here's a patch to bin the output of cd so it doesn't get into the list of 
> languages.
>
>>From 843c0d2fe28ae554e3d3d2753a6d94cea7d5b091 Mon Sep 17 00:00:00 2001
> From: Reuben Thomas <address@hidden>
> Date: Thu, 19 Apr 2012 14:23:07 +0100
> Subject: [PATCH] bootstrap: avoid inserting directory into list of po
>  languages
>
> * build-aux/bootstrap (gnulib_tool): avoid capturing output of cd
> when finding po files.
> ---
>  ChangeLog           |    6 ++++++
>  build-aux/bootstrap |    4 ++--
>  2 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/ChangeLog b/ChangeLog
> index c980aa3..4cda02b 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,9 @@
> +2012-04-19  Reuben Thomas  <address@hidden>
> +
> +     bootstrap: avoid inserting directory into list of po languages
> +     * build-aux/bootstrap (gnulib_tool): avoid capturing output of cd
> +     when finding po files.
> +
>  2012-04-16  Akim Demaille  <address@hidden>
>       and Jim Meyering  <address@hidden>

Thanks for tracking that down.
However, rather than handling just that one "cd",
how about ensuring that no use of "cd" in this script
can cause such trouble?  To do that, you would unset CDPATH
somewhere near the top, with a comment explaining its purpose.

> diff --git a/build-aux/bootstrap b/build-aux/bootstrap
> index 16dc15c..c6b566a 100755
> --- a/build-aux/bootstrap
> +++ b/build-aux/bootstrap
> @@ -1,6 +1,6 @@
>  #! /bin/sh
>  # Print a version string.
> -scriptversion=2012-04-16.16; # UTC
> +scriptversion=2012-04-19.13; # UTC
>
>  # Bootstrap this package from checked-out sources.
>
> @@ -638,7 +638,7 @@ update_po_files() {
>      && ls "$ref_po_dir"/*.po 2>/dev/null |
>        sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return
>
> -  langs=`cd $ref_po_dir && echo *.po|sed 's/\.po//g'`
> +  langs=`cd $ref_po_dir >/dev/null && echo *.po|sed 's/\.po//g'`
>    test "$langs" = '*' && langs=x
>    for po in $langs; do
>      case $po in x) continue;; esac
> --
> 1.7.9.5



reply via email to

[Prev in Thread] Current Thread [Next in Thread]