File: mg_shared.sh

package info (click to toggle)
megaglest 3.9.1-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 18,172 kB
  • ctags: 26,052
  • sloc: cpp: 140,512; ansic: 66,187; python: 3,761; sh: 2,986; perl: 1,899; php: 1,247; objc: 1,111; makefile: 259; sql: 139
file content (94 lines) | stat: -rw-r--r-- 2,418 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/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`

}