From a2d3fc98b8eb83a550fefce9acd2884ebac3eee8 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Mon, 10 Jul 2017 17:31:58 +0300 Subject: Initial structure for shared msys2 and wsl installation --- util/wsl_install.sh | 130 +--------------------------------------------------- 1 file changed, 2 insertions(+), 128 deletions(-) (limited to 'util/wsl_install.sh') diff --git a/util/wsl_install.sh b/util/wsl_install.sh index 8999da8a4..578fcb88c 100644 --- a/util/wsl_install.sh +++ b/util/wsl_install.sh @@ -1,44 +1,7 @@ #!/bin/bash -download_dir=wsl_downloaded - -function install_utils { - rm -f -r $download_dir - mkdir $download_dir - - pushd $download_dir - - echo "Installing dfu-programmer" - wget 'http://downloads.sourceforge.net/project/dfu-programmer/dfu-programmer/0.7.2/dfu-programmer-win-0.7.2.zip' - unzip -d dfu-programmer dfu-programmer-win-0.7.2.zip - - echo "Installing dfu-util" - wget 'http://dfu-util.sourceforge.net/releases/dfu-util-0.9-win64.zip' - unzip dfu-util-0.9-win64.zip - - echo "Installing teensy_loader_cli" - wget 'https://www.pjrc.com/teensy/teensy_loader_cli_windows.zip' - unzip teensy_loader_cli_windows.zip - - echo "Installing Atmel Flip" - wget 'http://www.atmel.com/images/Flip%20Installer%20-%203.4.7.112.exe' - mv Flip\ Installer\ \-\ 3.4.7.112.exe FlipInstaller.exe - - echo "Downloading the QMK driver installer" - wget -qO- https://api.github.com/repos/qmk/qmk_driver_installer/releases | grep browser_download_url | head -n 1 | cut -d '"' -f 4 | wget -i - - - rm -f *.zip - - popd > /dev/null -} - -function install_drivers { - pushd $download_dir - cmd.exe /C qmk_driver_installer.exe $1 $2 ../drivers.txt - popd > /dev/null -} - dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P) +pushd "$dir"; if [[ $dir != /mnt/* ]]; then @@ -48,7 +11,6 @@ then exit 1 fi -pushd "$dir" while true; do echo @@ -66,94 +28,6 @@ done echo "Installing dependencies needed for the installation (unzip, wget)" echo "This will ask for the sudo password" sudo apt-get install unzip wget - - -if [ ! -d "$download_dir" ]; then - install_utils -else - while true; do - echo - read -p "The utils seem to already be downloaded, do you want to re-download them and update to the newest version (Y/N) " res - case $res in - [Yy]* ) install_utils; break;; - [Nn]* ) break;; - * ) echo "Invalid answer";; - esac - done -fi - -while true; do - echo - read -p "Flip need to be installed if you want to use that for programming, do you want to install it now? (Y/N) " res - case $res in - [Yy]* ) cmd.exe /c $download_dir\\FlipInstaller.exe; break;; - [Nn]* ) break;; - * ) echo "Invalid answer";; - esac -done - - -while true; do - echo - echo "Which USB drivers do you want to install?" - echo "(A)all - All supported drivers will be installed" - echo "(C)onnected - Only drivers for connected keyboards (in bootloader/flashing mode) will be installed" - echo "(F)force - Like all, but will also override existing drivers for connected keyboards" - echo "(N)one - No drivers will be installed, flashing your keyboard will most likely not work" - read -p "(A/C/F/N)? " res - case $res in - [Aa]* ) install_drivers --all; break;; - [Cc]* ) install_drivers; break;; - [Ff]* ) install_drivers --all --force; break;; - [Nn]* ) break;; - * ) echo "Invalid answer";; - esac -done - -echo -echo "Creating a softlink to the utils directory as ~/qmk_utils." -echo "This is needed so that the the make system can find all utils it need." -read -p "Press any key to continue (ctrl-c to abort)" -ln -sfn "$dir" ~/qmk_utils - -if grep "^source ~/qmk_utils/activate_wsl.sh$" ~/.bashrc -then - echo - echo "The line source ~/qmk_utils/activate_wsl.sh is already added to your /.bashrc" - echo "Not adding it twice" -else - while true; do - echo - echo "Do you want to add 'source ~/qmk_utils/activate_wsl.sh' to the end of you .bashrc file?" - echo "Without this make won't find the needed utils, so if you don't want to do it automatically," - echo "then you have to do it manually." - read -p "(Y/N)? " res - case $res in - [Yy]* ) echo "source ~/qmk_utils/activate_wsl.sh" >> ~/.bashrc; break;; - [Nn]* ) break;; - * ) echo "Invalid answer";; - esac - done -fi - -while true; do - echo - echo "Do you want to add a symlink to the QMK repository in your home directory for convenience?" - echo "This will create a folder 'qmk_firmware' in your home directory." - echo "In the future you can use this folder instead of the full path on your windows file system" - read -p "(Y/N)? " res - case $res in - [Yy]* ) ln -sfn "$dir/.." ~/qmk_firmware; break;; - [Nn]* ) break;; - * ) echo "Invalid answer";; - esac -done - -echo -echo "******************************************************************************" -echo "Installation completed!" -echo "You need to open a new batch command prompt for all the utils to work properly" -echo "******************************************************************************" +source "$dir/win_shared_install.sh" popd > /dev/null - -- cgit v1.2.3 From 861087096bf4308b0fa4608ca66173e4eb6f5b76 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Mon, 10 Jul 2017 18:05:32 +0300 Subject: Add symlinks only on WSL --- util/msys2_install.sh | 8 +++++++- util/win_shared_install.sh | 44 -------------------------------------------- util/wsl_install.sh | 45 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 45 deletions(-) (limited to 'util/wsl_install.sh') diff --git a/util/msys2_install.sh b/util/msys2_install.sh index 945009e5e..ac21b3cad 100644 --- a/util/msys2_install.sh +++ b/util/msys2_install.sh @@ -1,4 +1,10 @@ #!/bin/bash dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P) -source "$dir/win_shared_install.sh" \ No newline at end of file +source "$dir/win_shared_install.sh" + +echo +echo "******************************************************************************" +echo "Installation completed!" +echo "You need to open a new batch command prompt for all the utils to work properly" +echo "******************************************************************************" \ No newline at end of file diff --git a/util/win_shared_install.sh b/util/win_shared_install.sh index 78346284a..c30e28796 100644 --- a/util/win_shared_install.sh +++ b/util/win_shared_install.sh @@ -89,50 +89,6 @@ while true; do esac done -echo -echo "Creating a softlink to the utils directory as ~/qmk_utils." -echo "This is needed so that the the make system can find all utils it need." -read -p "Press any key to continue (ctrl-c to abort)" -ln -sfn "$dir" ~/qmk_utils - -if grep "^source ~/qmk_utils/activate_wsl.sh$" ~/.bashrc -then - echo - echo "The line source ~/qmk_utils/activate_wsl.sh is already added to your /.bashrc" - echo "Not adding it twice" -else - while true; do - echo - echo "Do you want to add 'source ~/qmk_utils/activate_wsl.sh' to the end of you .bashrc file?" - echo "Without this make won't find the needed utils, so if you don't want to do it automatically," - echo "then you have to do it manually." - read -p "(Y/N)? " res - case $res in - [Yy]* ) echo "source ~/qmk_utils/activate_wsl.sh" >> ~/.bashrc; break;; - [Nn]* ) break;; - * ) echo "Invalid answer";; - esac - done -fi - -while true; do - echo - echo "Do you want to add a symlink to the QMK repository in your home directory for convenience?" - echo "This will create a folder 'qmk_firmware' in your home directory." - echo "In the future you can use this folder instead of the full path on your windows file system" - read -p "(Y/N)? " res - case $res in - [Yy]* ) ln -sfn "$dir/.." ~/qmk_firmware; break;; - [Nn]* ) break;; - * ) echo "Invalid answer";; - esac -done - -echo -echo "******************************************************************************" -echo "Installation completed!" -echo "You need to open a new batch command prompt for all the utils to work properly" -echo "******************************************************************************" popd > /dev/null diff --git a/util/wsl_install.sh b/util/wsl_install.sh index 578fcb88c..5da64b1d0 100644 --- a/util/wsl_install.sh +++ b/util/wsl_install.sh @@ -30,4 +30,49 @@ echo "This will ask for the sudo password" sudo apt-get install unzip wget source "$dir/win_shared_install.sh" +echo +echo "Creating a softlink to the utils directory as ~/qmk_utils." +echo "This is needed so that the the make system can find all utils it need." +read -p "Press any key to continue (ctrl-c to abort)" +ln -sfn "$dir" ~/qmk_utils + +if grep "^source ~/qmk_utils/activate_wsl.sh$" ~/.bashrc +then + echo + echo "The line source ~/qmk_utils/activate_wsl.sh is already added to your /.bashrc" + echo "Not adding it twice" +else + while true; do + echo + echo "Do you want to add 'source ~/qmk_utils/activate_wsl.sh' to the end of you .bashrc file?" + echo "Without this make won't find the needed utils, so if you don't want to do it automatically," + echo "then you have to do it manually." + read -p "(Y/N)? " res + case $res in + [Yy]* ) echo "source ~/qmk_utils/activate_wsl.sh" >> ~/.bashrc; break;; + [Nn]* ) break;; + * ) echo "Invalid answer";; + esac + done +fi + +while true; do + echo + echo "Do you want to add a symlink to the QMK repository in your home directory for convenience?" + echo "This will create a folder 'qmk_firmware' in your home directory." + echo "In the future you can use this folder instead of the full path on your windows file system" + read -p "(Y/N)? " res + case $res in + [Yy]* ) ln -sfn "$dir/.." ~/qmk_firmware; break;; + [Nn]* ) break;; + * ) echo "Invalid answer";; + esac +done + +echo +echo "******************************************************************************" +echo "Installation completed!" +echo "You need to open a new batch command prompt for all the utils to work properly" +echo "******************************************************************************" + popd > /dev/null -- cgit v1.2.3 From d47db637edb4215f2313d59b6646e5e3dbb97e7c Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Tue, 11 Jul 2017 16:11:37 +0300 Subject: Use home directory for download on msys2 --- util/msys2_install.sh | 4 +++- util/win_shared_install.sh | 23 +++++++++-------------- util/wsl_install.sh | 3 +++ 3 files changed, 15 insertions(+), 15 deletions(-) (limited to 'util/wsl_install.sh') diff --git a/util/msys2_install.sh b/util/msys2_install.sh index b59eac0ca..aed6c42bd 100644 --- a/util/msys2_install.sh +++ b/util/msys2_install.sh @@ -3,7 +3,9 @@ dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P) echo "Installing dependencies needed for the installation (quazip)" -pacman -S msys/unzip +pacman --needed -S msys/unzip + +export download_dir=~/qmk_utils source "$dir/win_shared_install.sh" diff --git a/util/win_shared_install.sh b/util/win_shared_install.sh index c30e28796..e02511cf3 100644 --- a/util/win_shared_install.sh +++ b/util/win_shared_install.sh @@ -1,13 +1,10 @@ #!/bin/bash -download_dir=win_downloaded -wsl_download_dir=wsl_downloaded - function install_utils { - rm -f -r $download_dir - mkdir $download_dir + rm -f -r "$download_dir" + mkdir "$download_dir" - pushd $download_dir + pushd "$download_dir" echo "Installing dfu-programmer" wget 'http://downloads.sourceforge.net/project/dfu-programmer/dfu-programmer/0.7.2/dfu-programmer-win-0.7.2.zip' @@ -34,19 +31,15 @@ function install_utils { } function install_drivers { - pushd $download_dir + pushd "$download_dir" + cp -f "$dir/drivers.txt" . echo - cmd.exe /c "qmk_driver_installer.exe $1 $2 ..\\drivers.txt" + cmd.exe /c "qmk_driver_installer.exe $1 $2 drivers.txt" popd > /dev/null } pushd "$dir" -if [ -d "$wsl_download_dir" ]; then - echo "Renaming existing wsl_download_dir to win_download" - mv -f "$wsl_download_dir" "$download_dir" -fi - if [ ! -d "$download_dir" ]; then install_utils else @@ -61,15 +54,17 @@ else done fi +pushd "$download_dir" while true; do echo read -p "Flip need to be installed if you want to use that for programming, do you want to install it now? (Y/N) " res case $res in - [Yy]* ) cmd.exe /c $download_dir\\FlipInstaller.exe; break;; + [Yy]* ) cmd.exe /c FlipInstaller.exe; break;; [Nn]* ) break;; * ) echo "Invalid answer";; esac done +popd while true; do diff --git a/util/wsl_install.sh b/util/wsl_install.sh index 5da64b1d0..b593c6e77 100644 --- a/util/wsl_install.sh +++ b/util/wsl_install.sh @@ -28,6 +28,9 @@ done echo "Installing dependencies needed for the installation (unzip, wget)" echo "This will ask for the sudo password" sudo apt-get install unzip wget + +download_dir=wsl_downloaded + source "$dir/win_shared_install.sh" echo -- cgit v1.2.3 From b85ce4ce225e6e4f42d0cd8a8d9615260960edc6 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Tue, 11 Jul 2017 16:26:29 +0300 Subject: Fix overlong lines, and a few spelling errors --- util/win_shared_install.sh | 16 +++++++++++----- util/wsl_install.sh | 13 +++++++------ 2 files changed, 18 insertions(+), 11 deletions(-) (limited to 'util/wsl_install.sh') diff --git a/util/win_shared_install.sh b/util/win_shared_install.sh index e02511cf3..cfae57845 100644 --- a/util/win_shared_install.sh +++ b/util/win_shared_install.sh @@ -45,7 +45,8 @@ if [ ! -d "$download_dir" ]; then else while true; do echo - read -p "The utils seem to already be downloaded, do you want to re-download them and update to the newest version (Y/N) " res + echo "The utils seem to already be downloaded." + read -p "Do you want to re-download them and update to the newest version (Y/N) " res case $res in [Yy]* ) install_utils; break;; [Nn]* ) break;; @@ -57,7 +58,9 @@ fi pushd "$download_dir" while true; do echo - read -p "Flip need to be installed if you want to use that for programming, do you want to install it now? (Y/N) " res + echo "Flip need to be installed if you want to use that for programming." + echo "Please install it to the default location!" + read -p "Do you want to install it now? (Y/N) " res case $res in [Yy]* ) cmd.exe /c FlipInstaller.exe; break;; [Nn]* ) break;; @@ -71,9 +74,12 @@ while true; do echo echo "Which USB drivers do you want to install?" echo "(A)all - All supported drivers will be installed" - echo "(C)onnected - Only drivers for connected keyboards (in bootloader/flashing mode) will be installed" - echo "(F)force - Like all, but will also override existing drivers for connected keyboards" - echo "(N)one - No drivers will be installed, flashing your keyboard will most likely not work" + echo "(C)onnected - Only drivers for connected keyboards (in bootloader/flashing mode)" + echo " will be installed" + echo "(F)force - Like all, but will also override existing drivers for connected" + echo " keyboards" + echo "(N)one - No drivers will be installed," + echo " flashing your keyboard will most likely not work" read -p "(A/C/F/N)? " res case $res in [Aa]* ) install_drivers --all; break;; diff --git a/util/wsl_install.sh b/util/wsl_install.sh index b593c6e77..89552b991 100644 --- a/util/wsl_install.sh +++ b/util/wsl_install.sh @@ -47,9 +47,9 @@ then else while true; do echo - echo "Do you want to add 'source ~/qmk_utils/activate_wsl.sh' to the end of you .bashrc file?" - echo "Without this make won't find the needed utils, so if you don't want to do it automatically," - echo "then you have to do it manually." + echo "Do you want to add 'source ~/qmk_utils/activate_wsl.sh' to the end of your" + echo ".bashrc file? Without this make won't find the needed utils, so if you don't" + echo "want to do it automatically, then you have to do it manually later." read -p "(Y/N)? " res case $res in [Yy]* ) echo "source ~/qmk_utils/activate_wsl.sh" >> ~/.bashrc; break;; @@ -61,9 +61,10 @@ fi while true; do echo - echo "Do you want to add a symlink to the QMK repository in your home directory for convenience?" - echo "This will create a folder 'qmk_firmware' in your home directory." - echo "In the future you can use this folder instead of the full path on your windows file system" + echo "Do you want to add a symlink to the QMK repository in your home directory for" + echo "convenience? This will create a folder 'qmk_firmware' in your home directory." + echo "In the future you can use this folder instead of the full path on your Windows" + echo "file system." read -p "(Y/N)? " res case $res in [Yy]* ) ln -sfn "$dir/.." ~/qmk_firmware; break;; -- cgit v1.2.3 From 0d9e7f635e8f05356101d72725342fc272b7b71b Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Tue, 11 Jul 2017 17:32:58 +0300 Subject: Extract flip --- util/msys2_install.sh | 12 ++++++++++++ util/win_shared_install.sh | 15 --------------- util/wsl_install.sh | 15 +++++++++++++++ 3 files changed, 27 insertions(+), 15 deletions(-) (limited to 'util/wsl_install.sh') diff --git a/util/msys2_install.sh b/util/msys2_install.sh index 0bb75f94c..866cc25a7 100644 --- a/util/msys2_install.sh +++ b/util/msys2_install.sh @@ -4,6 +4,7 @@ dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P) download_dir=~/qmk_utils avrtools=avr8-gnu-toolchain armtools=gcc-arm-none-eabi +installflip=false echo "Installing dependencies needed for the installation (quazip)" pacman --needed -S msys/unzip msys/p7zip @@ -23,8 +24,19 @@ function install_arm { rm gcc-arm-none-eabi.zip } +function extract_flip { + rm -f -r flip + 7z -oflip x FlipInstaller.exe +} + pushd "$download_dir" +if [ -f "FlipInstaller.exe" ]; then + echo + echo "Extracting flip" + extract_flip +fi + if [ ! -d "$avrtools" ]; then while true; do echo diff --git a/util/win_shared_install.sh b/util/win_shared_install.sh index cfae57845..8d1949ae9 100644 --- a/util/win_shared_install.sh +++ b/util/win_shared_install.sh @@ -55,21 +55,6 @@ else done fi -pushd "$download_dir" -while true; do - echo - echo "Flip need to be installed if you want to use that for programming." - echo "Please install it to the default location!" - read -p "Do you want to install it now? (Y/N) " res - case $res in - [Yy]* ) cmd.exe /c FlipInstaller.exe; break;; - [Nn]* ) break;; - * ) echo "Invalid answer";; - esac -done -popd - - while true; do echo echo "Which USB drivers do you want to install?" diff --git a/util/wsl_install.sh b/util/wsl_install.sh index 89552b991..157480353 100644 --- a/util/wsl_install.sh +++ b/util/wsl_install.sh @@ -33,6 +33,21 @@ download_dir=wsl_downloaded source "$dir/win_shared_install.sh" +pushd "$download_dir" +while true; do + echo + echo "Flip need to be installed if you want to use that for programming." + echo "Please install it to the default location!" + read -p "Do you want to install it now? (Y/N) " res + case $res in + [Yy]* ) cmd.exe /c FlipInstaller.exe; break;; + [Nn]* ) break;; + * ) echo "Invalid answer";; + esac +done +popd + + echo echo "Creating a softlink to the utils directory as ~/qmk_utils." echo "This is needed so that the the make system can find all utils it need." -- cgit v1.2.3