[arch-projects] [ABS][PATCH] Bashify and quoting

Lukas Fleischer archlinux at cryptocrack.de
Thu Mar 22 06:12:48 EDT 2012


On Wed, Mar 21, 2012 at 01:00:03PM +0100, Sébastien Luttringer wrote:
> Signed-off-by: Sébastien Luttringer <seblu at seblu.net>
> ---
>  abs                   |   84 ++++++++++++++++++++++++-------------------------
>  makeworld             |   48 ++++++++++++++--------------
>  scripts/svn2abs       |   80 +++++++++++++++++++++++-----------------------
>  scripts/update-abs.sh |   22 ++++++-------
>  4 files changed, 117 insertions(+), 117 deletions(-)
> 
> diff --git a/abs b/abs
> index 39d5798..d0d81e6 100755
> --- a/abs
> +++ b/abs
> @@ -22,8 +22,8 @@
>  ##
>  # Constants
>  ##
> -ABS_VERSION="%%ABS_VERSION%%"
> -CONFDIR="%%CONF_DIR%%"
> +ABS_VERSION='%%ABS_VERSION%%'
> +CONFDIR='%%CONF_DIR%%'
>  SYNCCMD='rsync'
>  SYNCARGS='-mrtv --no-motd --delete-after --no-p --no-o --no-g'
>  BUG_REPORT_EMAIL=pacman-dev at archlinux.org
> @@ -45,19 +45,19 @@ _E_INVALID_OPTION=3
>  # Consistent messaging format
>  ##
>  msg() {
> -	local mesg=$1; shift
> +	local mesg="$1"; shift

No need to add quotes here.

>  	printf "==> ${mesg}\n" "$@"
>  }
>  
>  error() {
> -	local mesg=$1; shift
> +	local mesg="$1"; shift

Same here.

>  	printf  "==> ERROR: ${mesg}\n" "$@" >&2
>  }
>  
>  ##
>  # Source configuration
>  ##
> -if [ -f "$CONFDIR/abs.conf" ]; then
> +if [[ -f "$CONFDIR/abs.conf" ]]; then

This is nit-picking, but if we want to be 100% consistent, we should
decide whether we want to keep unneeded quotes in double brackets or not
(not saying that it has to be done in this patch).

