[pacman-dev] [PATCH 1/3] contrib/*: Hardcode program names

Lukas Fleischer archlinux at cryptocrack.de
Tue Dec 6 16:29:32 EST 2011


Add a read-only variable "$myname" to every contrib script and hardcode
program names instead of relying on "$0". The variable name "$myname"
was chosen because it is already used in pacman and because we use
"$myver" to specify the program version in the official scripts.

Signed-off-by: Lukas Fleischer <archlinux at cryptocrack.de>
---
 contrib/bacman.in         |   14 +++++++-------
 contrib/paccache.in       |    6 ++++--
 contrib/pacdiff.in        |   10 ++++++----
 contrib/paclist.in        |    8 +++++---
 contrib/paclog-pkglist.in |    6 ++++--
 contrib/pacscripts.in     |   10 +++++-----
 contrib/pacsearch.in      |   10 +++++-----
 7 files changed, 36 insertions(+), 28 deletions(-)

diff --git a/contrib/bacman.in b/contrib/bacman.in
index c55d716..00d0691 100755
--- a/contrib/bacman.in
+++ b/contrib/bacman.in
@@ -23,7 +23,7 @@
 shopt -s extglob
 shopt -s nullglob
 
-readonly progname="bacman"
+declare -r myname='bacman'
 readonly progver="0.2.1"
 
 #
@@ -31,8 +31,8 @@ readonly progver="0.2.1"
 #
 usage() {
 	echo "This program recreates a package using pacman's db and system files"
-	echo "Usage:   $progname <installed package name>"
-	echo "Example: $progname kernel26"
+	echo "Usage:   $myname <installed package name>"
+	echo "Example: $myname kernel26"
 }
 
 if (( $# != 1 )); then
@@ -46,7 +46,7 @@ if [[ $1 == "--help" || $1 == "-h" ]]; then
 fi
 
 if [[ $1 == "--version" || $1 == "-v" ]]; then
-	echo "$progname version $progver"
+	echo "$myname version $progver"
 	echo "Copyright (C) 2008 locci"
 	exit 0
 fi
@@ -61,7 +61,7 @@ if (( EUID )); then
 		/usr/bin/fakeroot -u -- "$0" "$@"
 		exit $?
 	else
-		echo "WARNING: installing fakeroot or running ${progname} as root is required to"
+		echo "WARNING: installing fakeroot or running $myname as root is required to"
 		echo "         preserve the ownership permissions of files in some packages"
 		echo ""
 	fi
@@ -151,7 +151,7 @@ while read i; do
 					echo ""
 					echo "ERROR: unable to add /$i to the package"
 					echo "       If your user does not have permssion to read this file then"
-					echo "       you will need to run $progname as root"
+					echo "       you will need to run $myname as root"
 					rm -rf "$work_dir"
 					exit 1
 				fi
@@ -177,7 +177,7 @@ pkg_size=$(du -sk | awk '{print $1 * 1024}')
 # TODO adopt makepkg's write_pkginfo() into this or scripts/library
 #
 echo Generating .PKGINFO metadata...
-echo "# Generated by $progname $progver"    > .PKGINFO
+echo "# Generated by $myname $progver"    > .PKGINFO
 if [[ $INFAKEROOT == "1" ]]; then
 	echo "# Using $(fakeroot -v)"    >> .PKGINFO
 fi
diff --git a/contrib/paccache.in b/contrib/paccache.in
index eae547d..847d44f 100755
--- a/contrib/paccache.in
+++ b/contrib/paccache.in
@@ -20,6 +20,8 @@
 
 shopt -s extglob
 
+declare -r myname='paccache'
+
 declare -a candidates=() cmdopts=() whitelist=() blacklist=()
 declare -i delete=0 dryrun=0 filecount=0 move=0 needsroot=0 totalsaved=0 verbose=0
 declare    cachedir=@localstatedir@/cache/pacman/pkg delim=$'\n' keep=3 movedir= scanarch=
@@ -174,9 +176,9 @@ summarize() {
 
 usage() {
 	cat <<EOF
-usage: ${0##*/} <operation> [options] [targets...]
+usage: $myname <operation> [options] [targets...]
 
