On Wed, Jun 22, 2011 at 3:54 AM, Allan McRae <allan@archlinux.org> 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 <allan@archlinux.org> --- 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