]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - util/linux_install.sh
Fix linux_install.sh script for OpenSuse v 15.1 (#6251)
[qmk_firmware.git] / util / linux_install.sh
index 0e8296c0d22bbb7002d496d66149e2876cba5bba..a1ee792052e44e66f1e1feafaec2c503fddc4e79 100755 (executable)
@@ -6,6 +6,8 @@ GENTOO_WARNING="This script will make a USE change in order to ensure that that
 
 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."
 
+SOLUS_INFO="Your tools are now installed. To start using them, open new terminal or source these scripts:\n\t/usr/share/defaults/etc/profile.d/50-arm-toolchain-path.sh\n\t/usr/share/defaults/etc/profile.d/50-avr-toolchain-path.sh"
+
 if grep ID /etc/os-release | grep -qE "fedora"; then
        sudo dnf install \
                arm-none-eabi-binutils-cs \
@@ -25,6 +27,7 @@ if grep ID /etc/os-release | grep -qE "fedora"; then
                kernel-headers \
                make \
                perl \
+               python3 \
                unzip \
                wget \
                zip
@@ -32,9 +35,9 @@ 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 \
+       sudo apt-get -yq install \
                build-essential \
                avr-libc \
                binutils-arm-none-eabi \
@@ -47,48 +50,49 @@ elif grep ID /etc/os-release | grep -qE 'debian|ubuntu'; then
                gcc-avr \
                git \
                libnewlib-arm-none-eabi \
+               python3 \
                unzip \
                wget \
                zip
 
 elif grep ID /etc/os-release | grep -q 'arch\|manjaro'; then
-       # install avr-gcc 8.1 until 8.3 is available. See #3657 for details of the bug.
-       sudo pacman -U https://archive.archlinux.org/packages/a/avr-gcc/avr-gcc-8.1.0-1-x86_64.pkg.tar.xz
+       sudo pacman -U https://archive.archlinux.org/packages/a/avr-gcc/avr-gcc-8.3.0-1-x86_64.pkg.tar.xz
        sudo pacman -S \
                arm-none-eabi-binutils \
                arm-none-eabi-gcc \
                arm-none-eabi-newlib \
+               avrdude \
                avr-binutils \
                avr-libc \
                avr-gcc \
-    base-devel \
+               base-devel \
                dfu-util \
-               diff-utils \
+               diffutils \
                gcc \
                git \
+               python \
                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 \
                        app-mobilephone/dfu-util \
                        dev-embedded/avrdude \
+                       dev-lang/python:3.5 \
                        net-misc/wget \
                        sys-devel/gcc \
                        sys-devel/crossdev
@@ -104,6 +108,7 @@ elif grep ID /etc/os-release | grep -q sabayon; then
                app-arch/zip \
                app-mobilephone/dfu-util \
                dev-embedded/avrdude \
+               dev-lang/python \
                net-misc/wget \
                sys-devel/gcc \
                sys-devel/crossdev
@@ -113,7 +118,7 @@ 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
+       if grep ID /etc/os-release | grep -q "15."; then
                CROSS_AVR_GCC=cross-avr-gcc7
                CROSS_ARM_GCC=cross-arm-none-gcc7
        fi
@@ -127,6 +132,7 @@ elif grep ID /etc/os-release | grep -qE "opensuse|tumbleweed"; then
                dfu-tool \
                dfu-programmer \
                gcc \
+               python3 \
                unzip \
                wget \
                zip
@@ -145,12 +151,33 @@ elif grep ID /etc/os-release | grep -q slackware; then
                        dfu-util \
                        arm-binutils \
                        arm-gcc \
-                       newlib
+                       newlib \
+                       python3
                echo "Done!"
        else
                echo "Quitting..."
        fi
 
+elif grep ID /etc/os-release | grep -q solus; then
+       sudo eopkg ur
+       sudo eopkg it \
+               -c system.devel \
+               arm-none-eabi-gcc \
+               arm-none-eabi-binutils \
+               arm-none-eabi-newlib \
+               avr-libc \
+               avr-binutils \
+               avr-gcc \
+               avrdude \
+               dfu-util \
+               dfu-programmer \
+               python3 \
+               git \
+               wget \
+               zip \
+               unzip
+       printf "\n$SOLUS_INFO\n"
+
 else
        echo "Sorry, we don't recognize your OS. Help us by contributing support!"
        echo