diff options
author | Konstantin Đorđević <vomindoraan@gmail.com> | 2018-12-08 18:42:46 +0100 |
---|---|---|
committer | MechMerlin <30334081+mechmerlin@users.noreply.github.com> | 2018-12-08 09:42:46 -0800 |
commit | 13ad6501361faa9433562dba4ea8c55f85bf1dc5 (patch) | |
tree | c6ac7ff8074cd4bb1f920fa0a204219d76fb8d0a /Dockerfile | |
parent | 2ad2b73d685cf25268fa7d3726f45594edee70c4 (diff) | |
download | qmk_firmware-13ad6501361faa9433562dba4ea8c55f85bf1dc5.tar.gz |
Add a better Docker build script + update Dockerfile (#4222)
* 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
Diffstat (limited to 'Dockerfile')
-rw-r--r-- | Dockerfile | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/Dockerfile b/Dockerfile index dfde33b5c..8f78dc2bf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,28 +1,29 @@ -FROM debian:jessie -MAINTAINER Erik Dasque <erik@frenchguys.com> +FROM debian -RUN apt-get update && apt-get install --no-install-recommends -y build-essential \ - gcc \ - unzip \ - wget \ - zip \ - gcc-avr \ - binutils-avr \ +RUN apt-get update && apt-get install --no-install-recommends -y \ avr-libc \ + avrdude \ + binutils-arm-none-eabi \ + binutils-avr \ + build-essential \ dfu-programmer \ dfu-util \ + gcc \ gcc-arm-none-eabi \ - binutils-arm-none-eabi \ - libnewlib-arm-none-eabi \ + gcc-avr \ git \ + libnewlib-arm-none-eabi \ software-properties-common \ - avrdude \ + unzip \ + wget \ + zip \ && rm -rf /var/lib/apt/lists/* -ENV keyboard=ergodox -ENV subproject=ez -ENV keymap=default +ENV KEYBOARD=ergodox_ez +ENV KEYMAP=default + +VOLUME /qmk_firmware +WORKDIR /qmk_firmware +COPY . . -VOLUME /qmk -WORKDIR /qmk -CMD make clean ; make keyboard=${keyboard} subproject=${subproject} keymap=${keymap} +CMD make $KEYBOARD:$KEYMAP |