summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Reisner <dreisner@archlinux.org>2012-01-23 17:14:25 -0500
committerDan McGee <dan@archlinux.org>2012-01-30 21:31:38 -0600
commit9e9835f4640a45cc758fa64de5923d7f836fe1f4 (patch)
treea105d263cda79f687fed3a91fb4bfec4267c1eb6
parent7ff1b945f6c8b2286f04626be39291a7527119f4 (diff)
downloadpacman-9e9835f4640a45cc758fa64de5923d7f836fe1f4.tar.xz
scripts: always use printf with embedded gettext
This addresses two problems: 1) echo's behavior is inconsistent when dealing with flags, and can potentially be problematic. $ echo -n $ echo -- -n -- -n 2) Always using the end of options markers prevents translated strings from throwing errors, as shown in FS#28069. The remaining "inconsistencies" are because printf is being used in a guaranteed safe manner, e.g. printf '%s\n' "$(gettext "--this can never break")" Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--scripts/makepkg.sh.in78
-rw-r--r--scripts/pacman-db-upgrade.sh.in4
-rw-r--r--scripts/pacman-key.sh.in50
-rw-r--r--scripts/pacman-optimize.sh.in8
-rw-r--r--scripts/pkgdelta.sh.in8
-rw-r--r--scripts/repo-add.sh.in44
6 files changed, 96 insertions, 96 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 96589dd1..e51f9ede 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -664,7 +664,7 @@ check_checksums() {
echo -n " $file ... " >&2
if ! file="$(get_filepath "$file")"; then
- echo "$(gettext "NOT FOUND")" >&2
+ printf -- "$(gettext "NOT FOUND")\n" >&2
errors=1
found=0
fi
@@ -674,9 +674,9 @@ check_checksums() {
local realsum="$(openssl dgst -${integ} "$file")"
realsum="${realsum##* }"
if [[ $expectedsum = $realsum ]]; then
- echo "$(gettext "Passed")" >&2
+ printf -- "$(gettext "Passed")\n" >&2
else
- echo "$(gettext "FAILED")" >&2
+ printf -- "$(gettext "FAILED")\n" >&2
errors=1
fi
fi
@@ -1827,51 +1827,51 @@ m4_include(library/parse_options.sh)
usage() {
printf "makepkg (pacman) %s\n" "$myver"
echo
- printf "$(gettext "Usage: %s [options]")\n" "$0"
+ printf -- "$(gettext "Usage: %s [options]")\n" "$0"
echo
- echo "$(gettext "Options:")"
- 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 " -d, --nodeps Skip all dependency checks")"
- 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")"
- echo "$(gettext " -i, --install Install package after successful build")"
- echo "$(gettext " -L, --log Log package build process")"
- echo "$(gettext " -m, --nocolor Disable colorized output messages")"
- echo "$(gettext " -o, --nobuild Download and extract files only")"
- 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")"
- printf "$(gettext " -s, --syncdeps Install missing dependencies with %s")\n" "pacman"
- echo "$(gettext " -S, --source Generate a source-only tarball without downloaded sources")"
- echo "$(gettext " --allsource Generate a source-only tarball including downloaded sources")"
- 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"
- 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")"
- printf "$(gettext " --sign Sign the resulting package with %s")\n" "gpg"
- echo "$(gettext " --skipchecksums Do not verify checksums of the source files")"
- echo "$(gettext " --skipinteg Do not perform any verification checks on source files")"
- echo "$(gettext " --skippgpcheck Do not verify source files with PGP signatures")"
+ printf -- "$(gettext "Options:")"
+ printf -- "$(gettext " -A, --ignorearch Ignore incomplete %s field in %s")\n" "arch" "$BUILDSCRIPT"
+ printf -- "$(gettext " -c, --clean Clean up work files after build")\n"
+ printf -- "$(gettext " -d, --nodeps Skip all dependency checks")\n"
+ printf -- "$(gettext " -e, --noextract Do not extract source files (use existing %s dir)")\n" "src/"
+ printf -- "$(gettext " -f, --force Overwrite existing package")\n"
+ printf -- "$(gettext " -g, --geninteg Generate integrity checks for source files")\n"
+ printf -- "$(gettext " -h, --help Show this help message and exit")\n"
+ printf -- "$(gettext " -i, --install Install package after successful build")\n"
+ printf -- "$(gettext " -L, --log Log package build process")\n"
+ printf -- "$(gettext " -m, --nocolor Disable colorized output messages")\n"
+ printf -- "$(gettext " -o, --nobuild Download and extract files only")\n"
+ printf -- "$(gettext " -p <file> Use an alternate build script (instead of '%s')")\n" "$BUILDSCRIPT"
+ printf -- "$(gettext " -r, --rmdeps Remove installed dependencies after a successful build")\n"
+ printf -- "$(gettext " -R, --repackage Repackage contents of the package without rebuilding")\n"
+ printf -- "$(gettext " -s, --syncdeps Install missing dependencies with %s")\n" "pacman"
+ printf -- "$(gettext " -S, --source Generate a source-only tarball without downloaded sources")\n"
+ printf -- "$(gettext " --allsource Generate a source-only tarball including downloaded sources")\n"
+ 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"
+ 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"
+ printf -- "$(gettext " --nosign Do not create a signature for the package")\n"
+ printf -- "$(gettext " --pkg <list> Only build listed packages from a split package")\n"
+ printf -- "$(gettext " --sign Sign the resulting package with %s")\n" "gpg"
+ printf -- "$(gettext " --skipchecksums Do not verify checksums of the source files")\n"
+ printf -- "$(gettext " --skipinteg Do not perform any verification checks on source files")\n"
+ printf -- "$(gettext " --skippgpcheck Do not verify source files with PGP signatures")\n"
echo
- printf "$(gettext "These options can be passed to %s:")\n" "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")"
+ printf -- "$(gettext " --noconfirm Do not ask for confirmation when resolving dependencies")\n"
+ printf -- "$(gettext " --noprogressbar Do not show a progress bar when downloading files")\n"
echo
- printf "$(gettext "If %s is not specified, %s will look for '%s'")\n" "-p" "makepkg" "$BUILDSCRIPT"
+ printf -- "$(gettext "If %s is not specified, %s will look for '%s'")\n" "-p" "makepkg" "$BUILDSCRIPT"
echo
}
version() {
printf "makepkg (pacman) %s\n" "$myver"
- printf "$(gettext "\
+ printf -- "$(gettext "\
Copyright (c) 2006-2012 Pacman Development Team <pacman-dev@archlinux.org>.\n\
Copyright (C) 2002-2006 Judd Vinet <jvinet@zeroflux.org>.\n\n\
This is free software; see the source for copying conditions.\n\
diff --git a/scripts/pacman-db-upgrade.sh.in b/scripts/pacman-db-upgrade.sh.in
index 3e0d702d..04387582 100644
--- a/scripts/pacman-db-upgrade.sh.in
+++ b/scripts/pacman-db-upgrade.sh.in
@@ -32,12 +32,12 @@ m4_include(library/output_format.sh)
usage() {
printf "pacman-db-upgrade (pacman) %s\n\n" "$myver"
- printf "$(gettext "Usage: %s [pacman_db_root]")\n\n" "$0"
+ printf -- "$(gettext "Usage: %s [pacman_db_root]")\n\n" "$0"
}
version() {
printf "pacman-db-upgrade (pacman) %s\n" "$myver"
- printf "$(gettext "\
+ printf -- "$(gettext "\
Copyright (c) 2010-2011 Pacman Development Team <pacman-dev@archlinux.org>.\n\
This is free software; see the source for copying conditions.\n\
There is NO WARRANTY, to the extent permitted by law.\n")"
diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in
index 2159fdf1..45ece51b 100644
--- a/scripts/pacman-key.sh.in
+++ b/scripts/pacman-key.sh.in
@@ -54,40 +54,40 @@ m4_include(library/parse_options.sh)
usage() {
printf "pacman-key (pacman) %s\n" ${myver}
echo
- printf "$(gettext "Usage: %s [options]")\n" $(basename $0)
+ printf -- "$(gettext "Usage: %s [options]")\n" $(basename $0)
echo
- printf "$(gettext "Manage pacman's list of trusted keys")\n"
+ printf -- "$(gettext "Manage pacman's list of trusted keys")\n"
echo
- echo "$(gettext "Options:")"
- echo "$(gettext " -a, --add [file(s)] Add the specified keys (empty for stdin)")"
- echo "$(gettext " -d, --delete <keyid(s)> Remove the specified keyids")"
- echo "$(gettext " -e, --export [keyid(s)] Export the specified or all keyids")"
- echo "$(gettext " -f, --finger [keyid(s)] List fingerprint for specified or all keyids")"
- echo "$(gettext " -h, --help Show this help message and exit")"
- echo "$(gettext " -l, --list-keys [keyid(s)] List the specified or all keys")"
- echo "$(gettext " -r, --recv-keys <keyid(s)> Fetch the specified keyids")"
- echo "$(gettext " -u, --updatedb Update the trustdb of pacman")"
- echo "$(gettext " -v, --verify <signature> Verify the file specified by the signature")"
- echo "$(gettext " -V, --version Show program version")"
- printf "$(gettext " --config <file> Use an alternate config file (instead of\n\
+ printf -- "$(gettext "Options:")\n"
+ printf -- "$(gettext " -a, --add [file(s)] Add the specified keys (empty for stdin)")\n"
+ printf -- "$(gettext " -d, --delete <keyid(s)> Remove the specified keyids")\n"
+ printf -- "$(gettext " -e, --export [keyid(s)] Export the specified or all keyids")\n"
+ printf -- "$(gettext " -f, --finger [keyid(s)] List fingerprint for specified or all keyids")\n"
+ printf -- "$(gettext " -h, --help Show this help message and exit")\n"
+ printf -- "$(gettext " -l, --list-keys [keyid(s)] List the specified or all keys")\n"
+ printf -- "$(gettext " -r, --recv-keys <keyid(s)> Fetch the specified keyids")\n"
+ printf -- "$(gettext " -u, --updatedb Update the trustdb of pacman")\n"
+ printf -- "$(gettext " -v, --verify <signature> Verify the file specified by the signature")\n"
+ printf -- "$(gettext " -V, --version Show program version")\n"
+ printf -- "$(gettext " --config <file> Use an alternate config file (instead of\n\
'%s')")\n" "@sysconfdir@/pacman.conf"
- echo "$(gettext " --edit-key <keyid(s)> Present a menu for key management task on keyids")"
- printf "$(gettext " --gpgdir <dir> Set an alternate directory for GnuPG (instead\n\
+ printf -- "$(gettext " --edit-key <keyid(s)> Present a menu for key management task on keyids")\n"
+ printf -- "$(gettext " --gpgdir <dir> Set an alternate directory for GnuPG (instead\n\
of '%s')")\n" "@sysconfdir@/pacman.d/gnupg"
- echo "$(gettext " --import <dir(s)> Imports pubring.gpg from dir(s)")"
- echo "$(gettext " --import-trustdb <dir(s)> Imports ownertrust values from trustdb.gpg in dir(s)")"
- echo "$(gettext " --init Ensure the keyring is properly initialized")"
- echo "$(gettext " --keyserver Specify a keyserver to use if necessary")"
- echo "$(gettext " --list-sigs [keyid(s)] List keys and their signatures")"
- echo "$(gettext " --lsign-key <keyid> Locally sign the specified keyid")"
- printf "$(gettext " --populate [keyring(s)] Reload the default keys from the (given) keyrings\n\
+ printf -- "$(gettext " --import <dir(s)> Imports pubring.gpg from dir(s)")\n"
+ printf -- "$(gettext " --import-trustdb <dir(s)> Imports ownertrust values from trustdb.gpg in dir(s)")\n"
+ printf -- "$(gettext " --init Ensure the keyring is properly initialized")\n"
+ printf -- "$(gettext " --keyserver Specify a keyserver to use if necessary")\n"
+ printf -- "$(gettext " --list-sigs [keyid(s)] List keys and their signatures")\n"
+ printf -- "$(gettext " --lsign-key <keyid> Locally sign the specified keyid")\n"
+ printf -- "$(gettext " --populate [keyring(s)] Reload the default keys from the (given) keyrings\n\
in '%s'")\n" "@pkgdatadir@/keyrings"
- echo "$(gettext " --refresh-keys [keyid(s)] Update specified or all keys from a keyserver")"
+ printf -- "$(gettext " --refresh-keys [keyid(s)] Update specified or all keys from a keyserver")\n"
}
version() {
printf "pacman-key (pacman) %s\n" "${myver}"
- printf "$(gettext "\
+ printf -- "$(gettext "\
Copyright (c) 2010-2012 Pacman Development Team <pacman-dev@archlinux.org>.\n\
This is free software; see the source for copying conditions.\n\
There is NO WARRANTY, to the extent permitted by law.\n")"
diff --git a/scripts/pacman-optimize.sh.in b/scripts/pacman-optimize.sh.in
index 5ff302e2..74af0e5d 100644
--- a/scripts/pacman-optimize.sh.in
+++ b/scripts/pacman-optimize.sh.in
@@ -33,11 +33,11 @@ m4_include(library/output_format.sh)
usage() {
printf "pacman-optimize (pacman) %s\n\n" "$myver"
- printf "$(gettext "Usage: %s [pacman_db_root]")\n\n" "$0"
- printf "$(gettext "\
+ printf -- "$(gettext "Usage: %s [pacman_db_root]")\n\n" "$0"
+ printf -- "$(gettext "\
pacman-optimize is a little hack that should improve the performance\n\
of pacman when reading/writing to its filesystem-based database.\n\n")"
- printf "$(gettext "\
+ printf -- "$(gettext "\
Because pacman uses many small files to keep track of packages,\n\
there is a tendency for these files to become fragmented over time.\n\
This script attempts to relocate these small files into one\n\
@@ -48,7 +48,7 @@ does not have to move around the disk as much.\n")"
version() {
printf "pacman-optimize (pacman) %s\n" "$myver"
- printf "$(gettext "\
+ printf -- "$(gettext "\
Copyright (c) 2006-2011 Pacman Development Team <pacman-dev@archlinux.org>.\n\
Copyright (C) 2002-2006 Judd Vinet <jvinet@zeroflux.org>.\n\n\
This is free software; see the source for copying conditions.\n\
diff --git a/scripts/pkgdelta.sh.in b/scripts/pkgdelta.sh.in
index ef34c5bd..35be70ce 100644
--- a/scripts/pkgdelta.sh.in
+++ b/scripts/pkgdelta.sh.in
@@ -38,16 +38,16 @@ m4_include(library/output_format.sh)
# print usage instructions
usage() {
printf "pkgdelta (pacman) %s\n\n" "$myver"
- printf "$(gettext "Usage: pkgdelta [-q] <package1> <package2>\n")"
- printf "$(gettext "\
+ printf -- "$(gettext "Usage: pkgdelta [-q] <package1> <package2>\n")"
+ printf -- "$(gettext "\
pkgdelta will create a delta file between two packages.\n\
This delta file can then be added to a database using repo-add.\n\n")"
- echo "$(gettext "Example: pkgdelta pacman-3.0.0.pkg.tar.gz pacman-3.0.1.pkg.tar.gz")"
+ printf -- "$(gettext "Example: pkgdelta pacman-3.0.0.pkg.tar.gz pacman-3.0.1.pkg.tar.gz")\n"
}
version() {
printf "pkgdelta (pacman) %s\n\n" "$myver"
- printf "$(gettext "\
+ printf -- "$(gettext "\
Copyright (c) 2009 Xavier Chantry <shiningxc@gmail.com>.\n\n\
This is free software; see the source for copying conditions.\n\
There is NO WARRANTY, to the extent permitted by law.\n")"
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index 8c1d53da..26aa7257 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -45,48 +45,48 @@ m4_include(library/output_format.sh)
# print usage instructions
usage() {
cmd=${0##*/}
- printf "%s (pacman) %s\n\n" "$cmd" "$myver"
+ printf -- "%s (pacman) %s\n\n" "$cmd" "$myver"
if [[ $cmd == "repo-add" ]] ; then
- printf "$(gettext "Usage: repo-add [options] <path-to-db> <package|delta> ...\n")"
- printf "\n"
- printf "$(gettext "\
+ printf -- "$(gettext "Usage: repo-add [options] <path-to-db> <package|delta> ...\n")"
+ printf -- "\n"
+ printf -- "$(gettext "\
repo-add will update a package database by reading a package file.\n\
Multiple packages to add can be specified on the command line.\n")"
- printf "\n"
- printf "$(gettext "Options:\n")"
- printf "$(gettext " -d, --delta generate and add delta for package update\n")"
- printf "$(gettext " -f, --files update database's file list\n")"
+ printf -- "\n"
+ printf -- "$(gettext "Options:\n")"
+ printf -- "$(gettext " -d, --delta generate and add delta for package update\n")"
+ printf -- "$(gettext " -f, --files update database's file list\n")"
elif [[ $cmd == "repo-remove" ]] ; then
- printf "$(gettext "Usage: repo-remove [options] <path-to-db> <packagename|delta> ...\n")"
- printf "\n"
- printf "$(gettext "\
+ printf -- "$(gettext "Usage: repo-remove [options] <path-to-db> <packagename|delta> ...\n")"
+ printf -- "\n"
+ printf -- "$(gettext "\
repo-remove will update a package database by removing the package name\n\
specified on the command line from the given repo database. Multiple\n\
packages to remove can be specified on the command line.\n")"
- printf "\n"
- printf "$(gettext "Options:\n")"
+ printf -- "\n"
+ printf -- "$(gettext "Options:\n")"
else
- printf "$(gettext "Please move along, there is nothing to see here.\n")"
+ printf -- "$(gettext "Please move along, there is nothing to see here.\n")"
return
fi
- printf "$(gettext " -q, --quiet minimize output\n")"
- printf "$(gettext " -s, --sign sign database with GnuPG after update\n")"
- printf "$(gettext " -k, --key <key> use the specified key to sign the database\n")"
- printf "$(gettext " -v, --verify verify database's signature before update\n")"
- printf "$(gettext "\n\
+ printf -- "$(gettext " -q, --quiet minimize output\n")"
+ printf -- "$(gettext " -s, --sign sign database with GnuPG after update\n")"
+ printf -- "$(gettext " -k, --key <key> use the specified key to sign the database\n")"
+ printf -- "$(gettext " -v, --verify verify database's signature before update\n")"
+ printf -- "$(gettext "\n\
See %s(8) for more details and descriptions of the available options.\n")" $cmd
printf "\n"
if [[ $cmd == "repo-add" ]] ; then
- printf "$(gettext "Example: repo-add /path/to/repo.db.tar.gz pacman-3.0.0-1-i686.pkg.tar.gz\n")"
+ printf -- "$(gettext "Example: repo-add /path/to/repo.db.tar.gz pacman-3.0.0-1-i686.pkg.tar.gz\n")"
elif [[ $cmd == "repo-remove" ]] ; then
- printf "$(gettext "Example: repo-remove /path/to/repo.db.tar.gz kernel26\n")"
+ printf -- "$(gettext "Example: repo-remove /path/to/repo.db.tar.gz kernel26\n")"
fi
}
version() {
cmd=${0##*/}
printf "%s (pacman) %s\n\n" "$cmd" "$myver"
- printf "$(gettext "\
+ printf -- "$(gettext "\
Copyright (c) 2006-2012 Pacman Development Team <pacman-dev@archlinux.org>\n\n\
This is free software; see the source for copying conditions.\n\
There is NO WARRANTY, to the extent permitted by law.\n")"