aboutsummaryrefslogtreecommitdiffstats
path: root/util
AgeCommit message (Collapse)Author
2019-09-22Configuration system for CLI (#6708)Gravatar skullydazed
* Rework how bin/qmk handles subcommands * qmk config wip * Code to show all configs * Fully working `qmk config` command * Mark some CLI arguments so they don't pollute the config file * Fleshed out config support, nicer subcommand support * sync with installable cli * pyformat * Add a test for subcommand_modules * Documentation for the `qmk config` command * split config_token on space so qmk config is more predictable * Rework how subcommands are imported * Document `arg_only` * Document deleting from CLI * Document how multiple operations work * Add cli config to the doc index * Add tests for the cli commands * Make running the tests more reliable * Be more selective about building all default keymaps * Update new-keymap to fit the new subcommand style * Add documentation about writing CLI scripts * Document new-keyboard * Update docs/cli_configuration.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/cli_development.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/cli_development.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/cli_development.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Address yan's comments. * Apply suggestions from code review suggestions from @noahfrederick Co-Authored-By: Noah Frederick <code@noahfrederick.com> * Apply suggestions from code review Co-Authored-By: Noah Frederick <code@noahfrederick.com> * Remove pip3 from the test runner
2019-09-20Add support for Void Linux systems to the qmk_install.sh script (#5526)Gravatar Sorixelle
* Add support for Void Linux systems to the qmk_install.sh script * Fix typos + grammatical edits in comments * Sort distributions by alphabetical order in linux_install.sh * Revert previous commit and sort Void packages in alphabetical order * Fix permissions on `util/linux_install.sh`
2019-09-07Run the python tests inside dockerGravatar skullY
2019-09-07add missing apostrophesGravatar skullY
2019-09-07filter python from the list of things that trigger default buildsGravatar skullY
2019-09-07Add python tests to the travis checkGravatar skullY
2019-09-07Update docker_build.sh: indentation fix, error echo function (#6659)Gravatar Konstantin Đorđević
* Replace spaces with tab in docker_build.sh * Use errcho instead of echo >&2
2019-09-02Add `dfu-programmer` to `pacman -S` (#6619)Gravatar Cory Watson
* Add `dfu-programmer` to `pacman -S` (#6618) `dfu-programmer` now resides at `extra/dfu-programmer` and is no longer in the AUR * Add `--needed` option to `pacman -S` for efficiency * Fix * Update util/linux_install.sh Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-09-02Fix msys2 not installing any packages because it can't find clang (#6655)Gravatar fauxpark
2019-08-30Add new files to the list of files that are formatted. (#6296)Gravatar skullydazed
2019-08-30Enforce clang-format (#6293)Gravatar skullydazed
* Enforce clang-format on commit for core files * forgot about tests
2019-08-15Add an alternative method for keyboard discovery to speed up build (#6073)Gravatar Joel Challis
* Add an alternative method for keyboard discovery to speed up build * Chain MAKEFLAGS for docker_build.sh * Slight improvement to number of items sent to sort * Remove debug line * Fix line escape
2019-08-06Fix qmk_install.sh on Windows dropping to command prompt (#6488)Gravatar fauxpark
2019-07-16Configure Vagrant to use qmk_base_container (#6194)Gravatar Joel Challis
* Initial conversion of vagrant to use qmkfm/base_container * Fix vagrant when using docker provider * Workaround for VirtualBox VM restarts * Generalise Vagrant docs slightly and add FAQ
2019-07-15QMK CLI and JSON keymap support (#6176)Gravatar skullydazed
* Script to generate keymap.c from JSON file. * Support for keymap.json * Add a warning about the keymap.c getting overwritten. * Fix keymap generating * Install the python deps * Flesh out more of the python environment * Remove defunct json2keymap * Style everything with yapf * Polish up python support * Hide json keymap.c into the .build dir * Polish up qmk-compile-json * Make milc work with positional arguments * Fix a couple small things * Fix some errors and make the CLI more understandable * Make the qmk wrapper more robust * Add basic QMK Doctor * Clean up docstrings and flesh them out as needed * remove unused compile_firmware() function
2019-07-14Update docker util script and travis to use new base containerGravatar zvecr
2019-07-11Switch version incrementing to the command put together by @noroadsleft. (#6310)Gravatar skullydazed
* Switch version incrementing to the command put together by @noroadsleft. * Update util/travis_compiled_push.sh Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-07-10Fix typo in Gentoo docstring (#6303)Gravatar zjp
2019-07-08Add copyright year placeholders to new keyboard script (#6280)Gravatar fauxpark
* Add copyright year placeholders to new keyboard script * More copyright header tweaks
2019-07-05Fix linux_install.sh script for OpenSuse v 15.1 (#6251)Gravatar Kenny Hung
2019-06-15Install avrdude in Arch/Manjaro Linux (#6132)Gravatar Yusuke Nakamura
avrdude is require package but not installed by script when arch linux.
2019-06-05Change from avr-gcc@7 to @8 for MacGravatar Danny Nguyen
2019-05-31Initial attempt to fix docker creating files as rootGravatar zvecr
2019-05-31Use qmk docker image for travis CI buildsGravatar zvecr
2019-05-28Clean up duped filenames om qmk.fm (#5822)Gravatar Mikkel Jeppesen
Removes all binaries that don't correspond to an entry in the .keyboards file
2019-05-26Add Solus support to linux_install.sh scriptGravatar chax
added update-repo command before install command
2019-05-26Add Solus support to linux_install.sh scriptGravatar chax
2019-05-14Fix arch installs as 8.1 is unavailable and #5456 has been merged (#5857)Gravatar zvecr
2019-05-06Make python a required build dependency (#5784)Gravatar skullydazed
* Make python a required build dependency * Add missing color * fixup sabayon linux per @BlitzKraft
2019-05-03docker_build.sh: Docker requires access to hosts devices (#5063)Gravatar Robin Hallabro-Kokko
* docker_build.sh: Docker requires access to hosts devices This also runs the container interactively which allows the user to interupt the build with Ctrl-C. * docker_build.sh: Mount /dev via $usb_args instead
2019-05-02If RGBLIGHT_EFFECT_BREATHE_CENTER is undefined, use fixed breathe table ↵Gravatar Takeshi ISHII
instead of exp() and sin() (#5484) * If RGBLIGHT_EFFECT_BREATHE_CENTER is undefined, use fixed breathe table instead of exp() and sin() * Change rgblight breathing table size to be easily selectable. add RGBLIGHT_BREATHE_TABLE_SIZE macro for customize breathing effect.
2019-04-27A better new_project.sh (#5191)Gravatar fauxpark
* A better new_project.sh * Fix docstrings * Use single quotes for anything not shown to user * Missed this docstring * Simplify get_git_username() Thanks @vomindoraan * chmod +x * Add docstring for print_error() * Break up git username call into multiple lines * Use with statement here * Conform to PEP 8 even more * Turn it back into a shell script * chmod +x again * Update docs to reflect new keyboard generator usage * Tweak wording slightly * Trim trailing whitespace * Don't actually need to escape the newlines here * As I suspected, you can pass shift a number * Prepend ./ to match the other code block * Minor syntax tweaks * The username token has changed * Replace name in the readme too * Make some reasonable assumptions about the presence of Git
2019-04-19add -yq flags to actually make it noninteractiveGravatar mechmerlin
2019-04-19Travis CI - skip unit tests for documentation changes (#5267)Gravatar zvecr
* Add script to skip tests on non master branches with only docs changes * Review comments - Use 'grep -c' instead of 'wc -l'
2019-04-12Add vendor and product arguments to atmega32a_program.py - fix hex printGravatar zvecr
2019-04-12Add vendor and product arguments to atmega32a_program.pyGravatar zvecr
2019-04-12Fix build detection of keymap and board changesGravatar zvecr
2019-04-10Revert "Update build instructions and docker file to download submodules" ↵Gravatar Konstantin Đorđević
(#5533) * Revert "Update build instructions and Dockerfile to download submodules" This reverts commit 93210547bd1bfbbb1ffd56801bb81af46af350a5. * Update build tools docs based on feedback * Fix bad link in build tools docs
2019-03-30Update build instructions and Dockerfile to download submodulesGravatar Mikhail Goncharov
2019-03-22ISP Flashing Guide - atmega32a info (#4993)Gravatar wanleg
* update isp flashing page * update isp flashing page
2019-02-26Ask for your name when generating a new keyboard (#5214)Gravatar fauxpark
* Ask for your name when generating a new keyboard * Update docs * Apply suggestions from code review Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-02-18 Relocate usb_detach to utils (#5121)Gravatar zvecr
* Relocate usb_detach to utils * Relocate usb_detach to utils - fix up files after move
2019-02-15Remove duplication of ssh keys and fix usage on PR builds (#5013)Gravatar zvecr
2019-02-15docker_build.sh: Run container in interactive mode (#5088)Gravatar Konstantin Đorđević
* docker_build.sh: Run container in interactive mode * Add message about QMK Toolbox * Update Docker docs
2019-02-12Fix travis_compiled_push.sh script issue (#5114)Gravatar Drashna Jaelre
* Fix travis_compiled_push.sh script issue * fix typo * properly fix push script
2019-02-12Remove AUTOGEN and fix Travis Compiled Push scripts (#5077)Gravatar Drashna Jaelre
* Grab HEX and BIN files from autogen And push them to qmk.fm/compiled * Make autogen copy extension agnostic This way, when travis cl scrpit looks for hex files, it will actually grab bin files, and not hex files for ARM boards * Handle the AUTOGEN in :bin target to properly handle edge cases Both the TADA68 and ATSAM boards generate the hex file and then convert it to a bin file. The changes I made does not handle this well, at all. This removes the hex and replaces it with a bin, if a bin is normally generated. * Revert hex target to original copy command * Check hex and bin separately in compile push script Since I don't know how to script this, well * Simplify push to compiled folder * Further simplify compiled push script * Move AUTOGEN parsing to a more sane location to prevent tech debt Thanks to skully! * Remove AUTOGEN completely, as it's not needed This has the benefit of making everything super simple, since we can pull every hex and bin from the root of the qmk_firmware folder, and move that to th compiled folder. This also removes old and unneeded code, and removes some tech debt that has been accrued, without adding more, in theory.
2018-12-26Read user input properly in linux_install.sh for Gentoo (#4395)Gravatar Konstantin Đorđević
* Change spaces to tabs on two lines The rest of the file uses tabs * Read user input in a non-terrible, non-hacky way * Remove unnecessary tee call * read -p is not POSIX * Add missing $ to echo GENTOO_WARNING * Replace non-POSIX echo -n with printf * Use cd ... || exit 1 in case git clone fails * Add missing sudo Thanks @snortwolf * Undo replacing tee with >>
2018-12-25Improve diagnostics for build hashesGravatar Yan-Fa Li
2018-12-10adjust install_avr function to use unzip for broader compatibility (#4596)Gravatar Peter K. Cawley
On a laptop with god knows what mandatory security software (Cylance?), running up-to-date Windows 10 with msys2 mingw-64, attempting to install the AVR toolkit results in the following error: ``` 1 [main] 7z (13316) C:\msys32\usr\lib\p7zip\7z.exe: *** fatal error - cygheap base mismatch detected - 0x612A5410/0x2375410. This problem is probably due to using incompatible versions of the cygwin DLL. Search for cygwin1.dll using the Windows Start->Find/Search facility and delete all but the most recent version. The most recent version *should* reside in x:\cygwin\bin, where 'x' is the drive on which you have installed the cygwin distribution. Rebooting is also suggested if you are unable to find another cygwin DLL. ``` This appears to be related in some way, based on my research, to ASLR functionality in security software. Since I'm unable to override whatever is enforcing ASLR on my system, after trying several other approaches (removing other copies of msys-2.0.dll, which is what this is apparently actually referencing, rebasing that file in Windows to address 0x61000000, a few other things) I simply edited the installation shell script to use `unzip` instead of 7zip; `unzip`'s binary does not provoke a mismatch error and the installation proceeds as it should. I'm not aware of the reason why some parts of the install script use `unzip` (e.g. `install_arm`) and others use 7zip, but it seems that for broader compatibility and sparing users on locked down machines the 120 minutes or so of futzing this took me to fix, it might be better to just use `unzip` in all cases. Note: There is another function that uses 7zip, `extract_flip`. The line is `7z -oflip x FlipInstaller.exe`. I'm not sure what this is doing, or whether it's possible to do it with `unzip`, but it produces the same error. I haven't attempted to fix that in this PR, but it might be good to fix it for the same reason.
2018-12-08Add a better Docker build script + update Dockerfile (#4222)Gravatar Konstantin Đorđević
* Add a Docker build script * Add usage and error messages * Add -r to reads Thanks mechmerlin * Add keyboard:keymap form, improve script * Add target argument, change usage forms in script * Add check for more than 3 args in keyboard:keymap:target form * Change Docker base image to debian, use community repo This matches what qmk_compiler uses (https://github.com/qmk/qmk_compiler/blob/master/Dockerfile#L1). I've removed the maintainer as we now have a community build on Docker Hub (https://hub.docker.com/r/qmkfm/qmk_firmware). This Dockerfile will also be maintained by the community. * Change build command format to keyboard:keymap * Call make directly in container run command * Simplify script, remove 3-arg form * Add COPY to Dockerfile so images are usable in and of themselves Also change WORKDIR from /qmk to /qmk_firmware * Add USB pass-through for Linux and docker-machine hosts * Read directly into variables instead of array * Alphabetically sort dependencies in Dockerfile * Set executable bit on util/docker_build.sh * Update Docker docs * Add warning about Docker on Windows * Expand comment in docs * Check docker-machine exit code instead of string * Only match --help with whole arguments * Make script POSIX-compliant * Convert script indentation to tabs