summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/2-setup-environment-win.bat4
-rw-r--r--util/activate_msys2.sh16
-rwxr-xr-xutil/install_dependencies.sh4
-rw-r--r--util/msys2_install.sh117
-rw-r--r--util/travis_compiled_push.sh34
-rw-r--r--util/win_shared_install.sh80
-rw-r--r--util/wsl_install.sh94
7 files changed, 253 insertions, 96 deletions
diff --git a/util/2-setup-environment-win.bat b/util/2-setup-environment-win.bat
index 3e54cc776..22a2e17f7 100644
--- a/util/2-setup-environment-win.bat
+++ b/util/2-setup-environment-win.bat
@@ -34,14 +34,14 @@ ECHO ------------------------------------------
ECHO Installing dfu-programmer.
ECHO ------------------------------------------
ECHO.
-wget 'http://downloads.sourceforge.net/project/dfu-programmer/dfu-programmer/0.7.2/dfu-programmer-win-0.7.2.zip' >> %STARTINGDIR%\environment-setup.log
+wget --no-check-certificate 'http://downloads.sourceforge.net/project/dfu-programmer/dfu-programmer/0.7.2/dfu-programmer-win-0.7.2.zip' >> %STARTINGDIR%\environment-setup.log
unzip -o dfu-programmer-win-0.7.2.zip >> %STARTINGDIR%\environment-setup.log
COPY dfu-programmer.exe .. >> %STARTINGDIR%\environment-setup.log
ECHO ------------------------------------------
ECHO Downloading driver
ECHO ------------------------------------------
-wget http://downloads.sourceforge.net/project/libusb-win32/libusb-win32-releases/1.2.6.0/libusb-win32-bin-1.2.6.0.zip >> %STARTINGDIR%\environment-setup.log
+wget --no-check-certificate http://downloads.sourceforge.net/project/libusb-win32/libusb-win32-releases/1.2.6.0/libusb-win32-bin-1.2.6.0.zip >> %STARTINGDIR%\environment-setup.log
unzip -o libusb-win32-bin-1.2.6.0.zip >> %STARTINGDIR%\environment-setup.log
COPY libusb-win32-bin-1.2.6.0\bin\x86\libusb0_x86.dll ../libusb0.dll >> %STARTINGDIR%\environment-setup.log
diff --git a/util/activate_msys2.sh b/util/activate_msys2.sh
new file mode 100644
index 000000000..bb0485302
--- /dev/null
+++ b/util/activate_msys2.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+function export_variables {
+ local util_dir=~/qmk_utils
+ export PATH=$PATH:$util_dir/dfu-programmer
+ export PATH=$PATH:$util_dir/dfu-util-0.9-win64
+ export PATH=$PATH:$util_dir/flip/bin
+ export PATH=$PATH:$util_dir/avr8-gnu-toolchain/bin
+ export PATH=$PATH:$util_dir/gcc-arm-none-eabi/bin
+}
+
+export_variables
+
+
+
+
diff --git a/util/install_dependencies.sh b/util/install_dependencies.sh
index 1b73a8b3b..227c86f87 100755
--- a/util/install_dependencies.sh
+++ b/util/install_dependencies.sh
@@ -111,4 +111,8 @@ elif [[ -n "$(type -P pkg)" ]]; then
arm-none-eabi-binutils \
arm-none-eabi-newlib \
diffutils
+elif [[ -n "$(type -P emerge)" ]]; then
+ echo 'Please check that your gcc is built with the multilib use flag enabled.'
+ emerge -vq sys-devel/crossdev
+ USE="-openmp -hardened -sanitize -vtv" crossdev -s4 --stable --g =4.9.4 --portage --verbose --target avr
fi
diff --git a/util/msys2_install.sh b/util/msys2_install.sh
new file mode 100644
index 000000000..de03b89ac
--- /dev/null
+++ b/util/msys2_install.sh
@@ -0,0 +1,117 @@
+#!/bin/bash
+
+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 base-devel msys/git mingw-w64-x86_64-toolchain
+
+source "$dir/win_shared_install.sh"
+
+function install_avr {
+ rm -f -r "$avrtools"
+ wget "http://www.atmel.com/images/avr8-gnu-toolchain-installer-3.5.4.91-win32.any.x86.exe"
+ 7z x avr8-gnu-toolchain-installer-3.5.4.91-win32.any.x86.exe
+ rm avr8-gnu-toolchain-installer-3.5.4.91-win32.any.x86.exe
+}
+
+function install_arm {
+ wget -O gcc-arm-none-eabi.zip "https://developer.arm.com/-/media/Files/downloads/gnu-rm/6-2017q2/gcc-arm-none-eabi-6-2017-q2-update-win32.zip?product=GNU%20ARM%20Embedded%20Toolchain,ZIP,,Windows,6-2017-q2-update"
+ unzip -d gcc-arm-none-eabi gcc-arm-none-eabi.zip
+ 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
+ echo "The AVR toolchain is not installed."
+ echo "This is needed for building AVR based keboards."
+ read -p "Do you want to install it? (Y/N) " res
+ case $res in
+ [Yy]* ) install_avr; break;;
+ [Nn]* ) break;;
+ * ) echo "Invalid answer";;
+ esac
+ done
+else
+ while true; do
+ echo
+ echo "The AVR toolchain is already installed"
+ read -p "Do you want to reinstall? (Y/N) " res
+ case $res in
+ [Yy]* ) install_avr; break;;
+ [Nn]* ) break;;
+ * ) echo "Invalid answer";;
+ esac
+ done
+fi
+
+if [ ! -d "$armtools" ]; then
+ while true; do
+ echo
+ echo "The ARM toolchain is not installed."
+ echo "This is needed for building ARM based keboards."
+ read -p "Do you want to install it? (Y/N) " res
+ case $res in
+ [Yy]* ) install_arm; break;;
+ [Nn]* ) break;;
+ * ) echo "Invalid answer";;
+ esac
+ done
+else
+ while true; do
+ echo
+ echo "The ARM toolchain is already installed"
+ read -p "Do you want to reinstall? (Y/N) " res
+ case $res in
+ [Yy]* ) install_arm; break;;
+ [Nn]* ) break;;
+ * ) echo "Invalid answer";;
+ esac
+ done
+fi
+popd
+
+cp -f "$dir/activate_msys2.sh" "$download_dir/"
+
+if grep "^source ~/qmk_utils/activate_msys2.sh$" ~/.bashrc
+then
+ echo
+ echo "The line source ~/qmk_utils/activate_msys2.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_msys2.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_msys2.sh" >> ~/.bashrc; break;;
+ [Nn]* ) break;;
+ * ) echo "Invalid answer";;
+ esac
+ done
+fi
+
+echo
+echo "******************************************************************************"
+echo "Installation completed!"
+echo "Please close this Window and restart MSYS2 MinGW"
+echo "******************************************************************************" \ No newline at end of file
diff --git a/util/travis_compiled_push.sh b/util/travis_compiled_push.sh
index 4936ca0ba..af9fc51d9 100644
--- a/util/travis_compiled_push.sh
+++ b/util/travis_compiled_push.sh
@@ -13,10 +13,16 @@ openssl aes-256-cbc -K $encrypted_b0ee987fd0fc_key -iv $encrypted_b0ee987fd0fc_i
tar xvf secrets.tar
chmod 600 id_rsa_qmk_firmware
-chmod 600 qmk.fm
+chmod 600 id_rsa_qmk.fm
eval `ssh-agent -s`
ssh-add id_rsa_qmk_firmware
+# convert to unix line-endings
+git checkout master
+git diff --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | xargs -0 dos2unix
+git diff --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | xargs -0 git add
+git commit -m "convert to unix line-endings [skip ci]" && git push git@github.com:qmk/qmk_firmware.git master
+
increment_version ()
{
declare -a part=( ${1//\./ } )
@@ -42,24 +48,20 @@ fi
if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
- make ergodox-ez AUTOGEN=true
-
cd ..
git clone git@github.com:qmk/qmk.fm.git
cd qmk.fm
- mv ../qmk_firmware/qmk.fm qmk.fm
- ssh-add qmk.fm
- #git submodule update --init --recursive
- #rm -rf keyboard
- #rm -rf keyboards
- #yes | cp -rf ../qmk_firmware/keyboards .
- #mkdir keyboards/ergodox_ez/
- #cp ../qmk_firmware/util/ergodox_ez.html keyboards/ergodox_ez/index.html
- #cp ../qmk_firmware/readme.md qmk_readme.md
- #./generate.sh
- rm -f _compiled/*.hex
- for file in ../qmk_firmware/keyboards/*/keymaps/*/*.hex; do mv -v "$file" "_compiled/${file##*/}"; done
- for file in ../qmk_firmware/keyboards/*/*/keymaps/*/*.hex; do mv -v "$file" "_compiled/${file##*/}"; done
+ mv ../qmk_firmware/id_rsa_qmk.fm id_rsa_qmk.fm
+ ssh-add -D
+ eval `ssh-agent -s`
+ ssh-add id_rsa_qmk.fm
+
+ # not sure this is needed now
+ # rm -f compiled/*.hex
+
+ # ignore errors here
+ for file in ../qmk_firmware/keyboards/*/keymaps/*/*.hex; do mv -v "$file" "compiled/${file##*/}" || true; done
+ for file in ../qmk_firmware/keyboards/*/*/keymaps/*/*.hex; do mv -v "$file" "compiled/${file##*/}" || true; done
git add -A
git commit -m "generated from qmk/qmk_firmware@${rev}"
diff --git a/util/win_shared_install.sh b/util/win_shared_install.sh
new file mode 100644
index 000000000..8d1949ae9
--- /dev/null
+++ b/util/win_shared_install.sh
@@ -0,0 +1,80 @@
+#!/bin/bash
+
+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"
+ cp -f "$dir/drivers.txt" .
+ echo
+ cmd.exe /c "qmk_driver_installer.exe $1 $2 drivers.txt"
+ popd > /dev/null
+}
+
+pushd "$dir"
+
+if [ ! -d "$download_dir" ]; then
+ install_utils
+else
+ while true; do
+ echo
+ 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;;
+ * ) echo "Invalid answer";;
+ esac
+ done
+fi
+
+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)"
+ 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;;
+ [Cc]* ) install_drivers; break;;
+ [Ff]* ) install_drivers --all --force; break;;
+ [Nn]* ) break;;
+ * ) echo "Invalid answer";;
+ esac
+done
+
+
+popd > /dev/null
+
diff --git a/util/wsl_install.sh b/util/wsl_install.sh
index 8999da8a4..157480353 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
@@ -67,49 +29,25 @@ 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
-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
+source "$dir/win_shared_install.sh"
+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 $download_dir\\FlipInstaller.exe; break;;
+ [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?"
- 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."
@@ -124,9 +62,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;;
@@ -138,9 +76,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;;
@@ -156,4 +95,3 @@ echo "You need to open a new batch command prompt for all the utils to work prop
echo "******************************************************************************"
popd > /dev/null
-