1
0
Fork 0

Refactor qmk_install.sh (#10681)

This commit is contained in:
Ryan 2020-11-27 01:37:54 +11:00 committed by GitHub
parent 3afe0ea9b9
commit c21d5a0973
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 360 additions and 369 deletions

View file

@ -1,27 +1,74 @@
#!/bin/sh
# Pick the correct install script based on the current OS
#!/bin/bash
util_dir=$(dirname "$0")
QMK_FIRMWARE_DIR=$(cd -P -- "$(dirname -- "$0")/.." && pwd -P)
QMK_FIRMWARE_UTIL_DIR=$QMK_FIRMWARE_DIR/util
case $(uname -a) in
*Darwin*)
exec "${util_dir}/macos_install.sh"
;;
*FreeBSD*)
exec "${util_dir}/freebsd_install.sh"
;;
*Linux*)
exec "${util_dir}/linux_install.sh"
;;
MINGW64_NT*)
exec "${util_dir}/msys2_install.sh"
;;
MSYS_NT*|MINGW32_NT*)
echo "Please open a MinGW 64-bit terminal window and re-run this script."
exit 1
;;
*)
echo "Environment not supported. Please see https://docs.qmk.fm for details on how to configure the QMK Firmware build tools manually."
exit 1
;;
*Darwin*)
. "$QMK_FIRMWARE_UTIL_DIR/install/macos.sh";;
*FreeBSD*)
. "$QMK_FIRMWARE_UTIL_DIR/install/freebsd.sh";;
*MINGW64_NT*)
. "$QMK_FIRMWARE_UTIL_DIR/install/msys2.sh";;
*MSYS_NT*|*MINGW32_NT*)
echo "Please open a MinGW64 terminal window and re-run this script."
exit 1;;
*Linux*)
. "$QMK_FIRMWARE_UTIL_DIR/install/linux_shared.sh"
case $(grep ID /etc/os-release) in
*arch*|*manjaro*)
. "$QMK_FIRMWARE_UTIL_DIR/install/arch.sh";;
*debian*|*ubuntu*)
. "$QMK_FIRMWARE_UTIL_DIR/install/debian.sh";;
*fedora*)
. "$QMK_FIRMWARE_UTIL_DIR/install/fedora.sh";;
*gentoo*)
. "$QMK_FIRMWARE_UTIL_DIR/install/gentoo.sh";;
*opensuse*|*tumbleweed*)
. "$QMK_FIRMWARE_UTIL_DIR/install/opensuse.sh";;
*sabayon*)
. "$QMK_FIRMWARE_UTIL_DIR/install/sabayon.sh";;
*slackware*)
. "$QMK_FIRMWARE_UTIL_DIR/install/slackware.sh";;
*solus*)
. "$QMK_FIRMWARE_UTIL_DIR/install/solus.sh";;
*void*)
. "$QMK_FIRMWARE_UTIL_DIR/install/void.sh";;
*)
echo "Sorry, we don't recognize your distribution. Help us by contributing support!"
echo
echo "https://docs.qmk.fm/#/contributing"
exit 1;;
esac
if uname -a | grep -qi microsoft; then
echo "********************************************************************************"
echo "* Detected Windows Subsystem for Linux. *"
echo "* Currently, WSL has no access to USB devices and so flashing from within the *"
echo "* WSL terminal will not work. *"
echo "* *"
echo "* Please install the QMK Toolbox instead: *"
echo "* https://github.com/qmk/qmk_toolbox/releases *"
echo "* Then, map your WSL filesystem as a network drive: *"
echo "* \\\\\\\\wsl$\\<distro> *"
echo "********************************************************************************"
echo
fi
;;
*)
echo "Sorry, we don't recognize your environment. Help us by contributing support!"
echo
echo "https://docs.qmk.fm/#/contributing"
exit 1;;
esac
if type _qmk_install_prepare &>/dev/null; then
_qmk_install_prepare || exit 1
fi
_qmk_install
if type _qmk_install_bootloadhid &>/dev/null; then
_qmk_install_bootloadhid
fi