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 > > >
