cdist configuration management
Latest manual: https://www.cdi.st/manual/latest/
Home page: https://www.cdi.st
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
2.7 KiB
107 lines
2.7 KiB
#!/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) |
|
# NOTE: Legacy versions (< 10.3) do not support options |
|
sw_vers | awk -F ':[ \t]+' '$1 == "ProductVersion" { print $2 }' |
|
;; |
|
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
|
|
|