]> diplodocus.org Git - nmh/blobdiff - tools/showbuildenv
Fix whitespace errors
[nmh] / tools / showbuildenv
index ac34d076d602de884b30204d66f955dad165c18d..9db0f3e21fbaefed180ad15604188c744a32a038 100755 (executable)
@@ -5,24 +5,40 @@
 # build environment on machines they can't login on.  It also provides
 # a history in the build logs that might be useful in catching
 # regressions.
-# 
+#
 # This script should *only* report basic information about the build
 # environment, and only that necessary to reproduce the build
 # environment.
 #
-# FIXME: Document meaning of script's exit status, if any.
-# It jumps through hoops with `|| true' despite not using `set -e'.
+# The script's exit status must be zero if all went acceptably well as
+# buildbot checks for this and marks the `environment' stage as failed
+# otherwise.
 
 offset () {
-    sed -e '/./s/^/    /'
+    sed -e '/./s/^/    /' "$@"
 }
 
 header () {
     echo
-    echo $*
+    echo "$@"
     echo
 }
 
+# os-release is the new s*stemd standard.  Then it's the more unique
+# ones with redhat-release bringing up the rear because other platforms
+# also use that to placate broken logic that use its prescence as a
+# use-RPM test.
+for f in \
+    /etc/os-release /etc/arch-release /etc/centos-release /etc/debian_version \
+    /etc/fedora-release /etc/gentoo-release /etc/redhat-release \
+    /etc/lsb-release \
+    ; do
+    test -f $f || continue
+    header $f
+    offset $f
+    break
+done
+
 os=`uname`
 
 for i in a m p r s v; do
@@ -47,12 +63,9 @@ case ${os} in
        header Compilers:
        cc -v 2>&1 | offset
 
-       header Installed packages:
+       header Installed packages:
+        #### pkg(7) or pkg_info(1) might not always be available.
        (pkg info 2>/dev/null | offset) || true
        (pkg_info 2>/dev/null | offset) || true
        ;;
-
-    Linux)
-        header Linux distribution:
-        (lsb_release -a 2>&1 | offset) || true
 esac