| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 1 | # Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | 2 | # you may not use this file except in compliance with the License. | 
|  | 3 | # You may obtain a copy of the License at | 
|  | 4 | # | 
|  | 5 | #     http://www.apache.org/licenses/LICENSE-2.0 | 
|  | 6 | # | 
|  | 7 | # Unless required by applicable law or agreed to in writing, software | 
|  | 8 | # distributed under the License is distributed on an "AS IS" BASIS, | 
|  | 9 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | 10 | # See the License for the specific language governing permissions and | 
|  | 11 | # limitations under the License. | 
|  | 12 |  | 
|  | 13 | # | 
|  | 14 | # Apache Thrift Docker build environment for Ubuntu Focal | 
|  | 15 | # with some updated packages. | 
|  | 16 | # | 
|  | 17 |  | 
|  | 18 | FROM buildpack-deps:focal-scm | 
|  | 19 | LABEL MAINTAINER="Apache Thrift <dev@thrift.apache.org>" | 
|  | 20 | ENV DEBIAN_FRONTEND=noninteractive | 
|  | 21 |  | 
|  | 22 | ### Add apt repos | 
|  | 23 |  | 
| Jiayu Liu | c5d0324 | 2022-09-26 23:04:26 +0800 | [diff] [blame] | 24 | RUN apt-get update -yq && \ | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 25 | apt-get dist-upgrade -y && \ | 
|  | 26 | apt-get install -y --no-install-recommends --fix-missing \ | 
|  | 27 | apt \ | 
|  | 28 | apt-transport-https \ | 
|  | 29 | apt-utils \ | 
|  | 30 | curl \ | 
|  | 31 | dirmngr \ | 
|  | 32 | software-properties-common \ | 
|  | 33 | wget | 
|  | 34 |  | 
| Thomas | 6768584 | 2024-03-04 21:32:26 +0900 | [diff] [blame] | 35 | # Create a user | 
|  | 36 | ARG user=build | 
|  | 37 | ARG group=build | 
|  | 38 | ARG uid=1000 | 
|  | 39 | ARG gid=1000 | 
|  | 40 |  | 
|  | 41 | RUN apt-get install -y --no-install-recommends sudo && \ | 
|  | 42 | echo "Running with: UID: ${uid}, User: ${user}, GID: ${gid}, Group: ${group}" && \ | 
| Thomas | 5f563e9 | 2024-03-06 23:26:22 +0900 | [diff] [blame] | 43 | if [ -z `cat /etc/group | grep "${group}:"` ] && [ -z `cat /etc/group | grep ":${gid}:"` ]; then addgroup --gid ${gid} ${group}; fi && \ | 
|  | 44 | if [ -z `cat /etc/passwd | grep "${user}:"` ] && [ -z `cat /etc/passwd | grep ":${uid}:"` ]; then adduser --uid ${uid} --gid ${gid} --shell /bin/bash ${user} --disabled-password -q --gecos ""; fi && \ | 
|  | 45 | echo "${user} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \ | 
|  | 46 | mkdir -p /home/${user} && \ | 
|  | 47 | chown -R ${user}:${group} /home/${user} | 
| Thomas | 6768584 | 2024-03-04 21:32:26 +0900 | [diff] [blame] | 48 |  | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 49 | # Dart | 
|  | 50 | RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \ | 
|  | 51 | curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \ | 
|  | 52 | /etc/apt/sources.list.d/dart_stable.list | 
|  | 53 |  | 
|  | 54 | # dotnet (netcore) | 
|  | 55 | RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \ | 
| Thomas | c890ed4 | 2024-02-25 19:58:30 +0900 | [diff] [blame] | 56 | wget -q -O /etc/apt/sources.list.d/microsoft-prod.list https://packages.microsoft.com/config/ubuntu/20.04/prod.list && \ | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 57 | chown root:root /etc/apt/trusted.gpg.d/microsoft.gpg && \ | 
|  | 58 | chown root:root /etc/apt/sources.list.d/microsoft-prod.list | 
|  | 59 |  | 
|  | 60 | # node.js | 
|  | 61 | RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ | 
|  | 62 | echo "deb https://deb.nodesource.com/node_16.x focal main" | tee /etc/apt/sources.list.d/nodesource.list | 
|  | 63 |  | 
|  | 64 | ### install general dependencies | 
| Jiayu Liu | c5d0324 | 2022-09-26 23:04:26 +0800 | [diff] [blame] | 65 | RUN apt-get update -yq && \ | 
|  | 66 | apt-get install -y --no-install-recommends \ | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 67 | `# General dependencies` \ | 
|  | 68 | bash-completion \ | 
|  | 69 | bison \ | 
|  | 70 | build-essential \ | 
|  | 71 | clang \ | 
|  | 72 | cmake \ | 
|  | 73 | debhelper \ | 
|  | 74 | flex \ | 
|  | 75 | gdb \ | 
|  | 76 | libasound2 \ | 
|  | 77 | libatk-bridge2.0-0 \ | 
|  | 78 | libgtk-3-0 \ | 
|  | 79 | llvm \ | 
|  | 80 | ninja-build \ | 
|  | 81 | pkg-config \ | 
|  | 82 | unzip \ | 
|  | 83 | valgrind \ | 
|  | 84 | vim | 
|  | 85 | ENV PATH /usr/lib/llvm-6.0/bin:$PATH | 
|  | 86 |  | 
|  | 87 | # lib/as3 (ActionScript) | 
|  | 88 | RUN mkdir -p /usr/local/adobe/flex/4.6 && \ | 
|  | 89 | cd /usr/local/adobe/flex/4.6 && \ | 
|  | 90 | wget -q "http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip" && \ | 
|  | 91 | unzip flex_sdk_4.6.zip | 
|  | 92 | ENV FLEX_HOME /usr/local/adobe/flex/4.6 | 
|  | 93 |  | 
|  | 94 | # TODO: "apt-get install" without "apt-get update" in the same "RUN" step can cause cache issues if modified later. | 
|  | 95 | # See https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run | 
|  | 96 | RUN apt-get install -y --no-install-recommends \ | 
|  | 97 | `# C++ dependencies` \ | 
|  | 98 | libboost-all-dev \ | 
|  | 99 | libevent-dev \ | 
|  | 100 | libssl-dev \ | 
|  | 101 | qt5-default \ | 
|  | 102 | qtbase5-dev \ | 
|  | 103 | qtbase5-dev-tools | 
|  | 104 |  | 
|  | 105 | ENV SBCL_VERSION 1.5.3 | 
|  | 106 | RUN \ | 
|  | 107 | `# Common Lisp (sbcl) dependencies` \ | 
|  | 108 | curl --version && \ | 
|  | 109 | curl -o sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 -J -L https://sourceforge.net/projects/sbcl/files/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2/download?use_mirror=managedway# && \ | 
|  | 110 | tar xjf sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \ | 
|  | 111 | cd sbcl-${SBCL_VERSION}-x86-64-linux && \ | 
|  | 112 | ./install.sh && \ | 
|  | 113 | sbcl --version && \ | 
|  | 114 | cd .. && \ | 
|  | 115 | rm -rf sbcl* | 
|  | 116 |  | 
|  | 117 | ENV D_VERSION     2.087.0 | 
|  | 118 | ENV DMD_DEB       dmd_2.087.0-0_amd64.deb | 
|  | 119 | RUN \ | 
|  | 120 | `# D dependencies` \ | 
|  | 121 | wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \ | 
|  | 122 | dpkg --install ${DMD_DEB} && \ | 
|  | 123 | rm -f ${DMD_DEB} && \ | 
|  | 124 | mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \ | 
|  | 125 | git clone -b 'v2.0.2+2.0.16' https://github.com/D-Programming-Deimos/libevent.git deimos-libevent-2.0 && \ | 
|  | 126 | mv deimos-libevent-2.0/deimos/* /usr/include/dmd/druntime/import/deimos/ && \ | 
|  | 127 | mv deimos-libevent-2.0/C/* /usr/include/dmd/druntime/import/C/ && \ | 
|  | 128 | rm -rf deimos-libevent-2.0 && \ | 
|  | 129 | git clone -b 'v2.0.0+1.1.0h' https://github.com/D-Programming-Deimos/openssl.git deimos-openssl-1.1.0h && \ | 
|  | 130 | mv deimos-openssl-1.1.0h/deimos/* /usr/include/dmd/druntime/import/deimos/ && \ | 
|  | 131 | mv deimos-openssl-1.1.0h/C/* /usr/include/dmd/druntime/import/C/ && \ | 
|  | 132 | rm -rf deimos-openssl-1.1.0h | 
|  | 133 |  | 
|  | 134 | ENV DART_VERSION 2.7.2-1 | 
|  | 135 | RUN apt-get install -y --no-install-recommends \ | 
|  | 136 | `# Dart dependencies` \ | 
|  | 137 | dart=$DART_VERSION | 
|  | 138 | ENV PATH /usr/lib/dart/bin:$PATH | 
|  | 139 |  | 
|  | 140 | RUN apt-get install -y --no-install-recommends \ | 
|  | 141 | `# dotnet core dependencies` \ | 
| Jens Geyer | 4115e95 | 2023-11-21 23:00:01 +0100 | [diff] [blame] | 142 | dotnet-sdk-8.0 \ | 
|  | 143 | dotnet-runtime-8.0 \ | 
|  | 144 | aspnetcore-runtime-8.0 \ | 
|  | 145 | dotnet-apphost-pack-8.0 | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 146 |  | 
|  | 147 | # Erlang dependencies | 
|  | 148 | ARG ERLANG_OTP_VERSION=23.3.4.11 | 
|  | 149 | ARG ERLANG_REBAR_VERSION=3.18.0 | 
|  | 150 | RUN apt-get update && apt-get install -y --no-install-recommends libncurses5-dev && \ | 
|  | 151 | curl -ssLo /usr/local/bin/kerl https://raw.githubusercontent.com/kerl/kerl/master/kerl && chmod +x /usr/local/bin/kerl && \ | 
|  | 152 | kerl build $ERLANG_OTP_VERSION && kerl install $ERLANG_OTP_VERSION /usr/local/lib/otp/ && . /usr/local/lib/otp/activate && \ | 
|  | 153 | curl -ssLo /usr/local/bin/rebar3 https://github.com/erlang/rebar3/releases/download/${ERLANG_REBAR_VERSION}/rebar3 && chmod +x /usr/local/bin/rebar3 && \ | 
|  | 154 | rebar3 --version | 
|  | 155 | ENV PATH /usr/local/lib/otp/bin:$PATH | 
|  | 156 |  | 
|  | 157 | RUN apt-get install -y --no-install-recommends \ | 
|  | 158 | `# GlibC dependencies` \ | 
|  | 159 | libglib2.0-dev | 
|  | 160 |  | 
|  | 161 | # golang | 
| Thomas | fd29ab1 | 2024-02-28 20:40:30 +0900 | [diff] [blame] | 162 | ENV GOLANG_VERSION 1.21.7 | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 163 | ENV GOLANG_DOWNLOAD_URL https://go.dev/dl/go$GOLANG_VERSION.linux-amd64.tar.gz | 
| Thomas | fd29ab1 | 2024-02-28 20:40:30 +0900 | [diff] [blame] | 164 | ENV GOLANG_DOWNLOAD_SHA256 13b76a9b2a26823e53062fa841b07087d48ae2ef2936445dc34c4ae03293702c | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 165 | RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \ | 
|  | 166 | echo "$GOLANG_DOWNLOAD_SHA256  golang.tar.gz" | sha256sum -c - && \ | 
|  | 167 | tar -C /usr/local -xzf golang.tar.gz && \ | 
|  | 168 | ln -s /usr/local/go/bin/go /usr/local/bin && \ | 
|  | 169 | rm golang.tar.gz | 
|  | 170 |  | 
| Thomas | 6768584 | 2024-03-04 21:32:26 +0900 | [diff] [blame] | 171 | # HAXE | 
|  | 172 | ARG HAXE_VERSION=4.2.1 | 
|  | 173 | ARG NEKO_VERSION=2.3.0 | 
|  | 174 | RUN cd $HOME && \ | 
|  | 175 | `# Haxe dependencies` && \ | 
|  | 176 | wget https://github.com/HaxeFoundation/haxe/releases/download/${HAXE_VERSION}/haxe-${HAXE_VERSION}-linux64.tar.gz && \ | 
|  | 177 | tar xvf haxe-${HAXE_VERSION}-linux64.tar.gz && \ | 
|  | 178 | rm haxe-${HAXE_VERSION}-linux64.tar.gz && \ | 
|  | 179 | mv haxe_* /opt/haxe && \ | 
|  | 180 | wget https://github.com/HaxeFoundation/neko/releases/download/v`echo ${NEKO_VERSION} | sed "s/\./-/g"`/neko-${NEKO_VERSION}-linux64.tar.gz && \ | 
|  | 181 | tar xvf neko-${NEKO_VERSION}-linux64.tar.gz && \ | 
|  | 182 | rm neko-${NEKO_VERSION}-linux64.tar.gz && \ | 
|  | 183 | mv neko-* /opt/neko | 
|  | 184 | ENV PATH /opt/haxe:/opt/neko:$PATH | 
|  | 185 | RUN echo "/opt/neko" > /etc/ld.so.conf.d/neko.conf && \ | 
| Thomas | 5f563e9 | 2024-03-06 23:26:22 +0900 | [diff] [blame] | 186 | ldconfig | 
|  | 187 | USER ${user} | 
|  | 188 | RUN mkdir -p $HOME/haxe/lib && \ | 
|  | 189 | haxelib setup --always $HOME/haxe/lib && \ | 
|  | 190 | haxelib install --always hxcpp 2>&1 > /dev/null && \ | 
|  | 191 | haxelib install --always uuid 2>&1 > /dev/null | 
|  | 192 | USER root | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 193 |  | 
| Jiayu Liu | d40dd72 | 2023-10-19 08:37:49 +0800 | [diff] [blame] | 194 | ENV GRADLE_VERSION="8.4" | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 195 | RUN apt-get install -y --no-install-recommends \ | 
|  | 196 | `# Java dependencies` \ | 
|  | 197 | ant \ | 
|  | 198 | ant-optional \ | 
|  | 199 | maven \ | 
| Jiayu Liu | 92b007f | 2022-10-14 13:16:18 +0800 | [diff] [blame] | 200 | openjdk-17-jdk-headless && \ | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 201 | `# Gradle` \ | 
|  | 202 | wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip && \ | 
| Jiayu Liu | d40dd72 | 2023-10-19 08:37:49 +0800 | [diff] [blame] | 203 | (echo "3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -) && \ | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 204 | unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip && \ | 
|  | 205 | mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle && \ | 
|  | 206 | ln -s /usr/local/gradle/bin/gradle /usr/local/bin | 
|  | 207 |  | 
|  | 208 | RUN apt-get install -y --no-install-recommends \ | 
|  | 209 | `# Lua dependencies` \ | 
|  | 210 | lua5.2 \ | 
|  | 211 | lua5.2-dev | 
|  | 212 | # https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212 | 
|  | 213 | # lua5.3 does not install alternatives! | 
|  | 214 | # need to update our luasocket code, lua doesn't have luaL_openlib any more | 
|  | 215 |  | 
|  | 216 | RUN apt-get install -y --no-install-recommends \ | 
|  | 217 | `# Node.js dependencies` \ | 
|  | 218 | nodejs | 
|  | 219 |  | 
|  | 220 | # Test dependencies for running puppeteer | 
|  | 221 | RUN apt-get install -y --no-install-recommends \ | 
|  | 222 | `# JS dependencies` \ | 
|  | 223 | libxss1 \ | 
|  | 224 | libxtst6 | 
|  | 225 |  | 
|  | 226 | RUN apt-get install -y --no-install-recommends \ | 
|  | 227 | `# OCaml dependencies` \ | 
|  | 228 | ocaml \ | 
|  | 229 | opam && \ | 
| Jiayu Liu | fb7df3c | 2022-09-24 08:59:30 +0800 | [diff] [blame] | 230 | `# disable sandboxing see https://github.com/ocaml/opam/issues/4327` \ | 
|  | 231 | opam init --yes --disable-sandboxing && \ | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 232 | opam install --yes oasis | 
|  | 233 |  | 
|  | 234 | RUN apt-get install -y --no-install-recommends \ | 
|  | 235 | `# Perl dependencies` \ | 
|  | 236 | libbit-vector-perl \ | 
|  | 237 | libclass-accessor-class-perl \ | 
|  | 238 | libcrypt-ssleay-perl \ | 
|  | 239 | libio-socket-ssl-perl \ | 
|  | 240 | libnet-ssleay-perl \ | 
|  | 241 | libtest-exception-perl | 
|  | 242 |  | 
|  | 243 | RUN apt-get install -y --no-install-recommends \ | 
|  | 244 | `# Php dependencies` \ | 
| Thomas | f515517 | 2024-03-05 22:13:22 +0900 | [diff] [blame] | 245 | php7.4 \ | 
|  | 246 | php7.4-cli \ | 
|  | 247 | php7.4-dev \ | 
|  | 248 | php7.4-mbstring \ | 
|  | 249 | php7.4-xml \ | 
|  | 250 | php7.4-curl \ | 
|  | 251 | php7.4-xdebug \ | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 252 | php-pear \ | 
|  | 253 | re2c \ | 
|  | 254 | composer | 
|  | 255 |  | 
|  | 256 | RUN apt-get install -y --no-install-recommends \ | 
|  | 257 | `# Python3 dependencies` \ | 
|  | 258 | python3-all \ | 
|  | 259 | python3-all-dbg \ | 
|  | 260 | python3-all-dev \ | 
|  | 261 | python3-pip \ | 
|  | 262 | python3-setuptools \ | 
|  | 263 | python3-six \ | 
|  | 264 | python3-tornado \ | 
|  | 265 | python3-twisted \ | 
|  | 266 | python3-wheel \ | 
|  | 267 | python3-zope.interface | 
|  | 268 |  | 
|  | 269 | RUN apt-get install -y --no-install-recommends \ | 
|  | 270 | `# Ruby dependencies` \ | 
|  | 271 | ruby \ | 
|  | 272 | ruby-dev \ | 
|  | 273 | ruby-bundler | 
|  | 274 |  | 
| Thomas | 6768584 | 2024-03-04 21:32:26 +0900 | [diff] [blame] | 275 | USER ${user} | 
|  | 276 | RUN `# Rust dependencies` \ | 
| Jiayu Liu | 294e371 | 2024-09-29 00:13:50 +0800 | [diff] [blame] | 277 | curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain 1.81.0 -y | 
| Thomas | 6768584 | 2024-03-04 21:32:26 +0900 | [diff] [blame] | 278 | ENV PATH /home/${user}/.cargo/bin:$PATH | 
|  | 279 | USER root | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 280 |  | 
|  | 281 | # Swift on Linux for cross tests | 
| Jiayu Liu | c5d0324 | 2022-09-26 23:04:26 +0800 | [diff] [blame] | 282 | RUN apt-get install -yq \ | 
|  | 283 | libedit-dev \ | 
|  | 284 | libz3-dev \ | 
|  | 285 | libpython2-dev \ | 
|  | 286 | libxml2-dev && \ | 
|  | 287 | cd / && \ | 
| Kino Roy | c495448 | 2022-11-19 22:52:04 -0800 | [diff] [blame] | 288 | wget --quiet https://download.swift.org/swift-5.7-release/ubuntu2004/swift-5.7-RELEASE/swift-5.7-RELEASE-ubuntu20.04.tar.gz && \ | 
|  | 289 | tar xf swift-5.7-RELEASE-ubuntu20.04.tar.gz && \ | 
|  | 290 | mv swift-5.7-RELEASE-ubuntu20.04 /usr/share/swift && \ | 
|  | 291 | rm swift-5.7-RELEASE-ubuntu20.04.tar.gz | 
|  | 292 |  | 
|  | 293 | ENV PATH /usr/share/swift/usr/bin:$PATH | 
|  | 294 | RUN swift --version | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 295 |  | 
|  | 296 | # Locale(s) for cpp unit tests | 
|  | 297 | RUN apt-get install -y --no-install-recommends \ | 
|  | 298 | `# Locale dependencies` \ | 
|  | 299 | locales && \ | 
|  | 300 | locale-gen en_US.UTF-8 && \ | 
|  | 301 | locale-gen de_DE.UTF-8 && \ | 
|  | 302 | update-locale | 
|  | 303 |  | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 304 | RUN apt-get install -y --no-install-recommends \ | 
|  | 305 | `# Static Code Analysis dependencies` \ | 
|  | 306 | cppcheck \ | 
|  | 307 | sloccount && \ | 
| Jiayu Liu | c5d0324 | 2022-09-26 23:04:26 +0800 | [diff] [blame] | 308 | pip install flake8 | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 309 |  | 
|  | 310 | # NOTE: this does not reduce the image size but adds an additional layer. | 
|  | 311 | # # Clean up | 
|  | 312 | # RUN rm -rf /var/cache/apt/* && \ | 
|  | 313 | #     rm -rf /var/lib/apt/lists/* && \ | 
|  | 314 | #     rm -rf /tmp/* && \ | 
|  | 315 | #     rm -rf /var/tmp/* | 
|  | 316 |  | 
|  | 317 | ENV THRIFT_ROOT /thrift | 
| Thomas | c890ed4 | 2024-02-25 19:58:30 +0900 | [diff] [blame] | 318 | RUN mkdir -p $THRIFT_ROOT/src && \ | 
|  | 319 | chown -R ${uid}:${uid} $THRIFT_ROOT/ | 
| Jiayu Liu | f027dee | 2022-09-19 14:26:37 +0800 | [diff] [blame] | 320 | COPY Dockerfile $THRIFT_ROOT/ | 
|  | 321 | WORKDIR $THRIFT_ROOT/src | 
| Thomas | c890ed4 | 2024-02-25 19:58:30 +0900 | [diff] [blame] | 322 |  | 
|  | 323 | USER ${user} |