From 62eedd197f280255e3322534bf742949270f2fda Mon Sep 17 00:00:00 2001 From: Petr Pokorny Date: Sun, 20 Dec 2020 12:42:37 +0100 Subject: [PATCH] [build] adding docker images --- platform/android/docker/README.md | 5 ++ platform/android/docker/android-base | 57 ++++++++++++++++++ platform/android/docker/android-ndk-r21b | 41 +++++++++++++ .../filesystem/apt-google-cloud-sdk.tar.gz | Bin 0 -> 1837 bytes .../android/docker/filesystem/apt-llvm.tar.gz | Bin 0 -> 2915 bytes .../docker/filesystem/apt-toolchain.tar.gz | Bin 0 -> 783 bytes .../apt/sources.list.d/google-cloud-sdk.list | 1 + .../etc/apt/sources.list.d/llvm.list | 2 + .../etc/apt/sources.list.d/toolchain.list | 2 + .../docker/filesystem/libsysconfcpus.tar.gz | Bin 0 -> 3857 bytes .../filesystem/tmp/google-cloud-sdk.gpg | Bin 0 -> 1326 bytes .../android/docker/filesystem/tmp/llvm.gpg | Bin 0 -> 2236 bytes .../docker/filesystem/tmp/toolchain.gpg | Bin 0 -> 355 bytes 13 files changed, 108 insertions(+) create mode 100644 platform/android/docker/README.md create mode 100644 platform/android/docker/android-base create mode 100644 platform/android/docker/android-ndk-r21b create mode 100644 platform/android/docker/filesystem/apt-google-cloud-sdk.tar.gz create mode 100644 platform/android/docker/filesystem/apt-llvm.tar.gz create mode 100644 platform/android/docker/filesystem/apt-toolchain.tar.gz create mode 100644 platform/android/docker/filesystem/etc/apt/sources.list.d/google-cloud-sdk.list create mode 100644 platform/android/docker/filesystem/etc/apt/sources.list.d/llvm.list create mode 100644 platform/android/docker/filesystem/etc/apt/sources.list.d/toolchain.list create mode 100644 platform/android/docker/filesystem/libsysconfcpus.tar.gz create mode 100644 platform/android/docker/filesystem/tmp/google-cloud-sdk.gpg create mode 100644 platform/android/docker/filesystem/tmp/llvm.gpg create mode 100644 platform/android/docker/filesystem/tmp/toolchain.gpg diff --git a/platform/android/docker/README.md b/platform/android/docker/README.md new file mode 100644 index 000000000..0f3b15706 --- /dev/null +++ b/platform/android/docker/README.md @@ -0,0 +1,5 @@ + +``` +docker build -t maptiler/android-base -f android-base . +docker build -t maptiler/android-ndk-r21b -f android-ndk-r21b . +``` \ No newline at end of file diff --git a/platform/android/docker/android-base b/platform/android/docker/android-base new file mode 100644 index 000000000..2889a38bc --- /dev/null +++ b/platform/android/docker/android-base @@ -0,0 +1,57 @@ +FROM ubuntu:xenial-20181005 +ENV DEBIAN_FRONTEND="noninteractive" + +# Add base filesystems +ADD filesystem/libsysconfcpus.tar.gz \ + filesystem/apt-google-cloud-sdk.tar.gz \ + / + +# libsysconfcpus.so can be used to alter the number of CPUs reported by the system +ENV LD_PRELOAD=/usr/lib/libsysconfcpus.so + +# Add apt keys +RUN set -eu \ + && (find /tmp/*.gpg | xargs -n1 apt-key add) \ + && rm /tmp/*.gpg + +# Install base packages +RUN set -eu \ + && apt-get update \ + && apt-get -y install software-properties-common \ + && apt-get update \ + && add-apt-repository -y ppa:git-core/ppa \ + && apt-get update \ + && apt-get -y install git curl make python3 python3-pip zip unzip ccache openjdk-8-jdk-headless apt-transport-https \ + && update-alternatives --install /usr/bin/python python /usr/bin/python3 1 \ + && rm -rf /var/lib/apt/lists/* + +# Install CLI tools for CI scripting +RUN set -eu \ + && apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0 \ + && apt-add-repository https://cli.github.com/packages \ + && apt-get update \ + && apt-get -y install jq gh \ + && rm -rf /var/lib/apt/lists/* + +# Install Google Cloud SDK +RUN set -eu \ + && apt-get update \ + && apt-get -y install google-cloud-sdk \ + && rm -rf /var/lib/apt/lists/* + +# Install awscli +RUN set -eu \ + && pip3 install awscli + +# Install Node.js +# Check https://nodejs.org/en/download/releases/ for releases +ENV NVM_DIR="/root/.nvm" \ + PATH="/root/.nvm/versions/node/v10.13.0/bin:$PATH" +RUN set -e \ + && git -c advice.detachedHead=false clone https://github.com/creationix/nvm.git -b v0.33.11 --depth=1 "$NVM_DIR" \ + && . "$NVM_DIR/nvm.sh" \ + && nvm install v10.13.0 + +ENV ANDROID_NDK_HOME=/android/sdk/ndk-bundle \ + ANDROID_HOME=/android/sdk \ + GRADLE_OPTS=-Dorg.gradle.daemon=false \ No newline at end of file diff --git a/platform/android/docker/android-ndk-r21b b/platform/android/docker/android-ndk-r21b new file mode 100644 index 000000000..dc0370fdd --- /dev/null +++ b/platform/android/docker/android-ndk-r21b @@ -0,0 +1,41 @@ +FROM ghcr.io/maptiler/android-base + +WORKDIR /android/sdk + +# Install Android SDK +# Use most recent version from https://developer.android.com/studio/index.html#command-tools +# and update the checksum. +RUN set -eu \ + && curl -L --retry 3 https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip -o tools.zip \ + && (echo "f10f9d5bca53cc27e2d210be2cbc7c0f1ee906ad9b868748d74d62e10f2c8275 tools.zip" | sha256sum -c) \ + && unzip -q tools.zip && rm tools.zip + +# Install Android NDK +# Use desired version from https://developer.android.com/ndk/downloads/index.html +# and update the checksum. +RUN set -eu \ + && curl -L --retry 3 https://dl.google.com/android/repository/android-ndk-r21-linux-x86_64.zip -o ndk.zip \ + && (echo "afc9c0b9faad222898ac8168c78ad4ccac8a1b5c ndk.zip" | sha1sum -c) \ + && unzip -q ndk.zip && rm ndk.zip && mv android-ndk-r* ndk-bundle + +# Install dependencies and build tools + +RUN set -eu \ + && mkdir -p "${ANDROID_HOME}/licenses" \ + && echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "${ANDROID_HOME}/licenses/android-sdk-license" \ + && tools/bin/sdkmanager \ + "--sdk_root=${ANDROID_HOME}" \ + "platform-tools" \ + "platforms;android-29" \ + "build-tools;29.0.2" \ + "build-tools;29.0.3" \ + "platforms;android-28" \ + "build-tools;28.0.3" \ + "extras;android;m2repository" \ + "patcher;v4" \ + "extras;google;m2repository" \ + "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2" \ + "cmake;3.10.2.4988404" \ + && rm -rf "${ANDROID_HOME}/licenses" + +WORKDIR /src \ No newline at end of file diff --git a/platform/android/docker/filesystem/apt-google-cloud-sdk.tar.gz b/platform/android/docker/filesystem/apt-google-cloud-sdk.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..7d4d9b821dfedca3f303e57e124c570ca730a2f1 GIT binary patch literal 1837 zcmV+|2h#XLT4*^jL0KkKS(Bt9A&EP>PW>H1v#2O+2PgMA}EG>JL-Y^%y6pdYBDHj7FMzf$9yYVri3U4ALHx)OwFo z!cWy1G}FyU(`tH6rc+HDQ`BT>rqm4p^qM_G6KXU8>SP9*9*sd%hKcA2f?yGXWWbDQ z+JjMvwLJuBfS3~#M$ib%kjP?fA%QeAKx$ynm;}a2w2S}*U{6y_(KN||U=SFLB9siC zrhsTBj13bqXiQ9+Xuui*G}-`0jEyv45s1K=Vq#-cCQUFVOojje0GL3?(9xp;WW>Ol zG{Bflf>M$)dNiig10&LDwHg3^r~n#hG;K{Z05kv%8Udl8XvhQ9G-v}skPQF>O*8-i z0B8UJGyu@h0x2RY1_j|y(g=|+0wMyVGayV=n2-Y!09YVkQIp9G!51T$J-dQ}h$1*B zV&cb!R!C?=aGDaM*-RP_Be2nC1Mqq&-~sRu2EM_HML5`HBA`qYKzz-`AwcB;zuP@T z6t5y5)5C%m=+p(kL8X~Y=(iPR0N5)a7S5N+VZt0Az}QP2j4*e|_f912P)!g8i`Y3D z27tXU>5iJ^8;EdRRXrg}Bx|5g3#k~o5Ei8ISPQd3C>vVRs)tjxKD=2lxV(pjnJ91F zr5-H4XRP*z6t7LhbVvA^hN<8<>G;`ABOLNSC|oFM~Y|rH|>l)6y#}v zz#t|OA}JLC#3hYa6?HaXM@5rpe+a)@jL7_iG05)ZAZx5ertRgD0lV#4fq<3rI2N6| zyr2U)$Q3LnASz&iS_}2*l?*H3EvBlZ*-6n{za?n z%KN5{t-Bm0Fq*+-%#m);8kZDF>dV>}8QBB_9kv6AwuT zHj5!^WUBC0opKefat&x!XYd1f#sQ#OA~;S zAnZ{~6huq|qGAY!1%Pm19_C-sQT2e`{Tj6+=ut8XqCBHAEL95F#Be2F?@p?{X(1Rj zerr8A5wP;}EKhxc(r>-bp=+_DX9A;}!{FYyqKXX}jfL5dP2jM(k`_64L4yx~pt5(` zxV;`2HPI05BM0oIer1RToh19Z=kxKpLA)((!s2Ko??+TXwbY+_$C3)5))|j4#rZR` zE;&+*!=0qtxH?()!xSq|7E_{QFgr6aT2tQW=czHHW5ew#*<9Q0e4>=oXL(GkhltH}s%;U-pYKd^%|Wdv>h3UUo<9@d4U2vH! zA%T*SyqRYHu5#|SJn3tlnrom$>8Oi#uza6E4KNz=+}GwfPSy9FQZXR{2|6W~)@r`Y zBo7hV-^?r7|KXb8c<@CUmLwi|b|)MR#8jX8>;M$8TVPDmIk9zm41^c- literal 0 HcmV?d00001 diff --git a/platform/android/docker/filesystem/apt-llvm.tar.gz b/platform/android/docker/filesystem/apt-llvm.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..4e2ddc05ee3b19b961ec9e6cacd73b7dda49777e GIT binary patch literal 2915 zcmV-p3!L;qT4*^jL0KkKS@|0_{s03C|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0 z|NsC0|Nr0ye;awd_V`@;TY&rC_Q`j4=KHW^PezjyC#Yy-^d{7Lk3kP8W>e8UM$t1< zO&*wyOqygKDd`$y@lQlF^&XL@q%_)%4H^$qL(*ty^o)#*AjD*7dM3h6Hm9U|k4W~Z z|=GYCNDlBMG!LX{J%9p)@plk5kmp4XD#;9)YOxjDQbB4K{|M z>NLrwnAG(#F+DN~wLJncriqOYQ2^12p!GdXq|v5^A+<9}r>JE>HmB-_(Wo@_G(92e zGBK%|6VW|QJxqUxhLMri|R z0WqQ;r>Ula=>`+jZ4lEn41+3ZkTPi6n^QeR$&sd+9;OW@nls5D^p8O_dYKuuPa{F- ziIJ1k#L4NRG|+k)m^CnlnFgAAMxIgVA(I*aOaLZ_pqgoj+Jl+csSC!%_$YI;TyiM2Gz>S)?Wq%%gK z+G;fQG|8YE10VnfMn;(f)YC_(X{MSDGH7UNrkXa88Udil(<4AK8U~Ft7>ybRnj(Jk z>Oon+sGtEFEkFVQfMwXCYL9J7SZFV7+wXdNBW7Bw{LR*lhJ>?A){x+5xkX?6a|2Cv6E5E zd4RPH84kfu1t{`F2K5u(I)D+E7#6TCyG z#gsLgqP@{I@3V)P-AT0Ck6*h9^L@=U2dnJ1RmBDqBD&s zlOE+5eZ0QeA@Cz0xTkT}U3I*9xWw5+L9nEh4eRI<4t-wo;fR+7!UWnw^-t!PO7FRA zgLf9TIAT3U&bX^>hg8l0Kt57e{x}_X*KmOC8)vpy2VhvKLHVtL!yp*4fk6zM6p^AH zoL@!~;+Aa4aOta_)Yx0X@B`Jbpa7Zg%HAc+gNRX^z$vC^=rju?N^zC26msMmBLAya+#qX zqNwVDbV!XvRbAIB!0nrk2A1Yw^S5iA{Q6AQLVaGwC$(yQ`WI%x3YS?c?3~V=M86U$ z_;c>IPjcz^6isQXETF;Ag6z;{BssQJPs$=jA>rp;TY1FU9|CA zn|=J&ATTG5-+!WyP>cDmKkPGxd)$p`V%;5U5PR8sfwQ3mee z-=Hql60*ubNtCYJuuVYpc`Y0!#5R#SmRTr-w}8P@8+Ea$fFH_@LD_l znyy4db@*i2FMLba7l!RGFBZ!cjR0zTZssdXvZ1L9nzQi0q}PDT1Fe2eZN%>UrtM*9 zaCXtF}1frQ_`MsOL=MAD`zqz zbyxd2F7ul(p6sk-D*AEe`A`}x<$sxGw4tUPZa24ldE1XSbUJ`GIDA7P> zNlyq zvcn6@!7-vlkc5CP%U6!hZY{^>j><Kqw|!htO$<6?vc}XY;`r+?oDhl~{p~t2V)Wk00UUr? zh+|N=e318vI;61<)i7JK5P_?eHHu6){T0npX=&tItwLxnQv5IEVeqF2Plb*8c~t63 zCX(cXGoFMLecq7XIqsY83wt0@Jd&y1TuCW!{Da&MM)Ucs*@$CR|#aZ*zi>f?Efnl*WbX-}v`Vgjf&bK!xAeAIN`cnR+@bpBA|B|}pJ*cDs3{aR-mwYJ#*dj?NZRV*NzspxEM&RUI&d=^)x zB!diSk0%2bVfNRopl-{g|?>ZF{f2$PzkI4{eA%ZuUFqZ++ZC)5-l z)gICuZ*2U3oawfl59o=ZjF5n+v7%y_D2iJx{yK^TDNXLIB2v$G z-ZGf(aE16}hEVhsQ45I_kn=m0M19@+6E8kbl(dp6`CF)s%xO#mO5C|I+VbxhFY%SN zZKWHtp;aGlLCB(B7jw)UYb!JN(o&Rsgrxs6fnGXdCVlQb5<4KtHB@WQL5u&3 Nxgwk>NPLZ(e*nyqjWz%P literal 0 HcmV?d00001 diff --git a/platform/android/docker/filesystem/apt-toolchain.tar.gz b/platform/android/docker/filesystem/apt-toolchain.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..90eb302a37b584a5e6ad594b92fce83de4ded54e GIT binary patch literal 783 zcmV+q1MvJpT4*^jL0KkKS+J>9qW}R?|NsB{>-k>)|Nq|CjLZM`-^j=QA9o&l|JLPS z{`q&}p8voB+}lur6;D$}m?nS#0002U13&{n4GjRq000dGKmY?qni?4zGy@@!^&UbM zQR)UpgG~XZfXK)Jrhou6$)gYr02vt>226~AGy$Qb5YRC+#2RU!05k|RXlMbT(?A&w z15Gq&VKf6KfY1QY#AMSZ0E|pP27#tSAi^{TjG6!d0#Zh%CQ5rsVt$lq=^m5R^)P^K zKmalg02%?NfN1p%02u%c0MKc*Gynhq0B8krR#Ts-G@}3nX2d}UE7r*ELARJi35dIp z*>0j(qIpPwQC=mxRY^6u`AtVuXvnuEj?zKU>=4d06;$Jf_{Vu!9s0>YzFl?X{-``bQH#c2`rYGq0 z=qWv|5(!DqrXWjE*XnP@bo-6n21d$x;nFIILWMYCA&e1-#TWx90RRKdjDi3a=>cUG z@Ptd?J4p@2)i>MSl5xg`_2C-}7XtdGcKJtCp3?Kbp>rv=?E7~_>{n1iIg6A?Z4_N6 z9962A#PBvDG`79mVt7HS!AU=osk`9l|DRQh4Q~vlB+&7Qp|NGBmy-_Js2O9ZedG1D zP(#1MiodFPy=hX6KHS3-aEem{pB*>$j%e5e863-C&k@svlP}$46vzModOaEz0>&}_ N7ji{7P>`^xRilrLS+)QG literal 0 HcmV?d00001 diff --git a/platform/android/docker/filesystem/etc/apt/sources.list.d/google-cloud-sdk.list b/platform/android/docker/filesystem/etc/apt/sources.list.d/google-cloud-sdk.list new file mode 100644 index 000000000..687dba5ed --- /dev/null +++ b/platform/android/docker/filesystem/etc/apt/sources.list.d/google-cloud-sdk.list @@ -0,0 +1 @@ +deb http://packages.cloud.google.com/apt cloud-sdk-xenial main diff --git a/platform/android/docker/filesystem/etc/apt/sources.list.d/llvm.list b/platform/android/docker/filesystem/etc/apt/sources.list.d/llvm.list new file mode 100644 index 000000000..906c29eb1 --- /dev/null +++ b/platform/android/docker/filesystem/etc/apt/sources.list.d/llvm.list @@ -0,0 +1,2 @@ +deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main +deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main diff --git a/platform/android/docker/filesystem/etc/apt/sources.list.d/toolchain.list b/platform/android/docker/filesystem/etc/apt/sources.list.d/toolchain.list new file mode 100644 index 000000000..76d1868cc --- /dev/null +++ b/platform/android/docker/filesystem/etc/apt/sources.list.d/toolchain.list @@ -0,0 +1,2 @@ +deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main +deb-src http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main diff --git a/platform/android/docker/filesystem/libsysconfcpus.tar.gz b/platform/android/docker/filesystem/libsysconfcpus.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..bc066ff2cfb3624815e41ac1af4b95d06c182216 GIT binary patch literal 3857 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 literal 0 HcmV?d00001 diff --git a/platform/android/docker/filesystem/tmp/google-cloud-sdk.gpg b/platform/android/docker/filesystem/tmp/google-cloud-sdk.gpg new file mode 100644 index 0000000000000000000000000000000000000000..37fc65d93a28237405daaa9d87dedf4c7073c87f GIT binary patch literal 1326 zcmbQq$jcHc`)U&-2g9#fLK9^yzXxrYr(;zeJc;EEN8*|X{mT}%zDvJcl@=lU|EKDW zj|FcsJR-f`+o*}{eHyl?Zp(b{>+Gf4i+{WAjxuLhl&;=u`~Sx01)NVV6|lY)<@a&- ztvPRMHPJ(6YSMMz@68$0u3kw9V6dGgFzu}2rBdc=LT9GDbh=R(B1k ze|7R{v9(8a9~cS!c5!w-?WOt7-!sRktVBrc11AaU2_S zZEwrMOSX$x{_AA@)yx04ySdfwXYbeGs(}187c4k?vtQRF+H_d z!LhU?KR2-?Gg%=xGd(XeFI~YqwNk+*Jz2LTH8IyA9jr+&IX~B~lhKYvn30J=gOv#s zuuRhWtemWiXEm^Kb8@gVGqH(sFmZBmvxqSYI0{bOzSDUIhTuff7`qpCi+5L-)+aoN5%kq7^dzUX%{xa)xu?f?`T+XK{ zr6!Ypmv4-X*i`j#nia>cKVA`=KCFHDUou)zWb+4$8z1iecg?D6ixw)H|2-wXcv3*x z+}-9z&3vW%ycwNTC3O_O`Nb5iznnjDn(!*MY0>++Uu|Eohvkj#dGEhhL^_oPQkr&| zai+=m&)KQALfi4jy2oCX788Q`k4S`dS03B+l4t+s!Y6Om3h3TnFx?~aI&bKi_UU@P zjc!rPd!DhzH*8>HV4ev~mQe>YZUd9$Yw>t4&fSvJ`gnV|uT~y8$W>Jpc_2W2mQeft zmhUI7f9-i5pmlZ~=RD2>Jwaa%yV%70E;xB|Tl+5d+u6O(S4m2nO{#d?`bKg64E^OT z!q=C1rRer;nWm&>ce5$t(18b=*j2>K^H#Zix$)f5DWXboE^Bj$E}#Gp>EmIKnkixaE<{Blf+`c7C7bo1R^IWs(pWCf&8hpnH{& zhUfoFz3~TUuFLHx+o!*i4O?DQWXWk9Xh{8J2?|)^l4TY%x8g4LFTX#& zXa67Ceq(d}+~CC7Q!ZT%&v=Og!xPKH@C6$7tNKVg&o@!jSl@v(Au z<~H7GKCSGzDBek`@2l9Ux!)h{HF#?^=KLx zoVng%3zs)%$->FMsUiiq&Nt0;fa-oqg} zw*2k;uZ|9S1!n6^x{V+GUfQbteXDhEv(lUk@B1?vTTH9kuk*Y T%Jq}_uDfP$*yvk+2$U=Ve7#Fb literal 0 HcmV?d00001 diff --git a/platform/android/docker/filesystem/tmp/llvm.gpg b/platform/android/docker/filesystem/tmp/llvm.gpg new file mode 100644 index 0000000000000000000000000000000000000000..1af748690151038a1f3f58ee813f620f45422279 GIT binary patch literal 2236 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 literal 0 HcmV?d00001 diff --git a/platform/android/docker/filesystem/tmp/toolchain.gpg b/platform/android/docker/filesystem/tmp/toolchain.gpg new file mode 100644 index 0000000000000000000000000000000000000000..8771a79ac5c98acfbea1d026e80020ebf8df5384 GIT binary patch literal 355 zcmV-p0i6DrjRZ>IZ$|+H0LZv-HrnqQN@=PWjO}OCb^JuCLQNHAJnw`GH z76JnS0v-VZ7k~f?2@oEWccQwU@_#Xk1O741N{s*{r3dLg4-rKksW2(8^N3i0mO{|W zC}#R9v-3!8MVk9A&)G$WWznRR=da-{?G^bu;wM`?snd3qsiY~@$N*Q`ybU;<>C?|5 z0VmCb0YvvU9yzi@F{6z5iIWYQ%$h=zW&UsFHq(oR9=N}ja&Cvg*hQo>6*FJJ{}mZg BoSFat literal 0 HcmV?d00001