We already fixed a couple of these in previous patches - this one should
replace all remaining uses of single brackets ("[") by double brackets.
Also, use arithmetic evaluation instead of conditional expressions where
appropriate and make use of "-z" and "-n" instead of comparing variables
to empty strings.

Signed-off-by: Lukas Fleischer <[email protected]>
---
I created this patch semi-automatically. archbuild and commitpkg still
work for me. You might want to review/test this in detail before
pushing, though. There might be careless mistakes...

 archco.in       |    2 +-
 archrm.in       |    2 +-
 commitpkg.in    |   38 +++++++++++++++++-----------------
 find-libdeps.in |    4 +-
 lddd.in         |    4 +-
 mkarchroot.in   |   60 +++++++++++++++++++++++++++---------------------------
 rebuildpkgs.in  |   10 ++++----
 7 files changed, 60 insertions(+), 60 deletions(-)

diff --git a/archco.in b/archco.in
index be026b1..5d34209 100644
--- a/archco.in
+++ b/archco.in
@@ -4,7 +4,7 @@ m4_include(lib/common.sh)
 
 scriptname=${0##*/}
 
-if [ "$1" = '' ]; then
+if [[ -z $1 ]]; then
        echo 'Usage: '$scriptname' <package name>...'
        exit 1
 fi
diff --git a/archrm.in b/archrm.in
index a4830ee..7c7139b 100644
--- a/archrm.in
+++ b/archrm.in
@@ -2,7 +2,7 @@
 
 m4_include(lib/common.sh)
 
-if [ "$1" = '' ]; then
+if [[ -z $1 ]]; then
        echo 'Usage: archrm <path to checkout>'
        exit 1
 fi
diff --git a/commitpkg.in b/commitpkg.in
index bc18d83..f1f9b4a 100644
--- a/commitpkg.in
+++ b/commitpkg.in
@@ -5,7 +5,7 @@ m4_include(lib/common.sh)
 getpkgfile() {
        if [[ ${#} -ne 1 ]]; then
                die 'No canonical package found!'
-       elif [ ! -f "${1}" ]; then
+       elif [[ ! -f $1 ]]; then
                die "Package ${1} not found!"
        fi
 
@@ -13,20 +13,20 @@ getpkgfile() {
 }
 
 # Source makepkg.conf; fail if it is not found
-if [ -r '/etc/makepkg.conf' ]; then
+if [[ -r '/etc/makepkg.conf' ]]; then
        source '/etc/makepkg.conf'
 else
        die '/etc/makepkg.conf not found!'
 fi
 
 # Source user-specific makepkg.conf overrides
-if [ -r ~/.makepkg.conf ]; then
+if [[ -r ~/.makepkg.conf ]]; then
        . ~/.makepkg.conf
 fi
 
 cmd=${0##*/}
 
-if [ ! -f PKGBUILD ]; then
+if [[ ! -f PKGBUILD ]]; then
        die 'No PKGBUILD file'
 fi
 
@@ -35,7 +35,7 @@ pkgbase=${pkgbase:-$pkgname}
 
 case "$cmd" in
        commitpkg)
-               if [ $# -eq 0 ]; then
+               if (( $# == 0 )); then
                        die 'usage: commitpkg <reponame> [-l limit] [-a arch] 
[commit message]'
                fi
                repo="$1"
@@ -89,25 +89,25 @@ while getopts ':l:a:' flag; do
 done
 shift $(( OPTIND - 1 ))
 
-if [ -n "$(svn status -q)" ]; then
+if [[ -n $(svn status -q) ]]; then
        msgtemplate="upgpkg: $pkgbase $(get_full_version)"$'\n\n'
-       if [ -n "$1" ]; then
+       if [[ -n $1 ]]; then
                stat_busy 'Committing changes to trunk'
                svn commit -q -m "${msgtemplate}${1}" || die
                stat_done
        else
                msgfile="$(mktemp)"
                echo "$msgtemplate" > "$msgfile"
-               if [ -n "$SVN_EDITOR" ]; then
+               if [[ -n $SVN_EDITOR ]]; then
                        $SVN_EDITOR "$msgfile"
-               elif [ -n "$VISUAL" ]; then
+               elif [[ -n $VISUAL ]]; then
                        $VISUAL "$msgfile"
-               elif [ -n "$EDITOR" ]; then
+               elif [[ -n $EDITOR ]]; then
                        $EDITOR "$msgfile"
                else
                        vi "$msgfile"
                fi
-               [ -s "$msgfile" ] || die
+               [[ -s $msgfile ]] || die
                stat_busy 'Committing changes to trunk'
                svn commit -q -F "$msgfile" || die
                unlink "$msgfile"
@@ -118,7 +118,7 @@ fi
 declare -a uploads
 
 for _arch in ${arch[@]}; do
-       if [ -n "$commit_arch" ] && [ "${_arch}" != "$commit_arch" ]; then
+       if [[ -n $commit_arch && ${_arch} != $commit_arch ]]; then
                warning "skipping ${_arch}"
                continue
        fi
@@ -128,9 +128,9 @@ for _arch in ${arch[@]}; do
                pkgfile=$(getpkgfile "$_pkgname-$fullver-${_arch}".pkg.tar.?z 
2>/dev/null)
                pkgdestfile=$(getpkgfile 
"$PKGDEST/$_pkgname-$fullver-${_arch}".pkg.tar.?z 2>/dev/null)
 
-               if [ -f "$pkgfile" ]; then
+               if [[ -f $pkgfile ]]; then
                        pkgfile="./$pkgfile"
-               elif [ -f "$pkgdestfile" ]; then
+               elif [[ -f $pkgdestfile ]]; then
                        pkgfile="$pkgdestfile"
                else
                        warning "skipping ${_arch}"
@@ -139,14 +139,14 @@ for _arch in ${arch[@]}; do
                uploads+=("$pkgfile")
 
                sigfile="${pkgfile}.sig"
-               if [[ $SIGNPKG == 'y' ]] && [ ! -f "${sigfile}" ]; then
+               if [[ $SIGNPKG == 'y' && ! -f $sigfile ]]; then
                        msg "Signing package ${pkgfile}..."
                        if [[ -n $GPGKEY ]]; then
                                SIGNWITHKEY="-u ${GPGKEY}"
                        fi
                        gpg --detach-sign --use-agent ${SIGNWITHKEY} 
"${pkgfile}" || die
                fi
-               if [ -f "${sigfile}" ]; then
+               if [[ -f $sigfile ]]; then
                        if ! gpg --verify "$sigfile" >/dev/null 2>&1; then
                                die "Signature ${pkgfile}.sig is incorrect!"
                        fi
@@ -168,8 +168,8 @@ if [[ ${#uploads[*]} -gt 0 ]]; then
        rsync "${rsyncopts[@]}" "${uploads[@]}" "$server:staging/$repo/" || die
 fi
 
-if [ "${arch[*]}" == 'any' ]; then
-       if [ -d ../repos/$repo-i686 -a -d ../repos/$repo-x86_64 ]; then
+if [[ "${arch[*]}" == 'any' ]]; then
+       if [[ -d ../repos/$repo-i686 && -d ../repos/$repo-x86_64 ]]; then
                pushd ../repos/ >/dev/null
                stat_busy "Removing $repo-i686 and $repo-x86_64"
                svn rm -q $repo-i686
@@ -179,7 +179,7 @@ if [ "${arch[*]}" == 'any' ]; then
                popd >/dev/null
        fi
 else
-       if [ -d ../repos/$repo-any ]; then
+       if [[ -d ../repos/$repo-any ]]; then
                pushd ../repos/ >/dev/null
                stat_busy "Removing $repo-any"
                svn rm -q $repo-any
diff --git a/find-libdeps.in b/find-libdeps.in
index efd9bf3..b7c3619 100644
--- a/find-libdeps.in
+++ b/find-libdeps.in
@@ -68,12 +68,12 @@ find . -type f $find_args | while read filename; do
 
        # get architecture of the file; if soarch is empty it's not an ELF 
binary
        soarch=$(LC_ALL=C readelf -h "$filename" 2>/dev/null | sed -n 
's/.*Class.*ELF\(32\|64\)/\1/p')
-       [ -n "$soarch" ] || continue
+       [[ -n $soarch ]] || continue
 
        if [[ $script_mode = "provides" ]]; then
                # get the string binaries link to: libfoo.so.1.2 -> libfoo.so.1
                sofile=$(LC_ALL=C readelf -d "$filename" 2>/dev/null | sed -n 
's/.*Library soname: \[\(.*\)\].*/\1/p')
-               [ -z "$sofile" ] && sofile="${filename##*/}"
+               [[ -z $sofile" ]] && sofile="${filename##*/}"
                process_sofile
        elif [[ $script_mode = "deps" ]]; then
                # process all libraries needed by the binary
diff --git a/lddd.in b/lddd.in
index ae6c2b5..61608a4 100644
--- a/lddd.in
+++ b/lddd.in
@@ -27,9 +27,9 @@ for tree in $PATH $libdirs $extras; do
        -name '*.mcopclass' ! -name '*.mcoptype')
        IFS=$ifs
        for i in $files; do
-               if [ $(file $i | grep -c 'ELF') -ne 0 ]; then
+               if (( $(file $i | grep -c 'ELF') != 0 )); then
                        #  Is an ELF binary.
-                       if [ $(ldd $i 2>/dev/null | grep -c 'not found') -ne 0 
]; then
+                       if (( $(ldd $i 2>/dev/null | grep -c 'not found') != 0 
)); then
                                #  Missing lib.
                                echo "$i:" >> $TEMPDIR/raw.txt
                                ldd $i 2>/dev/null | grep 'not found' >> 
$TEMPDIR/raw.txt
diff --git a/mkarchroot.in b/mkarchroot.in
index c35ba5b..86631a1 100644
--- a/mkarchroot.in
+++ b/mkarchroot.in
@@ -47,34 +47,34 @@ while getopts 'r:ufnhC:M:c:' arg; do
        esac
 done
 
-if [ "$EUID" != '0' ]; then
+if (( $EUID != 0 )); then
        die 'This script must be run as root.'
 fi
 
 shift $(($OPTIND - 1))
 
-if [ "$RUN" = '' -a $# -lt 2 ]; then
+if [[ -z $RUN ]] && (( $# < 2 )); then
        die 'You must specify a directory and one or more packages.'
-elif [ $# -lt 1 ]; then
+elif (( $# < 1 )); then
        die 'You must specify a directory.'
 fi
 
 working_dir="$(readlink -f ${1})"
 shift 1
 
-[ "${working_dir}" = '' ] && die 'Please specify a working directory.'
+[[ -z $working_dir ]] && die 'Please specify a working directory.'
 
-if [ -z "$cache_dir" ]; then
+if [[ -z $cache_dir ]]; then
        cache_conf=${working_dir}/etc/pacman.conf
-       [ ! -f $cache_conf ] && cache_conf=${pac_conf:-/etc/pacman.conf}
+       [[ ! -f $cache_conf ]] && cache_conf=${pac_conf:-/etc/pacman.conf}
        cache_dir=$( (grep -m 1 '^CacheDir' $cache_conf || echo 'CacheDir = 
/var/cache/pacman/pkg') | sed 's/CacheDir\s*=\s*//')
        unset cache_conf
 fi
 
-if [ -f /etc/pacman.d/mirrorlist ]; then
+if [[ -f /etc/pacman.d/mirrorlist ]]; then
        host_mirror=$(pacman -Sddp extra/devtools 2>/dev/null | sed -E 
's#(.*/)extra/os/.*#\1$repo/os/$arch#')
 fi
-if [ -z "${host_mirror}" ]; then
+if [[ -z $host_mirror ]]; then
        host_mirror='http://mirrors.kernel.org/archlinux/$repo/os/$arch'
 fi
 if echo "${host_mirror}" | grep -q 'file://'; then
@@ -83,13 +83,13 @@ fi
 
 # {{{ functions
 chroot_mount() {
-       [ -e "${working_dir}/sys" ] || mkdir "${working_dir}/sys"
+       [[ -e "${working_dir}/sys" ]] || mkdir "${working_dir}/sys"
        mount -t sysfs sysfs "${working_dir}/sys"
 
-       [ -e "${working_dir}/proc" ] || mkdir "${working_dir}/proc"
+       [[ -e "${working_dir}/proc" ]] || mkdir "${working_dir}/proc"
        mount -t proc proc "${working_dir}/proc"
 
-       [ -e "${working_dir}/dev" ] || mkdir "${working_dir}/dev"
+       [[ -e "${working_dir}/dev" ]] || mkdir "${working_dir}/dev"
        mount -t tmpfs dev "${working_dir}/dev" -o mode=0755,size=10M,nosuid
        mknod -m 666 "${working_dir}/dev/null" c 1 3
        mknod -m 666 "${working_dir}/dev/zero" c 1 5
@@ -105,19 +105,19 @@ chroot_mount() {
        ln -s /proc/self/fd/1 "${working_dir}/dev/stdout"
        ln -s /proc/self/fd/2 "${working_dir}/dev/stderr"
 
-       [ -e "${working_dir}/dev/shm" ] || mkdir "${working_dir}/dev/shm"
+       [[ -e "${working_dir}/dev/shm" ]] || mkdir "${working_dir}/dev/shm"
        mount -t tmpfs shm "${working_dir}/dev/shm" -o nodev,nosuid,size=128M
 
-       [ -e "${working_dir}/dev/pts" ] || mkdir "${working_dir}/dev/pts"
+       [[ -e "${working_dir}/dev/pts" ]] || mkdir "${working_dir}/dev/pts"
        mount -t devpts devpts "${working_dir}/dev/pts" -o 
newinstance,ptmxmode=666
        ln -s pts/ptmx "${working_dir}/dev/ptmx"
 
-       [ -e "${cache_dir}" ] || mkdir -p "${cache_dir}"
-       [ -e "${working_dir}/${cache_dir}" ] || mkdir -p 
"${working_dir}/${cache_dir}"
+       [[ -e $cache_dir ]] || mkdir -p "${cache_dir}"
+       [[ -e "${working_dir}/${cache_dir}" ]] || mkdir -p 
"${working_dir}/${cache_dir}"
        mount -o bind "${cache_dir}" "${working_dir}/${cache_dir}"
 
-       if [ -n "${host_mirror_path}" ]; then
-               [ -e "${working_dir}/${host_mirror_path}" ] || mkdir -p 
"${working_dir}/${host_mirror_path}"
+       if [[ -n $host_mirror_path ]]; then
+               [[ -e "${working_dir}/${host_mirror_path}" ]] || mkdir -p 
"${working_dir}/${host_mirror_path}"
                mount -o bind "${host_mirror_path}" 
"${working_dir}/${host_mirror_path}"
                mount -o remount,ro,bind "${host_mirror_path}" 
"${working_dir}/${host_mirror_path}"
        fi
@@ -130,11 +130,11 @@ copy_hostconf () {
        cp /etc/resolv.conf "${working_dir}/etc/resolv.conf"
        echo "Server = ${host_mirror}" > ${working_dir}/etc/pacman.d/mirrorlist
 
-       if [ "$pac_conf" != "" -a "$NOCOPY" = "n" ]; then
+       if [[ -n $pac_conf && $NOCOPY = 'n' ]]; then
                cp ${pac_conf} ${working_dir}/etc/pacman.conf
        fi
 
-       if [ "$makepkg_conf" != "" -a "$NOCOPY" = "n" ]; then
+       if [[ -n $makepkg_conf && $NOCOPY = 'n' ]]; then
                cp ${makepkg_conf} ${working_dir}/etc/makepkg.conf
        fi
 }
@@ -146,12 +146,12 @@ chroot_umount () {
        umount "${working_dir}/dev/shm"
        umount "${working_dir}/dev"
        umount "${working_dir}/${cache_dir}"
-       [ -n "${host_mirror_path}" ] && umount 
"${working_dir}/${host_mirror_path}"
+       [[ -n $host_mirror_path ]] && umount 
"${working_dir}/${host_mirror_path}"
 }
 
 chroot_lock () {
        # Only reopen the FD if it wasn't handed to us
-       if [ "$(readlink -f /dev/fd/9)" != "${working_dir}.lock" ]; then
+       if [[ $(readlink -f /dev/fd/9) != "${working_dir}.lock" ]]; then
          exec 9>"${working_dir}.lock"
        fi
 
@@ -165,10 +165,10 @@ chroot_lock () {
 # }}}
 
 umask 0022
-if [ "$RUN" != "" ]; then
+if [[ -n $RUN ]]; then
        # run chroot {{{
        #Sanity check
-       if [ ! -f "${working_dir}/.arch-chroot" ]; then
+       if [[ ! -f "${working_dir}/.arch-chroot" ]]; then
                die "'${working_dir}' does not appear to be a Arch chroot."
        fi
 
@@ -181,7 +181,7 @@ if [ "$RUN" != "" ]; then
        # }}}
 else
        # {{{ build chroot
-       if [ -e "${working_dir}" -a "${FORCE}" = "n" ]; then
+       if [[ -e $working_dir && $FORCE = 'n' ]]; then
                die "Working directory '${working_dir}' already exists - try 
using -f"
        fi
 
@@ -196,13 +196,13 @@ else
        chroot_mount
 
        pacargs="--noconfirm --root=${working_dir} --cachedir=${cache_dir}"
-       if [ "$pac_conf" != "" ]; then
+       if [[ -n $pac_conf ]]; then
                pacargs="$pacargs --config=${pac_conf}"
        fi
 
-       if [ $# -ne 0 ]; then
+       if (( $# != 0 )); then
                op='-Sy'
-               if [ "$FORCE" = "y" ]; then
+               if [[ $FORCE = 'y' ]]; then
                        op="${op}f"
                fi
                if ! pacman ${op} ${pacargs} $@; then
@@ -210,18 +210,18 @@ else
                fi
        fi
 
-       if [ -d "${working_dir}/lib/modules" ]; then
+       if [[ -d "${working_dir}/lib/modules" ]]; then
                ldconfig -r "${working_dir}"
        fi
 
-       if [ -e "${working_dir}/etc/locale.gen" ]; then
+       if [[ -e "${working_dir}/etc/locale.gen" ]]; then
                sed -i 's@^#\(en_US\|de_DE\)\(\.UTF-8\)@\1\2@' 
"${working_dir}/etc/locale.gen"
                chroot "${working_dir}" /usr/sbin/locale-gen
        fi
 
        copy_hostconf
 
-       if [ ! -e "${working_dir}/.arch-chroot" ]; then
+       if [[ ! -e "${working_dir}/.arch-chroot" ]]; then
                date +%s > "${working_dir}/.arch-chroot"
        fi
        # }}}
diff --git a/rebuildpkgs.in b/rebuildpkgs.in
index d8fbdbe..f7b1612 100644
--- a/rebuildpkgs.in
+++ b/rebuildpkgs.in
@@ -11,14 +11,14 @@
 
 m4_include(lib/common.sh)
 
-if [ $# -le 1 ]; then
+if (( $# <= 1 )); then
        echo "usage: $(basename $0) <chrootdir> <packages to rebuild>"
        echo "  example: $(basename $0) ~/chroot readline bash foo bar baz"
        exit 1
 fi
 
 # Source makepkg.conf; fail if it is not found
-if [ -r '/etc/makepkg.conf' ]; then
+if [[ -r '/etc/makepkg.conf' ]]; then
        source '/etc/makepkg.conf'
 else
        die '/etc/makepkg.conf not found!'
@@ -63,7 +63,7 @@ for pkg in $pkgs; do
 
        msg2 "Building '$pkg'"
        /usr/bin/svn update "$pkg"
-       if [ ! -d "$pkg/trunk" ]; then
+       if [[ ! -d "$pkg/trunk" ]]; then
                FAILED="$FAILED $pkg"
                warning "$pkg does not exist in SVN"
                continue
@@ -77,7 +77,7 @@ for pkg in $pkgs; do
                error "$pkg Failed!"
        else
                pkgfile=$(pkg_from_pkgbuild)
-               if [ -e "$pkgfile" ]; then
+               if [[ -e $pkgfile ]]; then
                        msg2 "$pkg Complete"
                else
                        FAILED="$FAILED $pkg"
@@ -87,7 +87,7 @@ for pkg in $pkgs; do
 done
 
 cd "$REBUILD_ROOT"
-if [ "$FAILED" != "" ]; then
+if [[ -n $FAILED ]]; then
        msg 'Packages failed:'
        for pkg in $FAILED; do
                msg2 "$pkg"
-- 
1.7.7.4

Reply via email to