mirror of
https://github.com/glest/glest-source.git
synced 2025-02-24 11:42:31 +01:00
95 lines
2.4 KiB
Bash
95 lines
2.4 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Functions shared by several scripts
|
|
#
|
|
|
|
|
|
function detect_system {
|
|
# Determine distro title, release, codename
|
|
#
|
|
# Input:
|
|
# -/-
|
|
#
|
|
# Output:
|
|
# No direct output, but the following variables are set:
|
|
# lsb: whether (1) or not (0) system information was retrieved from 'lsb_release'
|
|
# distribution: detected Linux distribution (string)
|
|
# release: detected distribution release / version (string)
|
|
# codename: codename of the detected Linux distribution (string)
|
|
# architecture: detected machine architecture (string)
|
|
|
|
if [[ `which lsb_release` = '' ]]
|
|
then
|
|
lsb=0
|
|
if [ -e /etc/debian_version ]
|
|
then
|
|
distribution='Debian'
|
|
release='unknown release version'
|
|
codename=`cat /etc/debian_version`
|
|
elif [ -e /etc/SuSE-release ]
|
|
then
|
|
distribution='SuSE'
|
|
release='unknown release version'
|
|
codename=`cat /etc/SuSE-release`
|
|
elif [ -e /etc/redhat-release ]
|
|
then
|
|
if [ -e /etc/fedora-release ]
|
|
then
|
|
distribution='Fedora'
|
|
release='unknown release version'
|
|
codename=`cat /etc/fedora-release`
|
|
else
|
|
distribution='Redhat'
|
|
release='unknown release version'
|
|
codename=`cat /etc/redhat-release`
|
|
fi
|
|
elif [ -e /etc/fedora-release ]
|
|
then
|
|
distribution='Fedora'
|
|
release='unknown release version'
|
|
codename=`cat /etc/fedora-release`
|
|
elif [ -e /etc/mandrake-release ]
|
|
then
|
|
distribution='Mandrake'
|
|
release='unknown release version'
|
|
codename=`cat /etc/mandrake-release`
|
|
fi
|
|
else
|
|
lsb=1
|
|
|
|
distribution=`lsb_release -i | awk -F':' '{ gsub(/^[ \t]*/,"",$2); print $2 }'`
|
|
release=`lsb_release -r | awk -F':' '{ gsub(/^[ \t]*/,"",$2); print $2 }'`
|
|
codename=`lsb_release -c | awk -F':' '{ gsub(/^[ \t]*/,"",$2); print $2 }'`
|
|
|
|
# Some distribution examples:
|
|
#
|
|
# OpenSuSE 11.4
|
|
# LSB Version: n/a
|
|
# Distributor ID: SUSE LINUX
|
|
# Description: openSUSE 11.4 (x86_64)
|
|
# Release: 11.4
|
|
# Codename: Celadon
|
|
#
|
|
# OpenSuSE 12.1
|
|
# LSB support: 1
|
|
# Distribution: SUSE LINUX
|
|
# Release: 12.1
|
|
# Codename: Asparagus
|
|
#
|
|
# Arch
|
|
# LSB Version: n/a
|
|
# Distributor ID: archlinux
|
|
# Description: Arch Linux
|
|
# Release: rolling
|
|
# Codename: n/a
|
|
#
|
|
# Ubuntu 12.04
|
|
# Distributor ID: Ubuntu
|
|
# Description: Ubuntu 12.04 LTS
|
|
# Release: 12.04
|
|
# Codename: precise
|
|
fi
|
|
architecture=`uname -m`
|
|
|
|
}
|