mirror of
				https://github.com/iiab/iiab.git
				synced 2025-03-09 15:40:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			99 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
	
		
			2.3 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//\"/}
 | 
						|
if [ -f /etc/rpi-issue ]; then
 | 
						|
    OS="raspbian"
 | 
						|
fi
 | 
						|
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`
 | 
						|
 | 
						|
# Previously supported Linux distributions / versions:
 | 
						|
    #"fedora-18"    | \
 | 
						|
    #"fedora-22"    | \
 | 
						|
    #"debian-8"     | \
 | 
						|
    #"debian-9"     | \
 | 
						|
    #"ubuntu-16"    | \
 | 
						|
    #"ubuntu-17"    | \
 | 
						|
    #"ubuntu-18"    | \
 | 
						|
    #"ubuntu-19"    | \
 | 
						|
    #"centos-7"     | \
 | 
						|
    #"raspbian-8"   | \
 | 
						|
    #"raspbian-9"   | \
 | 
						|
 | 
						|
case $OS_VER in
 | 
						|
    "debian-10"    | \
 | 
						|
    "ubuntu-20"    | \
 | 
						|
    "linuxmint-20" | \
 | 
						|
    "raspbian-10")
 | 
						|
       ;;
 | 
						|
    *) 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
 | 
						|
 | 
						|
if [ -f /proc/device-tree/model ]; then
 | 
						|
    RPI_VERSION=`cat /proc/device-tree/model`
 | 
						|
else
 | 
						|
    RPI_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_redhat 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",
 | 
						|
"rpi_model"               : "$RPI_VERSION",
 | 
						|
"ansible_version"         : "$ANSIBLE_VERSION",
 | 
						|
"os"                      : "$OS",
 | 
						|
"os_ver"                  : "$OS_VER"}
 | 
						|
 | 
						|
EOF
 |