1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-13 03:32:12 +00:00
iiab/scripts/local_facts.fact
2018-07-16 16:58:22 +07:00

82 lines
2 KiB
Bash
Executable file

#!/bin/bash
# upgrades return found, clean installs return 0
# interruptions return last stage number recorded (1-9)
if [ -f /etc/iiab/iiab.env ]; then
source /etc/iiab/iiab.env
STAGE=$STAGE
else
STAGE=0
fi
OS=`grep ^ID= /etc/*elease|cut -d= -f2`
OS=${OS//\"/}
VERSION_ID=`grep VERSION_ID /etc/*elease | cut -d= -f2`
VERSION_ID=${VERSION_ID//\"/}
VERSION_ID=${VERSION_ID%%.*}
OS_VER=$OS-$VERSION_ID
DHCPCD_PATH=`which dhcpcd`
NM_PATH=`which NetworkManager`
case $OS_VER in
"fedora-18" | \
"fedora-22" | \
"debian-8" | \
"debian-9" | \
"debian-10" | \
"ubuntu-16" | \
"ubuntu-17" | \
"ubuntu-18" | \
"centos-7" | \
"raspbian-8"| \
"raspbian-9")
;;
*) OS_VER="OS_not_supported"
;;
esac
# get current version
BRANCH=`git rev-parse --abbrev-ref HEAD`
COMMIT=`git rev-parse --verify HEAD`
if [ -d /usr/lib64/php ]; then
PHPLIB_DIR=/usr/lib64/php
else
if [ -d /usr/lib/php5 ]; then
PHPLIB_DIR=/usr/lib/php5
else
PHPLIB_DIR=/usr/lib/php
fi
fi
if [ -f /proc/device-tree/mfg-data/MN ]; then
XO_VERSION=`cat /proc/device-tree/mfg-data/MN`
else
XO_VERSION="none"
fi
ANSIBLE_VERSION=$(ansible --version|head -n 1|cut -f 2 -d " ")
if [ ! x$DHCPCD_PATH = x ]; then
DHCPCD=`systemctl is-enabled dhcpcd`
fi
# the check is debian family only is_redhad would use NetworkManager as the
# service name.
if [ ! x$NM_PATH = x ]; then
NM=`systemctl is-enabled network-manager`
fi
SYSD_NETD=`systemctl is-enabled systemd-networkd`
cat <<EOF
{"phplib_dir" : "$PHPLIB_DIR",
"stage" : "$STAGE",
"dhcpcd" : "$DHCPCD",
"network_manager" : "$NM",
"systemd_networkd" : "$SYSD_NETD",
"iiab_branch" : "$BRANCH",
"iiab_commit" : "$COMMIT",
"xo_model" : "$XO_VERSION",
"ansible_version" : "$ANSIBLE_VERSION",
"os" : "$OS",
"os_ver" : "$OS_VER"}
EOF