diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2017-09-08 08:48:01 +0000 |
---|---|---|
committer | Linaro Code Review <review@review.linaro.org> | 2017-09-08 08:48:01 +0000 |
commit | 83b66e78944f507632047e2572c6c4c6fd6159b2 (patch) | |
tree | 13e9a764602d956dbf14f612cc76bce51bac3d54 | |
parent | 2434ad9ab3681d70cca3b925540eb69af34debee (diff) | |
parent | 251ff4a2bafa59355f363b6eb89845cfd9bb5022 (diff) |
Merge changes I7cfd5615,I8dd1ee46,I31887874,I78e94f7c
* changes:
tcwg-base/tcwg-dev/tcwg-x2go: Add Dockerfile.in template for *-tcwg-x2go images.
tcwg-base/tcwg-build/tcwg-test: Add Dockerfile.in template for *-tcwg-test images
tcwg-base/tcwg-build/: Add Dockerfile.in template for *-tcwg-build images
tcwg-base: Add Dockerfile.in template for *-tcwg-base images
-rw-r--r-- | tcwg-base/Dockerfile.in | 156 | ||||
-rw-r--r-- | tcwg-base/tcwg-build/Dockerfile.in | 28 | ||||
-rw-r--r-- | tcwg-base/tcwg-build/tcwg-test/Dockerfile.in | 7 | ||||
-rw-r--r-- | tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in | 36 |
4 files changed, 227 insertions, 0 deletions
diff --git a/tcwg-base/Dockerfile.in b/tcwg-base/Dockerfile.in new file mode 100644 index 00000000..44b756eb --- /dev/null +++ b/tcwg-base/Dockerfile.in @@ -0,0 +1,156 @@ +#if ARCH_amd64 +FROM ubuntu:#{DISTRO} +#elif DISTRO_zesty +FROM snapcraft/zesty-#{ARCH}:latest +#else +FROM linaro/base-#{ARCH}-ubuntu:#{DISTRO} +#endif + +#if ARCH_amd64 || ARCH_i386 +RUN (url="http://archive.ubuntu.com/ubuntu/"; \ +#else +RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ +#endif + ubuntu=#{DISTRO}; \ + for i in $ubuntu $ubuntu-updates $ubuntu-backports $ubuntu-security; do \ + for j in deb deb-src; do \ + echo "$j $url $i main restricted universe multiverse"; \ + done; \ + echo; \ + done) > /etc/apt/sources.list \ +#if ARCH_amd64 + && dpkg --add-architecture i386 \ +#endif + && apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \ +#if ARCH_i386 + && dpkg-divert --local --rename --add /sbin/initctl \ + && ln -s /bin/true /sbin/initctl \ +#endif + && 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 \ + byacc \ + ccache \ + ccrypt \ + chrpath \ + clang \ + cmake \ + debhelper \ + dejagnu \ + dh-autoreconf \ + dh-translations \ + distro-info-data \ + emacs \ + fakeroot \ + flex \ +#if ARCH_amd64 || ARCH_i386 + g++-multilib \ +#endif + gawk \ + gdb \ + gdbserver \ + git \ + groff \ + libexpat1-dev \ +#if ARCH_amd64 || ARCH_i386 + libglib2.0-dev \ +#endif + liblzma-dev \ + libncurses5-dev \ + libpython2.7-dev \ + libreadline-dev \ + libssl-dev \ + libtcnative-1 \ + libtool \ + lzop \ + make \ +#if ARCH_amd64 || ARCH_i386 + mingw-w64 \ +# if DISTRO_trusty + mingw32 \ +# endif +#endif + net-tools \ + netcat \ + ninja-build \ +#if DISTRO_trusty + openjdk-7-jdk \ +#else + openjdk-8-jdk \ +#endif + openssh-server \ +#if ARCH_amd64 || ARCH_i386 + pkg-config \ +#endif + python-dev \ +#if DISTRO_trusty + python-virtualenv \ +#endif + pxz \ + qemu-user \ + rsync \ + subversion \ + sudo \ + tclsh \ + texinfo \ + texlive-fonts-recommended \ + texlive-latex-recommended \ + time \ + valgrind \ + vim \ +#if !DISTRO_trusty + virtualenv \ +#endif + wget \ +#if ARCH_amd64 || ARCH_i386 + wine \ +#endif + xz-utils \ + zip \ + zlib1g-dev \ + && apt-get clean \ + && rm -rf \ + /var/lib/apt/lists/* \ + /tmp/* \ + /var/tmp/* + +RUN 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 \ + && sed -i \ + -e "/.*MaxStartups.*/d" \ + -e "/.*MaxSesssions.*/d" /etc/ssh/sshd_config \ + && echo "MaxStartups 256" >> /etc/ssh/sshd_config \ + && echo "MaxSessions 256" >> /etc/ssh/sshd_config + +#if ARCH_amd64 || ARCH_i386 +RUN mkdir /tmp/docker-install-qemu.$$ \ + && cd /tmp/docker-install-qemu.$$ \ + && qemu_ver=2.8.0 && wget --progress=dot:giga http://download.qemu-project.org/qemu-${qemu_ver}.tar.xz \ + && tar xf qemu-${qemu_ver}.tar.xz \ + && mkdir build && cd build \ + && ../qemu-${qemu_ver}/configure --prefix=/usr/local --target-list=armeb-linux-user \ + && make all install -j $(nproc --all) \ + && cd && rm -rf /tmp/docker-install-qemu.$$ + +#endif +# 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 +#if ARCH_amd64 || ARCH_arm64 +CMD ["/usr/sbin/sshd", "-D"] +#else +CMD ["linux32", "/usr/sbin/sshd", "-D"] +#endif diff --git a/tcwg-base/tcwg-build/Dockerfile.in b/tcwg-base/tcwg-build/Dockerfile.in new file mode 100644 index 00000000..c486e1d3 --- /dev/null +++ b/tcwg-base/tcwg-build/Dockerfile.in @@ -0,0 +1,28 @@ +FROM linaro/ci-#{ARCH}-tcwg-base-ubuntu:#{DISTRO} + +#if ARCH_amd64 && DISTRO_trusty +RUN groupadd -g 9000 tcwg-infra \ + && useradd -m -g tcwg-infra -u 11827 tcwg-buildslave \ + && useradd -m -g tcwg-infra -u 12326 tcwg-benchmark \ + && echo '%tcwg-infra ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins \ + && chmod 0440 /etc/sudoers.d/jenkins \ + && mkdir -p /home/tcwg-buildslave/workspace + +COPY tcwg-buildslave /home/tcwg-buildslave +COPY tcwg-benchmark /home/tcwg-benchmark + +RUN chown -R tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/ \ + && chown -R tcwg-benchmark:tcwg-infra /home/tcwg-benchmark/ \ + && chmod 0700 /home/tcwg-buildslave/.ssh/ /home/tcwg-benchmark/.ssh/ \ + && chmod 0600 /home/tcwg-buildslave/.ssh/* /home/tcwg-benchmark/.ssh/* +#else +RUN groupadd -g 9000 tcwg-infra \ + && useradd -m -g tcwg-infra -u 11827 tcwg-buildslave \ + && echo 'tcwg-buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins \ + && chmod 0440 /etc/sudoers.d/jenkins \ + && mkdir -p /home/tcwg-buildslave/workspace + +COPY tcwg-buildslave /home/tcwg-buildslave +RUN chown -R tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/ \ + && chmod 0700 /home/tcwg-buildslave/.ssh/ +#endif
\ No newline at end of file diff --git a/tcwg-base/tcwg-build/tcwg-test/Dockerfile.in b/tcwg-base/tcwg-build/tcwg-test/Dockerfile.in new file mode 100644 index 00000000..be59e965 --- /dev/null +++ b/tcwg-base/tcwg-build/tcwg-test/Dockerfile.in @@ -0,0 +1,7 @@ +FROM linaro/ci-#{ARCH}-tcwg-build-ubuntu:#{DISTRO} + +COPY tcwg-buildslave/.ssh /root/.ssh + +RUN chmod 0700 /root/.ssh/ \ + && sed -i -e "/.*PermitRootLogin.*/d" /etc/ssh/sshd_config \ + && echo "PermitRootLogin without-password" >> /etc/ssh/sshd_config diff --git a/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in b/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in new file mode 100644 index 00000000..888e48b8 --- /dev/null +++ b/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in @@ -0,0 +1,36 @@ +FROM linaro/ci-#{ARCH}-tcwg-dev-ubuntu:#{DISTRO} + +COPY start.sh . + +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y \ + ubuntu-desktop \ + && apt-get clean \ + && rm -rf \ + /var/lib/apt/lists/* \ + /tmp/* \ + /var/tmp/* + +RUN add-apt-repository ppa:x2go/stable \ + && apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y \ + duplicity \ + mate-desktop-environment \ + x2godesktopsharing \ + x2gomatebindings \ + x2goserver \ + x2goserver-xsession \ + && apt-get clean \ + && rm -rf \ + /var/lib/apt/lists/* \ + /tmp/* \ + /var/tmp/* + +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y \ + ddd \ + && apt-get clean \ + && rm -rf \ + /var/lib/apt/lists/* \ + /tmp/* \ + /var/tmp/* |