>  	source "$CONFDIR/abs.conf"
>  else
>  	error "Could not find configuration file $CONFDIR/abs.conf"
> @@ -67,23 +67,23 @@ fi
>  ##
>  # User based overrides
>  ##
> -[ -f ~/.abs.conf ] && source ~/.abs.conf
> +[[ -f ~/.abs.conf ]] && source ~/.abs.conf
>  
>  ##
>  # Helper functions
>  ##
>  usage() {
>  	echo "Arch Build System $ABS_VERSION -- synchronization utility"
> -	echo ""
> -	echo "Usage:"
> +	echo
> +	echo 'Usage:'
>  	echo "$0 [options] [repository1[/package1] [repository2[/package2] ...]]"
>  	echo
> -	echo "Options:"
> -	echo "  -h, --help     Display this help message then exit."
> -	echo "  -V, --version  Display version information then exit."
> -	echo "  -t, --tarball  Sync ABS tree using tarballs from your pacman mirror."
> +	echo 'Options:'
> +	echo '  -h, --help     Display this help message then exit.'
> +	echo '  -V, --version  Display version information then exit.'
> +	echo '  -t, --tarball  Sync ABS tree using tarballs from your pacman mirror.'
>  	echo
> -	echo "abs will synchronize PKGBUILD scripts from the Arch Linux repositories"
> +	echo 'abs will synchronize PKGBUILD scripts from the Arch Linux repositories'
>  	echo "into $ABSROOT via rsync. If no argument is given, abs will synchronize"
>  	echo "the repositories specified in ${CONFDIR}abs.conf."
>  	echo
> @@ -93,11 +93,11 @@ usage() {
>  version() {
>  	echo "abs $ABS_VERSION"
>  	echo
> -	echo "Copyright (C) 2002-2007 Judd Vinet <jvinet at zeroflux.org>"
> -	echo "Copyright (C) 2007-2010 Aaron Griffin <aaron at archlinux.org>"
> +	echo 'Copyright (C) 2002-2007 Judd Vinet <jvinet at zeroflux.org>'
> +	echo 'Copyright (C) 2007-2010 Aaron Griffin <aaron at archlinux.org>'

Someone should update the copyright ranges as well.

>  	echo
> -	echo "This is free software; see the source for copying conditions."
> -	echo "There is NO WARRANTY, to the extent permitted by law."
> +	echo 'This is free software; see the source for copying conditions.'
> +	echo 'There is NO WARRANTY, to the extent permitted by law.'
>  }
>  
>  update_rsync() {
> @@ -105,15 +105,15 @@ update_rsync() {
>  
>  	cd "$ABSROOT"
>  
> -	if [ ! "$(type -p rsync)" ]; then
> -		error "missing rsync synchronization utility.  Install rsync."
> +	if [[ ! "$(type -p rsync)" ]]; then
> +		error 'missing rsync synchronization utility.  Install rsync.'
>  		exit $_E_MISSING_PROGRAM
>  	fi
>  
> -	if [ "$CLPARAM" = "" ]; then
> +	if [[ "$CLPARAM" == "" ]]; then

You could use "-z" instead, here.

>  		# using repos specified in abs.conf
>  		for repo in "${REPOS[@]}"; do
> -			if [ "$repo" != "${repo#!}" ]; then
> +			if [[ "$repo" != "${repo#!}" ]]; then
>  				EXCLUDE="${EXCLUDE} --filter=-_/${repo#!}/"
>  			fi
>  		done
> @@ -124,7 +124,7 @@ update_rsync() {
>  		# using repos/packages specified on the command line
>  		for param in "${REPOS[@]}"; do
>  			INCLUDE="${INCLUDE} --include=/${param}"
> -			if [ "$param" != "${param/\/}" ]; then
> +			if [[ "$param" != "${param/\/}" ]]; then
>  				repo=${param%/*}
>  				INCLUDE="${INCLUDE} --include=/${repo}"
>  				EXCLUDE="${EXCLUDE} --exclude=/${repo}/*"
> @@ -132,55 +132,55 @@ update_rsync() {
>  		done
>  
>  		# remove duplicate values
> -		INCLUDE=$(echo $INCLUDE | tr " " "\n" | sort -u | tr "\n" " ")
> +		INCLUDE=$(echo $INCLUDE | tr ' ' '\n' | sort -u | tr '\n' ' ')

Uh. I'm pretty sure that there must be a smarter way to do this :)

>  		EXCLUDE="${EXCLUDE} --exclude=/*"
>  	fi
>  
> -	msg "Starting ABS sync..."
> +	msg 'Starting ABS sync...'
>  	$SYNCCMD $SYNCARGS $INCLUDE $EXCLUDE ${SYNCSERVER}::abs/{${ARCH},any}/ $ABSROOT
>  }
>  
>  update_tarball() {
>  	cd "$ABSROOT"
>  
> -	if [ ! "$(type -p wget)" ]; then
> -		error "missing wget download utility.  Install wget."
> +	if [[ ! "$(type -p wget)" ]]; then
> +		error 'missing wget download utility.  Install wget.'
>  		exit $_E_MISSING_PROGRAM
>  	fi
>  
> -	if [ -f "$MIRRORLIST" ]; then
> -		mirrorlist=$(grep "^Server" $MIRRORLIST | cut -f3 -d" ")
> +	if [[ -f "$MIRRORLIST" ]]; then
> +		mirrorlist=$(grep "^Server" $MIRRORLIST | cut -f3 -d' ')
>  	else
>  		error "Could not find pacman mirrorlist file $MIRRORLIST"
>  		exit $_E_CONFIG_ERROR
>  	fi
>  
> -	msg "Downloading tarballs..."
> +	msg 'Downloading tarballs...'
>  	for repo in "${REPOS[@]}"; do
> -		if [ "$repo" == "${repo#!}" ]; then
> +		if [[ "$repo" == "${repo#!}" ]]; then
>  			echo "    ==> ${repo}..."
>  
>  			local ret
> -			for mirror in ${mirrorlist[@]}; do
> +			for mirror in "${mirrorlist[@]}"; do
>  				ret=0
>  				tarball=$(echo $mirror | sed "s#\$repo#$repo#;s#\$arch#$ARCH#")
>  				tarball="${tarball}/${repo}.abs.tar.gz"
>  				protocol=$(echo $tarball | cut -f1 -d":")
> -				if [ "$protocol" == "file" ]; then
> +				if [[ "$protocol" == "file" ]]; then
>  					tarball=$(echo $tarball | sed "s#file://##")
>  					ln -s $tarball . 2>/dev/null || ret=$?
> -					if [ $ret -ne 0 ]; then
> +					if (( $ret != 0 )); then
>  						ret=0
>  					fi
>  				else
>  					wget -q $tarball || ret=$?
>  				fi
> -				if [ $ret -eq 0 ]; then
> +				if (( $ret == 0 )); then
>  					break
>  				fi
>  			done
>  
> -			if [ $ret -ne 0 ]; then
> +			if (( $ret != 0 )); then
>  				error "Download failed"
>  				continue
>  			fi
> @@ -202,8 +202,8 @@ trap 'error "An unknown error has occured. Exiting..."; exit 1' ERR
>  ##
>  # Parse Options
>  ##
> -OPT_SHORT="hVt"
> -OPT_LONG="help,version,tarball"
> +OPT_SHORT='hVt'
> +OPT_LONG='help,version,tarball'
>  OPT_TEMP="$(getopt -o "$OPT_SHORT" -l "$OPT_LONG" -n "$(basename "$0")" -- "$@" || echo 'GETOPT GO BANG!')"
>  if echo "$OPT_TEMP" | grep -q 'GETOPT GO BANG!'; then
>  	# This is a small hack to stop the script bailing with 'set -e'
> @@ -224,7 +224,7 @@ while true; do
>  	shift
>  done
>  
> -if [ "$#" -gt "0" ]; then
> +if (( $# > 0 )); then
>  	CLPARAM=1
>  	REPOS=("$@")
>  fi
> @@ -232,12 +232,12 @@ fi
>  ##
>  # Verify Config
>  ##
> -if [ ! -d "$ABSROOT" ]; then
> +if [[ ! -d "$ABSROOT" ]]; then
>  	error "$ABSROOT does not exist (or is not a directory)"
>  	exit $_E_CONFIG_ERROR
>  fi
>  
> -if [ ! -w "$ABSROOT" ]; then
> +if [[ ! -w "$ABSROOT" ]]; then
>  	error "no write permissions in $ABSROOT"
>  	exit $_E_CONFIG_ERROR
>  fi
> @@ -247,9 +247,9 @@ fi
>  ##
>  
>  # Use tarball method on first run
> -[ "$(ls -A $ABSROOT | sed -e 's#local##' -e 's#README##')" -o "$CLPARAM" ] || TARBALL=1
> +[[ "$(ls -A $ABSROOT | sed -e 's#local##' -e 's#README##')" -o "$CLPARAM" ]] || TARBALL=1
>  
> -if [ "$TARBALL" ]; then
> +if [[ "$TARBALL" ]]; then
>  	update_tarball
>  else
>  	update_rsync
> diff --git a/makeworld b/makeworld
> index e5d9f0f..9079a7f 100755
> --- a/makeworld
> +++ b/makeworld
> @@ -19,7 +19,7 @@
>  #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
>  #
>  
> -ABS_VERSION="%%ABS_VERSION%%"
> +ABS_VERSION='%%ABS_VERSION%%'
>  BUG_REPORT_EMAIL='pacman-dev at archlinux.org'
>  toplevel=$(pwd)
>  
> @@ -31,38 +31,38 @@ trap 'error "Aborted by user! Exiting..."; exit 1' INT
>  trap 'error "An unknown error has occured. Exiting..."; exit 1' ERR
>  
>  usage() {
> -	printf "makeworld %s - a makepkg wrapper to build multiple packages\n" "$myver"
> +	printf 'makeworld %s - a makepkg wrapper to build multiple packages\n' "$myver"
>  	echo
> -	printf "Usage: %s [options] <destdir> <repo> [repo] ...\n" "$0"
> +	printf 'Usage: %s [options] <destdir> <repo> [repo] ...\n' "$0"
>  	echo
> -	echo "Where <repo> is one or more directory names under the ABS root"
> -	echo "  eg: makeworld -c /packages core extra"
> +	echo 'Where <repo> is one or more directory names under the ABS root'
> +	echo '  eg: makeworld -c /packages core extra'
>  	echo
> -	echo "This should be run from the toplevel directory of ABS (usually /var/abs)"
> +	echo 'This should be run from the toplevel directory of ABS (usually /var/abs)'
>  	echo
> -	echo "See makepkg --help for supported options (passed directly to makepkg)"
> +	echo 'See makepkg --help for supported options (passed directly to makepkg)'
>  }
>  
>  version() {
> -	printf "makeworld %s\n" "$myver"
> -	printf "\
> +	printf 'makeworld %s\n' "$myver"
> +	printf '\
>  Copyright (C) 2002-2007 Judd Vinet <jvinet at zeroflux.org>\n\n\
>  Copyright (C) 2007-2010 Aaron Griffin <aaron at 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"
> +There is NO WARRANTY, to the extent permitted by law.\n'
>  }
>  
>  # Source makepkg.conf; fail if it is not found (need this for $CARCH, $PKGEXT)
> -if [ -r "/etc/makepkg.conf" ]; then
> -	source "/etc/makepkg.conf"
> +if [[ -r '/etc/makepkg.conf' ]]; then
> +	source '/etc/makepkg.conf'
>  else
> -	printf "%s not found" "/etc/makepkg.conf"
> -	echo "Aborting..."
> +	printf '%s not found' '/etc/makepkg.conf'
> +	echo 'Aborting...'
>  	exit 1
>  fi
>  
>  # Source user-specific makepkg.conf overrides
> -if [ -r ~/.makepkg.conf ]; then
> +if [[ -r ~/.makepkg.conf ]]; then
>  	source ~/.makepkg.conf
>  fi
>  
> @@ -79,7 +79,7 @@ for arg in $*; do
>  			#   and let it error out later if it was invalid
>  			MAKEPKG_OPTS="$MAKEPKG_OPTS $arg" ;;
>  		-*)
> -			while getopts "AcCdefFghiLmorRsV-" opt; do
> +			while getopts 'AcCdefFghiLmorRsV-' opt; do
>  				case $opt in
>  					h)
>  						usage; exit 0 ;;
> @@ -96,23 +96,23 @@ for arg in $*; do
>  			dest=$arg; shift; break ;;
>  	esac
>  	shift
> -	if [ "$dest" != "" ]; then
> +	if [[ "$dest" != "" ]]; then
>  		break
>  	fi
>  done
>  
> -if [ "$dest" = "" ]; then
> +if [[ "$dest" = "" ]]; then
>  	usage
>  	exit 1
>  fi
>  
> -if [ $# -lt 1 ]; then
> +if (( $# < 1 )); then
>  	usage
>  	exit 1
>  fi
>  
>  # convert a (possibly) relative path to absolute
> -if [ ! -d "$dest" ]; then
> +if [[ ! -d "$dest" ]]; then
>  	echo "$dest does not exist, creating directory"
>  	mkdir "$dest"
>  fi
> @@ -125,13 +125,13 @@ sd=$(date +"[%b %d %H:%M]")
>  for repo in $*; do
>  	for pkg in $(find "$toplevel/$repo" -maxdepth 1 -mindepth 1 -type d | sort); do
>  		cd $pkg
> -		if [ -f PKGBUILD ]; then
> +		if [[ -f PKGBUILD ]]; then
>  			. PKGBUILD
>  			buildstatus=0
> -			if [ ! -f "$dest/$pkgname-$pkgver-$pkgrel-$CARCH$PKGEXT" -a ! -f "$dest/$pkgname-$pkgver-$pkgrel-any$PKGEXT" ]; then
> +			if [[ ! -f "$dest/$pkgname-$pkgver-$pkgrel-$CARCH$PKGEXT" && ! -f "$dest/$pkgname-$pkgver-$pkgrel-any$PKGEXT" ]]; then
>  				PKGDEST="$dest" makepkg $MAKEPKG_OPTS -m 2>&1 1>&2 | tee -a $toplevel/makepkg.log
>  
> -				if [ ${PIPESTATUS[0]} -ne 0 ]; then
> +				if (( ${PIPESTATUS[0]} != 0 )); then
>  					buildstatus=2
>  				else
>  					buildstatus=1
> @@ -151,7 +151,7 @@ for repo in $*; do
>  done
>  ed=$(date +"[%b %d %H:%M]")
>  
> -echo "makeworld complete." >>$toplevel/build.log
> +echo 'makeworld complete.' >>$toplevel/build.log
>  echo "  started:  $sd" >>$toplevel/build.log
>  echo "  finished: $ed" >>$toplevel/build.log
>  
> diff --git a/scripts/svn2abs b/scripts/svn2abs
> index 0d4c74d..c8876ed 100755
> --- a/scripts/svn2abs
> +++ b/scripts/svn2abs
> @@ -21,7 +21,7 @@
>  ##
>  # Constants
>  ##
> -ABS_VERSION="%%ABS_VERSION%%"
> +ABS_VERSION='%%ABS_VERSION%%'
>  TREE_DIR=/tmp/__abs-tree__ # Directory to store the extracted ABS tree
>  
>  ##
> @@ -41,29 +41,29 @@ function usage()
>  	echo "       $0 (-v | --version)"
>  	echo "       $0 (-h | --help)"
>  	echo
> -	echo "Takes svn repo structure of form \$pkgname/repos/\$repo-\$arch"
> -	echo "and converts it to the ABS structure of \$arch/\$repo/\$pkgname"
> +	echo 'Takes svn repo structure of form $pkgname/repos/$repo-$arch'
> +	echo 'and converts it to the ABS structure of $arch/$repo/$pkgname'
>  	echo "then syncs ABS tree in $ABS_DIR with extracted structure."
>  	echo
> -	echo "Options:"
> -	echo "   -h | --help - show this message"
> -	echo "   -v | --version - show version information"
> +	echo 'Options:'
> +	echo '   -h | --help - show this message'
> +	echo '   -v | --version - show version information'
>  	echo
> -	echo "Parameters:"
> -	echo "   [svn checkout dir] - dir to store svn checkout. Defaults to"
> +	echo 'Parameters:'
> +	echo '   [svn checkout dir] - dir to store svn checkout. Defaults to'
>  	echo "                        $CHECKOUT_DIR"
> -	echo "   [abs dir] - dir containing abs tree to update. Defaults to"
> +	echo '   [abs dir] - dir containing abs tree to update. Defaults to'
>  	echo "               $ABS_DIR"
> -	echo "   [svn repo location] - URL to subversion repo containing PKGBUILDs"
> +	echo '   [svn repo location] - URL to subversion repo containing PKGBUILDs'
>  }
>  
>  version() {
>  	echo "svn2abs $ABS_VERSION"
>  	echo
> -	echo "Copyright (C) 2008-2010 Aaron Griffin <aaron at archlinux.org>."
> +	echo 'Copyright (C) 2008-2010 Aaron Griffin <aaron at archlinux.org>.'
>  	echo
> -	echo "This is free software; see the source for copying conditions."
> -	echo "There is NO WARRANTY, to the extent permitted by law."
> +	echo 'This is free software; see the source for copying conditions.'
> +	echo 'There is NO WARRANTY, to the extent permitted by law.'
>  }
>  
>  
> @@ -75,12 +75,12 @@ function checkout_svn()
>  	local targetdir=$1
>  	local origdir=$(pwd)
>  
> -	if [ -f "$targetdir" ]; then
> +	if [[ -f "$targetdir" ]]; then
>  		echo "Could not create checkout target $targetdir. File exists."
>  		return 1
>  	fi
>  
> -	if [ ! -d "$targetdir" ]; then
> +	if [[ ! -d "$targetdir" ]]; then
>  		mkdir "$targetdir"
>  	fi
>  
> @@ -89,23 +89,23 @@ function checkout_svn()
>  	# Simple check - if $targetdir/.svn exists, then we can assume
>  	# the repo has been checked out (ie. we can just run an update
>  	# instead of a full checkout)
> -	if [ -d "./.svn" ]; then
> +	if [[ -d './.svn' ]]; then
>  		# Checkout already exists - just update it
> -		echo "Updating SVN repo..."
> +		echo 'Updating SVN repo...'
>  		svn update
>  	else
>  		# Checkout the tree into $targetdir
> -		echo "Checking out SVN repo..."
> +		echo 'Checking out SVN repo...'
>  		svn co "$SVN_REPO_LOCATION" ./
>  	fi
>  
> -	if [ "$?" != "0" ]; then
> +	if (( $? != 0 )); then
>  		cd "$origdir"
> -		echo "Error with SVN checkout/update."
> +		echo 'Error with SVN checkout/update.'
>  		return 1
>  	fi
>  
> -	echo "SVN checkout/update complete."
> +	echo 'SVN checkout/update complete.'
>  
>  	cd "$origdir"
>  	return 0
> @@ -124,17 +124,17 @@ function extract_abs_tree()
>  	local checkoutdir="$1"
>  	local origdir=$(pwd)
>  
> -	if [ ! -d "$checkoutdir" ]; then
> +	if [[ ! -d "$checkoutdir" ]]; then
>  		echo "SVN checkout dir $checkoutdir does not exist"
>  		return 1
>  	fi
>  
> -	if [ -f "$targetdir" ]; then
> +	if [[ -f "$targetdir" ]]; then
>  		echo "Could not create abs tree target $targetdir. File exists."
>  		return 1
>  	fi
>  
> -	if [ ! -d "$targetdir" ]; then
> +	if [[ ! -d "$targetdir" ]]; then
>  		mkdir "$targetdir"
>  	else
>  		# Clear out target dir
> @@ -149,7 +149,7 @@ function extract_abs_tree()
>  
>  	for pkg in *; do
>  		# It seems that some repos directories have no tags in them...
> -		if [ -d "$pkg" -a -d "$pkg/repos" ]; then
> +		if [[ -d "$pkg" && -d "$pkg/repos" ]]; then
>  
>  			echo "Creating ABS tree for package $pkg"
>  			cd $pkg/repos @>/dev/null
> @@ -157,8 +157,8 @@ function extract_abs_tree()
>  			for repo in $(ls); do
>  				arch=$(echo $repo | sed "s/.*-\(.*\)/\1/")
>  				dest_repo=$(echo $repo | sed "s/\(.*\)-.*/\1/")
> -				mkdir -p $targetdir/$arch/$dest_repo/$pkg
> -				cp -r $repo/* $targetdir/$arch/$dest_repo/$pkg
> +				mkdir -p "$targetdir/$arch/$dest_repo/$pkg"
> +				cp -r $repo/* "$targetdir/$arch/$dest_repo/$pkg"

Missing quotes here.

>  			done
>  
>  			cd ../../
> @@ -176,36 +176,36 @@ function extract_abs_tree()
>  ##
>  # Simple params
>  ##
> -if [ "$1" = "-h" -o "$1" = "--help" ]; then
> +if [[ "$1" = "-h" || "$1" = "--help" ]]; then
>  	usage
>  	exit 0
>  fi
>  
> -if [ "$1" = "-v" -o "$1" = "--version" ]; then
> +if [[ "$1" = "-v" || "$1" = "--version" ]]; then
>  	version
>  	exit 0
>  fi
>  
> -if [ "$1" != "" ]; then
> +if [[ "$1" != "" ]]; then

You could use "-n" here.

>  	CHECKOUT_DIR=$1
>  fi
>  
> -if [ "$2" != "" ]; then
> +if [[ "$2" != "" ]]; then

Same here.

>  	ABS_DIR=$2
>  fi
>  
> -if [ "$3" != "" ]; then
> +if [[ "$3" != "" ]]; then

Same here.

>  	SVN_REPO_LOCATION=$3
>  fi
>  
>  ##
>  # Check config
>  ##
> -if [ "$ABS_DIR" = "" ]; then
> -	echo "No ABS_DIR specified!"
> +if [[ "$ABS_DIR" == "" ]]; then

"-z".

> +	echo 'No ABS_DIR specified!'
>  	exit 1
> -elif [ ! -d "$ABS_DIR" ]; then
> -	echo "ABS_DIR not a directory."
> +elif [[ ! -d "$ABS_DIR" ]]; then
> +	echo 'ABS_DIR not a directory.'
>  	exit 1
>  fi
>  
> @@ -215,8 +215,8 @@ fi
>  checkout_svn "$CHECKOUT_DIR" || exit 1
>  
>  extract_abs_tree "$CHECKOUT_DIR" "$TREE_DIR"
> -if [ "$?" -ne "0" ]; then
> -	echo "Error occurred extracting the abs tree."
> +if (( $? != 0 )); then
> +	echo 'Error occurred extracting the abs tree.'
>  	exit 1
>  fi
>  
> @@ -231,9 +231,9 @@ for abs_arch in $(ls); do
>  done
>  cd -
>  
> -echo "Cleaning up..."
> +echo 'Cleaning up...'
>  rm -r $TREE_DIR
>  
> -echo "Done!"
> +echo 'Done!'
>  
>  # vim: set ts=2 sw=2 noet:
> diff --git a/scripts/update-abs.sh b/scripts/update-abs.sh
> index ff3510e..4e313ff 100644
> --- a/scripts/update-abs.sh
> +++ b/scripts/update-abs.sh
> @@ -7,8 +7,8 @@ ARCHES=('i686' 'x86_64' 'any')
>  mkdir -p /srv/abs/{checkout,rsync,tree}
>  
>  # clear any "broken" entries from previous ABS tree generation
> -for server in ${SERVERS[@]}; do
> -   [ -d /srv/abs/tree/$server ] && rm -rf /srv/abs/tree/$server/*
> +for server in "${SERVERS[@]}"; do
> +   [[ -d "/srv/abs/tree/$server" ]] && rm -rf "/srv/abs/tree/$server"/*
>  done
>  
>  # create ABS trees
> @@ -16,27 +16,27 @@ done
>  /srv/abs/svn2abs /srv/abs/checkout/sigurd /srv/abs/tree/sigurd file:///srv/svn-community
>  
>  # clean and regenerate ABS rsync folder
> -for arch in ${ARCHES[@]}; do
> -    if [ ! -d /srv/abs/rsync/$arch ]; then
> -        mkdir /srv/abs/rsync/$arch
> +for arch in "${ARCHES[@]}"; do
> +    if [[ ! -d "/srv/abs/rsync/$arch" ]]; then
> +        mkdir "/srv/abs/rsync/$arch"
>      else
> -        rm -rf /srv/abs/rsync/$arch/*
> +        rm -rf "/srv/abs/rsync/$arch"/*
>      fi
>  
> -    for server in ${SERVERS[@]}; do
> -        if [ -d /srv/abs/tree/$server/$arch ]; then
> -            mv /srv/abs/tree/$server/$arch/* /srv/abs/rsync/$arch/
> +    for server in "${SERVERS[@]}"; do
> +        if [[ -d "/srv/abs/tree/$server/$arch" ]]; then
> +            mv "/srv/abs/tree/$server/$arch"/* "/srv/abs/rsync/$arch/"
>          fi
>      done
>  done
>  
>  # generate tarballs for package mirrors
>  for repo in testing core extra community community-testing; do
> -    for arch in ${ARCHES[@]/any/}; do
> +    for arch in "${ARCHES[@]/any/}"; do
>          tarcmd="tar -czf /srv/ftp/${repo}/os/${arch}/${repo}.abs.tar.gz \
>                      -C /srv/abs/rsync/${arch} ${repo}"
>  
> -        if [ -d "/srv/abs/rsync/any/${repo}" ]; then
> +        if [[ -d "/srv/abs/rsync/any/${repo}" ]]; then
>              tarcmd="$tarcmd -C /srv/abs/rsync/any ${repo}"
>          fi
>  
> -- 
> Sebastien "Seblu" Luttringer


More information about the arch-projects mailing list