aboutsummaryrefslogtreecommitdiff
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)
downloadqmk_firmware-13ad6501361faa9433562dba4ea8c55f85bf1dc5.tar.gz
qmk_firmware-13ad6501361faa9433562dba4ea8c55f85bf1dc5.zip
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 dfde33b5c..8f78dc2bf 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,28 +1,29 @@
1FROM debian:jessie 1FROM debian
2MAINTAINER Erik Dasque <erik@frenchguys.com>
3 2
4RUN apt-get update && apt-get install --no-install-recommends -y build-essential \ 3RUN apt-get update && apt-get install --no-install-recommends -y \
5 gcc \
6 unzip \
7 wget \
8 zip \
9 gcc-avr \
10 binutils-avr \
11 avr-libc \ 4 avr-libc \
5 avrdude \
6 binutils-arm-none-eabi \
7 binutils-avr \
8 build-essential \
12 dfu-programmer \ 9 dfu-programmer \
13 dfu-util \ 10 dfu-util \
11 gcc \
14 gcc-arm-none-eabi \ 12 gcc-arm-none-eabi \
15 binutils-arm-none-eabi \ 13 gcc-avr \
16 libnewlib-arm-none-eabi \
17 git \ 14 git \
15 libnewlib-arm-none-eabi \
18 software-properties-common \ 16 software-properties-common \
19 avrdude \ 17 unzip \
18 wget \
19 zip \
20 && rm -rf /var/lib/apt/lists/* 20 && rm -rf /var/lib/apt/lists/*
21 21
22ENV keyboard=ergodox 22ENV KEYBOARD=ergodox_ez
23ENV subproject=ez 23ENV KEYMAP=default
24ENV keymap=default 24
25VOLUME /qmk_firmware
26WORKDIR /qmk_firmware
27COPY . .
25 28
26VOLUME /qmk 29CMD make $KEYBOARD:$KEYMAP
27WORKDIR /qmk
28CMD make clean ; make keyboard=${keyboard} subproject=${subproject} keymap=${keymap}