Enhance-Add OS-CPU bit checking

encourage users to submit the output of lsb_release as an issue when
that test fails, this should allow contributors not in irc at the time
of the problem to see the information
Add CPU and OS bit checking which can be disabled with --no-cpu-check
This commit is contained in:
mafoo 2016-06-09 10:43:14 +01:00
parent c40601a30a
commit 49e28c36b4
2 changed files with 42 additions and 4 deletions

40
debian/install.sh vendored
View File

@ -1,15 +1,18 @@
#!/bin/sh
#Process command line options
OPTS=`getopt -n 'install.sh' -o h -l help,use-switch-source,use-switch-package-all,use-switch-master,use-switch-package-unofficial-arm -- "$@"`
eval set -- "$OPTS"
ARGS=$(getopt -n 'install.sh' -o h -l help,use-switch-source,use-switch-package-all,use-switch-master,use-switch-package-unofficial-arm,no-cpu-check -- "$@")
if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; exit 1 ; fi
if [ $? -ne 0 ]; then
echo "Failed parsing options."
exit 1
fi
export USE_SWITCH_SOURCE=false
export USE_SWITCH_PACKAGE_ALL=false
export USE_SWITCH_PACKAGE_UNOFFICIAL_ARM=false
export USE_SWITCH_MASTER=false
export CPU_CHECK=true
HELP=false
while true; do
@ -18,6 +21,7 @@ while true; do
--use-switch-package-all ) export USE_SWITCH_PACKAGE_ALL=true; shift ;;
--use-switch-package-unofficial-arm ) export USE_SWITCH_PACKAGE_UNOFFICIAL_ARM=true; shift ;;
--use-switch-master ) export USE_SWITCH_MASTER=true; shift ;;
--no-cpu-check ) export CPU_CHECK=false; shift ;;
-h | --help ) HELP=true; shift ;;
-- ) shift; break ;;
* ) break ;;
@ -30,9 +34,39 @@ if [ $HELP = true ]; then
echo " --use-switch-package-all if using packages use the meta-all package"
echo " --use-switch-package-unofficial-arm if your system is arm and you are using packages, use the unofficial arm repo"
echo " --use-switch-master will use master branch/packages instead of (default:stable)"
echo " --no-cpu-check disable the cpu check (default:check)"
exit;
fi
if [ $CPU_CHECK = true ]; then
#check what the CPU is
OS_bits=$(uname -m)
OS_arch=$(uname -m)
CPU_bits='i686'
if [ $(grep -o -w 'lm' /proc/cpuinfo) = 'lm' ]; then
CPU_bits='x86_64'
fi
if [ $USE_SWITCH_SOURCE = false ]; then
if [ $OS_arch = 'armv7l' ]; then
if [ $USE_SWITCH_PACKAGE_UNOFFICIAL_ARM = false && OS_bits = 'i686' ]; then
echo "You are using a 32bit arm OS this is unsupported"
echo " please rerun with either --use-switch-package-unofficial-arm or --use-switch-source"
exit 3
fi
else
if [ $OS_bits = 'i686' ]; then
echo "You are using a 32bit OS this is unsupported"
if [ $CPU_bits = 'x86_64' ]; then
echo "Your CPU is 64bit you should consider reinstalling with a 64bit OS"
fi
echo " please rerun with --use-switch-source"
exit 3
fi
fi
fi
fi
# removes the cd img from the /etc/apt/sources.list file (not needed after base install)
sed -i '/cdrom:/d' /etc/apt/sources.list

View File

@ -1,4 +1,9 @@
#!/bin/sh
# Exit codes
# 1 general error
# 2 unsupported OS
# 3 unsupported CPU/OS bits
# check to confirm running as root.
if [ "$(id -u)" -ne "0" ]; then
echo "$(basename "$0") must be run as root";
@ -9,7 +14,6 @@ echo
#Os/Distro Check
os_check=$(lsb_release -is)
check_major_release=$(lsb_release -rs | cut -d. -f1)
lsb_release -c | grep -i jessie > /dev/null
os_unsupported () {
echo " Your Operating System appears to be: "