From 62d9a18861f53c593e0aea763177ea78cf5833f7 Mon Sep 17 00:00:00 2001 From: hlein Date: Wed, 8 Mar 2017 09:24:24 -0700 Subject: A bunch of Solaris compatibility tweaks (#367) * Work around Solaris' /bin/sh not being POSIX. If /usr/xpg4/bin/sh is present, we are (definitely?) on Solaris or a derivative, and /bin/sh cannot be trusted to support POSIX, but /usr/xpg4/bin/sh can be. Exec it right away. * Work around Solaris 'which' command oddity. Solaris' (at least) 'which' command outputs not-found errors to STDOUT instead of STDERR. This makes "did we get any output from which" checks insufficient; piping to grep -v the "no foo in ..." message should work. Note that this patch set includes all such uses of which that I could find, including ones that should never be reached on Solaris (i.e. only executed on some other OS) just for consistency. * Improved alternate-sh exec to avoid looping. * Solaris' /usr/ucb/echo supports -n. * Check for the best hash type that openssl supports. When using openssl to generate hashes, do not assume it supports sha256; try that, then sha1, then give up and use md5. * Solaris does not support sed -i; use a tempfile. * Use the full path for modinfo. When running as non-root, /usr/sbin/ might not be in PATH. include/tests_accounting already calls modinfo by full path, but include/tests_kernel did not. * Solaris find does not support -maxdepth. This mirrors the logic already in tests_homedirs. * Use PSBINARY instead of ps. * Work around Solaris' date not supporting +%s. Printing nawk's srand value is a bizarre but apparently once popular workaround for there being no normal userland command to print UNIX epoch seconds. A perl one-liner is the other common approach, but nawk may be more reliably present on Solaris than perl. * Revert to using sha1 for HOSTID. * Whitespace cleanup for openssl hash tests. --- include/helper_update | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'include/helper_update') diff --git a/include/helper_update b/include/helper_update index 44f939a6..4b8bced4 100644 --- a/include/helper_update +++ b/include/helper_update @@ -38,9 +38,9 @@ SERVER_VERSION="" PERFORM_UPGRADE=0 QUIET=0 -WGET_EXISTS=$(which wget 2> /dev/null) -CURL_EXISTS=$(which curl 2> /dev/null) -FETCH_EXISTS=$(which fetch 2> /dev/null) +WGET_EXISTS=$(which wget 2> /dev/null | grep -v "no [^ ]* in ") +CURL_EXISTS=$(which curl 2> /dev/null | grep -v "no [^ ]* in ") +FETCH_EXISTS=$(which fetch 2> /dev/null | grep -v "no [^ ]* in ") # Update version if [ "$1" = "release" ]; then -- cgit v1.2.3