summaryrefslogtreecommitdiff
path: root/tools/docker_rbclient/Dockerfile
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2019-07-21 18:17:37 -0400
committerFranklin Wei <franklin@rockbox.org>2019-07-28 21:13:56 +0200
commit02a69857994afe608cdb08ee2c51e61afa2952c7 (patch)
tree0dc87ad3d79781b427ca6eb35230a03963db9eff /tools/docker_rbclient/Dockerfile
parent7f9fc20afa3bcff007da941041ceb0c0d84d8fc3 (diff)
downloadrockbox-02a69857994afe608cdb08ee2c51e61afa2952c7.tar.gz
rockbox-02a69857994afe608cdb08ee2c51e61afa2952c7.zip
Add build code for Docker development environment
This simplifies the tedious task of building all the Rockbox toolchains manually by providing a build code for a Docker container image. It's useful for quickly spinning up a build client with just a couple commands and no waiting to compile (though downloading takes a little while). I've built an image as built1n/rbclient on Docker Hub. All toolchains (even the weird ones) are included, except android16. Change-Id: I6b863628ffb397604f59ec6def2f8bb8c8c7185f
Diffstat (limited to 'tools/docker_rbclient/Dockerfile')
-rw-r--r--tools/docker_rbclient/Dockerfile66
1 files changed, 66 insertions, 0 deletions
diff --git a/tools/docker_rbclient/Dockerfile b/tools/docker_rbclient/Dockerfile
new file mode 100644
index 0000000000..4c31dedd62
--- /dev/null
+++ b/tools/docker_rbclient/Dockerfile
@@ -0,0 +1,66 @@
1FROM debian:9
2
3WORKDIR /home/rb
4
5ENV HOME /home/rb
6ENV MAKEFLAGS -j12
7
8RUN apt-get update && \
9 DEBIAN_FRONTEND=noninteractive apt-get install -y \
10 build-essential \
11 git \
12 perl \
13 curl \
14 texinfo \
15 flex \
16 bison \
17 bzip2 \
18 gzip \
19 zip \
20 patch \
21 automake \
22 libtool \
23 libtool-bin \
24 autoconf \
25 libmpc-dev \
26 gawk \
27 python \
28 python-lzo \
29 python-setuptools \
30 mtd-utils \
31 xorriso \
32 wget \
33 subversion \
34 libncurses5-dev \
35 texlive-latex-base \
36 texlive-binaries \
37 texlive-latex-extra \
38 tex4ht \
39 texlive-fonts-recommended \
40 lmodern \
41 latex-xcolor \
42 texlive-base \
43 libsdl1.2-dev \
44 libsdl1.2debian
45
46RUN cd /home/rb && git clone git://git.rockbox.org/rockbox
47
48RUN cd /home/rb/rockbox && ./tools/rockboxdev.sh --target="s"
49RUN cd /home/rb/rockbox && ./tools/rockboxdev.sh --target="m"
50RUN cd /home/rb/rockbox && ./tools/rockboxdev.sh --target="a"
51RUN cd /home/rb/rockbox && ./tools/rockboxdev.sh --target="i"
52RUN cd /home/rb/rockbox && ./tools/rockboxdev.sh --target="x"
53RUN cd /home/rb/rockbox && ./tools/rockboxdev.sh --target="y"
54
55# compile sometimes fails; place this last to avoid duplicate work
56RUN cd /home/rb/rockbox && ./tools/rockboxdev.sh --target="r"
57
58RUN cd /home/rb/rockbox && \
59 wget "http://git.rockbox.org/?p=www.git;a=blob_plain;f=buildserver/rbclient.pl;hb=HEAD" -O rbclient.pl && \
60 chmod +x rbclient.pl
61
62COPY runclient_modified.sh /home/rb/rockbox/runclient.sh
63
64RUN cd /home/rb/rockbox && chmod +x runclient.sh
65
66ENTRYPOINT cd /home/rb/rockbox && ./runclient.sh $USER $PASS $NAME