diff mbox

[OSSTEST,07/33] invoke-daemon: Honour OSSTEST_DAEMON_TCLSH

Message ID 1468002385-4407-8-git-send-email-ian.jackson@eu.citrix.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ian Jackson July 8, 2016, 6:25 p.m. UTC
It appears that tcl8.5 in wheezy has a serious bug which makes `after
idle' not always work.  tcl8.4 has been working well in wheezy but is
not in jessie, where tcl8.5 works (and tcl8.6 has a serious event loop
bug - Debian #826741).

So we need to use different versions of Tcl on different hosts.
Allow this to be specified in ~/.xen-osstest/settings.

This affects only:
 - invoke-daemon (which is normally run from inittab)
 - mg-schema-test-database

sg-run-job and sg-execute-flight are not affected.  They do not
currently use `after idle' so that is OK for now.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 invoke-daemon           |  2 +-
 mg-schema-test-database | 10 +++++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/invoke-daemon b/invoke-daemon
index ad1434a..e4a47bb 100755
--- a/invoke-daemon
+++ b/invoke-daemon
@@ -24,4 +24,4 @@  fi
 
 cd "${0%/*}"
 if [ "x$2" != x ]; then sleep $2; fi
-exec ./$1 2>&1 | exec logger -t $1 -p local4.info
+exec $OSSTEST_DAEMON_TCLSH ./$1 2>&1 | exec logger -t $1 -p local4.info
diff --git a/mg-schema-test-database b/mg-schema-test-database
index 892e41a..5ebba39 100755
--- a/mg-schema-test-database
+++ b/mg-schema-test-database
@@ -567,7 +567,15 @@  daemons)
 	for arg in "$@"; do
 		case "$arg" in
 		_*)	suffix="$arg" ;;
-		owner|queue)	wantdaemons+=("./ms-${arg}daemon") ;;
+		owner|queue)
+			tcl="$(bash -ec '
+				set -o posix
+				if [ -e $HOME/.xen-osstest/settings ]; then
+					source $HOME/.xen-osstest/settings
+				fi
+				echo "$OSSTEST_DAEMON_TCLSH"
+			')"
+			wantdaemons+=("$tcl ./ms-${arg}daemon") ;;
 		*/*)		wantdaemons+=("$arg") ;;
 		*)		wantdaemons+=("./$arg") ;;
 		esac