diff options
Diffstat (limited to 'security/nss/automation/clang-format')
-rw-r--r-- | security/nss/automation/clang-format/Dockerfile | 39 | ||||
-rw-r--r-- | security/nss/automation/clang-format/setup.sh | 44 |
2 files changed, 24 insertions, 59 deletions
diff --git a/security/nss/automation/clang-format/Dockerfile b/security/nss/automation/clang-format/Dockerfile index 163c9b8fa..e74dac09f 100644 --- a/security/nss/automation/clang-format/Dockerfile +++ b/security/nss/automation/clang-format/Dockerfile @@ -1,26 +1,35 @@ -FROM ubuntu:16.04 -MAINTAINER Franziskus Kiefer <franziskuskiefer@gmail.com> +# Minimal image with clang-format 3.9. +FROM ubuntu:18.04 +LABEL maintainer="Martin Thomson <martin.thomson@gmail.com>" -RUN useradd -d /home/worker -s /bin/bash -m worker -WORKDIR /home/worker +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + ca-certificates \ + clang-format-3.9 \ + locales \ + mercurial \ + && rm -rf /var/lib/apt/lists/* \ + && apt-get autoremove -y && apt-get clean -y -# Install dependencies. -ADD setup.sh /tmp/setup.sh -RUN bash /tmp/setup.sh +RUN update-alternatives --install /usr/bin/clang-format \ + clang-format $(which clang-format-3.9) 10 -# Change user. -USER worker - -# Env variables. -ENV HOME /home/worker ENV SHELL /bin/bash ENV USER worker -ENV LOGNAME worker +ENV LOGNAME $USER +ENV HOME /home/$USER ENV HOSTNAME taskcluster-worker ENV LANG en_US.UTF-8 -ENV LC_ALL en_US.UTF-8 +ENV LC_ALL $LANG ENV HOST localhost ENV DOMSUF localdomain -# Entrypoint. +RUN locale-gen $LANG \ + && DEBIAN_FRONTEND=noninteractive dpkg-reconfigure locales + +RUN useradd -d $HOME -s $SHELL -m $USER +WORKDIR $HOME +USER $USER + +# Entrypoint - which only works if /home/worker/nss is mounted. ENTRYPOINT ["/home/worker/nss/automation/clang-format/run_clang_format.sh"] diff --git a/security/nss/automation/clang-format/setup.sh b/security/nss/automation/clang-format/setup.sh deleted file mode 100644 index beac9e905..000000000 --- a/security/nss/automation/clang-format/setup.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env bash - -set -v -e -x - -# Update packages. -export DEBIAN_FRONTEND=noninteractive -apt-get -y update && apt-get -y upgrade - -# Install packages. -apt_packages=() -apt_packages+=('ca-certificates') -apt_packages+=('curl') -apt_packages+=('xz-utils') -apt_packages+=('mercurial') -apt_packages+=('git') -apt_packages+=('locales') -apt-get install -y --no-install-recommends ${apt_packages[@]} - -# Download clang. -curl -L https://releases.llvm.org/3.9.1/clang+llvm-3.9.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz -o clang.tar.xz -curl -L https://releases.llvm.org/3.9.1/clang+llvm-3.9.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz.sig -o clang.tar.xz.sig -# Verify the signature. -gpg --keyserver pool.sks-keyservers.net --recv-keys B6C8F98282B944E3B0D5C2530FC3042E345AD05D -gpg --verify clang.tar.xz.sig -# Install into /usr/local/. -tar xJvf *.tar.xz -C /usr/local --strip-components=1 - -# Cleanup. -function cleanup() { - rm -f clang.tar.xz clang.tar.xz.sig -} -trap cleanup ERR EXIT - -locale-gen en_US.UTF-8 -dpkg-reconfigure locales - -# Cleanup. -rm -rf ~/.ccache ~/.cache -apt-get autoremove -y -apt-get clean -apt-get autoclean - -# We're done. Remove this script. -rm $0 |