On Wed, Jun 22, 2011 at 3:54 AM, Allan McRae <[email protected]> wrote:
> There was a lot of inconsistency in how strings that should not be
> translated (program names, option flags, PKGBUILD directives, etc) were
> handled. This patch moves them all outside the gettext invocation for
> consistency and to prevent accidental translation.
>
> Note that some of these may need reverted if they cause difficulties in
> translation due to gettext usage in bash not taking positional parameters
> for arguments. A quick survey of current translations idicates that this
"indicates"
> issue will be rare.  Also, we should be able to catch these before a full
> string freeze given we are going to probably need a "developer preview"
> release before the next release series.
This seems reasonable. Gettext pisses me off a lot here that it can't
support these, almost tempted to say we could write a wrapper function
but that seems overkill.

Do you want to do the message catalog split to possibly make catching
these errors easier?

> Signed-off-by: Allan McRae <[email protected]>
> ---
>  scripts/makepkg.sh.in |  102 ++++++++++++++++++++++++------------------------
>  1 files changed, 51 insertions(+), 51 deletions(-)
>
> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
> index 4f99543..7f84b53 100644
> --- a/scripts/makepkg.sh.in
> +++ b/scripts/makepkg.sh.in
> @@ -183,7 +183,7 @@ trap 'trap_exit "$(gettext "Aborted by user! 
> Exiting...")"' INT
>  trap 'trap_exit "$(gettext "An unknown error has occurred. Exiting...")"' ERR
>
>  enter_fakeroot() {
> -       msg "$(gettext "Entering fakeroot environment...")"
> +       msg "$(gettext "Entering %s environment...")" "fakeroot"
>
>        if [[ -n $newpkgver ]]; then
>                fakeroot -- $0 --forcever $newpkgver -F "${ARGLIST[@]}" || 
> exit $?
> @@ -574,7 +574,7 @@ generate_checksums() {
>        plain ""
>
>        if ! type -p openssl >/dev/null; then
> -               error "$(gettext "Cannot find openssl.")"
> +               error "$(gettext "Cannot find the %s binary required for 
> generating sourcefile checksums.")" "openssl"
>                exit 1 # $E_MISSING_PROGRAM
>        fi
>
> @@ -926,7 +926,7 @@ tidy_install() {
>        fi
>
>        if [[ $(check_option libtool) = "n" ]]; then
> -               msg2 "$(gettext "Removing libtool .la files...")"
> +               msg2 "$(gettext "Removing "%s" files...")" "libtool"
>                find . ! -type d -name "*.la" -exec rm -f -- '{}' \;
>        fi
>
> @@ -1009,7 +1009,7 @@ write_pkginfo() {
>        local size="$(@DUPATH@ -sk)"
>        size="$(( ${size%%[^0-9]*} * 1024 ))"
>
> -       msg2 "$(gettext "Generating .PKGINFO file...")"
> +       msg2 "$(gettext "Generating %s file...")" ".PKGINFO"
>        echo "# Generated by makepkg $myver"
>        if (( INFAKEROOT )); then
>                echo "# using $(fakeroot -v)"
> @@ -1081,7 +1081,7 @@ write_pkginfo() {
>        # warn if license array is not present or empty
>        if [[ -z $license ]]; then
>                warning "$(gettext "Please add a license line to your %s!")" 
> "$BUILDSCRIPT"
> -               plain "$(gettext "Example for GPL\'ed software: 
> license=('GPL').")"
> +               plain "$(gettext "Example for GPL\'ed software: %s.")" 
> "license=('GPL')"
>        fi
>  }
>
> @@ -1092,7 +1092,7 @@ check_package() {
>        local file
>        for file in "${backup[@]}"; do
>                if [[ ! -f $file ]]; then
> -                       warning "$(gettext "Backup entry file not in package 
> : %s")" "$file"
> +                       warning "$(gettext "%s entry file not in package : 
> %s")" "backup" "$file"
>                fi
>        done
>
> @@ -1108,7 +1108,7 @@ check_package() {
>
>  create_package() {
>        if [[ ! -d $pkgdir ]]; then
> -               error "$(gettext "Missing pkg/ directory.")"
> +               error "$(gettext "Missing %s directory.")" "pkg/"
>                plain "$(gettext "Aborting...")"
>                exit 1 # $E_MISSING_PKGDIR
>        fi
> @@ -1296,9 +1296,9 @@ install_package() {
>        (( ! INSTALL )) && return
>
>        if (( ! SPLITPKG )); then
> -               msg "$(gettext "Installing package %s with %s -U...")" 
> "$pkgname" "$PACMAN"
> +               msg "$(gettext "Installing package %s with %s...")" 
> "$pkgname" "$PACMAN -U"
>        else
> -               msg "$(gettext "Installing %s package group with %s -U...")" 
> "$pkgbase" "$PACMAN"
> +               msg "$(gettext "Installing %s package group with %s...")" 
> "$pkgbase" "$PACMAN -U"
>        fi
>
>        local fullver pkg pkglist
> @@ -1359,7 +1359,7 @@ check_sanity() {
>                        if (( ! IGNOREARCH )); then
>                                error "$(gettext "%s is not available for the 
> '%s' architecture.")" "$pkgbase" "$CARCH"
>                                plain "$(gettext "Note that many packages may 
> need a line added to their %s")" "$BUILDSCRIPT"
> -                               plain "$(gettext "such as arch=('%s').")" 
> "$CARCH"
> +                               plain "$(gettext "such as %s.")" 
> "arch=('$CARCH')"
>                                ret=1
>                        fi
>                fi
> @@ -1370,7 +1370,7 @@ check_sanity() {
>                sed -e "s/provides=/provides_list+=/" -e "s/#.*//" -e 
> 's/\\$//')
>        for i in ${provides_list[@]}; do
>                if [[ $i != ${i//</} || $i != ${i//>/} ]]; then
> -                       error "$(gettext "Provides array cannot contain 
> comparison (< or >) operators.")"
> +                       error "$(gettext "%s array cannot contain comparison 
> (< or >) operators.")" "provides"
>                        ret=1
>                fi
>        done
> @@ -1380,7 +1380,7 @@ check_sanity() {
>                sed -e "s/backup=/backup_list+=/" -e "s/#.*//" -e 's/\\$//')
>        for i in "${backup_list[@]}"; do
>                if [[ ${i:0:1} = "/" ]]; then
> -                       error "$(gettext "Backup entry should not contain 
> leading slash : %s")" "$i"
> +                       error "$(gettext "%s entry should not contain leading 
> slash : %s")" "backup" "$i"
>                        ret=1
>                fi
>        done
> @@ -1391,7 +1391,7 @@ check_sanity() {
>        for i in "${optdepends_list[@]}"; do
>                local pkg=${i%%:*}
>                if [[ ! $pkg =~ ^[[:alnum:]\>\<\=\.\+\_\-]+$ ]]; then
> -                       error "$(gettext "Invalid syntax for optdepend : 
> '%s'")" "$i"
> +                       error "$(gettext "Invalid syntax for %s : '%s'")" 
> "optdepend" "$i"
>                        ret=1
>                fi
>        done
> @@ -1422,7 +1422,7 @@ check_sanity() {
>                        fi
>                done
>                if (( ! known )); then
> -                       error "$(gettext "options array contains unknown 
> option '%s'")" "$i"
> +                       error "$(gettext "%s array contains unknown option 
> '%s'")" "options" "$i"
>                        valid_options=0
>                fi
>        done
> @@ -1433,7 +1433,7 @@ check_sanity() {
>        if (( ${#pkgname[@]} > 1 )); then
>                for i in ${pkgname[@]}; do
>                        if ! declare -f package_${i} >/dev/null; then
> -                               error "$(gettext "missing package function 
> for split package '%s'")" "$i"
> +                               error "$(gettext "Missing %s function for 
> split package '%s'")" "package_$i()" "$i"
>                                ret=1
>                        fi
>                done
> @@ -1441,7 +1441,7 @@ check_sanity() {
>
>        for i in ${PKGLIST[@]}; do
>                if ! in_array $i ${pkgname[@]}; then
> -                       error "$(gettext "requested package %s is not 
> provided in %s")" "$i" "$BUILDFILE"
> +                       error "$(gettext "Requested package %s is not 
> provided in %s")" "$i" "$BUILDFILE"
>                        ret=1
>                fi
>        done
> @@ -1630,11 +1630,11 @@ usage() {
>        printf "$(gettext "Usage: %s [options]")\n" "$0"
>        echo
>        echo "$(gettext "Options:")"
> -       printf "$(gettext "  -A, --ignorearch Ignore incomplete arch field in 
> %s")\n" "$BUILDSCRIPT"
> +       printf "$(gettext "  -A, --ignorearch Ignore incomplete %s field in 
> %s")\n" "arch" "$BUILDSCRIPT"
>        echo "$(gettext "  -c, --clean      Clean up work files after build")"
>        echo "$(gettext "  -C, --cleancache Clean up source files from the 
> cache")"
>        echo "$(gettext "  -d, --nodeps     Skip all dependency checks")"
> -       echo "$(gettext "  -e, --noextract  Do not extract source files (use 
> existing src/ dir)")"
> +       printf "$(gettext "  -e, --noextract  Do not extract source files 
> (use existing %s dir)")\n" "src/"
>        echo "$(gettext "  -f, --force      Overwrite existing package")"
>        echo "$(gettext "  -g, --geninteg   Generate integrity checks for 
> source files")"
>        echo "$(gettext "  -h, --help       Show this help message and exit")"
> @@ -1645,26 +1645,26 @@ usage() {
>        printf "$(gettext "  -p <file>        Use an alternate build script 
> (instead of '%s')")\n" "$BUILDSCRIPT"
>        echo "$(gettext "  -r, --rmdeps     Remove installed dependencies 
> after a successful build")"
>        echo "$(gettext "  -R, --repackage  Repackage contents of the package 
> without rebuilding")"
> -       echo "$(gettext "  -s, --syncdeps   Install missing dependencies with 
> pacman")"
> +       printf "$(gettext "  -s, --syncdeps   Install missing dependencies 
> with %s")\n" "pacman"
>        echo "$(gettext "  --allsource      Generate a source-only tarball 
> including downloaded sources")"
> -       echo "$(gettext "  --asroot         Allow makepkg to run as root 
> user")"
> -       printf "$(gettext "  --check          Run the check() function in the 
> %s")\n" "$BUILDSCRIPT"
> +       printf "$(gettext "  --asroot         Allow %s to run as root 
> user")\n" "makepkg"
> +       printf "$(gettext "  --check          Run the %s function in the 
> %s")\n" "check()" "$BUILDSCRIPT"
>        printf "$(gettext "  --config <file>  Use an alternate config file 
> (instead of '%s')")\n" "$confdir/makepkg.conf"
>        printf "$(gettext "  --holdver        Prevent automatic version 
> bumping for development %ss")\n" "$BUILDSCRIPT"
> -       echo "$(gettext "  --key <key>      Specify a key to use for gpg 
> signing instead of the default")"
> -       printf "$(gettext "  --nocheck        Do not run the check() function 
> in the %s")\n" "$BUILDSCRIPT"
> +       printf "$(gettext "  --key <key>      Specify a key to use for %s 
> signing instead of the default")\n" "gpg"
> +       printf "$(gettext "  --nocheck        Do not run the %s function in 
> the %s")\n" "check()" "$BUILDSCRIPT"
>        echo "$(gettext "  --nosign         Do not create a signature for the 
> package")"
>        echo "$(gettext "  --pkg <list>     Only build listed packages from a 
> split package")"
> -       echo "$(gettext "  --sign           Sign the resulting package with 
> gpg")"
> +       printf "$(gettext "  --sign           Sign the resulting package with 
> %s")\n" "gpg"
>        echo "$(gettext "  --skipinteg      Do not fail when integrity checks 
> are missing")"
>        echo "$(gettext "  --source         Generate a source-only tarball 
> without downloaded sources")"
>        echo
> -       echo "$(gettext "These options can be passed to pacman:")"
> +       printf "$(gettext "These options can be passed to %s:")\n" "pacman"
>        echo
>        echo "$(gettext "  --noconfirm      Do not ask for confirmation when 
> resolving dependencies")"
>        echo "$(gettext "  --noprogressbar  Do not show a progress bar when 
> downloading files")"
>        echo
> -       printf "$(gettext "If -p is not specified, makepkg will look for 
> '%s'")\n" "$BUILDSCRIPT"
> +       printf "$(gettext "If %s is not specified, %s will look for '%s'")\n" 
> "-p" "makepkg" "$BUILDSCRIPT"
>        echo
>  }
>
> @@ -1843,7 +1843,7 @@ GPGKEY=${_GPGKEY:-$GPGKEY}
>
>  if (( HOLDVER )) && [[ -n $FORCE_VER ]]; then
>        # The '\\0' is here to prevent gettext from thinking --holdver is an 
> option
> -       error "$(gettext "\\0--holdver and --forcever cannot both be 
> specified" )"
> +       error "$(gettext "\\0%s and %s cannot both be specified" )" 
> "--holdver" "--forcever"
>        exit 1
>  fi
>
> @@ -1873,7 +1873,7 @@ if (( CLEANCACHE )); then
>        else
>                # $SRCDEST is $startdir, two possibilities
>                error "$(gettext "Source destination must be defined in %s.")" 
> "$MAKEPKG_CONF"
> -               plain "$(gettext "In addition, please run makepkg -C outside 
> of your cache directory.")"
> +               plain "$(gettext "In addition, please run %s outside of your 
> cache directory.")" "makepkg -C"
>                exit 1
>        fi
>  fi
> @@ -1881,24 +1881,24 @@ fi
>  if (( ! INFAKEROOT )); then
>        if (( EUID == 0 && ! ASROOT )); then
>                # Warn those who like to live dangerously.
> -               error "$(gettext "Running makepkg as root is a BAD idea and 
> can cause")"
> +               error "$(gettext "Running %s as root is a BAD idea and can 
> cause")" "makepkg"
>                plain "$(gettext "permanent, catastrophic damage to your 
> system. If you")"
> -               plain "$(gettext "wish to run as root, please use the 
> --asroot option.")"
> +               plain "$(gettext "wish to run as root, please use the %s 
> option.")" "--asroot"
>                exit 1 # $E_USER_ABORT
>        elif (( EUID > 0 && ASROOT )); then
>                # Warn those who try to use the --asroot option when they are 
> not root
> -               error "$(gettext "The --asroot option is meant for the root 
> user only.")"
> -               plain "$(gettext "Please rerun makepkg without the --asroot 
> flag.")"
> +               error "$(gettext "The %s option is meant for the root user 
> only.")" "--asroot"
> +               plain "$(gettext "Please rerun %s without the %s flag.")" 
> "makepkg" "--asroot"
>                exit 1 # $E_USER_ABORT
>        elif (( EUID > 0 )) && [[ $(check_buildenv fakeroot) != "y" ]]; then
> -               warning "$(gettext "Running makepkg as an unprivileged user 
> will result in non-root")"
> -               plain "$(gettext "ownership of the packaged files. Try using 
> the fakeroot environment by")"
> -               plain "$(gettext "placing 'fakeroot' in the BUILDENV array in 
> %s.")" "$MAKEPKG_CONF"
> +               warning "$(gettext "Running %s as an unprivileged user will 
> result in non-root")" "makepkg"
> +               plain "$(gettext "ownership of the packaged files. Try using 
> the %s environment by")" "fakeroot"
> +               plain "$(gettext "placing %s in the %s array in %s.")" 
> "'fakeroot'" "BUILDENV" "$MAKEPKG_CONF"
>                sleep 1
>        fi
>  else
>        if [[ -z $FAKEROOTKEY ]]; then
> -               error "$(gettext "Do not use the '-F' option. This option is 
> only for use by makepkg.")"
> +               error "$(gettext "Do not use the %s option. This option is 
> only for use by %s.")" "'-F'" "makepkg"
>                exit 1 # TODO: error code
>        fi
>  fi
> @@ -1927,7 +1927,7 @@ if [[ ! -f $BUILDFILE ]]; then
>  else
>        crlftest=$(file "$BUILDFILE" | grep -F 'CRLF' || true)
>        if [[ -n $crlftest ]]; then
> -               error "$(gettext "%s contains CRLF characters and cannot be 
> sourced.")" "$BUILDFILE"
> +               error "$(gettext "%s contains %s characters and cannot be 
> sourced.")" "$BUILDFILE" "CRLF"
>                exit 1
>        fi
>
> @@ -1995,7 +1995,7 @@ fi
>  if [[ $SIGNPKG == 'y' ]]; then
>        if ! gpg --list-key ${GPGKEY} &>/dev/null; then
>                if [[ ! -z $GPGKEY ]]; then
> -                       error "$(gettext "The key ${GPGKEY} does not exist in 
> your keyring.")"
> +                       error "$(gettext "The key %s does not exist in your 
> keyring.")" "${GPGKEY}"
>                else
>                        error "$(gettext "There is no key in your keyring.")"
>                fi
> @@ -2014,7 +2014,7 @@ if (( ! SPLITPKG )); then
>                        install_package
>                        exit $?
>                else
> -                       error "$(gettext "A package has already been built. 
> (use -f to overwrite)")"
> +                       error "$(gettext "A package has already been built. 
> (use %s to overwrite)")" "-f"
>                        exit 1
>                fi
>        fi
> @@ -2038,12 +2038,12 @@ else
>                                install_package
>                                exit $?
>                        else
> -                               error "$(gettext "The package group has 
> already been built. (use -f to overwrite)")"
> +                               error "$(gettext "The package group has 
> already been built. (use %s to overwrite)")" "-f"
>                                exit 1
>                        fi
>                fi
>                if (( somepkgbuilt )); then
> -                       error "$(gettext "Part of the package group has 
> already been built. (use -f to overwrite)")"
> +                       error "$(gettext "Part of the package group has 
> already been built. (use %s to overwrite)")" "-f"
>                        exit 1
>                fi
>        fi
> @@ -2054,7 +2054,7 @@ fi
>  if (( INFAKEROOT )); then
>        if (( SOURCEONLY )); then
>                create_srcpackage
> -               msg "$(gettext "Leaving fakeroot environment.")"
> +               msg "$(gettext "Leaving %s environment.")" "fakeroot"
>                exit 0 # $E_OK
>        fi
>
> @@ -2067,7 +2067,7 @@ if (( INFAKEROOT )); then
>                                        tidy_install
>                                fi
>                        else
> -                               warning "$(gettext "Repackaging without the 
> use of a package() function is deprecated.")"
> +                               warning "$(gettext "Repackaging without the 
> use of a %s function is deprecated.")" "package()"
>                                plain "$(gettext "File permissions may not be 
> preserved.")"
>                        fi
>                else
> @@ -2079,7 +2079,7 @@ if (( INFAKEROOT )); then
>                run_split_packaging
>        fi
>
> -       msg "$(gettext "Leaving fakeroot environment.")"
> +       msg "$(gettext "Leaving %s environment.")" "fakeroot"
>        exit 0 # $E_OK
>  fi
>
> @@ -2090,7 +2090,7 @@ msg "$(gettext "Making package: %s")" "$pkgbase 
> $fullver ($(date))"
>  if (( SOURCEONLY )); then
>        if [[ -f $SRCPKGDEST/${pkgbase}-${fullver}${SRCEXT} ]] \
>             && (( ! FORCE )); then
> -               error "$(gettext "A source package has already been built. 
> (use -f to overwrite)")"
> +               error "$(gettext "A source package has already been built. 
> (use %s to overwrite)")" "-f"
>                exit 1
>        fi
>
> @@ -2150,7 +2150,7 @@ elif type -p "${PACMAN%% *}" >/dev/null; then
>                exit 1
>        fi
>  else
> -       warning "$(gettext "%s was not found in PATH; skipping dependency 
> checks.")" "${PACMAN%% *}"
> +       warning "$(gettext "%s was not found in %s; skipping dependency 
> checks.")" "${PACMAN%% *}" "PATH"
>  fi
>
>  # ensure we have a sane umask set
> @@ -2162,9 +2162,9 @@ chmod a-s "$srcdir"
>  cd "$srcdir"
>
>  if (( NOEXTRACT )); then
> -       warning "$(gettext "Skipping source retrieval        -- using 
> existing src/ tree")"
> -       warning "$(gettext "Skipping source integrity checks -- using 
> existing src/ tree")"
> -       warning "$(gettext "Skipping source extraction       -- using 
> existing src/ tree")"
> +       warning "$(gettext "Skipping source retrieval        -- using 
> existing %s tree")" "src/"
> +       warning "$(gettext "Skipping source integrity checks -- using 
> existing %s tree")" "src/"
> +       warning "$(gettext "Skipping source extraction       -- using 
> existing %s tree")" "src/"
>
>        if (( NOEXTRACT )) && [[ -z $(ls "$srcdir" 2>/dev/null) ]]; then
>                error "$(gettext "The source directory is empty, there is 
> nothing to build!")"
> @@ -2194,7 +2194,7 @@ if (( NOBUILD )); then
>  else
>        # check for existing pkg directory; don't remove if we are repackaging
>        if [[ -d $pkgdir ]] && (( ! REPKG || PKGFUNC || SPLITPKG )); then
> -               msg "$(gettext "Removing existing pkg/ directory...")"
> +               msg "$(gettext "Removing existing %s directory...")" "pkg/"
>                rm -rf "$pkgdir"
>        fi
>        mkdir -p "$pkgdir"
> @@ -2216,7 +2216,7 @@ else
>                                if (( ! REPKG )); then
>                                        tidy_install
>                                else
> -                                       warning "$(gettext "Repackaging 
> without the use of a package() function is deprecated.")"
> +                                       warning "$(gettext "Repackaging 
> without the use of a %s" function is deprecated.")" "package()"
>                                        plain "$(gettext "File permissions may 
> not be preserved.")"
>                                fi
>                        fi
> --
> 1.7.5.4
>
>
>

Reply via email to