aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2017-09-08 08:48:01 +0000
committerLinaro Code Review <review@review.linaro.org>2017-09-08 08:48:01 +0000
commit83b66e78944f507632047e2572c6c4c6fd6159b2 (patch)
tree13e9a764602d956dbf14f612cc76bce51bac3d54
parent2434ad9ab3681d70cca3b925540eb69af34debee (diff)
parent251ff4a2bafa59355f363b6eb89845cfd9bb5022 (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.in156
-rw-r--r--tcwg-base/tcwg-build/Dockerfile.in28
-rw-r--r--tcwg-base/tcwg-build/tcwg-test/Dockerfile.in7
-rw-r--r--tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in36
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/*