X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/2f2e3e508d9128961087abbe206ddd951e6b9d62..3b2ca65d6c8ffd443caa93bf89b0f9b61d9a4919:/tools/showbuildenv diff --git a/tools/showbuildenv b/tools/showbuildenv index 686d188b..4645049a 100755 --- a/tools/showbuildenv +++ b/tools/showbuildenv @@ -9,16 +9,35 @@ # 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'. 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 @@ -27,15 +46,28 @@ done header Shell Variables: set | sort -d -t= | offset -echo - case ${os} in + Darwin) + header Compilers: + cc -v 2>&1 | offset + echo + lex --version | offset + echo + yacc --version | offset + ;; + FreeBSD) + header Compilers: + cc -v 2>&1 | offset + header Installed packages: (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