diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2016-12-14 13:58:04 +0000 |
---|---|---|
committer | Fathi Boudra <fathi.boudra@linaro.org> | 2016-12-14 15:00:12 +0000 |
commit | 520a086f891b8f5be7931d254d4e84318bd61099 (patch) | |
tree | 4d92f035b1d5d90b8f4287f67460513a712cf100 /xenial-amd64-tcwg-build/Dockerfile | |
parent | 76ce35b8e16741286791e8a25aa4c31ba8128202 (diff) |
xenial-*-tcwg-{build,test}: Add TCWG Xenial images as copies of Trusty images
... next commit will change bits to actually upgrade to xenial
from trusty.
Change-Id: Ibc2ec4931ec69ea4e4461bf8e763d945342762f9
Diffstat (limited to 'xenial-amd64-tcwg-build/Dockerfile')
-rw-r--r-- | xenial-amd64-tcwg-build/Dockerfile | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/xenial-amd64-tcwg-build/Dockerfile b/xenial-amd64-tcwg-build/Dockerfile new file mode 100644 index 0000000..dfc5ed6 --- /dev/null +++ b/xenial-amd64-tcwg-build/Dockerfile @@ -0,0 +1,103 @@ +FROM ubuntu:trusty + +COPY tcwg-buildslave/.ssh /etc/skel/.ssh + +RUN dpkg --add-architecture i386 \ + && apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y devscripts \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + alien \ + autoconf \ + autogen \ + automake \ + bc \ + bison \ + build-essential \ + ccache \ + ccrypt \ + byacc \ + debhelper \ + dejagnu \ + dh-autoreconf \ + dh-translations \ + distro-info-data \ + emacs \ + fakeroot \ + flex \ + g++-multilib \ + gawk \ + gdb \ + gdbserver \ + git \ + libexpat1-dev \ + liblzma-dev \ + libncurses5-dev \ + libpython2.7-dev \ + libreadline-dev \ + libssl-dev \ + libtcnative-1 \ + libtool \ + lzop \ + make \ + mingw-w64 \ + mingw32 \ + net-tools \ + netcat \ + openjdk-7-jdk \ + openssh-server \ + python-dev \ + pxz \ + qemu-user \ + rsync \ + sudo \ + texinfo \ + texlive-fonts-recommended \ + texlive-latex-recommended \ + time \ + vim \ + wget \ + wine \ + xz-utils \ + zip \ + zlib1g-dev \ + && apt-get clean \ + && rm -rf \ + /var/lib/apt/lists/* \ + /tmp/* \ + /var/tmp/* + +RUN chmod 0700 /etc/skel/.ssh \ + && groupadd -g 9000 tcwg-infra \ + && useradd -m -g tcwg-infra -u 11827 tcwg-buildslave \ + && rm -rf /etc/skel/.ssh \ + && echo 'tcwg-buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins \ + && chmod 440 /etc/sudoers.d/jenkins \ + && install -D -p -m0755 /usr/share/doc/git/contrib/workdir/git-new-workdir /usr/local/bin/git-new-workdir \ + && sed -i -e 's:^session *required *pam_loginuid.so:# session required pam_loginuid.so:' /etc/pam.d/sshd \ + && mkdir -p /var/run/sshd \ + && mkdir -p /home/tcwg-buildslave/workspace \ + && chown tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/workspace + +# Unfortunately, VOLUME doesn't support bind-mounts for portability reasons. +# Therefore, the bind-mounts for the following paths are configured in +# the ci.linaro.org's docker plugin. +# Sources caches (read-only): +# /home/tcwg-buildslave/snapshots-ref:/home/tcwg-buildslave/snapshots-ref:ro +# Jenkins .jar cache (read-write): +# /home/tcwg-buildslave/.jenkins:/home/tcwg-buildslave/.jenkins:rw + +# We write most of the data inside workspace, so make it a scratch mount. +# Note that bind-mounting workspace from host will make jobs with parallel +# builds fail. +VOLUME /home/tcwg-buildslave/workspace + +# We use ssh multiplexing, which creates sockets in /tmp. Overlayfs, +# which docker is using can't host sockets, so we use a scratch mount +# for /tmp. This requires that we add --rm option to "docker run" +# invocations (e.g., mark "Remove volumes" checkbox in docker plugin) to +# cleanup host directories used for the scratch mounts. +VOLUME /tmp + +EXPOSE 22 +CMD ["/usr/sbin/sshd", "-D"] |