Evilham
645734c629
It looks like uname -r is not the most reliable way to get the target patch level for the target system. For more information see: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=251743
106 lines
2.6 KiB
Bash
Executable file
106 lines
2.6 KiB
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# 2010-2011 Nico Schottelius (nico-cdist at schottelius.org)
|
|
#
|
|
# This file is part of cdist.
|
|
#
|
|
# cdist is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# cdist is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
#
|
|
# All os variables are lower case
|
|
#
|
|
#
|
|
|
|
case "$("$__explorer/os")" in
|
|
amazon)
|
|
cat /etc/system-release
|
|
;;
|
|
archlinux)
|
|
# empty, but well...
|
|
cat /etc/arch-release
|
|
;;
|
|
debian)
|
|
debian_version=$(cat /etc/debian_version)
|
|
case $debian_version
|
|
in
|
|
testing/unstable)
|
|
# previous to Debian 4.0 testing/unstable was used
|
|
# cf. https://metadata.ftp-master.debian.org/changelogs/main/b/base-files/base-files_11_changelog
|
|
echo 3.99
|
|
;;
|
|
*/sid)
|
|
# sid versions don't have a number, so we decode by codename:
|
|
case $(expr "$debian_version" : '\([a-z]\{1,\}\)/')
|
|
in
|
|
bullseye) echo 10.99 ;;
|
|
buster) echo 9.99 ;;
|
|
stretch) echo 8.99 ;;
|
|
jessie) echo 7.99 ;;
|
|
wheezy) echo 6.99 ;;
|
|
squeeze) echo 5.99 ;;
|
|
lenny) echo 4.99 ;;
|
|
*) exit 1
|
|
esac
|
|
;;
|
|
*)
|
|
echo "$debian_version"
|
|
;;
|
|
esac
|
|
;;
|
|
devuan)
|
|
cat /etc/devuan_version
|
|
;;
|
|
fedora)
|
|
cat /etc/fedora-release
|
|
;;
|
|
gentoo)
|
|
cat /etc/gentoo-release
|
|
;;
|
|
macosx)
|
|
sw_vers -productVersion
|
|
;;
|
|
freebsd)
|
|
# Apparently uname -r is not a reliable way to get the patch level.
|
|
# See: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=251743
|
|
freebsd-version
|
|
;;
|
|
*bsd|solaris)
|
|
uname -r
|
|
;;
|
|
openwrt)
|
|
cat /etc/openwrt_version
|
|
;;
|
|
owl)
|
|
cat /etc/owl-release
|
|
;;
|
|
redhat|centos|mitel|scientific)
|
|
cat /etc/redhat-release
|
|
;;
|
|
slackware)
|
|
cat /etc/slackware-version
|
|
;;
|
|
suse)
|
|
if [ -f /etc/os-release ]; then
|
|
cat /etc/os-release
|
|
else
|
|
cat /etc/SuSE-release
|
|
fi
|
|
;;
|
|
ubuntu)
|
|
lsb_release -sr
|
|
;;
|
|
alpine)
|
|
cat /etc/alpine-release
|
|
;;
|
|
esac
|