-${0##*/} is a flexible pacman cache cleaning utility, which has numerous
+$myname is a flexible pacman cache cleaning utility, which has numerous
 options to help control how much, and what, is deleted from any directory
 containing pacman package tarballs.
 
diff --git a/contrib/pacdiff.in b/contrib/pacdiff.in
index 3f26f38..79cf809 100755
--- a/contrib/pacdiff.in
+++ b/contrib/pacdiff.in
@@ -17,17 +17,19 @@
 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+declare -r myname='pacdiff'
+
 diffprog=${DIFFPROG:-vimdiff}
 diffsearchpath=${DIFFSEARCHPATH:-/etc}
 locate=0
 
 usage() {
-	echo "pacdiff : a simple pacnew/pacorig/pacsave updater"
-	echo "Usage : pacdiff [-l]"
-	echo "  -l/--locate makes pacdiff use locate rather than find"
+	echo "$myname : a simple pacnew/pacorig/pacsave updater"
+	echo "Usage : $myname [-l]"
+	echo "  -l/--locate makes $myname use locate rather than find"
 	echo "  DIFFPROG variable allows to override the default vimdiff"
 	echo "  DIFFSEARCHPATH allows to override the default /etc path"
-	echo "Example : DIFFPROG=meld DIFFSEARCHPATH=\"/boot /etc /usr\" pacdiff"
+	echo "Example : DIFFPROG=meld DIFFSEARCHPATH=\"/boot /etc /usr\" $myname"
 }
 
 cmd() {
diff --git a/contrib/paclist.in b/contrib/paclist.in
index 06b06f2..8623049 100755
--- a/contrib/paclist.in
+++ b/contrib/paclist.in
@@ -17,6 +17,8 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+declare -r myname='paclist'
+
 export TEXTDOMAIN='pacman'
 export TEXTDOMAINDIR='/usr/share/locale'
 
@@ -28,9 +30,9 @@ if ! type gettext &>/dev/null; then
 fi
 
 if [[ -z $1 || $1 = -@(h|-help) ]]; then
-	printf '%s - List all packages installed from a given repo\n' "${0##*/}"
-	printf 'Usage:   %s <repo>\n' "${0##*/}"
-	printf 'Example: %s testing\n' "${0##*/}"
+	printf '%s - List all packages installed from a given repo\n' "$myname"
+	printf 'Usage:   %s <repo>\n' "$myname"
+	printf 'Example: %s testing\n' "$myname"
 	exit 1
 fi
 
diff --git a/contrib/paclog-pkglist.in b/contrib/paclog-pkglist.in
index 27dfd30..0b27bf3 100755
--- a/contrib/paclog-pkglist.in
+++ b/contrib/paclog-pkglist.in
@@ -17,14 +17,16 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+declare -r myname='paclog-pkglist'
+
 export TEXTDOMAIN='pacman'
 export TEXTDOMAINDIR='/usr/share/locale'
 declare logfile=${1:- at localstatedir@/log/pacman.log}
 
 if [[ $1 ]]; then
 	if [[ $1 = -@(h|-help) ]]; then
-		printf 'usage:   %s [pacman log]\n' "${0##*/}"
-		printf 'example: %s @localstatedir@/log/pacman.log\n' "${0##*/}"
+		printf 'usage:   %s [pacman log]\n' "$myname"
+		printf 'example: %s @localstatedir@/log/pacman.log\n' "$myname"
 		printf '\ndefaults to: @localstatedir@/log/pacman.log\n'
 		exit 0
 	elif [[ ! -e $logfile ]]; then
diff --git a/contrib/pacscripts.in b/contrib/pacscripts.in
index 37d3fea..967f782 100755
--- a/contrib/pacscripts.in
+++ b/contrib/pacscripts.in
@@ -24,7 +24,7 @@
 set -o nounset
 set -o errexit
 
-progname=$(basename $0)
+declare -r myname='pacscripts'
 progver="0.4"
 
 conf="@sysconfdir@/pacman.conf"
@@ -47,14 +47,14 @@ error() {
 usage() {
 	echo "This program prints out the {pre,post}_{install,remove,upgrade} scripts"
 	echo "of a given package."
-	echo "Usage: $progname pkgname|pkgfile"
+	echo "Usage: $myname pkgname|pkgfile"
 	echo
 	echo " OPTIONS:"
 	echo "  -h, --help                 Print this help message"
 	echo "  -v, --version              Print program name and version"
 	echo
-	echo "Example: $progname gconf-editor"
-	echo "Example: $progname gconf-editor-2.24.1-1-x86_64.pkg.tar.gz"
+	echo "Example: $myname gconf-editor"
+	echo "Example: $myname gconf-editor-2.24.1-1-x86_64.pkg.tar.gz"
 }
 
 spacman() {
@@ -127,6 +127,6 @@ fi
 
 case "$1" in
 	--help|-h) usage; exit 0 ;;
-	--version|-v) echo "$progname version $progver"; exit 0 ;;
+	--version|-v) echo "$myname version $progver"; exit 0 ;;
 	*) print_scriptlet $1 ;;
 esac
diff --git a/contrib/pacsearch.in b/contrib/pacsearch.in
index db9d6ad..794110e 100755
--- a/contrib/pacsearch.in
+++ b/contrib/pacsearch.in
@@ -24,13 +24,13 @@
 use strict;
 use warnings;
 
-my $progname = "pacsearch";
+my $myname = 'pacsearch';
 my $version = "2.0";
 
 if ($#ARGV lt 0 || $ARGV[0] eq "--help" || $ARGV[0] eq "-h") {
-	print "$progname - Add color and install information to a pacman -Ss search\n";
-	print "Usage:   $progname <pattern>\n";
-	print "Example: $progname ^gnome\n";
+	print "$myname - Add color and install information to a pacman -Ss search\n";
+	print "Usage:   $myname <pattern>\n";
+	print "Example: $myname ^gnome\n";
 	if ($#ARGV lt 0) {
 		exit 1;
 	}
@@ -38,7 +38,7 @@ if ($#ARGV lt 0 || $ARGV[0] eq "--help" || $ARGV[0] eq "-h") {
 }
 
 if ($ARGV[0] eq "--version" || $ARGV[0] eq "-v") {
-	print "$progname version $version\n";
+	print "$myname version $version\n";
 	print "Copyright (C) 2006-2011 Dan McGee\n";
 	exit 0;
 }
-- 
1.7.8



More information about the pacman-dev mailing list