1
0
Fork 0
arangodb/config/detect_distro.sh

93 lines
2.7 KiB
Bash
Executable File

#!/bin/sh
# Detects which OS and if it is Linux then it will detect which Linux Distribution.
echo "........................................................"
echo ". Detect OS and Distribution ."
echo "........................................................"
echo
OS=`uname -s`
REV=`uname -r`
MACH=`uname -m`
if [ "${OS}" = "Darwin" ] ; then
DIST="MacOSX"
RELEASE=$(sw_vers | grep "ProductVersion" | awk '{ print $2}' )
KERNEL=$(uname -v | awk '{ print $11}')
CODENAME="Darwin"
elif [ "${OS}" = "Linux" ] ; then
KERNEL=`uname -r`
# use "lsb_release"
DIST=$(lsb_release -d 2>/dev/null| awk '{ print $2 }')
DIST2=$(lsb_release -d 2>/dev/null| awk '{ print $3 }')
if [ "x${DIST2}" = "xMint" ] ; then
DIST="LinuxMint"
fi
RELEASE=$(lsb_release -r 2>/dev/null | awk '{ print $2 }')
CODENAME=$(lsb_release -c 2>/dev/null | awk '{ print $2 }')
if [ "x${DIST}" = "x" ] ; then
# use special files:
if [ -f /etc/redhat-release ] ; then
DIST=$( cat /etc/redhat-release | awk '{ print $1}' )
RELEASE=`cat /etc/redhat-release | sed s/.*release\ // | sed s/\ .*//`
CODENAME=`cat /etc/redhat-release | sed s/.*\(// | sed s/\)//`
elif [ -f /etc/SuSE-release ] ; then
DIST=$(cat /etc/SuSE-release | tr "\n" ' '| awk '{ print $1}')
RELEASE=$(cat /etc/SuSE-release | tr "\n" ' ' | sed s/.*VERSION\ =\ // | awk '{ print $1}')
CODENAME=$(cat /etc/SuSE-release | tr "\n" ' ' | sed s/.*CODENAME\ =\ // | awk '{ print $1}')
elif [ -f /etc/mandrake-release ] ; then
DIST='Mandrake'
RELEASE=`cat /etc/mandrake-release | sed s/.*release\ // | sed s/\ .*//`
CODENAME=`cat /etc/mandrake-release | sed s/.*\(// | sed s/\)//`
elif [ -f /etc/debian_version ] ; then
DIST="Debian"
RELEASE=`cat /etc/debian_version`
elif [ -f /etc/os-release ] ; then
ID=$(cat /etc/os-release | tr "\n" ' ' | sed s/.*ID=// | awk '{ print $1}')
if [ "${ID}" = "arch" ] ; then
DIST='ArchLinux'
RELEASE="current"
CODENAME="arch"
fi
fi
fi
if [ "x${CODENAME}" = "x" ] ; then
CODENAME="unknown"
fi
fi
OSSTR="${OS} ${DIST} ${RELEASE} ${MACH} (${CODENAME} ${KERNEL})"
echo ${OSSTR}
echo "........................................................"
echo "TRI_OS=\"${OS}\""
echo "TRI_DIST=\"${DIST}\""
echo "TRI_RELEASE=\"${RELEASE}\""
echo "TRI_MACH=\"${MACH}\""
echo "TRI_CODENAME=\"${CODENAME}\""
echo "TRI_KERNEL=\"${KERNEL}\""
echo "TRI_OS_LONG=\"${OS}-${DIST}-${RELEASE}-${MACH}\""
TRI_OS=${OS}
TRI_DIST=${DIST}
TRI_RELEASE=${RELEASE}
TRI_MACH=${MACH}
TRI_CODENAME=${CODENAME}
TRI_KERNEL=${KERNEL}
TRI_OSSTR=${OSSTR}
TRI_OS_LONG="${OS}-${DIST}-${RELEASE}-${MACH}"
echo "........................................................"