From c6b872ea07a027d943035ab481911ba706102372 Mon Sep 17 00:00:00 2001 From: Tuomas Jaakola Date: Sat, 15 Dec 2018 14:35:35 +0200 Subject: [PATCH 1/8] parent image changed to archlinux/base pritunl/archlinux is no longer maintained --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 609af1c..2470164 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM pritunl/archlinux +FROM archlinux/base MAINTAINER farwayer RUN printf "[multilib]\n"\ From 92345d822ad4ece1c4913a4948b14589943b7260 Mon Sep 17 00:00:00 2001 From: Tuomas Jaakola Date: Sat, 15 Dec 2018 14:36:16 +0200 Subject: [PATCH 2/8] android-sdk-build-tools-28.0.3 added --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 2470164..484dcba 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,6 +24,7 @@ RUN pacman --noconfirm -Sy yarn npm watchman jdk8-openjdk git\ android-sdk-build-tools-26.0.3\ android-sdk-build-tools-27.0.3\ android-sdk-build-tools-28.0.2\ + android-sdk-build-tools-28.0.3\ android-google-repository\ android-support-repository\ && yes | pacman -Scc\ From 25820947f1a190ddda0f87b5d7d98a5491287245 Mon Sep 17 00:00:00 2001 From: Tuomas Jaakola Date: Sat, 15 Dec 2018 15:06:09 +0200 Subject: [PATCH 3/8] disable "Operation too slow" errors when installing --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 484dcba..befa315 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,8 @@ RUN printf "[multilib]\n"\ "[mobile]\n"\ "SigLevel = Never\n"\ 'Server=https://farwayer.keybase.pub/arch/$repo' >> /etc/pacman.conf -RUN pacman --noconfirm -Sy yarn npm watchman jdk8-openjdk git\ +RUN pacman --noconfirm --disable-download-timeout -Sy\ + yarn npm watchman jdk8-openjdk git\ fastlane python2 make gcc\ android-platform-23\ android-platform-24\ From 441db659b7887431b59e7287018c7295dfa2bc1d Mon Sep 17 00:00:00 2001 From: Tuomas Jaakola Date: Sat, 15 Dec 2018 16:18:01 +0200 Subject: [PATCH 4/8] use wget as pacman downloader --- Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index befa315..96429b3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,10 @@ FROM archlinux/base MAINTAINER farwayer +# Make pacman to use wget for more reliable downloads +RUN pacman --noconfirm -Sy wget +RUN sed -i 's/#VerbosePkgLists/XferCommand = \/usr\/bin\/wget -nv -c -O %o %u/g' /etc/pacman.conf + RUN printf "[multilib]\n"\ "Include=/etc/pacman.d/mirrorlist\n"\ "[mobile]\n"\ @@ -28,7 +32,7 @@ RUN pacman --noconfirm --disable-download-timeout -Sy\ android-sdk-build-tools-28.0.3\ android-google-repository\ android-support-repository\ - && yes | pacman -Scc\ + && yes | pacman -Scc || true\ && rm -rf /usr/lib/ruby/gems/*/{cache,doc} /usr/share/{doc,man,locale}\ && mkdir /var/run/watchman ENV ANDROID_HOME=/opt/android-sdk From 96e0ebf9054239d886d5100837800970dc55875e Mon Sep 17 00:00:00 2001 From: Tuomas Jaakola Date: Sat, 15 Dec 2018 16:40:30 +0200 Subject: [PATCH 5/8] /var/run/watchman exists already --- Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 96429b3..a3feb8f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,6 +33,5 @@ RUN pacman --noconfirm --disable-download-timeout -Sy\ android-google-repository\ android-support-repository\ && yes | pacman -Scc || true\ - && rm -rf /usr/lib/ruby/gems/*/{cache,doc} /usr/share/{doc,man,locale}\ - && mkdir /var/run/watchman + && rm -rf /usr/lib/ruby/gems/*/{cache,doc} /usr/share/{doc,man,locale} ENV ANDROID_HOME=/opt/android-sdk From f074d7664136e7b9ac19d13c5efd0ae31e598735 Mon Sep 17 00:00:00 2001 From: Tuomas Jaakola Date: Sat, 15 Dec 2018 17:32:19 +0200 Subject: [PATCH 6/8] install procps-ng --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a3feb8f..cda704b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,7 @@ RUN printf "[multilib]\n"\ "SigLevel = Never\n"\ 'Server=https://farwayer.keybase.pub/arch/$repo' >> /etc/pacman.conf RUN pacman --noconfirm --disable-download-timeout -Sy\ - yarn npm watchman jdk8-openjdk git\ + yarn npm watchman jdk8-openjdk git procps-ng\ fastlane python2 make gcc\ android-platform-23\ android-platform-24\ From f311dc25f958b0217e3a1371e6bb0c91772b0282 Mon Sep 17 00:00:00 2001 From: Tuomas Jaakola Date: Mon, 17 Dec 2018 12:11:26 +0200 Subject: [PATCH 7/8] readme: build tools 28.0.3 added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 55f4b74..37234d9 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,7 @@ All package versions are recent for building date. - **26.0.3** - **27.0.3** - **28.0.2** +- **28.0.3** You can install extra sdk build tools with pacman: ```bash From 99badb3015cc5fa66e589e9e5346b7d9eee25c92 Mon Sep 17 00:00:00 2001 From: Tuomas Jaakola Date: Fri, 4 Sep 2020 11:15:31 +0300 Subject: [PATCH 8/8] Simplified version --- Dockerfile | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/Dockerfile b/Dockerfile index cda704b..36466ef 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,6 @@ FROM archlinux/base -MAINTAINER farwayer +LABEL description="Environment for building React Native apps for Android" +LABEL maintainer="Tuomas Jaakola " # Make pacman to use wget for more reliable downloads RUN pacman --noconfirm -Sy wget @@ -10,28 +11,18 @@ RUN printf "[multilib]\n"\ "[mobile]\n"\ "SigLevel = Never\n"\ 'Server=https://farwayer.keybase.pub/arch/$repo' >> /etc/pacman.conf + +# Install packages +# android-sdk-build-tools should come with android-platform pkg RUN pacman --noconfirm --disable-download-timeout -Sy\ yarn npm watchman jdk8-openjdk git procps-ng\ - fastlane python2 make gcc\ - android-platform-23\ - android-platform-24\ - android-platform-25\ - android-platform-26\ - android-platform-27\ - android-platform-28\ - android-sdk-build-tools-23.0.1\ - android-sdk-build-tools-23.0.3\ - android-sdk-build-tools-25\ - android-sdk-build-tools-25.0.2\ - android-sdk-build-tools-25.0.3\ - android-sdk-build-tools-26.0.1\ - android-sdk-build-tools-26.0.2\ - android-sdk-build-tools-26.0.3\ - android-sdk-build-tools-27.0.3\ - android-sdk-build-tools-28.0.2\ - android-sdk-build-tools-28.0.3\ + python2 make gcc\ + android-platform-29\ android-google-repository\ android-support-repository\ && yes | pacman -Scc || true\ && rm -rf /usr/lib/ruby/gems/*/{cache,doc} /usr/share/{doc,man,locale} ENV ANDROID_HOME=/opt/android-sdk + +# Accepting all Android SDK package licenses is required +RUN yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses