]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - util/linux_install.sh
Merge branch 'master' of https://github.com/qmk/qmk_firmware
[qmk_firmware.git] / util / linux_install.sh
index 8dc28be6efa5fc974f297aaa74ca4d67c6366f17..d6e6b86cdc4f746cedb4b402bef0186b5f509ab8 100755 (executable)
@@ -4,6 +4,8 @@
 
 GENTOO_WARNING="This script will make a USE change in order to ensure that that QMK works on your system. All changes will be sent to the the file /etc/portage/package.use/qmk_firmware -- please review it, and read Portage's output carefully before installing any packages on your system. You will also need to ensure that your kernel is compiled with support for the keyboard chip that you are using (e.g. enable Arduino for the Pro Micro). Further information can be found on the Gentoo wiki."
 
+SLACKWARE_WARNING="You will need the following packages from slackbuilds.org:\n\tarm-binutils\n\tarm-gcc\n\tavr-binutils\n\tavr-gcc\n\tavr-libc\n\tavrdude\n\tdfu-programmer\n\tdfu-util\n\tnewlib\nThese packages will be installed with sudo and sboinstall, so ensure that your user is added to sudoers and that sboinstall is configured."
+
 if grep ID /etc/os-release | grep -qE "fedora"; then
        sudo dnf install \
                arm-none-eabi-binutils-cs \
@@ -30,7 +32,7 @@ if grep ID /etc/os-release | grep -qE "fedora"; then
 elif grep ID /etc/os-release | grep -qE 'debian|ubuntu'; then
        DEBIAN_FRONTEND=noninteractive
        DEBCONF_NONINTERACTIVE_SEEN=true
-        export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN
+       export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN
        sudo apt-get update
        sudo apt-get install \
                build-essential \
@@ -59,29 +61,27 @@ elif grep ID /etc/os-release | grep -q 'arch\|manjaro'; then
                avr-binutils \
                avr-libc \
                avr-gcc \
-    base-devel \
+               base-devel \
                dfu-util \
-               diff-utils \
+               diffutils \
                gcc \
                git \
                unzip \
                wget \
                zip
        git clone https://aur.archlinux.org/dfu-programmer.git /tmp/dfu-programmer
-       cd /tmp/dfu-programmer
+       cd /tmp/dfu-programmer || exit 1
        makepkg -sic
        rm -rf /tmp/dfu-programmer/
 
 elif grep ID /etc/os-release | grep -q gentoo; then
-       echo GENTOO_WARNING | fmt
-       echo -n "Proceed (y/N)? "
-       old_stty_cfg=$(stty -g)
-       stty raw -echo
-       answer=$( while ! head -c 1 | grep -i '[ny]' ;do true ;done )
-       stty $old_stty_cfg
-       if echo "$answer" | grep -iq "^y" ;then
+       echo "$GENTOO_WARNING" | fmt
+       printf "\nProceed (y/N)? "
+       read -r answer
+       if echo "$answer" | grep -iq "^y"; then
                sudo touch /etc/portage/package.use/qmkfirmware
-               echo "sys-devel/gcc multilib" | sudo tee --append /etc/portage/package.use/qmkfirmware > /dev/null
+               # tee is used here since sudo doesn't apply to >>
+               echo "sys-devel/gcc multilib" | sudo tee --append /etc/portage/package.use/qmkfirmware >/dev/null
                sudo emerge -auN \
                        app-arch/unzip \
                        app-arch/zip \
@@ -110,12 +110,15 @@ elif grep ID /etc/os-release | grep -q sabayon; then
 
 elif grep ID /etc/os-release | grep -qE "opensuse|tumbleweed"; then
        CROSS_AVR_GCC=cross-avr-gcc8
+       CROSS_ARM_GCC=cross-arm-none-gcc8
        if grep ID /etc/os-release | grep -q "15.0"; then
                CROSS_AVR_GCC=cross-avr-gcc7
+               CROSS_ARM_GCC=cross-arm-none-gcc7
        fi
        sudo zypper install \
                avr-libc \
                $CROSS_AVR_GCC \
+               $CROSS_ARM_GCC \
                cross-avr-binutils \
                cross-arm-none-newlib-devel \
                cross-arm-binutils cross-arm-none-newlib-devel \
@@ -126,6 +129,26 @@ elif grep ID /etc/os-release | grep -qE "opensuse|tumbleweed"; then
                wget \
                zip
 
+elif grep ID /etc/os-release | grep -q slackware; then
+       printf "$SLACKWARE_WARNING\n"
+       printf "\nProceed (y/N)? "
+       read -r answer
+       if echo "$answer" | grep -iq "^y" ;then
+               sudo sboinstall \
+                       avr-binutils \
+                       avr-gcc \
+                       avr-libc \
+                       avrdude \
+                       dfu-programmer \
+                       dfu-util \
+                       arm-binutils \
+                       arm-gcc \
+                       newlib
+               echo "Done!"
+       else
+               echo "Quitting..."
+       fi
+
 else
        echo "Sorry, we don't recognize your OS. Help us by contributing support!"
        echo