X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/60d6f8e0407f578bef9f3392afa1283f97152c60..d8f618fee89be7c25e9cc232a358d2d2b1ed53ac:/tools/showbuildenv?ds=sidebyside diff --git a/tools/showbuildenv b/tools/showbuildenv index ac34d076..81f278e8 100755 --- a/tools/showbuildenv +++ b/tools/showbuildenv @@ -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/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 @@ -48,11 +64,8 @@ case ${os} in cc -v 2>&1 | offset 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