summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2014-06-27 11:45:49 +1000
committerMartin Schwenke <martin@meltin.net>2014-07-02 14:17:17 +1000
commitef72de0899d54d341ad8b9cb81e27ea27aa29bf8 (patch)
treefb7886b671a95a1ec390fa5c50ada15baacbddc8
parent0aa1c68a8fe6116b2867dc26bbccbb90e8f1fabd (diff)
downloadautocluster-ef72de0899d54d341ad8b9cb81e27ea27aa29bf8.tar.gz
autocluster-ef72de0899d54d341ad8b9cb81e27ea27aa29bf8.tar.xz
autocluster-ef72de0899d54d341ad8b9cb81e27ea27aa29bf8.zip
Replace external waitfor script with a function
Signed-off-by: Martin Schwenke <martin@meltin.net>
-rw-r--r--Makefile2
-rw-r--r--README4
-rwxr-xr-xautocluster25
-rw-r--r--autocluster.spec.in1
-rwxr-xr-xbase/all/usr/bin/waitfor30
-rwxr-xr-xwaitfor31
6 files changed, 28 insertions, 65 deletions
diff --git a/Makefile b/Makefile
index 45dff40..f39cb5c 100644
--- a/Makefile
+++ b/Makefile
@@ -19,7 +19,7 @@ install: all
mkdir -p $(DESTDIR)$(datadir)
cp -a $(datas) $(DESTDIR)$(datadir)/
mkdir -p $(DESTDIR)$(bindir)
- install -m 755 vircmd waitfor $(DESTDIR)$(bindir)
+ install -m 755 vircmd $(DESTDIR)$(bindir)
install -m 755 autocluster.hack $(DESTDIR)$(bindir)/autocluster
debian/changelog: debian/changelog.in Makefile .git/refs/heads/master
diff --git a/README b/README
index 9c229c5..142d9a0 100644
--- a/README
+++ b/README
@@ -59,8 +59,8 @@ clusters generated by autocluster.
Autocluster creates virtual machines that use libvirt to run under
KVM. This means that you will need to install both KVM and
- libvirt on your host machine. Expect is used by the "waitfor"
- script and should be available for installation form your
+ libvirt on your host machine. Expect is used by the waitfor()
+ function and should be available for installation from your
distribution.
For various distros:
diff --git a/autocluster b/autocluster
index f742848..3c8219f 100755
--- a/autocluster
+++ b/autocluster
@@ -96,6 +96,31 @@ announce ()
echo ""
}
+waitfor ()
+{
+ local file="$1"
+ local msg="$2"
+ local timeout="$3"
+
+ local tmpfile=$(mktemp)
+
+ cat <<EOF >"$tmpfile"
+spawn tail -n 10000 -f $file
+expect -timeout $timeout -re "$msg"
+EOF
+
+ export LANG=C
+ expect "$tmpfile"
+ rm -f "$tmpfile"
+
+ if ! grep -E "$msg" "$file" > /dev/null; then
+ echo "Failed to find \"$msg\" in \"$file\""
+ return 1
+ fi
+
+ return 0
+}
+
###############################
# Indirectly call a function named by ${1}_${2}
diff --git a/autocluster.spec.in b/autocluster.spec.in
index 777792b..5ff3b0b 100644
--- a/autocluster.spec.in
+++ b/autocluster.spec.in
@@ -47,4 +47,3 @@ rm -rf $RPM_BUILD_ROOT
%{_prefix}/share/autocluster/*
%{_bindir}/autocluster
%{_bindir}/vircmd
-%{_bindir}/waitfor
diff --git a/base/all/usr/bin/waitfor b/base/all/usr/bin/waitfor
deleted file mode 100755
index cb296d3..0000000
--- a/base/all/usr/bin/waitfor
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-# wait for a string to appear at the end of file
-# tridge@samba.org July 2008
-
-[ $# -lt 3 ] && {
- cat <<EOF
-Usage: waitfor FILE MESSAGE TIMEOUT
-EOF
-exit 1
-}
-
-file="$1"
-msg="$2"
-timeout="$3"
-
-tmpfile=`mktemp`
-
-cat <<EOF > $tmpfile
-spawn tail -n 10000 -f $file
-expect -timeout $timeout "$msg"
-EOF
-
-expect $tmpfile
-rm -f $tmpfile
-
-if ! grep "$msg" $file > /dev/null; then
- echo "Failed to find \"$msg\" in $file"
- exit 1
-fi
-exit 0
diff --git a/waitfor b/waitfor
deleted file mode 100755
index 7077c67..0000000
--- a/waitfor
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash
-# wait for a string to appear at the end of file
-# tridge@samba.org July 2008
-
-[ $# -lt 3 ] && {
- cat <<EOF
-Usage: waitfor FILE MESSAGE TIMEOUT
-EOF
-exit 1
-}
-
-file="$1"
-msg="$2"
-timeout="$3"
-
-tmpfile=`mktemp`
-
-cat <<EOF > $tmpfile
-spawn tail -n 10000 -f $file
-expect -timeout $timeout -re "$msg"
-EOF
-
-export LANG=C
-expect $tmpfile
-rm -f $tmpfile
-
-if ! grep -E "$msg" $file > /dev/null; then
- echo "Failed to find \"$msg\" in $file"
- exit 1
-fi
-exit 0