#!/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 . # # # 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