maint: use $var notation rather than ${var} when possible

I noticed some uses of ${srcdir} in shell scripts.
That is almost always better written as $srcdir.
The patch below converts most such variable references.
Here are the few remaining candidates:

$ git grep -i -E '\$\{[a-zA-Z_0-9]+\}'|grep -v Makefile.in.in
configure.ac:        JAR_INSTALL_DIR=\${prefix}/share/java
configure.ac:        JNI_INSTALL_DIR=\${libdir}
debian/rules:   for TEST in ${DEBIAN_SKIP_TEST}; do \
debian/rules:#          mv $${mod} $$(dirname $${mod})/libguestfsmod.so; \
java/Makefile.am:libguestfs_jar_DATA = libguestfs-${VERSION}.jar
java/Makefile.am:libguestfs-${VERSION}.jar: $(libguestfs_jar_class_files)
perl/lib/Sys/Guestfs/Lib.pm:                      "-f", '${Package} ${Version} ${Architecture} ${Status}\n',
perl/typemap:            croak (\"${Package}::$func_name(): called on a closed handle\");
perl/typemap:        croak (\"${Package}::$func_name(): $var is not a blessed HV reference\");
tests/data/Makefile.am:   echo "$${i}abcdefghijklmnopqrstuvwxyz"; \

We could change all of those, too, except the ones in configure.ac
and Makefile.am, since they refer to Make variables.  Even those
should be changed, but to use the preferred Makefile notation:
$(prefix), $(libdir), $(VERSION).

>From a86770ecd45666232a94d76c8725c8f9b1c76e3a Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering@redhat.com>
Date: Mon, 23 Jan 2012 11:15:12 +0100
Subject: [PATCH libguestfs] maint: use $var notation rather than ${var} when
 possible

The only case to avoid in a shell script is when the byte after the
"}" is word-constituent, and concatenating it would thus change the
name of the variable.

These changes were induced by running this command:
  git grep -l -i -E '\$\{(srcdir|md)' \
    |xargs perl -pi -e 's/\$\{(srcdir|md)\}($|\w)/\$$1$2/gi'

The "g" was needed because there was one line with two instances.
The "i" is to handle ${SRCDIR}.  The ($|\w) ensures that concatenating
whatever follows the "}" won't change semantics.

* gobject/run-bindtests: Use "$srcdir", not "${srcdir}".
* haskell/run-bindtests: Likewise.
* java/run-bindtests: Likewise.
* ocaml/run-bindtests: Likewise.
* perl/run-bindtests: Likewise.
* python/run-bindtests: Likewise.
* ruby/run-bindtests: Likewise.
* tests/guests/guest-aux/make-debian-img.sh: Likewise, but $SRCDIR.
* tests/guests/guest-aux/make-ubuntu-img.sh: Likewise.
* tests/guests/guest-aux/make-windows-img.sh: Likewise.
* tests/md/test-mdadm.sh: Likewise, but $md.
This commit is contained in:
Jim Meyering
2012-01-23 11:35:55 +01:00
committed by Richard W.M. Jones
parent 37e07db159
commit 6edecdec59
10 changed files with 17 additions and 17 deletions

View File

@@ -19,4 +19,4 @@
set -e set -e
./Bindtests > bindtests.tmp ./Bindtests > bindtests.tmp
diff -u ${srcdir}/../bindtests bindtests.tmp diff -u $srcdir/../bindtests bindtests.tmp

View File

@@ -19,4 +19,4 @@
set -e set -e
$JAVA -Djava.library.path=.libs Bindtests > bindtests.tmp $JAVA -Djava.library.path=.libs Bindtests > bindtests.tmp
diff -u ${srcdir}/../bindtests bindtests.tmp diff -u $srcdir/../bindtests bindtests.tmp

View File

@@ -19,4 +19,4 @@
set -e set -e
./bindtests > bindtests.tmp ./bindtests > bindtests.tmp
diff -u ${srcdir}/../bindtests bindtests.tmp diff -u $srcdir/../bindtests bindtests.tmp

View File

@@ -20,4 +20,4 @@ set -e
export PERL5LIB=$(pwd)/blib/lib:$(pwd)/blib/arch export PERL5LIB=$(pwd)/blib/lib:$(pwd)/blib/arch
perl bindtests.pl > bindtests.tmp perl bindtests.pl > bindtests.tmp
diff -u ${srcdir}/../bindtests bindtests.tmp diff -u $srcdir/../bindtests bindtests.tmp

View File

@@ -18,5 +18,5 @@
set -e set -e
$PYTHON ${srcdir}/bindtests.py > bindtests.tmp $PYTHON $srcdir/bindtests.py > bindtests.tmp
diff -u ${srcdir}/../bindtests bindtests.tmp diff -u $srcdir/../bindtests bindtests.tmp

View File

@@ -18,5 +18,5 @@
set -e set -e
$RUBY -I${srcdir}/lib -Iext/guestfs ${srcdir}/bindtests.rb > bindtests.tmp $RUBY -I$srcdir/lib -Iext/guestfs $srcdir/bindtests.rb > bindtests.tmp
diff -u ${srcdir}/../bindtests bindtests.tmp diff -u $srcdir/../bindtests bindtests.tmp

View File

@@ -80,9 +80,9 @@ upload fstab.tmp /etc/fstab
write /etc/debian_version "5.0.1" write /etc/debian_version "5.0.1"
write /etc/hostname "debian.invalid" write /etc/hostname "debian.invalid"
upload ${SRCDIR}/guest-aux/debian-packages /var/lib/dpkg/status upload $SRCDIR/guest-aux/debian-packages /var/lib/dpkg/status
upload ${SRCDIR}/../data/bin-x86_64-dynamic /bin/ls upload $SRCDIR/../data/bin-x86_64-dynamic /bin/ls
mkdir /boot/grub mkdir /boot/grub
touch /boot/grub/grub.conf touch /boot/grub/grub.conf

View File

@@ -69,9 +69,9 @@ write /etc/debian_version "5.0.1"
upload release.tmp /etc/lsb-release upload release.tmp /etc/lsb-release
write /etc/hostname "ubuntu.invalid" write /etc/hostname "ubuntu.invalid"
upload ${SRCDIR}/guest-aux/debian-packages /var/lib/dpkg/status upload $SRCDIR/guest-aux/debian-packages /var/lib/dpkg/status
upload ${SRCDIR}/../data/bin-x86_64-dynamic /bin/ls upload $SRCDIR/../data/bin-x86_64-dynamic /bin/ls
mkdir /boot/grub mkdir /boot/grub
touch /boot/grub/grub.conf touch /boot/grub/grub.conf

View File

@@ -58,10 +58,10 @@ mkfs ntfs /dev/sda2
mount-options "" /dev/sda2 / mount-options "" /dev/sda2 /
mkdir-p /Windows/System32/Config mkdir-p /Windows/System32/Config
upload ${SRCDIR}/guest-aux/windows-software /Windows/System32/Config/SOFTWARE upload $SRCDIR/guest-aux/windows-software /Windows/System32/Config/SOFTWARE
upload ${SRCDIR}/guest-aux/windows-system /Windows/System32/Config/SYSTEM upload $SRCDIR/guest-aux/windows-system /Windows/System32/Config/SYSTEM
upload ${SRCDIR}/../data/bin-win32.exe /Windows/System32/cmd.exe upload $SRCDIR/../data/bin-win32.exe /Windows/System32/cmd.exe
mkdir "/Program Files" mkdir "/Program Files"
touch /autoexec.bat touch /autoexec.bat

View File

@@ -100,7 +100,7 @@ eval `../../fish/guestfish --listen`
../../fish/guestfish --remote run ../../fish/guestfish --remote run
for md in `../../fish/guestfish --remote list-md-devices`; do for md in `../../fish/guestfish --remote list-md-devices`; do
../../fish/guestfish --remote md-detail "${md}" > md-detail.out ../../fish/guestfish --remote md-detail "$md" > md-detail.out
sed 's/:\s*/=/' md-detail.out > md-detail.out.sh sed 's/:\s*/=/' md-detail.out > md-detail.out.sh
. md-detail.out.sh . md-detail.out.sh
@@ -158,7 +158,7 @@ eval `../../fish/guestfish --listen`
../../fish/guestfish --remote run ../../fish/guestfish --remote run
for md in `../../fish/guestfish --remote list-md-devices`; do for md in `../../fish/guestfish --remote list-md-devices`; do
../../fish/guestfish --remote md-stop "${md}" ../../fish/guestfish --remote md-stop "$md"
done done
../../fish/guestfish --remote exit ../../fish/guestfish --remote exit