| 1 | # Build with: |
| 2 | # docker build -t termux/package-builder . |
| 3 | # Push to docker hub with: |
| 4 | # docker push termux/package-builder |
| 5 | # This is done after changing this file or any of the |
| 6 | # scripts/setup-{ubuntu,android-sdk}.sh setup scripts. |
| 7 | FROM ubuntu:17.04 |
| 8 | |
| 9 | # Fix locale to avoid warnings: |
| 10 | ENV LANG C.UTF-8 |
| 11 | |
| 12 | # Needed for setup: |
| 13 | COPY ./setup-ubuntu.sh /tmp/setup-ubuntu.sh |
| 14 | COPY ./setup-android-sdk.sh /tmp/setup-android-sdk.sh |
| 15 | |
| 16 | # Setup needed packages and the Android SDK and NDK: |
| 17 | RUN apt-get update && \ |
| 18 | apt-get -yq upgrade && \ |
| 19 | apt-get install -yq sudo && \ |
| 20 | adduser --disabled-password --shell /bin/bash --gecos "" builder && \ |
| 21 | echo "builder ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/builder && \ |
| 22 | chmod 0440 /etc/sudoers.d/builder && \ |
| 23 | su - builder -c /tmp/setup-ubuntu.sh && \ |
| 24 | su - builder -c /tmp/setup-android-sdk.sh && \ |
| 25 | # Removed unused parts to make a smaller Docker image: |
| 26 | apt-get clean && \ |
| 27 | rm -rf /var/lib/apt/lists/* && \ |
| 28 | cd /home/builder/lib/android-ndk/ && \ |
| 29 | rm -Rf toolchains/mips* && \ |
| 30 | rm -Rf sources/cxx-stl/gabi++ sources/cxx-stl/system/ sources/cxx-stl/stlport && \ |
| 31 | cd /home/builder/lib/android-sdk/tools && rm -Rf emulator* lib* proguard templates |
| 32 | |
| 33 | # We expect this to be mounted with '-v $PWD:/home/builder/termux-packages': |
| 34 | WORKDIR /home/builder/termux-packages |
| 35 | |