summaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
authorKonstantin Đorđević <vomindoraan@gmail.com>2018-12-08 18:42:46 +0100
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2018-12-08 09:42:46 -0800
commit13ad6501361faa9433562dba4ea8c55f85bf1dc5 (patch)
treec6ac7ff8074cd4bb1f920fa0a204219d76fb8d0a /Dockerfile
parent2ad2b73d685cf25268fa7d3726f45594edee70c4 (diff)
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--Dockerfile37
1 files changed, 19 insertions, 18 deletions
diff --git a/Dockerfile b/Dockerfile
index dfde33b5cc..8f78dc2bfe 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