Update default.inc
This commit is contained in:
59
default.inc
59
default.inc
@@ -60,53 +60,50 @@ redhat_derivative () {
|
||||
}
|
||||
|
||||
detect_os () {
|
||||
#local -n __resultvar="$1" || return 1
|
||||
declare -A __resultvar
|
||||
__resultvar[MACH]=`uname -m`
|
||||
local -n __resultvar="$1" || return 1
|
||||
__resultvar[0]=`uname -m`
|
||||
if [ -f /etc/redhat-release ] ; then
|
||||
echo DISTRIBUTION=redhat
|
||||
__resultvar[1]=redhat
|
||||
local FILE=/etc/redhat-release
|
||||
grep -i 'red.*hat.*enterprise.*linux' $FILE 2>&1 > /dev/null && { echo DERIVATIVE=rhel; return; }
|
||||
grep -i 'red.*hat.*linux' $FILE 2>&1 > /dev/null && { echo DERIVATIVE=rh; return; }
|
||||
grep -i 'cern.*e.*linux' $FILE 2>&1 > /dev/null && { echo DERIVATIVE=cel; return; }
|
||||
grep -i 'scientific linux cern' $FILE 2>&1 > /dev/null && { echo DERIVATIVE=slc; return; }
|
||||
grep -i 'centos' $FILE 2>&1 > /dev/null && { echo DERIVATIVE=centos; return; }
|
||||
#echo DERIVATIVE=unknown
|
||||
echo RELEASE=`tr -d 'a-zA-Z [](){}' < /etc/redhat-release`
|
||||
grep -i 'red.*hat.*enterprise.*linux' $FILE 2>&1 > /dev/null && { __resultvar[2]=rhel; return; }
|
||||
grep -i 'red.*hat.*linux' $FILE 2>&1 > /dev/null && { __resultvar[2]=rh; return; }
|
||||
grep -i 'cern.*e.*linux' $FILE 2>&1 > /dev/null && { __resultvar[2]=cel; return; }
|
||||
grep -i 'scientific linux cern' $FILE 2>&1 > /dev/null && { __resultvar[2]=slc; return; }
|
||||
grep -i 'centos' $FILE 2>&1 > /dev/null && { __resultvar[2]=centos; return; }
|
||||
#__resultvar[2]=unknown
|
||||
__resultvar[3]=`tr -d 'a-zA-Z [](){}' < /etc/redhat-release`
|
||||
elif [ -s /etc/slackware-version ]; then
|
||||
echo DISTRIBUTION="slackware"
|
||||
__resultvar[1]="slackware"
|
||||
elif [ -f /etc/SUSE-release ] ; then
|
||||
# TODO - not tested
|
||||
echo DISTRIBUTION=suse
|
||||
echo PSUEDONAME=`cat /etc/SUSE-release | tr "\n" ' '| sed s/VERSION.*//`
|
||||
echo REV=`cat /etc/SUSE-release | tr "\n" ' ' | sed s/.*=\ //`
|
||||
echo VERSION=`cat /etc/SuSE-release | grep 'VERSION' | sed -e 's#[^0-9]##g'`
|
||||
__resultvar[1]=suse
|
||||
__resultvar[2]=`cat /etc/SUSE-release | tr "\n" ' '| sed s/VERSION.*//`
|
||||
__resultvar[3]=`cat /etc/SUSE-release | tr "\n" ' ' | sed s/.*=\ //`
|
||||
__resultvar[4]=`cat /etc/SuSE-release | grep 'VERSION' | sed -e 's#[^0-9]##g'`
|
||||
elif [ -f /etc/mandrake-release ] ; then
|
||||
# TODO - not tested
|
||||
echo DISTRIBUTION=mandrake
|
||||
echo PSUEDONAME=`cat /etc/mandrake-release | sed s/.*\(// | sed s/\)//`
|
||||
echo REV=`cat /etc/mandrake-release | sed s/.*release\ // | sed s/\ .*//`
|
||||
echo FAMILY=rh
|
||||
__resultvar[1]=mandrake
|
||||
__resultvar[2]=`cat /etc/mandrake-release | sed s/.*\(// | sed s/\)//`
|
||||
__resultvar[3]=`cat /etc/mandrake-release | sed s/.*release\ // | sed s/\ .*//`
|
||||
elif [ -f /etc/debian_version ] ; then
|
||||
__resultvar[DISTRIBUTION]=debian
|
||||
__resultvar[1]=debian
|
||||
if which lsb_release 2>&1 > /dev/null ; then
|
||||
__resultvar[DERIVATIVE]=`lsb_release --id --short 2> /dev/null`
|
||||
__resultvar[RELEASE]=`lsb_release --release --short 2> /dev/null`
|
||||
__resultvar[CODENAME]=`lsb_release --codename --short 2> /dev/null`
|
||||
__resultvar[2]=`lsb_release --id --short 2> /dev/null`
|
||||
__resultvar[3]=`lsb_release --release --short 2> /dev/null`
|
||||
__resultvar[4]=`lsb_release --codename --short 2> /dev/null`
|
||||
else
|
||||
__resultvar[DERIVATIVE]=unknown
|
||||
__resultvar[RELEASE]=`cat /etc/debian_version`
|
||||
__resultvar[CODENAME]=unknown
|
||||
__resultvar[1]=unknown
|
||||
__resultvar[3]=`cat /etc/debian_version`
|
||||
__resultvar[4]=unknown
|
||||
fi
|
||||
elif [ -f /etc/UnitedLinux-release ]; then
|
||||
echo DISTRIBUTION="united"
|
||||
echo VERSION=`cat /etc/UnitedLinux-release`
|
||||
__resultvar[0]="united"
|
||||
__resultvar[3]=`cat /etc/UnitedLinux-release`
|
||||
elif [ -r /etc/init.d/functions.sh ]; then
|
||||
# TODO - not tested
|
||||
source /etc/init.d/functions.sh
|
||||
[ zz`type -t ebegin 2>/dev/null` == "zzfunction" ] && echo DISTRIBUTION="gentoo"
|
||||
[ zz`type -t ebegin 2>/dev/null` == "zzfunction" ] && __resultvar[0]="gentoo"
|
||||
fi
|
||||
declare -p $__resultvar
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user