Add support for Mac OS X Name and Version (#5949)
* Add support for Mac OS X Name and Version * Fix codacy warnings
Chris Akritidis committed
May 2, 2019 at 18:02 UTC
3b658216b96fec3e27fcc3aaef7c00d3cf981f88
1 file changed
+39
-26
daemon/system-info.sh
+39
-26
@@ -1,5 +1,12 @@
1
#!/usr/bin/env sh
2
3
+# -------------------------------------------------------------------------------------------------
4
+# detect the kernel
5
+
6
+KERNEL_NAME="$(uname -s)"
7
+KERNEL_VERSION="$(uname -r)"
8
+ARCHITECTURE="$(uname -m)"
9
+
10
# -------------------------------------------------------------------------------------------------
11
# detect the operating system
12
@@ -10,36 +17,42 @@ VERSION_ID="unknown"
17
ID="unknown"
18
ID_LIKE="unknown"
19
13
-if [ -f "/etc/os-release" ]; then
14
- OS_DETECTION="/etc/os-release"
15
- eval "$(grep -E "^(NAME|ID|ID_LIKE|VERSION|VERSION_ID)=" </etc/os-release)"
16
-fi
20
+if [ "${KERNEL_NAME}" = "Darwin" ]; then
21
+ # Mac OS
22
+ OIFS="$IFS"
23
+ IFS=$'\n'
24
+ set $(sw_vers) > /dev/null
25
+ NAME=$(echo $1 | tr "\n" ' ' | sed 's/ProductName:[ ]*//')
26
+ VERSION=$(echo $2 | tr "\n" ' ' | sed 's/ProductVersion:[ ]*//')
27
+ ID="mac"
28
+ ID_LIKE="mac"
29
+ OS_DETECTION="sw_vers"
30
+ IFS="$OIFS"
31
+else
32
+ if [ -f "/etc/os-release" ]; then
33
+ OS_DETECTION="/etc/os-release"
34
+ eval "$(grep -E "^(NAME|ID|ID_LIKE|VERSION|VERSION_ID)=" </etc/os-release)"
35
+ fi
36
18
-if [ "${NAME}" = "unknown" ] || [ "${VERSION}" = "unknown" ] || [ "${ID}" = "unknown" ]; then
19
- if [ -f "/etc/lsb-release" ]; then
20
- if [ "${OS_DETECTION}" = "unknown" ]; then OS_DETECTION="/etc/lsb-release"; else OS_DETECTION="Mixed"; fi
21
- DISTRIB_ID="unknown"
22
- DISTRIB_RELEASE="unknown"
23
- DISTRIB_CODENAME="unknown"
24
- eval "$(grep -E "^(DISTRIB_ID|DISTRIB_RELEASE|DISTRIB_CODENAME)=" </etc/lsb-release)"
25
- if [ "${NAME}" = "unknown" ]; then NAME="${DISTRIB_ID}"; fi
26
- if [ "${VERSION}" = "unknown" ]; then VERSION="${DISTRIB_RELEASE}"; fi
27
- if [ "${ID}" = "unknown" ]; then ID="${DISTRIB_CODENAME}"; fi
28
- elif [ -n "$(command -v lsb_release 2>/dev/null)" ]; then
29
- if [ "${OS_DETECTION}" = "unknown" ]; then OS_DETECTION="lsb_release"; else OS_DETECTION="Mixed"; fi
30
- if [ "${NAME}" = "unknown" ]; then NAME="$(lsb_release -is 2>/dev/null)"; fi
31
- if [ "${VERSION}" = "unknown" ]; then VERSION="$(lsb_release -rs 2>/dev/null)"; fi
32
- if [ "${ID}" = "unknown" ]; then ID="$(lsb_release -cs 2>/dev/null)"; fi
37
+ if [ "${NAME}" = "unknown" ] || [ "${VERSION}" = "unknown" ] || [ "${ID}" = "unknown" ]; then
38
+ if [ -f "/etc/lsb-release" ]; then
39
+ if [ "${OS_DETECTION}" = "unknown" ]; then OS_DETECTION="/etc/lsb-release"; else OS_DETECTION="Mixed"; fi
40
+ DISTRIB_ID="unknown"
41
+ DISTRIB_RELEASE="unknown"
42
+ DISTRIB_CODENAME="unknown"
43
+ eval "$(grep -E "^(DISTRIB_ID|DISTRIB_RELEASE|DISTRIB_CODENAME)=" </etc/lsb-release)"
44
+ if [ "${NAME}" = "unknown" ]; then NAME="${DISTRIB_ID}"; fi
45
+ if [ "${VERSION}" = "unknown" ]; then VERSION="${DISTRIB_RELEASE}"; fi
46
+ if [ "${ID}" = "unknown" ]; then ID="${DISTRIB_CODENAME}"; fi
47
+ elif [ -n "$(command -v lsb_release 2>/dev/null)" ]; then
48
+ if [ "${OS_DETECTION}" = "unknown" ]; then OS_DETECTION="lsb_release"; else OS_DETECTION="Mixed"; fi
49
+ if [ "${NAME}" = "unknown" ]; then NAME="$(lsb_release -is 2>/dev/null)"; fi
50
+ if [ "${VERSION}" = "unknown" ]; then VERSION="$(lsb_release -rs 2>/dev/null)"; fi
51
+ if [ "${ID}" = "unknown" ]; then ID="$(lsb_release -cs 2>/dev/null)"; fi
52
+ fi
53
fi
54
fi
55
36
-# -------------------------------------------------------------------------------------------------
37
-# detect the kernel
38
-
39
-KERNEL_NAME="$(uname -s)"
40
-KERNEL_VERSION="$(uname -r)"
41
-ARCHITECTURE="$(uname -m)"
42
-
56
# -------------------------------------------------------------------------------------------------
57
# detect the virtualization
58