aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2018-08-10 16:42:06 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2018-08-10 16:42:13 +0000
commit6e3975d175a8b395efef4d374fa3c963c497fc40 (patch)
tree6fae5326868ad6d456ec9d2891ddd300419c2764
parent0d3d218cb7820c85f4f4bc2289dae04f05846eb6 (diff)
parent4987643128451853122837b70d5797400ff45a65 (diff)
downloaddockerfiles-tcwg-llvmprod.tar.gz
Merge commit '4987643128451853122837b70d5797400ff45a65' into tcwg-llvmprodtcwg-llvmprod
Change-Id: I4843c9c752c139339aff8cb744742769bf327bf2
-rw-r--r--README15
-rw-r--r--bionic-amd64-tcwg-base/Dockerfile123
-rw-r--r--bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/Dockerfile46
-rw-r--r--bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/Dockerfile36
l---------bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/build.sh1
l---------bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/gerrit-branches1
l---------bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/build.sh1
l---------bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/gerrit-branches1
l---------bionic-amd64-tcwg-base/build.sh1
l---------bionic-amd64-tcwg-base/gerrit-branches1
-rw-r--r--bionic-arm64-tcwg-base/Dockerfile118
-rw-r--r--bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/Dockerfile46
l---------bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/build.sh1
l---------bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/gerrit-branches1
l---------bionic-arm64-tcwg-base/build.sh1
l---------bionic-arm64-tcwg-base/gerrit-branches1
-rwxr-xr-xci-amd64-llp-alpine/docker_run.sh17
-rw-r--r--jessie-amd64-jenkins-master/Dockerfile4
-rw-r--r--jessie-amd64-jenkins-master/plugins.txt44
-rw-r--r--jessie-amd64/Dockerfile1
-rwxr-xr-xlava/dispatcher/build.sh44
-rwxr-xr-xlava/dispatcher/entrypoint.sh (renamed from lava/dispatcher/production/stretch-amd64/entrypoint.sh)18
-rw-r--r--lava/dispatcher/production/stretch-amd64/Dockerfile8
-rwxr-xr-xlava/dispatcher/production/stretch-amd64/build.sh19
-rw-r--r--lava/dispatcher/staging/stretch-amd64/Dockerfile46
-rw-r--r--stretch-amd64-ota/Dockerfile19
-rwxr-xr-xstretch-amd64-ota/build.sh21
-rw-r--r--stretch-arm64-testdef/Dockerfile17
-rwxr-xr-xstretch-arm64-testdef/build.sh13
-rw-r--r--stretch-armhf-testdef/Dockerfile17
-rwxr-xr-xstretch-armhf-testdef/build.sh13
-rw-r--r--tcwg-base/Dockerfile.in31
-rwxr-xr-xtcwg-base/build.sh4
-rw-r--r--tcwg-base/gerrit-branches2
-rw-r--r--tcwg-base/home-data/alex.bennee/.ssh/authorized_keys3
-rw-r--r--tcwg-base/home-data/alex.bennee/bootstrap.sh78
-rw-r--r--tcwg-base/home-data/christophe.lyon/.ssh/authorized_keys1
-rw-r--r--tcwg-base/home-data/group3
-rw-r--r--tcwg-base/home-data/maxim.kuvyrkov/.ssh/authorized_keys1
l---------tcwg-base/home-data/maxim.kuvyrkov/.ssh/config1
l---------tcwg-base/home-data/maxim.kuvyrkov/.ssh/known_hosts1
l---------tcwg-base/home-data/maxim.kuvyrkov/.ssh/ssh-tcwglab-nc.sh1
-rw-r--r--tcwg-base/home-data/omair.javaid/.ssh/authorized_keys1
-rw-r--r--tcwg-base/home-data/passwd10
-rw-r--r--tcwg-base/home-data/peter.smith/.ssh/authorized_keys1
-rw-r--r--tcwg-base/home-data/prathamesh.kulkarni/.ssh/authorized_keys1
-rw-r--r--tcwg-base/home-data/richard.henderson/.gitconfig7
-rw-r--r--tcwg-base/home-data/richard.henderson/.ssh/authorized_keys1
-rw-r--r--tcwg-base/home-data/tcwg-benchmark/.gitconfig (renamed from tcwg-base/tcwg-build/tcwg-benchmark/.gitconfig)0
-rw-r--r--tcwg-base/home-data/tcwg-benchmark/.ssh/authorized_keys (renamed from tcwg-base/tcwg-build/tcwg-benchmark/.ssh/authorized_keys)0
l---------tcwg-base/home-data/tcwg-benchmark/.ssh/config1
l---------tcwg-base/home-data/tcwg-benchmark/.ssh/known_hosts1
l---------tcwg-base/home-data/tcwg-benchmark/.ssh/ssh-tcwglab-nc.sh1
-rw-r--r--tcwg-base/home-data/tcwg-buildslave/.gitconfig (renamed from tcwg-base/tcwg-build/tcwg-buildslave/.gitconfig)0
-rw-r--r--tcwg-base/home-data/tcwg-buildslave/.mailrc (renamed from tcwg-base/tcwg-build/tcwg-buildslave/.mailrc)0
-rw-r--r--tcwg-base/home-data/tcwg-buildslave/.ssh/authorized_keys (renamed from tcwg-base/tcwg-build/tcwg-buildslave/.ssh/authorized_keys)0
-rw-r--r--tcwg-base/home-data/tcwg-buildslave/.ssh/config (renamed from tcwg-base/tcwg-build/tcwg-benchmark/.ssh/config)24
-rw-r--r--tcwg-base/home-data/tcwg-buildslave/.ssh/known_hosts (renamed from tcwg-base/tcwg-build/tcwg-benchmark/.ssh/known_hosts)5
-rwxr-xr-xtcwg-base/home-data/tcwg-buildslave/.ssh/ssh-tcwglab-nc.sh9
-rw-r--r--tcwg-base/home-data/thomas.preudhomme/.ssh/authorized_keys1
-rwxr-xr-xtcwg-base/new-user.sh112
-rw-r--r--tcwg-base/tcwg-build/Dockerfile.in20
-rwxr-xr-xtcwg-base/tcwg-build/build.sh5
-rw-r--r--tcwg-base/tcwg-build/tcwg-buildslave/.ssh/config60
-rw-r--r--tcwg-base/tcwg-build/tcwg-buildslave/.ssh/known_hosts30
-rw-r--r--tcwg-base/tcwg-build/tcwg-test/Dockerfile.in6
-rw-r--r--tcwg-base/tcwg-dev/Dockerfile.in9
-rwxr-xr-xtcwg-base/tcwg-dev/run.sh25
-rwxr-xr-xtcwg-base/tcwg-dev/start.sh92
-rw-r--r--tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in6
-rw-r--r--tcwg-base/tcwg-host/Dockerfile.in13
-rwxr-xr-xtcwg-base/tcwg-host/build.sh28
-rwxr-xr-xtcwg-base/tcwg-host/docker-stats3
-rwxr-xr-xtcwg-base/tcwg-host/docker-wrapper2
l---------tcwg-base/tcwg-host/gerrit-branches1
-rwxr-xr-xtcwg-base/tcwg-host/run.sh36
-rwxr-xr-xtcwg-base/tcwg-host/start.sh81
-rw-r--r--tcwg-base/tcwg-llvmbot/Dockerfile.in6
-rw-r--r--tcwg-base/tcwg-llvmbot/gerrit-branches1
-rwxr-xr-xtcwg-base/tcwg-llvmbot/run.sh111
-rwxr-xr-xtcwg-base/tcwg-llvmbot/start.sh37
-rw-r--r--trusty-amd64-tcwg-base/Dockerfile14
-rw-r--r--trusty-amd64-tcwg-base/trusty-amd64-tcwg-build/Dockerfile22
-rw-r--r--trusty-amd64-tcwg-base/trusty-amd64-tcwg-dev/Dockerfile11
-rw-r--r--trusty-arm64-tcwg-base/Dockerfile14
-rw-r--r--trusty-arm64-tcwg-base/trusty-arm64-tcwg-build/Dockerfile24
-rw-r--r--trusty-arm64-tcwg-base/trusty-arm64-tcwg-build/trusty-arm64-tcwg-test/Dockerfile8
-rw-r--r--trusty-arm64-tcwg-base/trusty-arm64-tcwg-dev/Dockerfile11
-rw-r--r--trusty-armhf-tcwg-base/Dockerfile14
-rw-r--r--trusty-armhf-tcwg-base/trusty-armhf-tcwg-build/Dockerfile24
-rw-r--r--trusty-armhf-tcwg-base/trusty-armhf-tcwg-build/trusty-armhf-tcwg-test/Dockerfile8
-rw-r--r--trusty-armhf-tcwg-base/trusty-armhf-tcwg-dev/Dockerfile11
-rw-r--r--trusty-i386-tcwg-base/Dockerfile14
-rw-r--r--trusty-i386-tcwg-base/trusty-i386-tcwg-build/Dockerfile22
-rw-r--r--xenial-amd64-tcwg-base/Dockerfile12
-rw-r--r--xenial-amd64-tcwg-base/xenial-amd64-tcwg-build/Dockerfile22
-rw-r--r--xenial-amd64-tcwg-base/xenial-amd64-tcwg-dev/Dockerfile11
-rw-r--r--xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/Dockerfile11
l---------xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/build.sh1
l---------xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/gerrit-branches1
-rw-r--r--xenial-arm64-tcwg-base/Dockerfile12
-rw-r--r--xenial-arm64-tcwg-base/xenial-arm64-tcwg-build/Dockerfile24
-rw-r--r--xenial-arm64-tcwg-base/xenial-arm64-tcwg-build/xenial-arm64-tcwg-test/Dockerfile8
-rw-r--r--xenial-arm64-tcwg-base/xenial-arm64-tcwg-dev/Dockerfile11
-rw-r--r--xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/Dockerfile11
l---------xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/build.sh1
l---------xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/gerrit-branches1
-rw-r--r--xenial-arm64-tcwg-base/xenial-arm64-tcwg-llvmbot/Dockerfile6
-rw-r--r--xenial-armhf-tcwg-base/Dockerfile12
-rw-r--r--xenial-armhf-tcwg-base/xenial-armhf-tcwg-build/Dockerfile24
-rw-r--r--xenial-armhf-tcwg-base/xenial-armhf-tcwg-build/xenial-armhf-tcwg-test/Dockerfile8
-rw-r--r--xenial-armhf-tcwg-base/xenial-armhf-tcwg-dev/Dockerfile11
-rw-r--r--xenial-armhf-tcwg-base/xenial-armhf-tcwg-llvmbot/Dockerfile6
-rw-r--r--xenial-i386-tcwg-base/Dockerfile12
-rw-r--r--xenial-i386-tcwg-base/xenial-i386-tcwg-build/Dockerfile22
-rw-r--r--xenial-i386-tcwg-base/xenial-i386-tcwg-dev/Dockerfile11
116 files changed, 1426 insertions, 577 deletions
diff --git a/README b/README
index e1e5a6b..e43ded4 100644
--- a/README
+++ b/README
@@ -9,6 +9,21 @@ Contributing
If you want to contribute changes, you can send Gerrit merge requests at
https://review.linaro.org/#/q/project:ci/dockerfiles
+TCWG images
+-----------
+
+Docker images used by the TCWG team are generated slightly differently
+from the other ones. The source files describing the images contents
+are stored under tcwg-base, in nested directories where nesting shows
+images dependencies. For instance, tcwg-build type of images depend on
+tcwg-base.
+
+If you want to (re)build locally a TCWG image after updating its
+Dockerfile.in or its build.sh, go to the directory whose name fully
+describes the image. For instance
+xenial-arm64-tcwg-base/xenial-arm64-tcwg-build, and run ./build.sh
+from there to rebuild the xenial-arm64-tcwg-build image.
+
Maintainer(s)
-------------
diff --git a/bionic-amd64-tcwg-base/Dockerfile b/bionic-amd64-tcwg-base/Dockerfile
new file mode 100644
index 0000000..ab13363
--- /dev/null
+++ b/bionic-amd64-tcwg-base/Dockerfile
@@ -0,0 +1,123 @@
+# Auto generated from tcwg-base/Dockerfile.in. Do not edit.
+FROM ubuntu:bionic
+
+RUN true \
+ && 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 \
+ bind9-host \
+ bison \
+ binutils-aarch64-linux-gnu \
+ binutils-arm-linux-gnueabihf \
+ bsd-mailx \
+ build-essential \
+ byacc \
+ ccache \
+ ccrypt \
+ chrpath \
+ clang \
+ cmake \
+ debhelper \
+ dejagnu \
+ dh-autoreconf \
+ dh-translations \
+ distro-info-data \
+ emacs \
+ fakeroot \
+ flex \
+ gawk \
+ gdb \
+ gdbserver \
+ git \
+ git-review \
+ groff \
+ less \
+ libexpat1-dev \
+ libglib2.0-dev \
+ liblzma-dev \
+ libncurses5-dev \
+ libpython2.7-dev \
+ libreadline-dev \
+ libssl-dev \
+ libtcnative-1 \
+ libtool \
+ linux-tools-generic \
+ lzop \
+ make \
+ mingw-w64 \
+ net-tools \
+ netcat \
+ nfs-kernel-server \
+ ninja-build \
+ openjdk-8-jdk \
+ openssh-server \
+ pkg-config \
+ python-dev \
+ postfix \
+ psmisc \
+ pxz \
+ qemu-system-arm \
+ qemu-user \
+ rsync \
+ subversion \
+ sudo \
+ tclsh \
+ texinfo \
+ texlive-fonts-recommended \
+ texlive-latex-recommended \
+ time \
+ valgrind \
+ vim \
+ virtualenv \
+ wget \
+ xz-utils \
+ zip \
+ zlib1g-dev \
+ && apt-get clean \
+ && rm -rf \
+ /var/lib/apt/lists/* \
+ /tmp/* \
+ /var/tmp/*
+
+# Ubuntu Bionic has a quirk in installing contrib files of git; skip for now.
+RUN true \
+ && 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 "/.*MaxSessions.*/d" /etc/ssh/sshd_config \
+ && echo "MaxStartups 256" >> /etc/ssh/sshd_config \
+ && echo "MaxSessions 256" >> /etc/ssh/sshd_config
+
+COPY postfix-main.cf.in /etc/postfix/main.cf
+COPY postfix-sasl_password.in /etc/postfix/sasl_password
+
+RUN chown root:root /etc/postfix/sasl_password \
+ && chmod 600 /etc/postfix/sasl_password
+
+# QEMU 2.8 doesn't build cleanly with Ubuntu Bionic's gcc.
+
+COPY home-data/ /home-data/
+COPY new-user.sh /usr/local/bin/
+
+RUN \
+ while read line; do \
+ new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \
+ done </home-data/group
+
+# 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"]
+# checksum: 4b61b97898b5eb0c598c220cc2d50f6a
diff --git a/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/Dockerfile b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/Dockerfile
new file mode 100644
index 0000000..96a5db6
--- /dev/null
+++ b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/Dockerfile
@@ -0,0 +1,46 @@
+# Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit.
+FROM linaro/ci-amd64-tcwg-base-ubuntu:bionic
+
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y \
+ software-properties-common \
+ && apt-get clean \
+ && rm -rf \
+ /var/lib/apt/lists/* \
+ /tmp/* \
+ /var/tmp/*
+
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y \
+ apt-file \
+ git-gui \
+ git-svn \
+ gnat-5 \
+ less \
+ locales \
+ libgmp-dev \
+ libmpc-dev \
+ libmpfr-dev \
+ mc \
+ screen \
+ stgit \
+ tmux \
+ unifdef \
+ && apt-get clean \
+ && rm -rf \
+ /var/lib/apt/lists/* \
+ /tmp/* \
+ /var/tmp/*
+
+RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
+ && apt-file update
+
+# Create directories required for X11.
+RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \
+ && chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix
+
+COPY run.sh start.sh /
+
+ENTRYPOINT ["/run.sh"]
+CMD ["start.sh"]
+# checksum: 286aa782c315c534aeae4e1fef031429
diff --git a/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/Dockerfile b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/Dockerfile
new file mode 100644
index 0000000..6691e70
--- /dev/null
+++ b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/Dockerfile
@@ -0,0 +1,36 @@
+# Auto generated from tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in. Do not edit.
+FROM linaro/ci-amd64-tcwg-dev-ubuntu:bionic
+
+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 true \
+ && apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y \
+ duplicity \
+ mate-desktop-environment \
+ 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/*
+# checksum: 6cae4c37eaa031fb02326a6ebda501f6
diff --git a/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/build.sh b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/build.sh
new file mode 120000
index 0000000..6e52e4e
--- /dev/null
+++ b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/build.sh
@@ -0,0 +1 @@
+../../../tcwg-base/tcwg-dev/tcwg-x2go/build.sh \ No newline at end of file
diff --git a/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/gerrit-branches b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/gerrit-branches
new file mode 120000
index 0000000..748350c
--- /dev/null
+++ b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/gerrit-branches
@@ -0,0 +1 @@
+../../../tcwg-base/tcwg-dev/tcwg-x2go/gerrit-branches \ No newline at end of file
diff --git a/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/build.sh b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/build.sh
new file mode 120000
index 0000000..e8571a3
--- /dev/null
+++ b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/build.sh
@@ -0,0 +1 @@
+../../tcwg-base/tcwg-dev/build.sh \ No newline at end of file
diff --git a/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/gerrit-branches b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/gerrit-branches
new file mode 120000
index 0000000..cd14822
--- /dev/null
+++ b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/gerrit-branches
@@ -0,0 +1 @@
+../../tcwg-base/tcwg-dev/gerrit-branches \ No newline at end of file
diff --git a/bionic-amd64-tcwg-base/build.sh b/bionic-amd64-tcwg-base/build.sh
new file mode 120000
index 0000000..67d8934
--- /dev/null
+++ b/bionic-amd64-tcwg-base/build.sh
@@ -0,0 +1 @@
+../tcwg-base/build.sh \ No newline at end of file
diff --git a/bionic-amd64-tcwg-base/gerrit-branches b/bionic-amd64-tcwg-base/gerrit-branches
new file mode 120000
index 0000000..3cbaca1
--- /dev/null
+++ b/bionic-amd64-tcwg-base/gerrit-branches
@@ -0,0 +1 @@
+../tcwg-base/gerrit-branches \ No newline at end of file
diff --git a/bionic-arm64-tcwg-base/Dockerfile b/bionic-arm64-tcwg-base/Dockerfile
new file mode 100644
index 0000000..277c219
--- /dev/null
+++ b/bionic-arm64-tcwg-base/Dockerfile
@@ -0,0 +1,118 @@
+# Auto generated from tcwg-base/Dockerfile.in. Do not edit.
+FROM ubuntu:bionic
+
+RUN true \
+ && 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 \
+ bind9-host \
+ bison \
+ bsd-mailx \
+ build-essential \
+ byacc \
+ ccache \
+ ccrypt \
+ chrpath \
+ clang \
+ cmake \
+ debhelper \
+ dejagnu \
+ dh-autoreconf \
+ dh-translations \
+ distro-info-data \
+ emacs \
+ fakeroot \
+ flex \
+ gawk \
+ gdb \
+ gdbserver \
+ git \
+ git-review \
+ groff \
+ less \
+ libexpat1-dev \
+ liblzma-dev \
+ libncurses5-dev \
+ libpython2.7-dev \
+ libreadline-dev \
+ libssl-dev \
+ libtcnative-1 \
+ libtool \
+ linux-tools-generic \
+ lzop \
+ make \
+ net-tools \
+ netcat \
+ nfs-kernel-server \
+ ninja-build \
+ openjdk-8-jdk \
+ openssh-server \
+ python-dev \
+ postfix \
+ psmisc \
+ pxz \
+ qemu-system-arm \
+ qemu-user \
+ rsync \
+ subversion \
+ sudo \
+ tclsh \
+ texinfo \
+ texlive-fonts-recommended \
+ texlive-latex-recommended \
+ time \
+ valgrind \
+ vim \
+ virtualenv \
+ wget \
+ xz-utils \
+ zip \
+ zlib1g-dev \
+ && apt-get clean \
+ && rm -rf \
+ /var/lib/apt/lists/* \
+ /tmp/* \
+ /var/tmp/*
+
+# Ubuntu Bionic has a quirk in installing contrib files of git; skip for now.
+RUN true \
+ && 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 "/.*MaxSessions.*/d" /etc/ssh/sshd_config \
+ && echo "MaxStartups 256" >> /etc/ssh/sshd_config \
+ && echo "MaxSessions 256" >> /etc/ssh/sshd_config
+
+COPY postfix-main.cf.in /etc/postfix/main.cf
+COPY postfix-sasl_password.in /etc/postfix/sasl_password
+
+RUN chown root:root /etc/postfix/sasl_password \
+ && chmod 600 /etc/postfix/sasl_password
+
+# QEMU 2.8 doesn't build cleanly with Ubuntu Bionic's gcc.
+
+COPY home-data/ /home-data/
+COPY new-user.sh /usr/local/bin/
+
+RUN \
+ while read line; do \
+ new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \
+ done </home-data/group
+
+# 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"]
+# checksum: 70e28af2a1592e6c1a4c267f37866dff
diff --git a/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/Dockerfile b/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/Dockerfile
new file mode 100644
index 0000000..eb53a3b
--- /dev/null
+++ b/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/Dockerfile
@@ -0,0 +1,46 @@
+# Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit.
+FROM linaro/ci-arm64-tcwg-base-ubuntu:bionic
+
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y \
+ software-properties-common \
+ && apt-get clean \
+ && rm -rf \
+ /var/lib/apt/lists/* \
+ /tmp/* \
+ /var/tmp/*
+
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y \
+ apt-file \
+ git-gui \
+ git-svn \
+ gnat-5 \
+ less \
+ locales \
+ libgmp-dev \
+ libmpc-dev \
+ libmpfr-dev \
+ mc \
+ screen \
+ stgit \
+ tmux \
+ unifdef \
+ && apt-get clean \
+ && rm -rf \
+ /var/lib/apt/lists/* \
+ /tmp/* \
+ /var/tmp/*
+
+RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
+ && apt-file update
+
+# Create directories required for X11.
+RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \
+ && chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix
+
+COPY run.sh start.sh /
+
+ENTRYPOINT ["/run.sh"]
+CMD ["start.sh"]
+# checksum: 94f16771ce67ae1223d2715b82c3f98e
diff --git a/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/build.sh b/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/build.sh
new file mode 120000
index 0000000..e8571a3
--- /dev/null
+++ b/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/build.sh
@@ -0,0 +1 @@
+../../tcwg-base/tcwg-dev/build.sh \ No newline at end of file
diff --git a/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/gerrit-branches b/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/gerrit-branches
new file mode 120000
index 0000000..cd14822
--- /dev/null
+++ b/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/gerrit-branches
@@ -0,0 +1 @@
+../../tcwg-base/tcwg-dev/gerrit-branches \ No newline at end of file
diff --git a/bionic-arm64-tcwg-base/build.sh b/bionic-arm64-tcwg-base/build.sh
new file mode 120000
index 0000000..67d8934
--- /dev/null
+++ b/bionic-arm64-tcwg-base/build.sh
@@ -0,0 +1 @@
+../tcwg-base/build.sh \ No newline at end of file
diff --git a/bionic-arm64-tcwg-base/gerrit-branches b/bionic-arm64-tcwg-base/gerrit-branches
new file mode 120000
index 0000000..3cbaca1
--- /dev/null
+++ b/bionic-arm64-tcwg-base/gerrit-branches
@@ -0,0 +1 @@
+../tcwg-base/gerrit-branches \ No newline at end of file
diff --git a/ci-amd64-llp-alpine/docker_run.sh b/ci-amd64-llp-alpine/docker_run.sh
index 52c27ae..8e35b7a 100755
--- a/ci-amd64-llp-alpine/docker_run.sh
+++ b/ci-amd64-llp-alpine/docker_run.sh
@@ -12,15 +12,14 @@ if [ -z "$DJANGO_DEBUG" ] ; then
echo "$html_header" >> /srv/header_override.html
fi
- if [ ! -z "$DJANGO_MIGRATE" ]; then
- python $APPDIR/manage.py migrate --noinput
- fi
- if [ ! -z "$DJANGO_COLLECTSTATIC" ]; then
- python $APPDIR/manage.py collectstatic --noinput
- fi
-
exec /usr/bin/gunicorn -w4 -b 0.0.0.0:$PORT $LLP_APP
fi
-python $APPDIR/manage.py migrate --noinput --settings=settings
-exec python $APPDIR/manage.py runserver 0.0.0.0:8080 --settings=settings
+if [ ! -z "$DJANGO_MIGRATE" ]; then
+ python $APPDIR/manage.py migrate --noinput --settings=$DJANGO_SETTINGS_MODULE
+fi
+if [ ! -z "$DJANGO_COLLECTSTATIC" ]; then
+ python $APPDIR/manage.py collectstatic --noinput --settings=$DJANGO_SETTINGS_MODULE
+fi
+
+exec python $APPDIR/manage.py runserver 0.0.0.0:8080 --settings=$DJANGO_SETTINGS_MODULE
diff --git a/jessie-amd64-jenkins-master/Dockerfile b/jessie-amd64-jenkins-master/Dockerfile
index 85abad5..e4459ba 100644
--- a/jessie-amd64-jenkins-master/Dockerfile
+++ b/jessie-amd64-jenkins-master/Dockerfile
@@ -1,8 +1,8 @@
-FROM jenkins/jenkins:2.107.2
+FROM jenkins/jenkins:2.121.2
ENV JENKINS_JAVA_PARAMETERS="-server -XX:+AlwaysPreTouch -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/jenkins/heapdump.log -verbose:gc -Xloggc:/var/log/jenkins/gc-%t.log -XX:NumberOfGCLogFiles=2 -XX:+UseGCLogFileRotation -XX:GCLogFileSize=100m -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintGCCause -XX:+PrintTenuringDistribution -XX:+PrintReferenceGC -XX:+PrintAdaptiveSizePolicy -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+UnlockDiagnosticVMOptions -XX:G1SummarizeRSetStatsPeriod=1 -XX:MaxMetaspaceExpansion=64M -Djenkins.model.Jenkins.logStartupPerformance=true"
ENV JAVA_OPTS="-Xms4g -Xmx8g $JENKINS_JAVA_PARAMETERS -Djava.awt.headless=true -Dhudson.slaves.WorkspaceList='_' -Dhudson.model.ParametersAction.keepUndefinedParameters=true -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=30 -Dorg.eclipse.jetty.server.Request.maxFormContentSize=1000000"
-ENV JENKINS_OPTS="--sessionTimeout=1440"
+ENV JENKINS_OPTS="--sessionTimeout=1440 --sessionEviction=1440"
# Install jenkins job builder
# Create plugins directory, symlinked on host machine
diff --git a/jessie-amd64-jenkins-master/plugins.txt b/jessie-amd64-jenkins-master/plugins.txt
index a8f30a5..d5ea009 100644
--- a/jessie-amd64-jenkins-master/plugins.txt
+++ b/jessie-amd64-jenkins-master/plugins.txt
@@ -1,17 +1,17 @@
ansicolor:0.5.2
ant:1.8
antisamy-markup-formatter:1.5
-apache-httpcomponents-client-4-api:4.5.3-2.1
-bouncycastle-api:2.16.2
+apache-httpcomponents-client-4-api:4.5.5-3.0
+bouncycastle-api:2.16.3
build-blocker:1.7.3
-build-monitor-plugin:1.12+build.201708172343
+build-monitor-plugin:1.12+build.201805070054
build-name-setter:1.6.9
build-timeout:1.19
command-launcher:1.2
copy-to-slave:1.4.4
-copyartifact:1.39.1
-coverity:1.11.0
-crowd2:1.8
+copyartifact:1.41
+coverity:1.11.1
+crowd2:2.0.0
cvs:2.14
docker-build-publish:1.3.2
docker-plugin:1.0.0
@@ -19,51 +19,53 @@ docker-slaves:1.0.7
dropdown-viewstabbar-plugin:1.7
dynamic-axis:1.0.3
ec2:1.39
-email-ext:2.62
+email-ext:2.63
embeddable-build-status:1.9
+extended-choice-parameter:0.76
extended-read-permission:2.0
external-monitor-job:1.7
-ghprb:1.40.0
+ghprb:1.42.0
gerrit-trigger:2.27.5
github-organization-folder:1.6
greenballs:1.15
-groovy-postbuild:2.4
+groovy-postbuild:2.4.1
heavy-job:1.1
htmlpublisher:1.16
ircbot:2.30
-jira:2.5
-jenkins-multijob-plugin:1.29
+jdk-tool:1.1
+jira:3.0.0
+jenkins-multijob-plugin:1.31
jobConfigHistory:2.18
ldap:1.20
leastload:2.0.1
log-parser:2.0
-matrix-auth:2.2
+matrix-auth:2.3
matrix-combinations-parameter:1.3.0
matrixtieparent:1.2
mercurial:1.61
-metrics:3.1.2.11
-monitoring:1.72.0
+metrics:4.0.2.2
+monitoring:1.73.1
multiple-scms:0.6
naginator:1.17.2
nodelabelparameter:1.7.2
pam-auth:1.3
-pipeline-utility-steps:2.0.2
+pipeline-utility-steps:2.1.0
plot:1.11
PrioritySorter:3.6.0
publish-over-ssh:1.19.1
rebuild:1.28
repo:1.10.7
simple-theme-plugin:0.4
-ssh-agent:1.15
-subversion:2.10.5
+ssh-agent:1.16
+subversion:2.11.1
tap:2.2.1
throttle-concurrents:2.0.1
-timestamper:1.8.9
+timestamper:1.8.10
translation:1.16
-urltrigger:0.41
-warnings:4.66
+urltrigger:0.44
+warnings:4.68
windows-slaves:1.3.1
workflow-aggregator:2.5
ws-cleanup:0.34
xvfb:1.1.3
-yet-another-docker-plugin:0.1.0-rc47
+yet-another-docker-plugin:0.1.0-rc48
diff --git a/jessie-amd64/Dockerfile b/jessie-amd64/Dockerfile
index 76e5d10..22ee77f 100644
--- a/jessie-amd64/Dockerfile
+++ b/jessie-amd64/Dockerfile
@@ -70,3 +70,4 @@ VOLUME ["/var/lib/libvirt"]
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
+
diff --git a/lava/dispatcher/build.sh b/lava/dispatcher/build.sh
new file mode 100755
index 0000000..50cab78
--- /dev/null
+++ b/lava/dispatcher/build.sh
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+# An example invocation of this script would be:
+#
+# ./build.sh -r production -d stretch -a amd64
+
+set -e
+
+export LANG=C
+
+while getopts "r:d:a:" opt; do
+ case $opt in
+ r)
+ REPO="$OPTARG"
+ ;;
+ d)
+ DISTRIBUTION="$OPTARG"
+ ;;
+ a)
+ ARCH="$OPTARG"
+ ;;
+ ?)
+ echo "Usage:"
+ echo "-r - repository such as production or staging"
+ echo "-d - distribution such as stretch"
+ echo "-a - architecture such as amd64"
+ exit 1
+ ;;
+ esac
+done
+
+if [ "$REPO" = staging ]; then
+ VERSION="latest"
+else
+ # Get version by parsing Packages file from respective repo.
+ VERSION=$(wget -qO - http://images.validation.linaro.org/${REPO}-repo/dists/${DISTRIBUTION}-backports/main/binary-${ARCH}/Packages \
+ | grep -A5 '^Package: lava-dispatcher' | grep '^Version: ' \
+ | awk '{ print $2 }' \
+ | sed 's/[~|+].*//')
+fi
+
+image=linaro/lava-dispatcher-${REPO}-${DISTRIBUTION}-${ARCH}:${VERSION}
+docker build --no-cache --pull --tag=$image -f ${REPO}/${DISTRIBUTION}-${ARCH}/Dockerfile .
+echo $image > .docker-tag
diff --git a/lava/dispatcher/production/stretch-amd64/entrypoint.sh b/lava/dispatcher/entrypoint.sh
index 74bc9c7..490f236 100755
--- a/lava/dispatcher/production/stretch-amd64/entrypoint.sh
+++ b/lava/dispatcher/entrypoint.sh
@@ -23,9 +23,6 @@
# LOG_LEVEL Log level (DEBUG, ERROR, INFO, WARN); default to INFO
# Example: LOG_LEVEL='DEBUG'
#
-# TIMEOUT Socket connection timeout in seconds; default to 5
-# Example: TIMEOUT=10
-#
# IPV6 Enable IPv6
# Example: IPV6=True
#
@@ -69,11 +66,6 @@ then
LOG_LEVEL='INFO'
fi
-if [ -z "${TIMEOUT}" ]
-then
- TIMEOUT=5
-fi
-
if [ -z "${ENCRYPT}" ]
then
ENCRYPT=''
@@ -104,12 +96,10 @@ fi
echo "Starting lava-slave with the following command:"
-echo "/usr/bin/python /usr/bin/lava-slave --hostname ${HOSTNAME} \
+echo "/usr/bin/python3 /usr/bin/lava-slave --hostname ${HOSTNAME} \
--master ${MASTER} --socket-addr ${SOCKET_ADDR} ${LOG_FILE} \
---level ${LOG_LEVEL} --timeout ${TIMEOUT} ${ENCRYPT} ${IPV6} \
-${MASTER_CERT} ${SLAVE_CERT}"
+--level ${LOG_LEVEL} ${ENCRYPT} ${IPV6} ${MASTER_CERT} ${SLAVE_CERT}"
-/usr/bin/python /usr/bin/lava-slave --hostname ${HOSTNAME} \
+/usr/bin/python3 /usr/bin/lava-slave --hostname ${HOSTNAME} \
--master ${MASTER} --socket-addr ${SOCKET_ADDR} ${LOG_FILE} \
---level ${LOG_LEVEL} --timeout ${TIMEOUT} ${ENCRYPT} ${IPV6} \
-${MASTER_CERT} ${SLAVE_CERT}
+--level ${LOG_LEVEL} ${ENCRYPT} ${IPV6} ${MASTER_CERT} ${SLAVE_CERT}
diff --git a/lava/dispatcher/production/stretch-amd64/Dockerfile b/lava/dispatcher/production/stretch-amd64/Dockerfile
index c555a9b..a9291f5 100644
--- a/lava/dispatcher/production/stretch-amd64/Dockerfile
+++ b/lava/dispatcher/production/stretch-amd64/Dockerfile
@@ -2,7 +2,7 @@ FROM debian:stretch
# Docker image for LAVA dispatcher with production release.
-MAINTAINER Senthil Kumaran S <senthil.kumaran@linaro.org>
+LABEL maintainer="senthil.kumaran@linaro.org"
# Install the required dependencies
RUN echo 'locales locales/locales_to_be_generated multiselect C.UTF-8 UTF-8, en_US.UTF-8 UTF-8 ' | debconf-set-selections && \
@@ -14,7 +14,7 @@ RUN echo 'locales locales/locales_to_be_generated multiselect C.UTF-8 UTF-8, en_
qemu-system-x86 qemu-system-arm qemu-user-static libguestfs-tools \
nfs-kernel-server rpcbind u-boot-tools unzip xz-utils debootstrap \
bridge-utils dfu-util img2simg emacs-nox vim gnupg2 sed expect grep wget \
- openssh-server
+ openssh-server adb fastboot simg2img img2simg
# Add LAVA stretch-backports production repo
RUN wget -qO - http://images.validation.linaro.org/production-repo/production-repo.key.asc | apt-key add - && \
@@ -25,7 +25,7 @@ RUN echo 'locales locales/locales_to_be_generated multiselect C.UTF-8 UTF-8, en_
export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
apt-get -y upgrade && \
- apt-get -y -t stretch-backports install lava-dispatcher \
+ apt-get -y -t stretch-backports install lava-common lava-dispatcher \
lava-lxc-mocker && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
@@ -34,7 +34,7 @@ RUN echo 'locales locales/locales_to_be_generated multiselect C.UTF-8 UTF-8, en_
EXPOSE 22
# Set entrypoint script
-COPY entrypoint.sh /entrypoint.sh
+COPY ./entrypoint.sh /entrypoint.sh
ENTRYPOINT [ "/entrypoint.sh" ]
# Following is a sample docker run command to use this image
diff --git a/lava/dispatcher/production/stretch-amd64/build.sh b/lava/dispatcher/production/stretch-amd64/build.sh
deleted file mode 100755
index d7f69b3..0000000
--- a/lava/dispatcher/production/stretch-amd64/build.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-set -e
-
-export LANG=C
-
-DISTRIBUTION=$(basename ${PWD} | cut -f1 -d '-')
-ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-')
-REPO=$(basename $(dirname ${PWD}))
-
-# Get version by parsing Packages file from respective repo.
-VERSION=$(wget -qO - http://images.validation.linaro.org/${REPO}-repo/dists/${DISTRIBUTION}-backports/main/binary-${ARCHITECTURE}/Packages \
- | grep -A5 '^Package: lava-dispatcher' | grep '^Version: ' \
- | awk '{ print $2 }' \
- | sed 's/[~|+].*//')
-
-image=linaro/lava-dispatcher-debian-${DISTRIBUTION}-${ARCHITECTURE}:${VERSION}
-docker build --no-cache --pull --tag=$image .
-echo $image > .docker-tag
diff --git a/lava/dispatcher/staging/stretch-amd64/Dockerfile b/lava/dispatcher/staging/stretch-amd64/Dockerfile
new file mode 100644
index 0000000..970218d
--- /dev/null
+++ b/lava/dispatcher/staging/stretch-amd64/Dockerfile
@@ -0,0 +1,46 @@
+FROM debian:stretch
+
+# Docker image for LAVA dispatcher with master branch, built daily.
+
+LABEL maintainer="senthil.kumaran@linaro.org"
+
+# Install the required dependencies
+RUN echo 'locales locales/locales_to_be_generated multiselect C.UTF-8 UTF-8, en_US.UTF-8 UTF-8 ' | debconf-set-selections && \
+ echo 'locales locales/default_environment_locale select en_US.UTF-8' | debconf-set-selections && \
+ export DEBIAN_FRONTEND=noninteractive && \
+ apt-get update && \
+ apt-get -y upgrade && \
+ apt-get -y install ntp git tftpd-hpa openbsd-inetd ser2net qemu-kvm \
+ qemu-system-x86 qemu-system-arm qemu-user-static libguestfs-tools \
+ nfs-kernel-server rpcbind u-boot-tools unzip xz-utils debootstrap \
+ bridge-utils dfu-util img2simg emacs-nox vim gnupg2 sed expect grep wget \
+ openssh-server adb fastboot simg2img img2simg
+
+# Add LAVA stretch-backports production repo
+RUN wget -qO - http://images.validation.linaro.org/production-repo/production-repo.key.asc | apt-key add - && \
+ echo "deb http://images.validation.linaro.org/production-repo stretch-backports main" >/etc/apt/sources.list.d/linaro.list
+
+RUN echo 'locales locales/locales_to_be_generated multiselect C.UTF-8 UTF-8, en_US.UTF-8 UTF-8 ' | debconf-set-selections && \
+ echo 'locales locales/default_environment_locale select en_US.UTF-8' | debconf-set-selections && \
+ export DEBIAN_FRONTEND=noninteractive && \
+ apt-get update && \
+ apt-get -y upgrade && \
+ apt-get -y -t stretch-backports install lava-common lava-dispatcher \
+ lava-lxc-mocker && \
+ apt-get clean && \
+ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
+
+# Expose services ports
+EXPOSE 22
+
+# Set entrypoint script
+COPY ./entrypoint.sh /entrypoint.sh
+ENTRYPOINT [ "/entrypoint.sh" ]
+
+# Following is a sample docker run command to use this image
+#
+# sudo docker run -v /boot:/boot -v /lib/modules:/lib/modules \
+# -v /var/run/docker.sock:/var/run/docker.sock -itd -e HOSTNAME='worker-1' \
+# -e MASTER='tcp://192.168.1.2:5556' -e SOCKET_ADDR='tcp://192.168.1.2:5555' \
+# -e LOG_LEVEL='DEBUG' -p 2222:22 --privileged \
+# --name ld-2017.12 stylesen/lava-dispatcher:2017.12
diff --git a/stretch-amd64-ota/Dockerfile b/stretch-amd64-ota/Dockerfile
new file mode 100644
index 0000000..0fe5809
--- /dev/null
+++ b/stretch-amd64-ota/Dockerfile
@@ -0,0 +1,19 @@
+FROM opensourcefoundries/aktualizr:0.23
+
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ sudo \
+ openssh-server \
+ && apt-get clean \
+ && rm -rf \
+ /var/lib/apt/lists/* \
+ /tmp/* \
+ /var/tmp/*
+
+RUN useradd -m buildslave \
+ && echo 'buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins \
+ && chmod 440 /etc/sudoers.d/jenkins \
+ && mkdir -p /var/run/sshd
+
+EXPOSE 22
+CMD ["/usr/sbin/sshd", "-D"]
diff --git a/stretch-amd64-ota/build.sh b/stretch-amd64-ota/build.sh
new file mode 100755
index 0000000..a03d97a
--- /dev/null
+++ b/stretch-amd64-ota/build.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+trap cleanup_exit INT TERM EXIT
+
+cleanup_exit()
+{
+ rm -f *.list *.key
+}
+
+export LANG=C
+
+DISTRIBUTION=$(basename ${PWD} | cut -f1 -d '-')
+ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-')
+
+cp -a ../linaro-overlay-obs.list ../linaro-overlay-obs.key .
+
+image=linaro/ci-${ARCHITECTURE}-debian-ota:${DISTRIBUTION}
+docker build --pull --tag=$image .
+echo $image > .docker-tag
diff --git a/stretch-arm64-testdef/Dockerfile b/stretch-arm64-testdef/Dockerfile
new file mode 100644
index 0000000..8a7aaa9
--- /dev/null
+++ b/stretch-arm64-testdef/Dockerfile
@@ -0,0 +1,17 @@
+FROM linaro/ci-arm64-debian:stretch
+
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y \
+ python-pip \
+ && git clone -b master http://git.linaro.org/qa/test-definitions.git \
+ && cd test-definitions \
+ && pip install -r automated/utils/requirements.txt \
+ && apt-get clean \
+ && rm -rf \
+ /tmp/* \
+ /var/tmp/*
+
+ENV REPO_PATH=/test-definitions \
+ PATH="/test-definitions/automated/bin:${PATH}"
+
+WORKDIR /test-definitions
diff --git a/stretch-arm64-testdef/build.sh b/stretch-arm64-testdef/build.sh
new file mode 100755
index 0000000..ac64154
--- /dev/null
+++ b/stretch-arm64-testdef/build.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+export LANG=C
+
+DISTRIBUTION=$(basename ${PWD} | cut -f1 -d '-')
+ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-')
+COMMIT_HASH=$(git ls-remote --heads https://git.linaro.org/qa/test-definitions.git | grep master | cut -c1-7)
+
+image=linaro/testdef-${ARCHITECTURE}-debian-${DISTRIBUTION}:${COMMIT_HASH}
+docker build --pull --tag=$image .
+echo $image > .docker-tag
diff --git a/stretch-armhf-testdef/Dockerfile b/stretch-armhf-testdef/Dockerfile
new file mode 100644
index 0000000..ecfab1d
--- /dev/null
+++ b/stretch-armhf-testdef/Dockerfile
@@ -0,0 +1,17 @@
+FROM linaro/ci-armhf-debian:stretch
+
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y \
+ python-pip \
+ && git clone -b master http://git.linaro.org/qa/test-definitions.git \
+ && cd test-definitions \
+ && pip install -r automated/utils/requirements.txt \
+ && apt-get clean \
+ && rm -rf \
+ /tmp/* \
+ /var/tmp/*
+
+ENV REPO_PATH=/test-definitions \
+ PATH="/test-definitions/automated/bin:${PATH}"
+
+WORKDIR /test-definitions
diff --git a/stretch-armhf-testdef/build.sh b/stretch-armhf-testdef/build.sh
new file mode 100755
index 0000000..ac64154
--- /dev/null
+++ b/stretch-armhf-testdef/build.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+export LANG=C
+
+DISTRIBUTION=$(basename ${PWD} | cut -f1 -d '-')
+ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-')
+COMMIT_HASH=$(git ls-remote --heads https://git.linaro.org/qa/test-definitions.git | grep master | cut -c1-7)
+
+image=linaro/testdef-${ARCHITECTURE}-debian-${DISTRIBUTION}:${COMMIT_HASH}
+docker build --pull --tag=$image .
+echo $image > .docker-tag
diff --git a/tcwg-base/Dockerfile.in b/tcwg-base/Dockerfile.in
index 9efe3d6..2ff712f 100644
--- a/tcwg-base/Dockerfile.in
+++ b/tcwg-base/Dockerfile.in
@@ -1,4 +1,4 @@
-#if ARCH_amd64
+#if ARCH_amd64 || DISTRO_bionic
FROM ubuntu:#{DISTRO}
#elif DISTRO_zesty
FROM snapcraft/zesty-#{ARCH}:latest
@@ -6,6 +6,7 @@ FROM snapcraft/zesty-#{ARCH}:latest
FROM linaro/base-#{ARCH}-ubuntu:#{DISTRO}
#endif
+#if !DISTRO_bionic
#if ARCH_amd64 || ARCH_i386
RUN (url="http://archive.ubuntu.com/ubuntu/"; \
#else
@@ -18,6 +19,9 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
done; \
echo; \
done) > /etc/apt/sources.list \
+#else
+RUN true \
+#endif
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \
#if ARCH_i386
@@ -31,6 +35,7 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
autogen \
automake \
bc \
+ bind9-host \
bison \
#if ARCH_amd64 || ARCH_i386
binutils-aarch64-linux-gnu \
@@ -95,10 +100,8 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
pkg-config \
#endif
python-dev \
-#if DISTRO_trusty
- python-virtualenv \
-#endif
postfix \
+ psmisc \
pxz \
qemu-system-arm \
qemu-user \
@@ -114,6 +117,8 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
vim \
#if !DISTRO_trusty
virtualenv \
+#else
+ python-virtualenv \
#endif
wget \
xz-utils \
@@ -125,7 +130,12 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
/tmp/* \
/var/tmp/*
+#if !DISTRO_bionic
RUN install -D -p -m0755 /usr/share/doc/git/contrib/workdir/git-new-workdir /usr/local/bin/git-new-workdir \
+#else
+# Ubuntu Bionic has a quirk in installing contrib files of git; skip for now.
+RUN true \
+#endif
&& 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 \
@@ -140,6 +150,7 @@ COPY postfix-sasl_password.in /etc/postfix/sasl_password
RUN chown root:root /etc/postfix/sasl_password \
&& chmod 600 /etc/postfix/sasl_password
+#if !DISTRO_bionic
#if ARCH_amd64 || ARCH_i386
RUN mkdir /tmp/docker-install-qemu.$$ \
&& cd /tmp/docker-install-qemu.$$ \
@@ -151,6 +162,18 @@ RUN mkdir /tmp/docker-install-qemu.$$ \
&& cd && rm -rf /tmp/docker-install-qemu.$$
#endif
+#else
+# QEMU 2.8 doesn't build cleanly with Ubuntu Bionic's gcc.
+
+#endif
+COPY home-data/ /home-data/
+COPY new-user.sh /usr/local/bin/
+
+RUN \
+ while read line; do \
+ new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \
+ done </home-data/group
+
# 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"
diff --git a/tcwg-base/build.sh b/tcwg-base/build.sh
index 24ede18..f12ee09 100755
--- a/tcwg-base/build.sh
+++ b/tcwg-base/build.sh
@@ -6,7 +6,7 @@ trap cleanup_exit INT TERM EXIT
cleanup_exit()
{
- rm -rf postfix*.in
+ rm -rf home-data/ new-user.sh postfix*.in
}
export LANG=C
@@ -17,6 +17,8 @@ name=$(basename ${PWD} | cut -f3- -d '-')
image=linaro/ci-${arch}-${name}-ubuntu:${distro}
baseimage=$(grep "^FROM" Dockerfile | head -n 1 | cut -d" " -f 2)
+rsync -aL $top/tcwg-base/home-data/ ./home-data/
+cp $top/tcwg-base/new-user.sh ./
cp $top/tcwg-base/postfix*.in .
"$top"/tcwg-base/validate-dockerfile.sh Dockerfile
diff --git a/tcwg-base/gerrit-branches b/tcwg-base/gerrit-branches
index 0561f3a..12600c6 100644
--- a/tcwg-base/gerrit-branches
+++ b/tcwg-base/gerrit-branches
@@ -1,2 +1,4 @@
master
+tcwg-tested
tcwg-staging
+
diff --git a/tcwg-base/home-data/alex.bennee/.ssh/authorized_keys b/tcwg-base/home-data/alex.bennee/.ssh/authorized_keys
new file mode 100644
index 0000000..f51ceb2
--- /dev/null
+++ b/tcwg-base/home-data/alex.bennee/.ssh/authorized_keys
@@ -0,0 +1,3 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyVywkk+VvhgT/FIeeW0RMv2L+VjklgDZawWqwnRKibbgXO7cNx9gAM+vLZd1lwUsAs6b3pecyJKuPGPLTQwQ/8RcWE0/rIqLyaqRYJGjlPYLtPgRm12d4eEvXDK7hQs/KGmc+rVQCk4cu9SBvdqJtvPuE68o2xV5SEKv0JUwSnXxQhScqa3/Zf+bKiVxWxBfaOfsZtdb6qECG4hhL5w9Z9Skviz5Hw7RWDqnXrKeCAiCCpZRhE10++6NhHpdLQtFWbGhyJ9Xmuq6OaDWofHkC2YfUSQ/VL8dKQoo1oltnH4FHlDmtvfqHzslJMpwXu0iHREu4T93tnZcpi89xcw6P alex@zen
+ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArnlSBm0os7ulw7YhTU84c+wMCoNmxaoabxUFx6vDq4VXNla6ZPGsKQmSOAUAmAeYenQnAk5eWlgxOt6QSUVCZcKXct+TLjWojKwXZ75jlCjFsIkv4f1ff9bEjvoqhvVLlKXteM2l4KVAB1/xjWrrl95WUpMzkrVrLR7y+HMImxRz+q6upAy9PUVfjdKoGI/xUPQ+8ob1aNY1OuxVraaZt1nbYb2CbHGuPfuq41EKHBDUhEfb1z2qaRfq4lqa3CQTtAUr7PGmMbGDRPvejhIQw3VTn28zRoGaDPH1TYw0cVF2BHjHtnwaorAemxRxo2X619qxcMd1Dx3U+KM0AQH2iw== alex@danny
+ssh-dss AAAAB3NzaC1kc3MAAACBAPR7IFQ+tr0WmHSoZf4hhBcBsUPr5X/oRP7/AtNEOhzzMGDpZjv43FNom98KnEwo/CFOpIb4AOZmaWJfxvtIHuq2501riATSWPTDAiPJVuWfCwasxrWuTYd74Ft14q2WrNWOQRfq8QVzX/DmKZFjlBTQ5pnczESK51H89vLQDCtNAAAAFQDNfFYgHqtSwp3kF6sRDsLKSxM15QAAAIEAkV716nHegoRqYlPemvIIUfcyuoAL2zkQaq4NMd481owzNLVmxXQloDT1x49bR43jd8V10DYLZPaU8p50M2FdI/SzAha7JoRmHTeiATeWoB9M6PkeNllTAP3qtKq5w5Tdl6HGVuRScXNzMEC/SIKFaj7bZD6WqZxraYpsfHtD68QAAACBANDzYWx7U489zikATO7gpyKnOP1Gxuuc3cBKJx0sMGIg0kiipf5G6azsptRPSyu4e/iST4JtaH2tnPx50zsPm0XGpAjHw4cUgYtUnruSTP/G7Di2dig2MOelxX/SKprdblZob573eMd64OMmeaJfMM0OAHVvzBqCXs16qKdBZCUZ alex@danny
diff --git a/tcwg-base/home-data/alex.bennee/bootstrap.sh b/tcwg-base/home-data/alex.bennee/bootstrap.sh
new file mode 100644
index 0000000..e5de885
--- /dev/null
+++ b/tcwg-base/home-data/alex.bennee/bootstrap.sh
@@ -0,0 +1,78 @@
+#!/bin/bash
+#
+# Bootstrap a new system
+# wget -O - https://raw.githubusercontent.com/stsquad/dotfiles/master/bootstrap.sh | bash
+# curl -s https://raw.githubusercontent.com/stsquad/dotfiles/master/bootstrap.sh | bash
+#
+set -e
+
+if [ -n "$SSH_AUTH_SOCK" ] && [ -S "$SSH_AUTH_SOCK" ] && [ "ssh-add -l > /dev/null" ]; then
+ SSH_CONFIG=${HOME}/.ssh
+ mkdir -p ${SSH_CONFIG}
+ # You kinda have to take it on trust that these are the github finger-prints
+ cat > ${SSH_CONFIG}/known_hosts <<EOF
+|1|clnLL0mD6yeybmELLpJW0Z3hSUU=|GYO6eB1F0D+HVTeLlP7edbabPiA= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
+|1|Ckc80vuVSIfn10uM74pb4jfDBS8=|lSc7LGFPlKVXCpmJF7EcHTVUlsg= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
+EOF
+ MYGITHUB=git@github.com:stsquad
+else
+ MYGITHUB=https://github.com/stsquad
+fi
+
+GIT=`which git`
+if [[ ! -f ${GIT} ]]; then
+ # Are we on an dpkg/apt based system?
+ DPKG=`which dpkg-query`
+ if [[ ! -f ${DPKG} ]]; then
+ if [[ ! `dpkg-query --status git` ]]; then
+ echo "Fetching git"
+ if [ `id -u` = 0 ] ; then
+ apt-get update
+ apt-get install -y git
+ else
+ sudo apt-get update
+ sudo apt-get install -y git
+ fi
+ fi
+ else
+ echo "Don't know how to install git on this system"
+ exit 1
+ fi
+else
+ echo "Already have git, good"
+fi
+
+# keep my stff here
+MYSRC=${HOME}/mysrc
+mkdir -p ${MYSRC}
+cd ${MYSRC}
+
+# Clone dotfiles and elisp
+if [ ! -d dotfiles.git ]; then
+ echo "Fetching dotfiles"
+ git clone ${MYGITHUB}/dotfiles.git dotfiles.git
+ cd dotfiles.git
+ ./setup_dotfiles.sh
+ cd -
+fi
+
+if [ ! -d elisp.git ]; then
+ echo "Fetching elisp"
+ git clone ${MYGITHUB}/my-emacs-stuff.git elisp.git
+ cd elisp.git
+ ./setup_emacs.sh
+ cd -
+fi
+
+cd $HOME
+
+# Account for running under sudo
+if [ ! -z "${SUDO_USER}" ]; then
+ echo "Fixing up ${HOME} permissions to ${SUDO_USER}:${SUDO_GID}"
+ chown -R ${SUDO_USER}:${SUDO_GID} ${HOME}
+fi
+
+# Done (for now)
+echo "Done!"
+
+
diff --git a/tcwg-base/home-data/christophe.lyon/.ssh/authorized_keys b/tcwg-base/home-data/christophe.lyon/.ssh/authorized_keys
new file mode 100644
index 0000000..2784fa8
--- /dev/null
+++ b/tcwg-base/home-data/christophe.lyon/.ssh/authorized_keys
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDH+cTuP929qfreLhscv8F2Ot3NjaT1YVtyq6/gOqpCNIXPvPUIa/H9vacBHL7XxbtZoZhI6Ma/rlokjfriupldtzh9UQ4asEVRIpFTw6g8gGJx1RE00PUp2uCT1FZpMNFkuJQ1teI3o+ttMMLTKLdMbqzrzijH2Ev+RRGxveE91G/giRyGuyPdPO07XjNqfKXM8yWFUQg/P+rmSbNlomJ8JKxrg9xifnXBYXLKIiM3EfXwbOiqAxQvFp7KAMka2RrHb1RuZ3D94T8tqVNWPkSc09MX0BB6IAUxGdUYYQ5UTGukGL9OqsaOYlrJusrWW2eZ3lamUZfhGB1VFGPaXv+z lyon@gnx2504
diff --git a/tcwg-base/home-data/group b/tcwg-base/home-data/group
new file mode 100644
index 0000000..a0dbbf7
--- /dev/null
+++ b/tcwg-base/home-data/group
@@ -0,0 +1,3 @@
+tcwg-infra:x:9000:tcwg-buildslave,tcwg-benchmark
+tcwg-users:x:10000:maxim.kuvyrkov,alex.bennee,christophe.lyon,peter.smith,thomas.preudhomme,richard.henderson,prathamesh.kulkarni,omair.javaid
+tcwg-llvm:x:9001:maxim.kuvyrkov,peter.smith,thomas.preudhomme,omair.javaid
diff --git a/tcwg-base/home-data/maxim.kuvyrkov/.ssh/authorized_keys b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/authorized_keys
new file mode 100644
index 0000000..fa17c38
--- /dev/null
+++ b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/authorized_keys
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDR1x3iMEd7BSXx6QE3NtfVF8kYUUVoWUKCCC0jxOiLYCY3wf1i7bfQD7YMITEwXMvwQe6thGefBMLRPWr7WdoiUvxdaLYbSB72T4zN5tK/oQhFOHR8cqG68oSZIY89lUzFaGJRMGzSxUvYUWkwUhOIsjOBKFm+/yT4CD4SmUuFwQAadC6/t+jwc1LinYRMqphgfssUk8uzrvB0cqj2UsYrDF0jTVALfyTwWKHBokuZPnUER92v5e70/vAyOzJv13YdsQcwQBa1tBLrJJPpz8uX65bMLXJ6k+9U6bYSeVtRzYtmdDj5BYvdkJTR8diChLRS75roJclYpLEv0U9foCjd maxim.kuvyrkov@linaro.org-20150420
diff --git a/tcwg-base/home-data/maxim.kuvyrkov/.ssh/config b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/config
new file mode 120000
index 0000000..5f9d825
--- /dev/null
+++ b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/config
@@ -0,0 +1 @@
+../../tcwg-buildslave/.ssh/config \ No newline at end of file
diff --git a/tcwg-base/home-data/maxim.kuvyrkov/.ssh/known_hosts b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/known_hosts
new file mode 120000
index 0000000..936136a
--- /dev/null
+++ b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/known_hosts
@@ -0,0 +1 @@
+../../tcwg-buildslave/.ssh/known_hosts \ No newline at end of file
diff --git a/tcwg-base/home-data/maxim.kuvyrkov/.ssh/ssh-tcwglab-nc.sh b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/ssh-tcwglab-nc.sh
new file mode 120000
index 0000000..6eddeb5
--- /dev/null
+++ b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/ssh-tcwglab-nc.sh
@@ -0,0 +1 @@
+../../tcwg-buildslave/.ssh/ssh-tcwglab-nc.sh \ No newline at end of file
diff --git a/tcwg-base/home-data/omair.javaid/.ssh/authorized_keys b/tcwg-base/home-data/omair.javaid/.ssh/authorized_keys
new file mode 100644
index 0000000..4f91f11
--- /dev/null
+++ b/tcwg-base/home-data/omair.javaid/.ssh/authorized_keys
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCoBhUsmuHUwZtRdaZ2Fm8IOTlrCKdz/wxoczhhWufb3Oy9/pNftVcWlrvn3glg+PfCpVFeXvp/7jbFyeJTbrxdli+N0NyZCH5CXHiYTsIHnJngveoxvHe9kGCbqEDtGk+xXsCglyNhGz255sO99e+z0yBGRpZDC1nk4fileaAqm1SoaUbd64swijGFLOyd6KmQnNH4AmQRSBzZJe4vJl2P3kLJ/I5aSZZWWqoeX5bY3LaeNoTGBIfCLwIT4whzkV/V46SpIu0UyS4NSRxXX4cmh3J4cPnPD0zbbWKPCrz3PCBkoo0tnip1Ytw3S7UDCglnCBY+cLKu2AFORTiEzflp9oe3Q/UQQBcxLGibhH+06yw3EZgxejamG4wQ363xiFrRbJDqzdZJAW+WlmCkl+uLD6DaU9gR4iA+OIl5EBlKucnnzPEIybMPVQJ3YTbL+YCisxJ3Qmr8UdIrbtwGsYNMVC1OuM0dP3VznDJ9JzD94/7H3uLI61zSqJdk/B6S0NnsGjtJ++aMyVLjb9swWWBeK7pWZSGmVE+sQYLkf9aitzjJaDaakWoj1pRKSEHSzgJHPq7Hibh/1rxiWxftwP6fE5wy/kfSxfV0Z54PbtrnD6SK92Rtkbfjq2J0klsyo4sWGI5ta9VvqF19PiFfClKgbmef6VucLkvxhQD885qcsw== omair.javaid@linaro.org
diff --git a/tcwg-base/home-data/passwd b/tcwg-base/home-data/passwd
new file mode 100644
index 0000000..f9a98f6
--- /dev/null
+++ b/tcwg-base/home-data/passwd
@@ -0,0 +1,10 @@
+tcwg-buildslave:x:11827:9000:TCWG Buildslave::/bin/bash
+tcwg-benchmark:x:12326:9000:TCWG Benchmark::/bin/bash
+alex.bennee:x:10583:10000:Alex Bennée::/bin/bash
+christophe.lyon:x:10033:10000:Christophe Lyon::/bin/bash
+maxim.kuvyrkov:x:10967:10000:Maxim Kuvyrkov::/bin/bash
+peter.smith:x:12314:10000:Peter Smith::/bin/bash
+thomas.preudhomme:x:13851:10000:Thomas Preud'homme::/bin/bash
+richard.henderson:x:13410:10000:Richard Henderson::/bin/bash
+prathamesh.kulkarni:x:11537:10000:Prathamesh Kulkarni::/bin/bash
+omair.javaid:x:10174:10000:Omair Javaid::/bin/bash
diff --git a/tcwg-base/home-data/peter.smith/.ssh/authorized_keys b/tcwg-base/home-data/peter.smith/.ssh/authorized_keys
new file mode 100644
index 0000000..3e5efed
--- /dev/null
+++ b/tcwg-base/home-data/peter.smith/.ssh/authorized_keys
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDk77ZpUDiOq71/kkCS0oPkXILsKBBzxUxrDWydwgn2uicozIQbamisJ5EwogSpaDnmacxuRHg81yRKifBt21cgUHcUBJC4lsr0IXnuqAREUunT8QB6wWCjzUd/AMl9tuu+sPus3wAXQE4ek0yl7jZTBXifqJsUTUomp/+wbcVzLeO5NcK/VymCYSPOCu6opRCXLnzld+wBpHSo4c76QLNmd7t3yzWEwBWcwDgAILSBKFc1Eq6Jlz1/ocazUUU2VDa2zMCVL+3oKWxv1OJhOcPBa0wS8eTkjcuwNLG1eOGwQcwCE2EarlE/DIXR7yMSeJQCERWFb1erscb+H/jE6/Rz psmith@E104452-LINA
diff --git a/tcwg-base/home-data/prathamesh.kulkarni/.ssh/authorized_keys b/tcwg-base/home-data/prathamesh.kulkarni/.ssh/authorized_keys
new file mode 100644
index 0000000..54c313c
--- /dev/null
+++ b/tcwg-base/home-data/prathamesh.kulkarni/.ssh/authorized_keys
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/wwXYCngpNiJRzeyaiiHdX8p5n3jB5ZbW3IghR/LVH+sSUSjFeUQfwqNNvL363iAcEKNnr67CBTda2no1/wAKNHaFsEzPpcDRNtAwmOWcvoiq475ntLTw53ysqJEYy3MoO0H4fF5lOYmHfbbccjGyPs5SEUFe3+bJKZCOEu1jHXcOPhDcYWD0AiT0kQVleaiieXdS8lNQNTXiNHrQ7+ZFcRj0McreeKEx5jeF7Ck5eObgIffNXsMXXtGj6TC4F5Bg4QX/gtUmv4K/w+KWXJ25zwkit4toTm8q6BDv3XOuIiaguWln5b8erqNLZbGJbp9pYqiA7FKNBbnhUr4ZR0sj bilbo@bilbo-Ideapad-Z560
diff --git a/tcwg-base/home-data/richard.henderson/.gitconfig b/tcwg-base/home-data/richard.henderson/.gitconfig
new file mode 100644
index 0000000..71aec4f
--- /dev/null
+++ b/tcwg-base/home-data/richard.henderson/.gitconfig
@@ -0,0 +1,7 @@
+[user]
+ email = richard.henderson@linaro.org
+[push]
+ default = simple
+[diff]
+ renames = true
+ algorithm = histogram
diff --git a/tcwg-base/home-data/richard.henderson/.ssh/authorized_keys b/tcwg-base/home-data/richard.henderson/.ssh/authorized_keys
new file mode 100644
index 0000000..fa804c9
--- /dev/null
+++ b/tcwg-base/home-data/richard.henderson/.ssh/authorized_keys
@@ -0,0 +1 @@
+ssh-dss AAAAB3NzaC1kc3MAAACBAJEOzwysCMZtF04TdGQ54HrGqtahlznDG8oiBlX9GpISY0mRSUB1i6B2KXF3pfCvtr3VWdEO7YO6hQ7Rg+wxXns0qB7lVOoMbGvnFB7ygR439NILPuNntDfzBqAxxMP2JQusZeIPHTYDrJqRo9YxFe+Uk+PjTUVm9AvfbFMAcMz3AAAAFQCq5wr83MxfnZ+DeU9YvPyilFcpIQAAAIAFEnXMZyq4cqgO7/zXosZonRu8eGgzECQcXUVn4aBWxEolhQxtHmJWe8c0kTbY1Neo6VZ7CD5oSlFQ/d0O78oY+625f1VVGwtebSq4fThZJEm0XMuxj5V/0jhyP5TcTE1AvSHfV03ZpGDP7IbNMuVYp42lxJMs+MTjp82AUDMxGwAAAIA6pWdbmPjFwkWWtsY3VDVpZTPkD5Q3qpGMWCcpUsBT9eQh/CjmqU7ei3GaiDogwxy/Q41orfTmlZfjaSyDDyWgXCSdMF3WoekFAcsIRRRRJ5Nnek+Lhd60EueitdSQKgtbSwCXd9sXDE1eYiTozLfXIeFIZ0hhrQEW2I5NuaNX5A== rth@are.twiddle.net
diff --git a/tcwg-base/tcwg-build/tcwg-benchmark/.gitconfig b/tcwg-base/home-data/tcwg-benchmark/.gitconfig
index d0ea2be..d0ea2be 100644
--- a/tcwg-base/tcwg-build/tcwg-benchmark/.gitconfig
+++ b/tcwg-base/home-data/tcwg-benchmark/.gitconfig
diff --git a/tcwg-base/tcwg-build/tcwg-benchmark/.ssh/authorized_keys b/tcwg-base/home-data/tcwg-benchmark/.ssh/authorized_keys
index 536483e..536483e 100644
--- a/tcwg-base/tcwg-build/tcwg-benchmark/.ssh/authorized_keys
+++ b/tcwg-base/home-data/tcwg-benchmark/.ssh/authorized_keys
diff --git a/tcwg-base/home-data/tcwg-benchmark/.ssh/config b/tcwg-base/home-data/tcwg-benchmark/.ssh/config
new file mode 120000
index 0000000..5f9d825
--- /dev/null
+++ b/tcwg-base/home-data/tcwg-benchmark/.ssh/config
@@ -0,0 +1 @@
+../../tcwg-buildslave/.ssh/config \ No newline at end of file
diff --git a/tcwg-base/home-data/tcwg-benchmark/.ssh/known_hosts b/tcwg-base/home-data/tcwg-benchmark/.ssh/known_hosts
new file mode 120000
index 0000000..936136a
--- /dev/null
+++ b/tcwg-base/home-data/tcwg-benchmark/.ssh/known_hosts
@@ -0,0 +1 @@
+../../tcwg-buildslave/.ssh/known_hosts \ No newline at end of file
diff --git a/tcwg-base/home-data/tcwg-benchmark/.ssh/ssh-tcwglab-nc.sh b/tcwg-base/home-data/tcwg-benchmark/.ssh/ssh-tcwglab-nc.sh
new file mode 120000
index 0000000..6eddeb5
--- /dev/null
+++ b/tcwg-base/home-data/tcwg-benchmark/.ssh/ssh-tcwglab-nc.sh
@@ -0,0 +1 @@
+../../tcwg-buildslave/.ssh/ssh-tcwglab-nc.sh \ No newline at end of file
diff --git a/tcwg-base/tcwg-build/tcwg-buildslave/.gitconfig b/tcwg-base/home-data/tcwg-buildslave/.gitconfig
index d91df92..d91df92 100644
--- a/tcwg-base/tcwg-build/tcwg-buildslave/.gitconfig
+++ b/tcwg-base/home-data/tcwg-buildslave/.gitconfig
diff --git a/tcwg-base/tcwg-build/tcwg-buildslave/.mailrc b/tcwg-base/home-data/tcwg-buildslave/.mailrc
index cae73d9..cae73d9 100644
--- a/tcwg-base/tcwg-build/tcwg-buildslave/.mailrc
+++ b/tcwg-base/home-data/tcwg-buildslave/.mailrc
diff --git a/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/authorized_keys b/tcwg-base/home-data/tcwg-buildslave/.ssh/authorized_keys
index bb7e338..bb7e338 100644
--- a/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/authorized_keys
+++ b/tcwg-base/home-data/tcwg-buildslave/.ssh/authorized_keys
diff --git a/tcwg-base/tcwg-build/tcwg-benchmark/.ssh/config b/tcwg-base/home-data/tcwg-buildslave/.ssh/config
index 47e5dbf..ba32e1e 100644
--- a/tcwg-base/tcwg-build/tcwg-benchmark/.ssh/config
+++ b/tcwg-base/home-data/tcwg-buildslave/.ssh/config
@@ -16,6 +16,10 @@ Host *.tcwglab *.aus-colo people.linaro.org aus-colo.linaro.org lab.validation.l
Host *proxy.*
ProxyCommand ssh $(echo %h | sed -e "s/proxy\.//") nc -q0 localhost %p
+# Access to Cambridge Lab. E.g., ssh dev-01.tcwglab
+Host *.tcwglab
+ ProxyCommand ~/.ssh/ssh-tcwglab-nc.sh -q0 %h %p
+
# Access to Austin Colo. E.g., "ssh r1-a7.aus-colo"
Host *.aus-colo
ProxyCommand ssh aus-colo.linaro.org nc -q0 %h %p
@@ -24,7 +28,7 @@ Host *.aus-colo
Host *.lab
ProxyCommand ssh lab.validation.linaro.org nc -q0 $(basename %h .lab) %p
-Host *.tcwglab *.aus-colo *.lab
+Host *.tcwglab *.aus-colo *.lab tcwg-d05-01 libgomp-d05 tcwg-thx1-01
# Enable automatic multiplexing.
ControlMaster auto
# Soften up potential problems with killing master connection by using
@@ -50,11 +54,21 @@ Host *.tcwglab *.aus-colo *.lab
# Don't warn about "adding" host keys to /dev/null
LogLevel FATAL
-# Make sure we can connect to localhost (e.g., to a container running
-# on localhost) with the settings for *.tcwglab
-Host localhost.tcwglab
- Hostname localhost
+Host ci.linaro.org
+ Port 2020
Host git.linaro.org dev-private-git.linaro.org
User git
+
+Host tcwg-d05-01 libgomp-d05 tcwg-thx1-01
+ Port 2022
+
+Host tcwg-d05-01 libgomp-d05
+ Hostname 147.75.106.138
+
+Host tcwg-thx1-01
+ Hostname 147.75.77.198
+
+Host tcwg-ex40-01 ex40-01
+ Hostname ex40-01.tcwglab.linaro.org
# === END: TCWG SSH configuration ===
diff --git a/tcwg-base/tcwg-build/tcwg-benchmark/.ssh/known_hosts b/tcwg-base/home-data/tcwg-buildslave/.ssh/known_hosts
index b649d65..a1a108b 100644
--- a/tcwg-base/tcwg-build/tcwg-benchmark/.ssh/known_hosts
+++ b/tcwg-base/home-data/tcwg-buildslave/.ssh/known_hosts
@@ -1,9 +1,12 @@
aus-colo.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBP8apVdw/JC+4rOiq/eG2LgjwJPCqKIlG/RwPVDe1VNOdtrmR6VnTQ5oQYkwt00h2rdI6dVzdW8Q9za7PGW6Sls=
aus-colo.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBALdjDe/FnDjKDz+QzKWD/J1jIVVjied+1EFcxZ/uyGw9uZwVjReHP6ehGQCtQEM+SDklOXc6bz9UeBjG6+gDGXWBmldbS2yXvvxFmmbOf40h/rVFKq0CW/tJxyONoaf75Qj+aOyo3iUXMl+jJowb+LR5j0zbdTrSkM2qEsP8o0b3AAAAFQDfNOi88rFXdks5xpzmiKs0fzyYGQAAAIEAnzYTZ0dDAua6FHgqfoNVZHS4CV/le6G5FFCc4Kp4lB9ijRMjrDZNey5BkCooetqOBuPF8mYYAgZ28NemIUvvTenddfHFzWQTPl0meAdUhBW4EJMq0HWEV+kUKANUah2QlXWx8/g1x3cOhBzABTMOEBUFnlMx9d5A71JZypEN5UQAAACACiH996M1x/DjYmMp6BLwglYMDjQPrfI7QhNwa/8/wukDHlB6puB/HdPyxYZp/IVShHze6C3YpmV+dXxc85/vMNoVRx02ICC2gTkm2MoSFgaW1nO95tRPtyJ4AXa4ev4D22hNPF5SxgXfn2lT4uH8bWxvTrzgHs7JhAzD0oRbOh4=
aus-colo.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCg5vMfuBLRroqEb6+CFLQikh1Wq6UD++SODY7bSdPDfN1wmurdp60AdVU+22nOXgK78mwYPJ0PEcTBMSE+OmryfZFDZm/+aPbALid/vFs8NuvFmEQ8vecEBPDGxJ3RpVxkNG5BrWMTJjWMJTCFdIh9my5vhBPEloAuDRthRNaRwvgqRw3GJAbSG2Cg4ZgOQi7Lv3ogQ/M3nXzy8KMp4KD7AtncylguPoVwDxNwjl+YoEujZDvpM4UiZDnh+Gxeru3EnEIgDvwbMizlrKL8Tm+2gA+j3cWkgIjCVJM+PW8V0aobp681ChqlbDlzK0oVmwUafdVv3dxzOSrjQH2rkaOn
+[ci.linaro.org]:2020 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJW1L7ZeT7dC/otESvOQl8KZ/VlV08z0rmUPwwVJvDbuAlh6Qpn5LVPRe7IFEU/qePQQEKzn1Kw7x6Ces3e5mck=
+[ci.linaro.org]:2020 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzIJCEw5MSW713q3I95jORM6fkdx22Z+eeanVvAy8fGssvh0QHZtG8kpesQLWmtaOxkkRwURK+ui4OnoO/FCaRGWX0SUpnHxPF23OcwejLGXX9uAhtFY8s2hyvdrWDyB4vGjNjqT8NhnciETy3WNV0D0tKCfwEy6WkjIM0B9acrDxhYYDLqSXWUBAdJ7J8Mgg/L1nAPWM8DC0H+5SmzYvfxxnzprq/EvLDL950262WN10nzx2KsFD0zCW4eggp2Qcqa5XX6Ou/gHfIW8J8gncOjfpR4c6DN9NS7rX71F7BsLhkMwu1GwKhf09qvtGT3LdR2ilNOG36Uvq7WksiBofr
dev-private-git.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs=
dev-private-git.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAK10xjDXtqiW6S02TFvIQUmjTyu+tpiT0IVTp5dlZX5rT1EDi4DtRgtoO/R4WncAs0GE8FqaI/IqljuYlJbHOrFCxU3OWKB+z2Ue3oXs3kouoFP3coF4exBZLEBX4JQ/HI5Ii88fnE/U70/+wN/mMAtcOrsgGWGXOv8yFZEQaKJJAAAAFQCfVbaD5KdaABTLwQ8CXRuZ+PAeHwAAAIBmppcf9sx9M4KAgiOQRGW+7/eImJHFRazQSe8Qbiqo0H7OQhIRcLIm6+PAtKgxxSaQErAo4z/xM7d2lhqOyydK5GDpILgV3qHUFAgQ9vajL+ga5/VeRTqg6R91kYgIKnEl3y8/iW6eRcJF/jzYfDcaFG0Z3gsOtHzjTsCuV8KMLwAAAIBupI2LDTsUYa64hSKvGhEVPMj8VKx5RX4NWQU/dlNNhlFRTzV42giujZ146vH5SGqagR3daX+o6Xm++GDJ+AedzJ8zBc9dAwU7ao4fd23bsyURvNxC7K5DKJnlCDS6xk+6wv6Hz9VdbaIEE5TPxSGqZEOK1V+pbgv+cMUGACy43Q==
dev-private-git.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC34bjTOKJIq8MVSeC5gddQlbR0hyvvTZbrpW7KXgCzkLTFZxa05wbz8VC1l7ruPotQBgrICgLYmrbjrASqcY//9OPLDa1Pf/MUIu2F2lA1W/5E3psGYmyC9GTvmjKgu39Rad5ujXMeMLjuzVPCmo+WhewgugDSV4Fcggd6B6YXHGtoE15ctSw4moerUq1+2BXVgFxUyMoGcpSCeLnbvWpmi6xWoGQOSnrQ4Z/VmZ5WZ87vQsiiWEAsqmMOHHacunnSph7uzQXJlHNajdeGnr2NF+EgcmQ0N6vivZDRLmRYuSmizjCOHSRZxSm/0UJC/ewVzp9BwRepiNKWsjb4gTMb
+[dev-private-review.linaro.org]:29418 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDZ6AQ2WyZSO43657/fFpxGgVY73kUwh1R1eXpZp27T6lAI5XFQ7YS8HjQ2O7e4edGSpJHHrqVuZphKpqu11Lz8=
[dev-private-review.linaro.org]:29418 ssh-dss AAAAB3NzaC1kc3MAAACBAM596jW8Kbsh/ApdoP3r7UvrSOzhnoG1ZHYngER+Dd9e0iGJY1Wbpth7ngngpALl3PQQ99R5xUt8wvcOcICq+vF34FR/Gym+7VjaMLI7DxF48OrUAJnx6zINNlpXbMAI0nptWcKoL/xdmC7AoBOjH1Q+jGTiKISmXTE1w5iK8qp3AAAAFQDwzizM3qhYdknasNV/vp84o19FWQAAAIEAqLjr9vNsgr1snOdyKOhRuyidqf/zThaxuJaUktxLDKU0DDip+FGqLYiS2VzNuSWMaKjkBjITBi0sXktmUhhbPvBHhyzLy3Hz6BOdXpUAoq70QMOcocE9IsEfmqtkOsx/BZ1uCV6W051Gsci4PxK16q9zolpAEp4/3wEWGH+ueJIAAACAERdZ+vCZl6iDzq6XpYFKZ1r6i/CjX5KIBWKCzoN/Z8fo96rZqFA23G5tXM8+YMYnLdwb/qvNSCz6dWpH2FMS4yj7zo2l3GjguC8JOfar0Rt8fihJyaynX+rD/aP3b+h5ot1b/645qrfvpfmeh3gZt3c1kjy5fyopujyGNTUtq6c=
[dev-private-review.linaro.org]:29418 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCofUDWYYwzE4YWotCffwCxLoRuVCMb6DP+eObwbTPHMe5asK94Y1jPNeK1yUVJIuIAUO8aA6pIq3uLKlusyGLZe1YBpM+7YX3HMOBfCOeOemHFxETlj/HC7islYLYT7Sm/DweiN1kxgP8Q/PhPIA5czCZGHS/+T/VLbMApyyzdTmswaqfgJejyK9juHAcmxT3Tupj2SGOuOamyKfhfsPxGwIchivy/mt7xBTk5cNiSDeLAfMn2rHsilfLjb+IoeE6EvtqG3+rTh+ttulHp2vSeZkK79tuyVWt+XOZjD4RDfk1taW9JjaafkyOW0VCF4gqOMfJU24u88xTCgqkgT1bN
dev-private-review.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs=
@@ -18,11 +21,11 @@ git-us.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdH
git-us.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAJbwbYgvbS+8vnlhJLe1AwgvbBqu0kBw7pBjQgF47lXRKqZbzwQc+hHmMbczJOfIoo1PX39Ifhz142u+yN7PQgUlU+jzI2Q9cjSqfrS02rV0cU2TQRKvgTQH89qMk2M0jOimcz1UCZkCgS2wj6hb1HU9pkhzpH7d+1/M/31Xc5uPAAAAFQC82/+3qHmNd8G8mrPJz9LfdUpsmwAAAIASypGV3LlIOE3bDlZwgr3rZ+44MPq7c16SbpjnjqbsOzPAyllD8MeY0eynuDqtGtT4RtC8uRgmgw7MW1HtYnTSlYt0up66LT19LCRKme8CVtggqjwLTUEKWmrdbe+PSvczKjeszOD0R5qGasSvOOKMJ5jLMnJ9jMhHhItc53eM5AAAAIBXWdudBBziVVk9VE+z1kvOYsCGYosLglqzJMsFfVQh948Ci9PowKx8xognWEtdaZW7+2oEIwL8QR+zPtzNY447i6iRuJy1TaDZfJU8nTfr07KoXB4B7rhADByXl4x9Uk25m9n9XjF/ctjIzyspvcRpqZXMHBUuZalID6E39YJqnA==
git-us.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV
lab.validation.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFZDLd4f9cph9A64+kXUpGvuRmInB3HAtHU9T6wVIsp4HkYLLZD59I4lF/u2VLfM7j10XMNPO7ybOJMM+1zIZlM=
-lab.validation.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAK75t/OG68cN0mtVNrliCi8/7tajozJQDGvxgnpben1F84IzWNJpBdtEgaXeo3zD0cQl1nM5IftBjSKMkomdsaDh7u6A57juaANU9NKIXW2BGmaICZxllFAb/Cmnq4mDnZJ33G5UyGPVA49bUEKw8DLe8FLVlO/wcghJhjoy7prZAAAAFQD8zrwLDwd4M4vKKWu9nju7fI3oywAAAIBVE6ykor/q56qYTYqaAvcRkq7331jdYHTqiAVcO9KyrdOS7yCgtb2Dw+O0rq5ftLSF73ad5ACbw+XbzQVJAeKDaDs5mLf3eYF0+3YODFRHYDsbbihO0uZcGHFPvGDD9odBZhWFIZaFSdboodSuyzxIgLu0EZAsHoSP2wjTGdiXFwAAAIAkPcANYxo0jm8BuCEYR+SXXS4aj83dUGbPP54UU7M+jrrfG1M+JVFh3kEsXr9zptZajY+NrqlnXqPp4HZyORUUEN+Szkjbd2p8CCCQvv1PODGJtXFzwpatUP27I2ik/lZG9OXxBQkO+QxjuJ+pcjXPdBRz6DwWoUM63+QFXBLpsw==
lab.validation.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDtto5bsPJ3NuXsWtwMR8bsAzLvkBstmF1QP+eC6jUBsCDHMtBW/zAWJYNPDr30vRkV7J8D64Pd91rgjbqF8mOPDlyVlln03dYtOV3hzVuXLZfxodslJsw4lB+ZhxLfcZAKqqFURJEhrJNJmtFBprxFRbdS1iQHJHJohg3zS9zlLFvUpZGWooLFEM2z2NdUfSiR12ePvdW1YsEimJR/b3h1it/Wot0uEB6VONZGyMrrWvsntJV1NdQFxJR8waTz1sBvQQBJGX+SgEXY1CB3AUiF4yIy5WZ/4YCOk0kO9qABvV0Ks357OU5uY5GMgalAy2RJyvceNf6erlR4vwmpdnDH
people.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKKtlH9IGVw1wE3daicRzyOdIM9MzWfUH1tUB8R/md36RDTSqG8VGYrn1E5pJcs7rsk05ZCUQIaglefMytoOvQ8=
people.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAOnQwFbvISNteLPMb/Srm2xwFDrxDql+kxtlZyohrSZ72K9GDg+dqb4W7/QiVrOMhfRzaL93Hj/FLCxKqUXdnTQqekqGosRQK7fLNJvh6DNizoJ+aWzKp1EL3kF2GgKP33ZPtRJYrBdxnc+DDc0yP/He3cyrzbg1nsWSedc1MMVpAAAAFQCm3xIrM1iR9ozuyjKRGwhnrKo9GQAAAIBkdN4dNB298m+2aXqMmLOj1Ry9/S6CTiMn5c9T/luYpWFRnsyuHlBIcZFjyOMtU3bc8b7KwqP8t3XTQbolbqtYOWqPeiaIH/VAk7w9o1tePRwtbTadksYw+UJGtn9c+52uQfGZdjfyjsKs7hEWgE72gTeIb9g1QZ+WCoVfSzNacgAAAIA9T2ONJcRFX3heeDcl6gho8Wj264GDhS5/iqdMCClO3wKUY04hPSpXKRhRm/zzFGb9537Qj6LluDAcg+m/D0FnoQkILLXnfiMnrlyoCCA/jZWrVZw8aQdDHM5LlDdDZKZV7djkbjF0nVvWRTrvc20yQeDLLImaTDOfYjmJ75L1vQ==
people.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8OveP3mffvlzMEGuZQzol8zoDwCdAzrNiBfX9rv6lDGr86Sl4MVKs/6cYdjbtrUJD7ls5gc8cfjH5EXPh/HuoBj7Bi+UNfyyGSqrZgTFPpyLx50QJDeogcUN54NL+N/X6HtQtyvGwEXgb26S9ec7LFfyxqT8Yy370XH/y7qAtJgS3UTkf8kzIWgZQvU5MU3FqhOn9mzI+KqsBMRKt0JpW7H2VRYiaHqpshwpuNHRDEQBMnRVHDpo8SZRq21pwRjdTzuzGJv2enCW018jWC/HMmTaaDWzX6SO+JQs9NFVUpM6hg+ysa5piDXnCNQ8Ry6l0nlAjgUt92NEe4OeANrt9
+[review.linaro.org]:29418 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPzkmW4axU/BXRtRkR42I8FVvWjGhB4CUtTC3cSkhu6L0Oo9i+ija/hahkPT0DC+S0k/vEL7s4mC5SrdNCeJO/0=
[review.linaro.org]:29418 ssh-dss AAAAB3NzaC1kc3MAAACBAPB0SE19HQ0dEtm3Unp7+JiNeHlIWNs4j9yN+2Q/fxmBT2ZZ0a5I4gg63b5rM/1Li/6k0f/CtSYBH/mhmjKaEKIQV/c/lmuZivUAfTPT0ld3voXHwRhgpWI/WOiRdsTRZZW2yUHx/troO53mx4eIISKfab+t+vCU5Af+sgTBF6InAAAAFQDGR2ccfQSWVuSyzgvK8f7FT8olTQAAAIBHZqySRfjEnnx9h0aS6i2H21dmZxUllwIJpdpS6XWzvMzVwBb1DKx8bO0WwZeTnxxs1BKVAjmSDkDGYJWHxyU8kQ8aFsBo0KwbNEKXozaK3Gf2YF289xQsigbtPUWYXDz1PNEXtIS9AXdCRq4i09ujO3ayxq4lX2n0LIQ4IhM+RgAAAIB2SvnzVadjW14AN9F9ZEfnK0JRpBTKjz+kQSS1TJiRI/dSHG6CwwXjD1G9YW8mfGhPOPYHIE2MF2n7d7DfqBdeeee0PnwBQ0YBc5qfhQ9Gpi+hqXSem1YaD2YRG40que5bu/Rd6NksnSLg/93Z3L3fN+qTeApRqHQWRrfswGgi+A==
[review.linaro.org]:29418 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMfTLkTmsbtahAiVJTKXRFbR9MQ/vDH/JPj4QN3XPHJuubxLhUf8WObEBtML7J11uvVM1oDTwM5YG5yjyBnc+85OaQaB9tMPDheGhfMG40F4vxdSnQL29ihyrls0hrFTY9UZ4Y2FmJwYL0rOnGU7iPyNuExQwfg2bkdw67aH9nEGjSd2eXYl2bI4DHujy5GJiV3dR9TlUF0iaSeHVSIX5t9I/BXK+AiSqHTrvwdGGi9XvL6xEWYMOZOpJnCH8Q4OSibsFfQXnCMgIFeO7J/ZMGXqltXOtztgQMr8VvRRD3S+Lcp8yKb5aUjWwoCxb4YzEUbQE04SRVeAGjsfNJcXgT
review.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc=
diff --git a/tcwg-base/home-data/tcwg-buildslave/.ssh/ssh-tcwglab-nc.sh b/tcwg-base/home-data/tcwg-buildslave/.ssh/ssh-tcwglab-nc.sh
new file mode 100755
index 0000000..d088179
--- /dev/null
+++ b/tcwg-base/home-data/tcwg-buildslave/.ssh/ssh-tcwglab-nc.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+if grep -q "nameserver 192.168.16.3" /etc/resolv.conf; then
+ # If we are in one of TCWG Cambridge subnetworks, then use straight nc.
+ exec nc "$@"
+else
+ # Otherwise jump from ci.linaro.org
+ exec ssh -Snone ci.linaro.org nc "$@"
+fi
diff --git a/tcwg-base/home-data/thomas.preudhomme/.ssh/authorized_keys b/tcwg-base/home-data/thomas.preudhomme/.ssh/authorized_keys
new file mode 100644
index 0000000..68d7168
--- /dev/null
+++ b/tcwg-base/home-data/thomas.preudhomme/.ssh/authorized_keys
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDFtoCUhkeZ3yC2s7oUfSrM33SVgBKLGJ/4FiEGnQRmU1g8rxuOyDOscGz6AIHDNfYcBZGgwHVu5rBd+w+GKZf89kzc6apqBCNmPXUX9vJleb8otqgDL9msifgGOjhDyWVd5pdW6MFzmWMIJyBbY+D3JguUgAMSHMiGh5Sf4+pskn6XOCqnKGbLYRMwpAD1u7ket/liAZnagFP1CuTCgNkmvnFzEw5a4bOdVYtp9x20LYq0L0OMSNhT4KajxUmxgEteLuKCXaafgPgIWq6B8skqkZzyVSU2+RR2Yd6wGQgP6fRFCh84lo59otU5C7VacYqryzCyfdiiE5FXzh94ypu0uKtnq4nSz9DUeL/TAcjr+Y+jAfgwCm087SK/WIPhF37yd6/b/AEeF/4mT8jAR+h74u8ULR9mRkWirBEldG2I80C9p916h73lrc9Vta7CA7XzseIHSKv1S1OQlkCMF8Jj4AwMTF5DOXLju9WNF17OAP44IMEJvpG2HcxTPLbrHd9GX2G4PDzJBaIuaFybJIQH28ZpbIVKpx6iVtPFQ2ehRh+STi7rApgLGPiKjwKYskLnpLcoCyhhyw8BpW7SQ4U690ZcPEboYDF5sqPwEP3EKmrXBG3siUNmlnrLY0E/INON/SKEHAgAAxKm2s4UhtnrfN3y1Wh1ILPRnJq6Fk3K3w== thopre01@e108577-lin
diff --git a/tcwg-base/new-user.sh b/tcwg-base/new-user.sh
new file mode 100755
index 0000000..1046388
--- /dev/null
+++ b/tcwg-base/new-user.sh
@@ -0,0 +1,112 @@
+#!/bin/bash
+
+set -euf -o pipefail
+
+usage ()
+{
+ exit 1
+}
+
+passwd_ent=""
+group=""
+home_data="default"
+update=false
+user=""
+verbose=false
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ --passwd) passwd_ent="$2" ;;
+ --group) group="$2" ;;
+ --home-data) home_data="$2" ;;
+ --update) update="$2" ;;
+ --user) user="$2" ;;
+ --verbose) verbose="$2" ;;
+ *) echo "ERROR: Wrong option: $1"; usage ;;
+ esac
+ shift 2
+done
+
+if $verbose; then set -x; fi
+
+if [ x"$home_data" = x"default" ]; then
+ home_data=""
+ if [ -d /home-data/ ]; then
+ home_data="/home-data"
+ fi
+fi
+
+if [ x"$passwd_ent" = x"" -a x"$home_data" != x"" -a x"$user" != x"" ]; then
+ passwd_ent=$(grep "^${user%%:*}:" "$home_data/passwd")
+fi
+
+if [ x"$group" != x"" ]; then
+ gid=$(echo "$group" | cut -s -d: -f 2)
+ group=$(echo "$group" | cut -d: -f 1)
+
+ if [ x"$gid" != x"" ]; then
+ action="add"
+ if $update && getent group $group >/dev/null; then
+ action="mod"
+ fi
+ group${action} -g $gid $group
+ fi
+
+ group_opt="-g $group"
+elif [ x"$passwd_ent" != x"" ]; then
+ gid=$(echo "$passwd_ent" | cut -d: -f 4)
+ group_opt="-g $gid"
+else
+ group_opt=""
+ gid=""
+fi
+
+if [ x"$user" = x"" ]; then
+ user=$(echo "$passwd_ent" | cut -s -d: -f 1,3)
+fi
+
+uid=$(echo "$user" | cut -s -d: -f 2)
+user=$(echo "$user" | cut -d: -f 1)
+
+if [ x"$uid" = x"" -a x"$passwd_ent" != x"" ]; then
+ uid=$(echo "$passwd_ent" | cut -d: -f 3)
+fi
+
+if [ x"$user" != x"" ]; then
+ if [ x"$passwd_ent" != x"" ]; then
+ comment=$(echo "$passwd_ent" | cut -d: -f 5)
+ shell=$(echo "$passwd_ent" | cut -d: -f 7)
+ fi
+
+ aux_groups="kvm"
+ if [ x"$home_data" != x"" ]; then
+ for g in $(grep "$user" "$home_data/group" | cut -d: -f 1); do
+ if [ x"$g" = x"$group" ]; then
+ continue
+ fi
+ aux_groups="$aux_groups,$g"
+ done
+ fi
+
+ action="add"
+ if $update && getent passwd $user >/dev/null; then
+ action="mod"
+ fi
+ user${action} $group_opt -G $aux_groups \
+ -m -d /home/$user \
+ ${uid:+-u $uid} \
+ ${comment:+-c "$comment"} \
+ ${shell:+-s "$shell"} \
+ $user
+
+ sudoers_file=/etc/sudoers.d/$(echo $user | tr "." "-")
+ echo "$user ALL = NOPASSWD: ALL" > $sudoers_file
+ chmod 0440 $sudoers_file
+
+ if [ x"$home_data" != x"" ]; then
+ chown -R $user${gid:+:$gid} $home_data/$user/
+ chmod -R go-w $home_data/$user/
+ chmod -R go-rwx $home_data/$user/.ssh/
+ rsync -a $home_data/$user/ /home/$user/
+ fi
+fi
diff --git a/tcwg-base/tcwg-build/Dockerfile.in b/tcwg-base/tcwg-build/Dockerfile.in
index 5d620d2..d9a8f69 100644
--- a/tcwg-base/tcwg-build/Dockerfile.in
+++ b/tcwg-base/tcwg-build/Dockerfile.in
@@ -1,19 +1,11 @@
FROM linaro/ci-#{ARCH}-tcwg-base-ubuntu:#{DISTRO}
-RUN groupadd -g 9000 tcwg-infra \
- && useradd -m -g tcwg-infra -G kvm -u 11827 tcwg-buildslave \
- && useradd -m -g tcwg-infra -G kvm -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/*
+RUN while read line; do \
+ if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \
+ continue; \
+ fi; \
+ new-user.sh --passwd "$line"; \
+ done </home-data/passwd
#if ARCH_amd64 || ARCH_i386
# Install wine. On amd64 arch we need to enable i386, otherwise wine
diff --git a/tcwg-base/tcwg-build/build.sh b/tcwg-base/tcwg-build/build.sh
index 8624b7f..929a576 100755
--- a/tcwg-base/tcwg-build/build.sh
+++ b/tcwg-base/tcwg-build/build.sh
@@ -6,7 +6,7 @@ trap cleanup_exit INT TERM EXIT
cleanup_exit()
{
- rm -rf tcwg-buildslave tcwg-benchmark
+ :
}
export LANG=C
@@ -16,9 +16,6 @@ name=$(basename ${PWD} | cut -f3- -d '-')
image=linaro/ci-${arch}-${name}-ubuntu:${distro}
top=$(git rev-parse --show-toplevel)
-rsync -a $top/tcwg-base/tcwg-build/tcwg-buildslave/ ./tcwg-buildslave/
-rsync -a $top/tcwg-base/tcwg-build/tcwg-benchmark/ ./tcwg-benchmark/
-
(cd ..; ./build.sh)
"$top"/tcwg-base/validate-dockerfile.sh Dockerfile
docker pull $image 2>/dev/null || true
diff --git a/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/config b/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/config
deleted file mode 100644
index 47e5dbf..0000000
--- a/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/config
+++ /dev/null
@@ -1,60 +0,0 @@
-# === BEGIN: TCWG SSH configuration ===
-#
-# !!! THIS MUST BE COPIED TO THE START OF YOUR ~/.SSH/CONFIG FILE. !!!
-# !!! IF YOU REPORT A PROBLEM WITH SSH, AND THIS CONFIGURATION IS NOT !!!
-# !!! AT THE START OF YOUR FILE -- YOU HAVE OBVIOUSLY MISSED THIS VERY !!!
-# !!! IMPORTANT NOTE. AS PENANCE, YOU WILL READ THIS NOTE OUT LOUD. !!!
-#
-
-Host *.tcwglab *.aus-colo people.linaro.org aus-colo.linaro.org lab.validation.linaro.org
- #User @LDAP_USER@
- #IdentityFile ~/.ssh/id_rsa
-
-# Proxy connections to custom ssh servers (inside containers) on firewalled
-# hosts through "main" ssh server on that host.
-# E.g., "ssh -p32768 proxy.dev-01.tcwglab"
-Host *proxy.*
- ProxyCommand ssh $(echo %h | sed -e "s/proxy\.//") nc -q0 localhost %p
-
-# Access to Austin Colo. E.g., "ssh r1-a7.aus-colo"
-Host *.aus-colo
- ProxyCommand ssh aus-colo.linaro.org nc -q0 %h %p
-
-# Access to LAVA Lab. E.g., "ssh root@10.7.0.18.lab"
-Host *.lab
- ProxyCommand ssh lab.validation.linaro.org nc -q0 $(basename %h .lab) %p
-
-Host *.tcwglab *.aus-colo *.lab
- # Enable automatic multiplexing.
- ControlMaster auto
- # Soften up potential problems with killing master connection by using
- # ControlPersist (which puts the master connection in background).
- # Also ControlPersist has an undocumented feature that it will clean-up
- # and replace stale ssh socket from a zombie connection.
- ControlPersist 5m
- # Put the ssh socket on /tmp. Note that overlayfs can't host sockets,
- # so we always arrange /tmp to be on a ext4 or equivalent FS.
- ControlPath /tmp/ssh-%u-%r@%h:%p
- # There is little point in forwarding X11 to machines outside of local network.
- ForwardX11 no
- # Forward authentication agent and keep private keys in one place.
- ForwardAgent yes
- # Ping server every 5min to avoid routers dropping connection.
- # This matches -o BatchMode=yes setting used in cross-testing (see ABE)
- ServerAliveInterval 300
- # Disable checking of host keys for boards behind gateways.
- # !!! BE BECAREFUL TO ONLY DO THIS FOR MACHINES BEHIND SSH GATEWAY OR VPN !!!
- StrictHostKeyChecking no
- # Don't store host keys for one-time containers
- UserKnownHostsFile /dev/null
- # Don't warn about "adding" host keys to /dev/null
- LogLevel FATAL
-
-# Make sure we can connect to localhost (e.g., to a container running
-# on localhost) with the settings for *.tcwglab
-Host localhost.tcwglab
- Hostname localhost
-
-Host git.linaro.org dev-private-git.linaro.org
- User git
-# === END: TCWG SSH configuration ===
diff --git a/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/known_hosts b/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/known_hosts
deleted file mode 100644
index b649d65..0000000
--- a/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/known_hosts
+++ /dev/null
@@ -1,30 +0,0 @@
-aus-colo.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBP8apVdw/JC+4rOiq/eG2LgjwJPCqKIlG/RwPVDe1VNOdtrmR6VnTQ5oQYkwt00h2rdI6dVzdW8Q9za7PGW6Sls=
-aus-colo.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBALdjDe/FnDjKDz+QzKWD/J1jIVVjied+1EFcxZ/uyGw9uZwVjReHP6ehGQCtQEM+SDklOXc6bz9UeBjG6+gDGXWBmldbS2yXvvxFmmbOf40h/rVFKq0CW/tJxyONoaf75Qj+aOyo3iUXMl+jJowb+LR5j0zbdTrSkM2qEsP8o0b3AAAAFQDfNOi88rFXdks5xpzmiKs0fzyYGQAAAIEAnzYTZ0dDAua6FHgqfoNVZHS4CV/le6G5FFCc4Kp4lB9ijRMjrDZNey5BkCooetqOBuPF8mYYAgZ28NemIUvvTenddfHFzWQTPl0meAdUhBW4EJMq0HWEV+kUKANUah2QlXWx8/g1x3cOhBzABTMOEBUFnlMx9d5A71JZypEN5UQAAACACiH996M1x/DjYmMp6BLwglYMDjQPrfI7QhNwa/8/wukDHlB6puB/HdPyxYZp/IVShHze6C3YpmV+dXxc85/vMNoVRx02ICC2gTkm2MoSFgaW1nO95tRPtyJ4AXa4ev4D22hNPF5SxgXfn2lT4uH8bWxvTrzgHs7JhAzD0oRbOh4=
-aus-colo.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCg5vMfuBLRroqEb6+CFLQikh1Wq6UD++SODY7bSdPDfN1wmurdp60AdVU+22nOXgK78mwYPJ0PEcTBMSE+OmryfZFDZm/+aPbALid/vFs8NuvFmEQ8vecEBPDGxJ3RpVxkNG5BrWMTJjWMJTCFdIh9my5vhBPEloAuDRthRNaRwvgqRw3GJAbSG2Cg4ZgOQi7Lv3ogQ/M3nXzy8KMp4KD7AtncylguPoVwDxNwjl+YoEujZDvpM4UiZDnh+Gxeru3EnEIgDvwbMizlrKL8Tm+2gA+j3cWkgIjCVJM+PW8V0aobp681ChqlbDlzK0oVmwUafdVv3dxzOSrjQH2rkaOn
-dev-private-git.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs=
-dev-private-git.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAK10xjDXtqiW6S02TFvIQUmjTyu+tpiT0IVTp5dlZX5rT1EDi4DtRgtoO/R4WncAs0GE8FqaI/IqljuYlJbHOrFCxU3OWKB+z2Ue3oXs3kouoFP3coF4exBZLEBX4JQ/HI5Ii88fnE/U70/+wN/mMAtcOrsgGWGXOv8yFZEQaKJJAAAAFQCfVbaD5KdaABTLwQ8CXRuZ+PAeHwAAAIBmppcf9sx9M4KAgiOQRGW+7/eImJHFRazQSe8Qbiqo0H7OQhIRcLIm6+PAtKgxxSaQErAo4z/xM7d2lhqOyydK5GDpILgV3qHUFAgQ9vajL+ga5/VeRTqg6R91kYgIKnEl3y8/iW6eRcJF/jzYfDcaFG0Z3gsOtHzjTsCuV8KMLwAAAIBupI2LDTsUYa64hSKvGhEVPMj8VKx5RX4NWQU/dlNNhlFRTzV42giujZ146vH5SGqagR3daX+o6Xm++GDJ+AedzJ8zBc9dAwU7ao4fd23bsyURvNxC7K5DKJnlCDS6xk+6wv6Hz9VdbaIEE5TPxSGqZEOK1V+pbgv+cMUGACy43Q==
-dev-private-git.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC34bjTOKJIq8MVSeC5gddQlbR0hyvvTZbrpW7KXgCzkLTFZxa05wbz8VC1l7ruPotQBgrICgLYmrbjrASqcY//9OPLDa1Pf/MUIu2F2lA1W/5E3psGYmyC9GTvmjKgu39Rad5ujXMeMLjuzVPCmo+WhewgugDSV4Fcggd6B6YXHGtoE15ctSw4moerUq1+2BXVgFxUyMoGcpSCeLnbvWpmi6xWoGQOSnrQ4Z/VmZ5WZ87vQsiiWEAsqmMOHHacunnSph7uzQXJlHNajdeGnr2NF+EgcmQ0N6vivZDRLmRYuSmizjCOHSRZxSm/0UJC/ewVzp9BwRepiNKWsjb4gTMb
-[dev-private-review.linaro.org]:29418 ssh-dss AAAAB3NzaC1kc3MAAACBAM596jW8Kbsh/ApdoP3r7UvrSOzhnoG1ZHYngER+Dd9e0iGJY1Wbpth7ngngpALl3PQQ99R5xUt8wvcOcICq+vF34FR/Gym+7VjaMLI7DxF48OrUAJnx6zINNlpXbMAI0nptWcKoL/xdmC7AoBOjH1Q+jGTiKISmXTE1w5iK8qp3AAAAFQDwzizM3qhYdknasNV/vp84o19FWQAAAIEAqLjr9vNsgr1snOdyKOhRuyidqf/zThaxuJaUktxLDKU0DDip+FGqLYiS2VzNuSWMaKjkBjITBi0sXktmUhhbPvBHhyzLy3Hz6BOdXpUAoq70QMOcocE9IsEfmqtkOsx/BZ1uCV6W051Gsci4PxK16q9zolpAEp4/3wEWGH+ueJIAAACAERdZ+vCZl6iDzq6XpYFKZ1r6i/CjX5KIBWKCzoN/Z8fo96rZqFA23G5tXM8+YMYnLdwb/qvNSCz6dWpH2FMS4yj7zo2l3GjguC8JOfar0Rt8fihJyaynX+rD/aP3b+h5ot1b/645qrfvpfmeh3gZt3c1kjy5fyopujyGNTUtq6c=
-[dev-private-review.linaro.org]:29418 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCofUDWYYwzE4YWotCffwCxLoRuVCMb6DP+eObwbTPHMe5asK94Y1jPNeK1yUVJIuIAUO8aA6pIq3uLKlusyGLZe1YBpM+7YX3HMOBfCOeOemHFxETlj/HC7islYLYT7Sm/DweiN1kxgP8Q/PhPIA5czCZGHS/+T/VLbMApyyzdTmswaqfgJejyK9juHAcmxT3Tupj2SGOuOamyKfhfsPxGwIchivy/mt7xBTk5cNiSDeLAfMn2rHsilfLjb+IoeE6EvtqG3+rTh+ttulHp2vSeZkK79tuyVWt+XOZjD4RDfk1taW9JjaafkyOW0VCF4gqOMfJU24u88xTCgqkgT1bN
-dev-private-review.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs=
-dev-private-review.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAK10xjDXtqiW6S02TFvIQUmjTyu+tpiT0IVTp5dlZX5rT1EDi4DtRgtoO/R4WncAs0GE8FqaI/IqljuYlJbHOrFCxU3OWKB+z2Ue3oXs3kouoFP3coF4exBZLEBX4JQ/HI5Ii88fnE/U70/+wN/mMAtcOrsgGWGXOv8yFZEQaKJJAAAAFQCfVbaD5KdaABTLwQ8CXRuZ+PAeHwAAAIBmppcf9sx9M4KAgiOQRGW+7/eImJHFRazQSe8Qbiqo0H7OQhIRcLIm6+PAtKgxxSaQErAo4z/xM7d2lhqOyydK5GDpILgV3qHUFAgQ9vajL+ga5/VeRTqg6R91kYgIKnEl3y8/iW6eRcJF/jzYfDcaFG0Z3gsOtHzjTsCuV8KMLwAAAIBupI2LDTsUYa64hSKvGhEVPMj8VKx5RX4NWQU/dlNNhlFRTzV42giujZ146vH5SGqagR3daX+o6Xm++GDJ+AedzJ8zBc9dAwU7ao4fd23bsyURvNxC7K5DKJnlCDS6xk+6wv6Hz9VdbaIEE5TPxSGqZEOK1V+pbgv+cMUGACy43Q==
-dev-private-review.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC34bjTOKJIq8MVSeC5gddQlbR0hyvvTZbrpW7KXgCzkLTFZxa05wbz8VC1l7ruPotQBgrICgLYmrbjrASqcY//9OPLDa1Pf/MUIu2F2lA1W/5E3psGYmyC9GTvmjKgu39Rad5ujXMeMLjuzVPCmo+WhewgugDSV4Fcggd6B6YXHGtoE15ctSw4moerUq1+2BXVgFxUyMoGcpSCeLnbvWpmi6xWoGQOSnrQ4Z/VmZ5WZ87vQsiiWEAsqmMOHHacunnSph7uzQXJlHNajdeGnr2NF+EgcmQ0N6vivZDRLmRYuSmizjCOHSRZxSm/0UJC/ewVzp9BwRepiNKWsjb4gTMb
-ex40-01.tcwglab.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBblrQ+VuEY6mQDq10+GgOPYJIsTfaHXYZi0O0mPr+ev1xNodJ0w45hiWWlmsLEiXiGsvvIiOgZcZsryCkGscDI=
-ex40-01.tcwglab.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC37ZZKNZpSxQnWcu/5eNpFpEjIzL5eZyKUbn8ghkmk4jVS7fIbty/6s1ZH94UPwQDb07F4QF89esoH5k2ajAizLMNoLxeHU8ZCcqMFaNcmVWjTxKbiXLwRqcrgLUrNMQIGesV8l+xH+yozG2HKOBAnMVaea9+wCFvJWXgO4u54eEup2JcE3UroWIRA/mOL4KhBbyVVe47NbydYbP5G0mqpJjpLv5TuJwRT/aP/0nRH6cPrzuqGbic7cVR7Bu3f6ipttMAsPQRAoFBVYb5yRAt/RcDBu39r7hLHyhitjw0vBhGGV0B5CEzAqCE3ZyU0H+vmQ2GeN8aEtUWDSK9W7uzJ
-git.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc=
-git.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAJbwbYgvbS+8vnlhJLe1AwgvbBqu0kBw7pBjQgF47lXRKqZbzwQc+hHmMbczJOfIoo1PX39Ifhz142u+yN7PQgUlU+jzI2Q9cjSqfrS02rV0cU2TQRKvgTQH89qMk2M0jOimcz1UCZkCgS2wj6hb1HU9pkhzpH7d+1/M/31Xc5uPAAAAFQC82/+3qHmNd8G8mrPJz9LfdUpsmwAAAIASypGV3LlIOE3bDlZwgr3rZ+44MPq7c16SbpjnjqbsOzPAyllD8MeY0eynuDqtGtT4RtC8uRgmgw7MW1HtYnTSlYt0up66LT19LCRKme8CVtggqjwLTUEKWmrdbe+PSvczKjeszOD0R5qGasSvOOKMJ5jLMnJ9jMhHhItc53eM5AAAAIBXWdudBBziVVk9VE+z1kvOYsCGYosLglqzJMsFfVQh948Ci9PowKx8xognWEtdaZW7+2oEIwL8QR+zPtzNY447i6iRuJy1TaDZfJU8nTfr07KoXB4B7rhADByXl4x9Uk25m9n9XjF/ctjIzyspvcRpqZXMHBUuZalID6E39YJqnA==
-git.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV
-git-us.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc=
-git-us.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAJbwbYgvbS+8vnlhJLe1AwgvbBqu0kBw7pBjQgF47lXRKqZbzwQc+hHmMbczJOfIoo1PX39Ifhz142u+yN7PQgUlU+jzI2Q9cjSqfrS02rV0cU2TQRKvgTQH89qMk2M0jOimcz1UCZkCgS2wj6hb1HU9pkhzpH7d+1/M/31Xc5uPAAAAFQC82/+3qHmNd8G8mrPJz9LfdUpsmwAAAIASypGV3LlIOE3bDlZwgr3rZ+44MPq7c16SbpjnjqbsOzPAyllD8MeY0eynuDqtGtT4RtC8uRgmgw7MW1HtYnTSlYt0up66LT19LCRKme8CVtggqjwLTUEKWmrdbe+PSvczKjeszOD0R5qGasSvOOKMJ5jLMnJ9jMhHhItc53eM5AAAAIBXWdudBBziVVk9VE+z1kvOYsCGYosLglqzJMsFfVQh948Ci9PowKx8xognWEtdaZW7+2oEIwL8QR+zPtzNY447i6iRuJy1TaDZfJU8nTfr07KoXB4B7rhADByXl4x9Uk25m9n9XjF/ctjIzyspvcRpqZXMHBUuZalID6E39YJqnA==
-git-us.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV
-lab.validation.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFZDLd4f9cph9A64+kXUpGvuRmInB3HAtHU9T6wVIsp4HkYLLZD59I4lF/u2VLfM7j10XMNPO7ybOJMM+1zIZlM=
-lab.validation.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAK75t/OG68cN0mtVNrliCi8/7tajozJQDGvxgnpben1F84IzWNJpBdtEgaXeo3zD0cQl1nM5IftBjSKMkomdsaDh7u6A57juaANU9NKIXW2BGmaICZxllFAb/Cmnq4mDnZJ33G5UyGPVA49bUEKw8DLe8FLVlO/wcghJhjoy7prZAAAAFQD8zrwLDwd4M4vKKWu9nju7fI3oywAAAIBVE6ykor/q56qYTYqaAvcRkq7331jdYHTqiAVcO9KyrdOS7yCgtb2Dw+O0rq5ftLSF73ad5ACbw+XbzQVJAeKDaDs5mLf3eYF0+3YODFRHYDsbbihO0uZcGHFPvGDD9odBZhWFIZaFSdboodSuyzxIgLu0EZAsHoSP2wjTGdiXFwAAAIAkPcANYxo0jm8BuCEYR+SXXS4aj83dUGbPP54UU7M+jrrfG1M+JVFh3kEsXr9zptZajY+NrqlnXqPp4HZyORUUEN+Szkjbd2p8CCCQvv1PODGJtXFzwpatUP27I2ik/lZG9OXxBQkO+QxjuJ+pcjXPdBRz6DwWoUM63+QFXBLpsw==
-lab.validation.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDtto5bsPJ3NuXsWtwMR8bsAzLvkBstmF1QP+eC6jUBsCDHMtBW/zAWJYNPDr30vRkV7J8D64Pd91rgjbqF8mOPDlyVlln03dYtOV3hzVuXLZfxodslJsw4lB+ZhxLfcZAKqqFURJEhrJNJmtFBprxFRbdS1iQHJHJohg3zS9zlLFvUpZGWooLFEM2z2NdUfSiR12ePvdW1YsEimJR/b3h1it/Wot0uEB6VONZGyMrrWvsntJV1NdQFxJR8waTz1sBvQQBJGX+SgEXY1CB3AUiF4yIy5WZ/4YCOk0kO9qABvV0Ks357OU5uY5GMgalAy2RJyvceNf6erlR4vwmpdnDH
-people.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKKtlH9IGVw1wE3daicRzyOdIM9MzWfUH1tUB8R/md36RDTSqG8VGYrn1E5pJcs7rsk05ZCUQIaglefMytoOvQ8=
-people.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAOnQwFbvISNteLPMb/Srm2xwFDrxDql+kxtlZyohrSZ72K9GDg+dqb4W7/QiVrOMhfRzaL93Hj/FLCxKqUXdnTQqekqGosRQK7fLNJvh6DNizoJ+aWzKp1EL3kF2GgKP33ZPtRJYrBdxnc+DDc0yP/He3cyrzbg1nsWSedc1MMVpAAAAFQCm3xIrM1iR9ozuyjKRGwhnrKo9GQAAAIBkdN4dNB298m+2aXqMmLOj1Ry9/S6CTiMn5c9T/luYpWFRnsyuHlBIcZFjyOMtU3bc8b7KwqP8t3XTQbolbqtYOWqPeiaIH/VAk7w9o1tePRwtbTadksYw+UJGtn9c+52uQfGZdjfyjsKs7hEWgE72gTeIb9g1QZ+WCoVfSzNacgAAAIA9T2ONJcRFX3heeDcl6gho8Wj264GDhS5/iqdMCClO3wKUY04hPSpXKRhRm/zzFGb9537Qj6LluDAcg+m/D0FnoQkILLXnfiMnrlyoCCA/jZWrVZw8aQdDHM5LlDdDZKZV7djkbjF0nVvWRTrvc20yQeDLLImaTDOfYjmJ75L1vQ==
-people.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8OveP3mffvlzMEGuZQzol8zoDwCdAzrNiBfX9rv6lDGr86Sl4MVKs/6cYdjbtrUJD7ls5gc8cfjH5EXPh/HuoBj7Bi+UNfyyGSqrZgTFPpyLx50QJDeogcUN54NL+N/X6HtQtyvGwEXgb26S9ec7LFfyxqT8Yy370XH/y7qAtJgS3UTkf8kzIWgZQvU5MU3FqhOn9mzI+KqsBMRKt0JpW7H2VRYiaHqpshwpuNHRDEQBMnRVHDpo8SZRq21pwRjdTzuzGJv2enCW018jWC/HMmTaaDWzX6SO+JQs9NFVUpM6hg+ysa5piDXnCNQ8Ry6l0nlAjgUt92NEe4OeANrt9
-[review.linaro.org]:29418 ssh-dss AAAAB3NzaC1kc3MAAACBAPB0SE19HQ0dEtm3Unp7+JiNeHlIWNs4j9yN+2Q/fxmBT2ZZ0a5I4gg63b5rM/1Li/6k0f/CtSYBH/mhmjKaEKIQV/c/lmuZivUAfTPT0ld3voXHwRhgpWI/WOiRdsTRZZW2yUHx/troO53mx4eIISKfab+t+vCU5Af+sgTBF6InAAAAFQDGR2ccfQSWVuSyzgvK8f7FT8olTQAAAIBHZqySRfjEnnx9h0aS6i2H21dmZxUllwIJpdpS6XWzvMzVwBb1DKx8bO0WwZeTnxxs1BKVAjmSDkDGYJWHxyU8kQ8aFsBo0KwbNEKXozaK3Gf2YF289xQsigbtPUWYXDz1PNEXtIS9AXdCRq4i09ujO3ayxq4lX2n0LIQ4IhM+RgAAAIB2SvnzVadjW14AN9F9ZEfnK0JRpBTKjz+kQSS1TJiRI/dSHG6CwwXjD1G9YW8mfGhPOPYHIE2MF2n7d7DfqBdeeee0PnwBQ0YBc5qfhQ9Gpi+hqXSem1YaD2YRG40que5bu/Rd6NksnSLg/93Z3L3fN+qTeApRqHQWRrfswGgi+A==
-[review.linaro.org]:29418 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMfTLkTmsbtahAiVJTKXRFbR9MQ/vDH/JPj4QN3XPHJuubxLhUf8WObEBtML7J11uvVM1oDTwM5YG5yjyBnc+85OaQaB9tMPDheGhfMG40F4vxdSnQL29ihyrls0hrFTY9UZ4Y2FmJwYL0rOnGU7iPyNuExQwfg2bkdw67aH9nEGjSd2eXYl2bI4DHujy5GJiV3dR9TlUF0iaSeHVSIX5t9I/BXK+AiSqHTrvwdGGi9XvL6xEWYMOZOpJnCH8Q4OSibsFfQXnCMgIFeO7J/ZMGXqltXOtztgQMr8VvRRD3S+Lcp8yKb5aUjWwoCxb4YzEUbQE04SRVeAGjsfNJcXgT
-review.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc=
-review.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAJbwbYgvbS+8vnlhJLe1AwgvbBqu0kBw7pBjQgF47lXRKqZbzwQc+hHmMbczJOfIoo1PX39Ifhz142u+yN7PQgUlU+jzI2Q9cjSqfrS02rV0cU2TQRKvgTQH89qMk2M0jOimcz1UCZkCgS2wj6hb1HU9pkhzpH7d+1/M/31Xc5uPAAAAFQC82/+3qHmNd8G8mrPJz9LfdUpsmwAAAIASypGV3LlIOE3bDlZwgr3rZ+44MPq7c16SbpjnjqbsOzPAyllD8MeY0eynuDqtGtT4RtC8uRgmgw7MW1HtYnTSlYt0up66LT19LCRKme8CVtggqjwLTUEKWmrdbe+PSvczKjeszOD0R5qGasSvOOKMJ5jLMnJ9jMhHhItc53eM5AAAAIBXWdudBBziVVk9VE+z1kvOYsCGYosLglqzJMsFfVQh948Ci9PowKx8xognWEtdaZW7+2oEIwL8QR+zPtzNY447i6iRuJy1TaDZfJU8nTfr07KoXB4B7rhADByXl4x9Uk25m9n9XjF/ctjIzyspvcRpqZXMHBUuZalID6E39YJqnA==
-review.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV
diff --git a/tcwg-base/tcwg-build/tcwg-test/Dockerfile.in b/tcwg-base/tcwg-build/tcwg-test/Dockerfile.in
index be59e96..cb7a136 100644
--- a/tcwg-base/tcwg-build/tcwg-test/Dockerfile.in
+++ b/tcwg-base/tcwg-build/tcwg-test/Dockerfile.in
@@ -1,7 +1 @@
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/Dockerfile.in b/tcwg-base/tcwg-dev/Dockerfile.in
index ecc23f2..e0eda9e 100644
--- a/tcwg-base/tcwg-dev/Dockerfile.in
+++ b/tcwg-base/tcwg-dev/Dockerfile.in
@@ -1,8 +1,5 @@
FROM linaro/ci-#{ARCH}-tcwg-base-ubuntu:#{DISTRO}
-COPY run.sh .
-COPY start.sh .
-
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
software-properties-common \
@@ -40,15 +37,15 @@ RUN apt-get update \
/tmp/* \
/var/tmp/*
-RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \
- && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \
- && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
+RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
&& apt-file update
# Create directories required for X11.
RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \
&& chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix
+COPY run.sh start.sh /
+
#if ARCH_amd64 || ARCH_arm64
ENTRYPOINT ["/run.sh"]
#else
diff --git a/tcwg-base/tcwg-dev/run.sh b/tcwg-base/tcwg-dev/run.sh
index 8029a32..a0c9ce6 100755
--- a/tcwg-base/tcwg-dev/run.sh
+++ b/tcwg-base/tcwg-dev/run.sh
@@ -7,29 +7,6 @@ if [ x"$1" = x"start.sh" ]; then
exit 0
fi
-if ! [ -f /etc/sudoers.d/user ]; then
- passwd_ent="$1"
- groupname="$2"
- pubkey="$3"
-
- username="$(echo $passwd_ent | cut -d: -f 1)"
- uid="$(echo $passwd_ent | cut -d: -f 3)"
- gid="$(echo $passwd_ent | cut -d: -f 4)"
- comment="$(echo $passwd_ent | cut -d: -f 5)"
- home="$(echo $passwd_ent | cut -d: -f 6)"
- shell="$(echo $passwd_ent | cut -d: -f 7)"
-
- groupadd -g "$gid" "$groupname"
- useradd -m -u "$uid" -g "$groupname" -G kvm -c "$comment" -s "$shell" "$username"
-
- if ! [ -f /home/$username/.ssh/authorized_keys.docker ] \
- && [ x"$pubkey" != x"" ]; then
- sudo -u $username mkdir -p /home/$username/.ssh/
- echo "$pubkey" | sudo -u $username tee /home/$username/.ssh/authorized_keys.docker > /dev/null
- fi
-
- echo "$username ALL = NOPASSWD: ALL" > /etc/sudoers.d/user
- chmod 440 /etc/sudoers.d/user
-fi
+new-user.sh --update true "$@"
exec /usr/sbin/sshd -D
diff --git a/tcwg-base/tcwg-dev/start.sh b/tcwg-base/tcwg-dev/start.sh
index e36c851..b281d34 100755
--- a/tcwg-base/tcwg-dev/start.sh
+++ b/tcwg-base/tcwg-dev/start.sh
@@ -5,21 +5,15 @@ set -e
usage ()
{
cat <<EOF
-$0 [OPTIONS] -- IMAGE
+$0 [OPTIONS] -- IMAGE [NEW_USER_PARAMS]
Options:
- --getent DATA
- User data from "getent passwd"
-
- --group NAME
- Primary group name
+ --home volume/bind
+ How to mount /home; default is volume home-$user
--name CONTAINER_NAME
Name of the container
- --pubkey KEY
- SSH public key to install inside container
-
--user USER
Username to create inside the container
@@ -29,19 +23,15 @@ EOF
exit 1
}
-getent="default"
-group="default"
+home="volume"
name="default"
-pubkey="ldap"
user="$USER"
verbose=false
while [ $# -gt 0 ]; do
case $1 in
- --getent) getent="$2"; shift ;;
- --group) group="$2"; shift ;;
+ --home) home="$2"; shift ;;
--name) name="$2"; shift ;;
- --pubkey) pubkey="$2"; shift ;;
--user) user="$2"; shift ;;
--verbose) verbose="$2"; shift ;;
--) shift; break ;;
@@ -51,11 +41,17 @@ while [ $# -gt 0 ]; do
done
image="$1"
+shift
if $verbose; then
set -x
fi
+if [ x"$image" = x"" ]; then
+ echo "ERROR: image name not provided"
+ usage
+fi
+
if groups tcwg-buildslave 2>/dev/null | grep -q docker; then
# If tcwg-buildslave user is present, use it to start the container
# to have [sudo] log record of container startups.
@@ -73,47 +69,55 @@ if [ x"$name" = x"default" ]; then
fi
mounts=""
-if [ -d "/home/$user" ]; then
- # Bind-mount $HOME
- mounts="$mounts -v /home/$user:/home/$user"
-else
- # Create/re-use docker volume and mount it as user's home
- mounts="$mounts -v home-$user:/home"
+
+docker_host=false
+if [ -f "/.dockerenv" ] && mount | grep -q "/run/docker.sock "; then
+ docker_host=true
+fi
+
+home_top="/home"
+if $docker_host; then
+ # If inside "host" container (with proxied docker and /home from host-home
+ # volume), convert paths to refer to volume's path on bare-metal.
+ home_top=/var/lib/docker/volumes/host-home/_data
fi
-if [ -d "/home/tcwg-buildslave" ]; then
+if $docker_host || [ -d "$home_top/tcwg-buildslave" ]; then
# Bind-mount /home/tcwg-buildslave read-only to get access to
# /home/tcwg-buildslave/snapshots-ref/
- mounts="$mounts -v /home/tcwg-buildslave:/home/tcwg-buildslave:ro"
+ mounts="$mounts -v $home_top/tcwg-buildslave:/home/tcwg-buildslave:ro"
fi
+case "$home" in
+ bind)
+ # Bind-mount $HOME
+ mounts="$mounts -v $home_top/$user:/home/$user"
+ ;;
+ volume)
+ # Create/re-use docker volume and mount it as user's home
+ mounts="$mounts -v home-$user:/home"
+ ;;
+esac
+
# Use at most half of all available RAM.
memlimit=$(($(free -g | awk '/^Mem/ { print $2 }') / 2))G
# IPC_LOCK is required for some implementations of ssh-agent (e.g., MATE's).
# SYS_PTRACE is required for debugger work.
-caps="--cap-add=IPC_LOCK --cap-add=SYS_PTRACE"
-
-if [ x"$getent" = x"default" ]; then
- getent=$(getent passwd $user)
-fi
-
-if [ x"$group" = x"default" ]; then
- group=$(id -gn $user)
-fi
-
-if [ x"$pubkey" = x"ldap" ]; then
- # Fetch ssh public key from LDAP.
- pubkey=$(/etc/ssh/ssh_keys.py $user 2>/dev/null || sss_ssh_authorizedkeys $user 2>/dev/null)
-fi
+# seccomp=unconfined to allow disabling of ASLR for sanitizer regression tests.
+caps="--cap-add=IPC_LOCK --cap-add=SYS_PTRACE --security-opt seccomp:unconfined"
-$DOCKER run --name=$name -dt -p 22 $mounts --memory=$memlimit --pids-limit=5000 $caps $image "$getent" "$group" "$pubkey"
+$DOCKER run --name=$name --hostname=$(hostname)-dev --restart=unless-stopped -dt -p 22 $mounts --memory=$memlimit --pids-limit=5000 $caps $image --user $user "$@"
port=$($DOCKER port $name 22 | cut -d: -f 2)
+hostname=$(echo ${SSH_CONNECTION} | { read client_ip client_port server_ip server_port; echo $server_ip; })
set +x
-echo "NOTE: the warning about kernel not supporting swap memory limit is expected"
-echo "To connect to container run \"ssh -p $port localhost\""
-echo "To stop container run \"docker stop $name\""
-echo "To restart container run \"docker start $name\""
-echo "To remove container run \"docker rm -fv $name\""
-echo "See https://collaborate.linaro.org/display/TCWG/How+to+setup+personal+dev+environment+using+docker for additional info"
+cat <<EOF
+NOTE: the warning about kernel not supporting swap memory limit is expected
+To connect to the container run "ssh -p $port $user@$hostname" from your local
+machine.
+To stop container run "docker stop $name"
+To restart container run "docker start $name"
+To remove container run "docker rm -fv $name"
+See https://collaborate.linaro.org/display/TCWG/How+to+setup+personal+dev+environment+using+docker for additional info
+EOF
diff --git a/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in b/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in
index 888e48b..5191918 100644
--- a/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in
+++ b/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in
@@ -11,13 +11,19 @@ RUN apt-get update \
/tmp/* \
/var/tmp/*
+#if DISTRO_xenial
RUN add-apt-repository ppa:x2go/stable \
+#else
+RUN true \
+#endif
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
duplicity \
mate-desktop-environment \
+#if DISTRO_xenial
x2godesktopsharing \
x2gomatebindings \
+#endif
x2goserver \
x2goserver-xsession \
&& apt-get clean \
diff --git a/tcwg-base/tcwg-host/Dockerfile.in b/tcwg-base/tcwg-host/Dockerfile.in
new file mode 100644
index 0000000..cb6e235
--- /dev/null
+++ b/tcwg-base/tcwg-host/Dockerfile.in
@@ -0,0 +1,13 @@
+FROM linaro/ci-#{ARCH}-tcwg-base-ubuntu:#{DISTRO}
+
+COPY docker-wrapper /usr/local/bin/docker
+COPY docker-stats /usr/local/bin/
+
+COPY run.sh start.sh /
+
+#if ARCH_amd64 || ARCH_arm64
+ENTRYPOINT ["/run.sh"]
+#else
+ENTRYPOINT ["linux32", "/run.sh"]
+#endif
+CMD ["start.sh"]
diff --git a/tcwg-base/tcwg-host/build.sh b/tcwg-base/tcwg-host/build.sh
new file mode 100755
index 0000000..6205035
--- /dev/null
+++ b/tcwg-base/tcwg-host/build.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+set -e
+
+trap cleanup_exit INT TERM EXIT
+
+cleanup_exit()
+{
+ rm -rf docker-stats docker-wrapper run.sh start.sh
+}
+
+export LANG=C
+distro=$(basename ${PWD} | cut -f1 -d '-')
+arch=$(basename ${PWD} | cut -f2 -d '-')
+name=$(basename ${PWD} | cut -f3- -d '-')
+image=linaro/ci-${arch}-${name}-ubuntu:${distro}
+top=$(git rev-parse --show-toplevel)
+
+cp $top/tcwg-base/tcwg-host/docker-stats \
+ $top/tcwg-base/tcwg-host/docker-wrapper \
+ $top/tcwg-base/tcwg-host/run.sh \
+ $top/tcwg-base/tcwg-host/start.sh ./
+
+(cd ..; ./build.sh)
+"$top"/tcwg-base/validate-dockerfile.sh Dockerfile
+docker pull $image 2>/dev/null || true
+docker build --tag=$image .
+echo $image > .docker-tag
diff --git a/tcwg-base/tcwg-host/docker-stats b/tcwg-base/tcwg-host/docker-stats
new file mode 100755
index 0000000..e981aa5
--- /dev/null
+++ b/tcwg-base/tcwg-host/docker-stats
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec watch docker stats --no-stream --format "\"table {{.Name}}\\t{{.CPUPerc}}\\t{{.PIDs}}\\t{{.MemPerc}}\\t{{.MemUsage}}\""
diff --git a/tcwg-base/tcwg-host/docker-wrapper b/tcwg-base/tcwg-host/docker-wrapper
new file mode 100755
index 0000000..2cfea5c
--- /dev/null
+++ b/tcwg-base/tcwg-host/docker-wrapper
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec sudo /usr/bin/docker "$@"
diff --git a/tcwg-base/tcwg-host/gerrit-branches b/tcwg-base/tcwg-host/gerrit-branches
new file mode 120000
index 0000000..11f6d34
--- /dev/null
+++ b/tcwg-base/tcwg-host/gerrit-branches
@@ -0,0 +1 @@
+../gerrit-branches \ No newline at end of file
diff --git a/tcwg-base/tcwg-host/run.sh b/tcwg-base/tcwg-host/run.sh
new file mode 100755
index 0000000..55a0b1b
--- /dev/null
+++ b/tcwg-base/tcwg-host/run.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+set -e
+
+if [ x"$1" = x"start.sh" ]; then
+ cat /start.sh
+ exit 0
+fi
+
+group="$1"
+task="$2"
+
+if [ x"$group" = x"all" ]; then
+ group=".*"
+fi
+
+while read line; do
+ user=$(echo "$line" | cut -d: -f 1)
+ if grep "^$group:x:" /home-data/group | cut -d: -f 4 | grep -q "$user,\?"; then
+ new-user.sh --update true --passwd "$line" &
+ res=0; wait $! || res=$?
+ if [ x"$res" = x"0" ]; then
+ echo "WARNING: User configuration failed: $line"
+ fi
+ fi
+done </home-data/passwd
+
+port="2222"
+if [ x"$task" = x"jenkins" ]; then
+ port="2022"
+fi
+
+sed -i -e "/.*Port.*/d" /etc/ssh/sshd_config
+echo "Port $port" >> /etc/ssh/sshd_config
+
+exec /usr/sbin/sshd -D
diff --git a/tcwg-base/tcwg-host/start.sh b/tcwg-base/tcwg-host/start.sh
new file mode 100755
index 0000000..a9a5519
--- /dev/null
+++ b/tcwg-base/tcwg-host/start.sh
@@ -0,0 +1,81 @@
+#!/bin/bash
+
+set -e
+
+usage ()
+{
+ cat <<EOF
+$0 [OPTIONS] -- IMAGE GROUP
+
+Options:
+ --task host/jenkins
+ Task to serve: "host" is for all users, "jenkins" is for tcwg-infra
+
+ --verbose true/false
+ Whether to run in verbose mode
+EOF
+ exit 1
+}
+
+task="host"
+verbose=false
+
+while [ $# -gt 0 ]; do
+ case $1 in
+ --task) task="$2"; shift ;;
+ --verbose) verbose="$2"; shift ;;
+ --) shift; break ;;
+ *) echo "ERROR: Wrong option: $1"; usage ;;
+ esac
+ shift
+done
+
+image="$1"
+shift
+
+if $verbose; then
+ set -x
+fi
+
+if [ x"$image" = x"" ]; then
+ echo "ERROR: image name not provided"
+ usage
+fi
+
+if groups tcwg-buildslave 2>/dev/null | grep -q docker; then
+ # If tcwg-buildslave user is present, use it to start the container
+ # to have [sudo] log record of container startups.
+ DOCKER="sudo -u tcwg-buildslave docker"
+elif [ x"$(id -u)" = x"0" ] || groups 2>/dev/null | grep -q docker; then
+ # Run docker straight up if $USER is root or in "docker" group.
+ DOCKER="docker"
+else
+ # Fallback to sudo otherwise.
+ DOCKER="sudo docker"
+fi
+
+group="$1"
+case "$task" in
+ host)
+ ;;
+ jenkins)
+ if [ x"$group" != x"tcwg-infra" ]; then
+ echo "ERROR: group for task $task should be tcwg-infra"
+ exit 1
+ fi
+ ;;
+ *)
+ echo "ERROR: wrong task $task"
+ exit 1
+ ;;
+esac
+
+mounts=""
+mounts="$mounts -v host-home:/home"
+mounts="$mounts -v /var/run/docker.sock:/var/run/docker.sock"
+mounts="$mounts -v /usr/bin/docker:/usr/bin/docker"
+
+# Use at most half of all available RAM.
+memlimit=$(($(free -g | awk '/^Mem/ { print $2 }') / 2))G
+
+$DOCKER run -dt --name=$task --network host --restart=unless-stopped $mounts --memory=$memlimit --pids-limit=5000 $image "$group" "$task"
diff --git a/tcwg-base/tcwg-llvmbot/Dockerfile.in b/tcwg-base/tcwg-llvmbot/Dockerfile.in
index 1d0d65d..24233ed 100644
--- a/tcwg-base/tcwg-llvmbot/Dockerfile.in
+++ b/tcwg-base/tcwg-llvmbot/Dockerfile.in
@@ -32,12 +32,12 @@ RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \
# Add current clang for libcxx bots.
RUN \
#if ARCH_arm64
- clang_ver=clang+llvm-5.0.1-aarch64-linux-gnu \
+ clang_ver=clang+llvm-6.0.0-aarch64-linux-gnu \
#else /* ARCH_armhf */
- clang_ver=clang+llvm-5.0.1-armv7a-linux-gnueabihf \
+ clang_ver=clang+llvm-6.0.0-armv7a-linux-gnueabihf \
#endif
&& cd /usr/local \
- && wget --progress=dot:giga http://releases.llvm.org/5.0.1/$clang_ver.tar.xz \
+ && wget --progress=dot:giga http://releases.llvm.org/6.0.0/$clang_ver.tar.xz \
&& tar xf $clang_ver.tar.xz \
&& rm $clang_ver.tar.xz
diff --git a/tcwg-base/tcwg-llvmbot/gerrit-branches b/tcwg-base/tcwg-llvmbot/gerrit-branches
index fb49cdf..dd2dd2e 100644
--- a/tcwg-base/tcwg-llvmbot/gerrit-branches
+++ b/tcwg-base/tcwg-llvmbot/gerrit-branches
@@ -1,3 +1,4 @@
master
+tcwg-tested
tcwg-staging
tcwg-llvmprod
diff --git a/tcwg-base/tcwg-llvmbot/run.sh b/tcwg-base/tcwg-llvmbot/run.sh
index e22b1fd..aec8e31 100755
--- a/tcwg-base/tcwg-llvmbot/run.sh
+++ b/tcwg-base/tcwg-llvmbot/run.sh
@@ -6,78 +6,70 @@ bare_metal_bot_p ()
{
case "$1" in
"linaro-tk1-"*) return 0 ;;
- "linaro-apm-02"|"linaro-apm-05") return 1 ;;
- "linaro-apm-"*) return 0 ;;
*) return 1 ;;
esac
}
-if [ x"$1" = x"start.sh" ]; then
- cat /start.sh
- exit 0
-fi
-
-if ! [ -f ~buildslave/buildslave/buildbot.tac ]; then
- # Connect to silent master.
- # Reconnecting to main master should be done by hand.
- sudo -i -u buildslave buildslave create-slave --umask=022 ~buildslave/buildslave "$@"
-fi
+use_clang_p ()
+{
+ # The LLD buildbot needs clang for -fuse-ld=lld in stage 2
+ # The libcxx bot needs a recent clang to compile tests that
+ # require new C++ standard support.
+ # Typically we've used clang when the default gcc has problems
+ # otherwise gcc is used.
+ case "$1" in
+ *-libcxx*|linaro-tk1-01) return 0 ;;
+ *-lld) return 0 ;;
+ *-arm-quick|linaro-tk1-06) return 0 ;;
+ *-arm-full-selfhost|linaro-tk1-05) return 0 ;;
+ *-arm-full|linaro-tk1-08) return 0 ;;
+ *-arm-global-isel|linaro-tk1-09) return 0 ;;
+ *) return 1 ;;
+ esac
+}
-case "$(uname -m)" in
+# Use the oldest maintained clang release (latest - 1).
+setup_clang_release()
+{
+ # There is a 6.0.1 release but there aren't any AArch64 binaries available
+ # so we use 6.0.0 for now.
+ local release_num=6.0.0
+ case "$(uname -m)" in
aarch64)
- clang_ver=clang+llvm-5.0.1-aarch64-linux-gnu
+ local clang_ver=clang+llvm-${release_num}-aarch64-linux-gnu
;;
*)
- clang_ver=clang+llvm-5.0.1-armv7a-linux-gnueabihf
+ local clang_ver=clang+llvm-${release_num}-armv7a-linux-gnueabihf
;;
-esac
+ esac
-if bare_metal_bot_p "$2"; then
- # Download and install clang+llvm into /usr/local for bare-metal
- # bots.
+ # Download and install clang+llvm into /usr/local
(
cd /usr/local
- wget -c --progress=dot:giga http://releases.llvm.org/5.0.1/$clang_ver.tar.xz
+ wget -c --progress=dot:giga http://releases.llvm.org/${release_num}/$clang_ver.tar.xz
tar xf $clang_ver.tar.xz
)
+ cc=/usr/local/$clang_ver/bin/clang
+ cxx=/usr/local/$clang_ver/bin/clang++
+}
+
+if [ x"$1" = x"start.sh" ]; then
+ cat /start.sh
+ exit 0
fi
-case "$2" in
- *-libcxx*|linaro-tk1-01|linaro-apm-03)
- # Libcxx bots need to be compiled with *recent* clang.
- cc=/usr/local/$clang_ver/bin/clang
- cxx=/usr/local/$clang_ver/bin/clang++
- ;;
- *-lld|linaro-apm-04)
- # LLD bots need to be compiled with clang.
- # ??? Adding testStage1=False to LLD bot might enable it to not depend on clang.
- cc=/usr/bin/clang
- cxx=/usr/bin/clang++
- ;;
- *-arm-quick|linaro-tk1-06)
- cc=/usr/bin/clang
- cxx=/usr/bin/clang++
- ;;
- *-arm-full-selfhost|linaro-tk1-05)
- # ??? *-arm-full-selfhost bot doesn't look like it depends on clang.
- cc=/usr/bin/clang
- cxx=/usr/bin/clang++
- ;;
- *-arm-full|linaro-tk1-08)
- # ??? For now we preserve host compiler configuration from non-docker bots.
- cc=/usr/bin/clang
- cxx=/usr/bin/clang++
- ;;
- *-arm-global-isel|linaro-tk1-09)
- # ??? For now we preserve host compiler configuration from non-docker bots.
- cc=/usr/bin/clang
- cxx=/usr/bin/clang++
- ;;
- *)
- cc=gcc
- cxx=g++
- ;;
-esac
+if ! [ -f ~buildslave/buildslave/buildbot.tac ]; then
+ # Connect to silent master.
+ # Reconnecting to main master should be done by hand.
+ sudo -i -u buildslave buildslave create-slave --umask=022 ~buildslave/buildslave "$@"
+fi
+
+if use_clang_p $2 ; then
+ setup_clang_release
+else
+ cc=gcc
+ cxx=g++
+fi
# With default PATH /usr/local/bin/cc and /usr/local/bin/c++ are detected as
# system compilers. No danger in ccaching results of system compiler since
@@ -94,8 +86,9 @@ EOF
chmod +x /usr/local/bin/c++
case "$2" in
- *-lld|linaro-apm-04)
- # LLD buildbot needs to find ld.lld for stage1 build.
+ *-lld)
+ # LLD buildbot needs to find ld.lld for stage1 build. GCC does not
+ # support -fuse-ld=lld.
ln -f -s /usr/bin/ld.bfd /usr/local/bin/ld.lld
;;
*)
@@ -109,8 +102,8 @@ EOF
n_cores=$(nproc --all)
case "$2" in
- linaro-apm-*) hw="APM Mustang ${n_cores}-core X-Gene" ;;
linaro-armv8-*) hw="${n_cores}-core ARMv8 provided by Packet.net (Type 2A2)" ;;
+ linaro-thx1-*) hw="${n_cores}-core ThunderX1 provided by Packet.net (Type 2A)" ;;
linaro-tk1-*) hw="NVIDIA TK1 ${n_cores}-core Cortex-A15" ;;
esac
diff --git a/tcwg-base/tcwg-llvmbot/start.sh b/tcwg-base/tcwg-llvmbot/start.sh
index 2cf585a..38ee277 100755
--- a/tcwg-base/tcwg-llvmbot/start.sh
+++ b/tcwg-base/tcwg-llvmbot/start.sh
@@ -39,35 +39,16 @@ case "$buildmaster" in
masterurl="$buildmaster"
esac
-# CXX, LLD and LNT bots need additional configuration, and
-# are not supported yet.
-case "$mastername:$slavename:$(hostname):$image" in
- # No restrictions for custom masters:
- custom:*:*:*) ;;
- # Almost no restrictions for the silent master:
- silent:*:linaro-armv8-*:*) ;;
- silent:*:r*-a*:*) ;;
- # Restrictions for the normal master:
- normal:*:linaro-armv8-*:*) ;;
- normal:*:r*-a*:*-arm64-*) ;;
- *)
- usage "ERROR: Wrong mastername:slavename:hostname:image combination: $mastername:$slavename:$(hostname):$image"
- ;;
+# Set relative CPU weight of containers running silent bots to 1/20th of
+# normal containers. We want to run a full set of silent bots for
+# troubleshooting purposes, but don't want to waste a lot of CPU cycles.
+case "$mastername" in
+ "silent") cpu_shares=50 ;;
+ *) cpu_shares=1000 ;;
esac
-case "$slavename" in
- linaro-armv8-*)
- # Use 64G out of 128G.
- memlimit="64"
- ;;
- *)
- # Use at most 30G or 90% of all RAM.
- memlimit=$(($(free -g | awk '/^Mem/ { print $2 }') * 9 / 10))
- if [ "$memlimit" -gt "30" ]; then
- memlimit="30"
- fi
- ;;
-esac
+# Use 64G out of 128G.
+memlimit="64"
case "$slavename" in
*-lld) pids_limit="15000" ;;
@@ -79,4 +60,4 @@ esac
# seccomp:unconfined is required to disable ASLR for sanitizer tests.
caps="--cap-add=IPC_LOCK --cap-add=SYS_PTRACE --security-opt seccomp:unconfined"
-$DOCKER run --name=$mastername-$slavename --hostname=$mastername-$slavename --restart=unless-stopped -dt -p 22 --memory=${memlimit}G --pids-limit=$pids_limit $caps "$image" "$masterurl" "$slavename" "$password"
+$DOCKER run --name=$mastername-$slavename --hostname=$mastername-$slavename --restart=unless-stopped -dt -p 22 --cpu-shares=$cpu_shares --memory=${memlimit}G --pids-limit=$pids_limit $caps "$image" "$masterurl" "$slavename" "$password"
diff --git a/trusty-amd64-tcwg-base/Dockerfile b/trusty-amd64-tcwg-base/Dockerfile
index 8f491ed..bdc767b 100644
--- a/trusty-amd64-tcwg-base/Dockerfile
+++ b/trusty-amd64-tcwg-base/Dockerfile
@@ -18,6 +18,7 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \
autogen \
automake \
bc \
+ bind9-host \
bison \
binutils-aarch64-linux-gnu \
binutils-arm-linux-gnueabihf \
@@ -66,8 +67,8 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \
openssh-server \
pkg-config \
python-dev \
- python-virtualenv \
postfix \
+ psmisc \
pxz \
qemu-system-arm \
qemu-user \
@@ -81,6 +82,7 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \
time \
valgrind \
vim \
+ python-virtualenv \
wget \
xz-utils \
zip \
@@ -115,6 +117,14 @@ RUN mkdir /tmp/docker-install-qemu.$$ \
&& make all install -j $(nproc --all) \
&& cd && rm -rf /tmp/docker-install-qemu.$$
+COPY home-data/ /home-data/
+COPY new-user.sh /usr/local/bin/
+
+RUN \
+ while read line; do \
+ new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \
+ done </home-data/group
+
# 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"
@@ -124,4 +134,4 @@ VOLUME /tmp
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
-# checksum: af7e4ca6d6d6f9e6cb0d1eb355552d2b
+# checksum: 814a72154c55af0cb2e75c091393359b
diff --git a/trusty-amd64-tcwg-base/trusty-amd64-tcwg-build/Dockerfile b/trusty-amd64-tcwg-base/trusty-amd64-tcwg-build/Dockerfile
index 3963ce4..f0d30e4 100644
--- a/trusty-amd64-tcwg-base/trusty-amd64-tcwg-build/Dockerfile
+++ b/trusty-amd64-tcwg-base/trusty-amd64-tcwg-build/Dockerfile
@@ -1,20 +1,12 @@
# Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit.
FROM linaro/ci-amd64-tcwg-base-ubuntu:trusty
-RUN groupadd -g 9000 tcwg-infra \
- && useradd -m -g tcwg-infra -G kvm -u 11827 tcwg-buildslave \
- && useradd -m -g tcwg-infra -G kvm -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/*
+RUN while read line; do \
+ if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \
+ continue; \
+ fi; \
+ new-user.sh --passwd "$line"; \
+ done </home-data/passwd
# Install wine. On amd64 arch we need to enable i386, otherwise wine
# won't meet dependencies (this is the case at least for trusty and xenial).
@@ -28,4 +20,4 @@ RUN \
/var/lib/apt/lists/* \
/tmp/* \
/var/tmp/*
-# checksum: e043d076e8a7fca8b61124ede2bd2461
+# checksum: 0d3f78647975acb724f2bed4e767ab96
diff --git a/trusty-amd64-tcwg-base/trusty-amd64-tcwg-dev/Dockerfile b/trusty-amd64-tcwg-base/trusty-amd64-tcwg-dev/Dockerfile
index 2294e57..4a43d2c 100644
--- a/trusty-amd64-tcwg-base/trusty-amd64-tcwg-dev/Dockerfile
+++ b/trusty-amd64-tcwg-base/trusty-amd64-tcwg-dev/Dockerfile
@@ -1,9 +1,6 @@
# Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit.
FROM linaro/ci-amd64-tcwg-base-ubuntu:trusty
-COPY run.sh .
-COPY start.sh .
-
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
software-properties-common \
@@ -35,15 +32,15 @@ RUN apt-get update \
/tmp/* \
/var/tmp/*
-RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \
- && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \
- && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
+RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
&& apt-file update
# Create directories required for X11.
RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \
&& chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix
+COPY run.sh start.sh /
+
ENTRYPOINT ["/run.sh"]
CMD ["start.sh"]
-# checksum: 6ebcfe89f577b9b89996da9aace4394f
+# checksum: 672122d88b9e3cc028e8cd0df5834752
diff --git a/trusty-arm64-tcwg-base/Dockerfile b/trusty-arm64-tcwg-base/Dockerfile
index 13caa85..271893d 100644
--- a/trusty-arm64-tcwg-base/Dockerfile
+++ b/trusty-arm64-tcwg-base/Dockerfile
@@ -18,6 +18,7 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
autogen \
automake \
bc \
+ bind9-host \
bison \
bsd-mailx \
build-essential \
@@ -59,8 +60,8 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
openjdk-7-jdk \
openssh-server \
python-dev \
- python-virtualenv \
postfix \
+ psmisc \
pxz \
qemu-system-arm \
qemu-user \
@@ -74,6 +75,7 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
time \
valgrind \
vim \
+ python-virtualenv \
wget \
xz-utils \
zip \
@@ -99,6 +101,14 @@ COPY postfix-sasl_password.in /etc/postfix/sasl_password
RUN chown root:root /etc/postfix/sasl_password \
&& chmod 600 /etc/postfix/sasl_password
+COPY home-data/ /home-data/
+COPY new-user.sh /usr/local/bin/
+
+RUN \
+ while read line; do \
+ new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \
+ done </home-data/group
+
# 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"
@@ -108,4 +118,4 @@ VOLUME /tmp
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
-# checksum: e5c75d721eaaad378dfe783d822bc457
+# checksum: 6cf5d2ef5d0c45e74eb710cb5660ab3c
diff --git a/trusty-arm64-tcwg-base/trusty-arm64-tcwg-build/Dockerfile b/trusty-arm64-tcwg-base/trusty-arm64-tcwg-build/Dockerfile
index b75535f..ec0ab02 100644
--- a/trusty-arm64-tcwg-base/trusty-arm64-tcwg-build/Dockerfile
+++ b/trusty-arm64-tcwg-base/trusty-arm64-tcwg-build/Dockerfile
@@ -1,19 +1,11 @@
# Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit.
FROM linaro/ci-arm64-tcwg-base-ubuntu:trusty
-RUN groupadd -g 9000 tcwg-infra \
- && useradd -m -g tcwg-infra -G kvm -u 11827 tcwg-buildslave \
- && useradd -m -g tcwg-infra -G kvm -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/*
-
-# checksum: 599fae0a5672c9f658bf2b0af0ab31e3
+RUN while read line; do \
+ if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \
+ continue; \
+ fi; \
+ new-user.sh --passwd "$line"; \
+ done </home-data/passwd
+
+# checksum: 36d4ba8834ee42fc1ca4643f5b011bda
diff --git a/trusty-arm64-tcwg-base/trusty-arm64-tcwg-build/trusty-arm64-tcwg-test/Dockerfile b/trusty-arm64-tcwg-base/trusty-arm64-tcwg-build/trusty-arm64-tcwg-test/Dockerfile
index 55869b6..ca30d59 100644
--- a/trusty-arm64-tcwg-base/trusty-arm64-tcwg-build/trusty-arm64-tcwg-test/Dockerfile
+++ b/trusty-arm64-tcwg-base/trusty-arm64-tcwg-build/trusty-arm64-tcwg-test/Dockerfile
@@ -1,9 +1,3 @@
# Auto generated from tcwg-base/tcwg-build/tcwg-test/Dockerfile.in. Do not edit.
FROM linaro/ci-arm64-tcwg-build-ubuntu:trusty
-
-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
-# checksum: dc8c825d9bfcc23ca4d58280831726a6
+# checksum: 9422b5574e263e99fc78be0b7d04466f
diff --git a/trusty-arm64-tcwg-base/trusty-arm64-tcwg-dev/Dockerfile b/trusty-arm64-tcwg-base/trusty-arm64-tcwg-dev/Dockerfile
index 1f2e2d0..8309de9 100644
--- a/trusty-arm64-tcwg-base/trusty-arm64-tcwg-dev/Dockerfile
+++ b/trusty-arm64-tcwg-base/trusty-arm64-tcwg-dev/Dockerfile
@@ -1,9 +1,6 @@
# Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit.
FROM linaro/ci-arm64-tcwg-base-ubuntu:trusty
-COPY run.sh .
-COPY start.sh .
-
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
software-properties-common \
@@ -34,15 +31,15 @@ RUN apt-get update \
/tmp/* \
/var/tmp/*
-RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \
- && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \
- && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
+RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
&& apt-file update
# Create directories required for X11.
RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \
&& chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix
+COPY run.sh start.sh /
+
ENTRYPOINT ["/run.sh"]
CMD ["start.sh"]
-# checksum: df2f7edfa6eb02b085cac309faf50ad3
+# checksum: 136835f5e64afb27c28164ca451962f4
diff --git a/trusty-armhf-tcwg-base/Dockerfile b/trusty-armhf-tcwg-base/Dockerfile
index 3c0712a..f31f7d4 100644
--- a/trusty-armhf-tcwg-base/Dockerfile
+++ b/trusty-armhf-tcwg-base/Dockerfile
@@ -18,6 +18,7 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
autogen \
automake \
bc \
+ bind9-host \
bison \
bsd-mailx \
build-essential \
@@ -59,8 +60,8 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
openjdk-7-jdk \
openssh-server \
python-dev \
- python-virtualenv \
postfix \
+ psmisc \
pxz \
qemu-system-arm \
qemu-user \
@@ -74,6 +75,7 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
time \
valgrind \
vim \
+ python-virtualenv \
wget \
xz-utils \
zip \
@@ -99,6 +101,14 @@ COPY postfix-sasl_password.in /etc/postfix/sasl_password
RUN chown root:root /etc/postfix/sasl_password \
&& chmod 600 /etc/postfix/sasl_password
+COPY home-data/ /home-data/
+COPY new-user.sh /usr/local/bin/
+
+RUN \
+ while read line; do \
+ new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \
+ done </home-data/group
+
# 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"
@@ -108,4 +118,4 @@ VOLUME /tmp
EXPOSE 22
CMD ["linux32", "/usr/sbin/sshd", "-D"]
-# checksum: 5dbfe6c719dd6703289bbd58fa3aad86
+# checksum: 29383efafa7903e14c3dc0023ae9d711
diff --git a/trusty-armhf-tcwg-base/trusty-armhf-tcwg-build/Dockerfile b/trusty-armhf-tcwg-base/trusty-armhf-tcwg-build/Dockerfile
index 91557ee..13aa42a 100644
--- a/trusty-armhf-tcwg-base/trusty-armhf-tcwg-build/Dockerfile
+++ b/trusty-armhf-tcwg-base/trusty-armhf-tcwg-build/Dockerfile
@@ -1,19 +1,11 @@
# Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit.
FROM linaro/ci-armhf-tcwg-base-ubuntu:trusty
-RUN groupadd -g 9000 tcwg-infra \
- && useradd -m -g tcwg-infra -G kvm -u 11827 tcwg-buildslave \
- && useradd -m -g tcwg-infra -G kvm -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/*
-
-# checksum: 16c7b81789c72e4ca4703f9e020406a8
+RUN while read line; do \
+ if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \
+ continue; \
+ fi; \
+ new-user.sh --passwd "$line"; \
+ done </home-data/passwd
+
+# checksum: f0b16677dd91a122dea1a7f6cb00c8a9
diff --git a/trusty-armhf-tcwg-base/trusty-armhf-tcwg-build/trusty-armhf-tcwg-test/Dockerfile b/trusty-armhf-tcwg-base/trusty-armhf-tcwg-build/trusty-armhf-tcwg-test/Dockerfile
index 15ea46c..0470c12 100644
--- a/trusty-armhf-tcwg-base/trusty-armhf-tcwg-build/trusty-armhf-tcwg-test/Dockerfile
+++ b/trusty-armhf-tcwg-base/trusty-armhf-tcwg-build/trusty-armhf-tcwg-test/Dockerfile
@@ -1,9 +1,3 @@
# Auto generated from tcwg-base/tcwg-build/tcwg-test/Dockerfile.in. Do not edit.
FROM linaro/ci-armhf-tcwg-build-ubuntu:trusty
-
-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
-# checksum: 9583d23d885b59e3b3a3f2e6b3e44c38
+# checksum: ba9a6291dad3e62ee683c694534ec286
diff --git a/trusty-armhf-tcwg-base/trusty-armhf-tcwg-dev/Dockerfile b/trusty-armhf-tcwg-base/trusty-armhf-tcwg-dev/Dockerfile
index 6f5af07..fdb4dc2 100644
--- a/trusty-armhf-tcwg-base/trusty-armhf-tcwg-dev/Dockerfile
+++ b/trusty-armhf-tcwg-base/trusty-armhf-tcwg-dev/Dockerfile
@@ -1,9 +1,6 @@
# Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit.
FROM linaro/ci-armhf-tcwg-base-ubuntu:trusty
-COPY run.sh .
-COPY start.sh .
-
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
software-properties-common \
@@ -35,15 +32,15 @@ RUN apt-get update \
/tmp/* \
/var/tmp/*
-RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \
- && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \
- && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
+RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
&& apt-file update
# Create directories required for X11.
RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \
&& chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix
+COPY run.sh start.sh /
+
ENTRYPOINT ["linux32", "/run.sh"]
CMD ["start.sh"]
-# checksum: 3ebcf08c631348a6ee99ee7b0a574c23
+# checksum: 13bbddb6be801c28b19e50633ed8f6c8
diff --git a/trusty-i386-tcwg-base/Dockerfile b/trusty-i386-tcwg-base/Dockerfile
index 772b886..9d8fe98 100644
--- a/trusty-i386-tcwg-base/Dockerfile
+++ b/trusty-i386-tcwg-base/Dockerfile
@@ -20,6 +20,7 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \
autogen \
automake \
bc \
+ bind9-host \
bison \
binutils-aarch64-linux-gnu \
binutils-arm-linux-gnueabihf \
@@ -67,8 +68,8 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \
openssh-server \
pkg-config \
python-dev \
- python-virtualenv \
postfix \
+ psmisc \
pxz \
qemu-system-arm \
qemu-user \
@@ -82,6 +83,7 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \
time \
valgrind \
vim \
+ python-virtualenv \
wget \
xz-utils \
zip \
@@ -116,6 +118,14 @@ RUN mkdir /tmp/docker-install-qemu.$$ \
&& make all install -j $(nproc --all) \
&& cd && rm -rf /tmp/docker-install-qemu.$$
+COPY home-data/ /home-data/
+COPY new-user.sh /usr/local/bin/
+
+RUN \
+ while read line; do \
+ new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \
+ done </home-data/group
+
# 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"
@@ -125,4 +135,4 @@ VOLUME /tmp
EXPOSE 22
CMD ["linux32", "/usr/sbin/sshd", "-D"]
-# checksum: 9cc4a9abc883fa7442bd3e05926e6c5a
+# checksum: b81c7618ccf0ea3a18826ed36123cdee
diff --git a/trusty-i386-tcwg-base/trusty-i386-tcwg-build/Dockerfile b/trusty-i386-tcwg-base/trusty-i386-tcwg-build/Dockerfile
index 74c8557..c5a14d3 100644
--- a/trusty-i386-tcwg-base/trusty-i386-tcwg-build/Dockerfile
+++ b/trusty-i386-tcwg-base/trusty-i386-tcwg-build/Dockerfile
@@ -1,20 +1,12 @@
# Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit.
FROM linaro/ci-i386-tcwg-base-ubuntu:trusty
-RUN groupadd -g 9000 tcwg-infra \
- && useradd -m -g tcwg-infra -G kvm -u 11827 tcwg-buildslave \
- && useradd -m -g tcwg-infra -G kvm -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/*
+RUN while read line; do \
+ if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \
+ continue; \
+ fi; \
+ new-user.sh --passwd "$line"; \
+ done </home-data/passwd
# Install wine. On amd64 arch we need to enable i386, otherwise wine
# won't meet dependencies (this is the case at least for trusty and xenial).
@@ -27,4 +19,4 @@ RUN \
/var/lib/apt/lists/* \
/tmp/* \
/var/tmp/*
-# checksum: 50b70f6f0b7cf04d865d6a472c00f215
+# checksum: 05747b8e543f8061bcbfb8136b6d852b
diff --git a/xenial-amd64-tcwg-base/Dockerfile b/xenial-amd64-tcwg-base/Dockerfile
index 689ce9f..17b29cd 100644
--- a/xenial-amd64-tcwg-base/Dockerfile
+++ b/xenial-amd64-tcwg-base/Dockerfile
@@ -18,6 +18,7 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \
autogen \
automake \
bc \
+ bind9-host \
bison \
binutils-aarch64-linux-gnu \
binutils-arm-linux-gnueabihf \
@@ -66,6 +67,7 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \
pkg-config \
python-dev \
postfix \
+ psmisc \
pxz \
qemu-system-arm \
qemu-user \
@@ -114,6 +116,14 @@ RUN mkdir /tmp/docker-install-qemu.$$ \
&& make all install -j $(nproc --all) \
&& cd && rm -rf /tmp/docker-install-qemu.$$
+COPY home-data/ /home-data/
+COPY new-user.sh /usr/local/bin/
+
+RUN \
+ while read line; do \
+ new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \
+ done </home-data/group
+
# 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"
@@ -123,4 +133,4 @@ VOLUME /tmp
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
-# checksum: d381fae7ceb3f0bd3c0b2db9b11d68df
+# checksum: 99c24a8b676909e9f2ea94c1942a3d14
diff --git a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-build/Dockerfile b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-build/Dockerfile
index 23b8fb7..42b8d8d 100644
--- a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-build/Dockerfile
+++ b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-build/Dockerfile
@@ -1,20 +1,12 @@
# Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit.
FROM linaro/ci-amd64-tcwg-base-ubuntu:xenial
-RUN groupadd -g 9000 tcwg-infra \
- && useradd -m -g tcwg-infra -G kvm -u 11827 tcwg-buildslave \
- && useradd -m -g tcwg-infra -G kvm -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/*
+RUN while read line; do \
+ if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \
+ continue; \
+ fi; \
+ new-user.sh --passwd "$line"; \
+ done </home-data/passwd
# Install wine. On amd64 arch we need to enable i386, otherwise wine
# won't meet dependencies (this is the case at least for trusty and xenial).
@@ -28,4 +20,4 @@ RUN \
/var/lib/apt/lists/* \
/tmp/* \
/var/tmp/*
-# checksum: 0f60af30bf7b204b2997d062f2291e04
+# checksum: 5ec4314bb47180f2d9b6430d56a1292f
diff --git a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-dev/Dockerfile b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-dev/Dockerfile
index 618500a..6ee6609 100644
--- a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-dev/Dockerfile
+++ b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-dev/Dockerfile
@@ -1,9 +1,6 @@
# Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit.
FROM linaro/ci-amd64-tcwg-base-ubuntu:xenial
-COPY run.sh .
-COPY start.sh .
-
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
software-properties-common \
@@ -35,15 +32,15 @@ RUN apt-get update \
/tmp/* \
/var/tmp/*
-RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \
- && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \
- && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
+RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
&& apt-file update
# Create directories required for X11.
RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \
&& chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix
+COPY run.sh start.sh /
+
ENTRYPOINT ["/run.sh"]
CMD ["start.sh"]
-# checksum: dcc5804aedae03114b28d305dcbc2904
+# checksum: ce97ce5f929251c1dd59473d63aa00c0
diff --git a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/Dockerfile b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/Dockerfile
new file mode 100644
index 0000000..48b28d2
--- /dev/null
+++ b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/Dockerfile
@@ -0,0 +1,11 @@
+# Auto generated from tcwg-base/tcwg-host/Dockerfile.in. Do not edit.
+FROM linaro/ci-amd64-tcwg-base-ubuntu:xenial
+
+COPY docker-wrapper /usr/local/bin/docker
+COPY docker-stats /usr/local/bin/
+
+COPY run.sh start.sh /
+
+ENTRYPOINT ["/run.sh"]
+CMD ["start.sh"]
+# checksum: 9f94a8be2756ffabb6ebafa75127f228
diff --git a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/build.sh b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/build.sh
new file mode 120000
index 0000000..2c95445
--- /dev/null
+++ b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/build.sh
@@ -0,0 +1 @@
+../../tcwg-base/tcwg-host/build.sh \ No newline at end of file
diff --git a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/gerrit-branches b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/gerrit-branches
new file mode 120000
index 0000000..44e3578
--- /dev/null
+++ b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/gerrit-branches
@@ -0,0 +1 @@
+../../tcwg-base/tcwg-host/gerrit-branches \ No newline at end of file
diff --git a/xenial-arm64-tcwg-base/Dockerfile b/xenial-arm64-tcwg-base/Dockerfile
index ae57aac..196d582 100644
--- a/xenial-arm64-tcwg-base/Dockerfile
+++ b/xenial-arm64-tcwg-base/Dockerfile
@@ -18,6 +18,7 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
autogen \
automake \
bc \
+ bind9-host \
bison \
bsd-mailx \
build-essential \
@@ -61,6 +62,7 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
openssh-server \
python-dev \
postfix \
+ psmisc \
pxz \
qemu-system-arm \
qemu-user \
@@ -100,6 +102,14 @@ COPY postfix-sasl_password.in /etc/postfix/sasl_password
RUN chown root:root /etc/postfix/sasl_password \
&& chmod 600 /etc/postfix/sasl_password
+COPY home-data/ /home-data/
+COPY new-user.sh /usr/local/bin/
+
+RUN \
+ while read line; do \
+ new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \
+ done </home-data/group
+
# 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"
@@ -109,4 +119,4 @@ VOLUME /tmp
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
-# checksum: 664a02e76943616cb7d23c836accbae2
+# checksum: f331e97904e7806cfc56a0a00c8aaaae
diff --git a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-build/Dockerfile b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-build/Dockerfile
index 05baa4f..310695a 100644
--- a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-build/Dockerfile
+++ b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-build/Dockerfile
@@ -1,19 +1,11 @@
# Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit.
FROM linaro/ci-arm64-tcwg-base-ubuntu:xenial
-RUN groupadd -g 9000 tcwg-infra \
- && useradd -m -g tcwg-infra -G kvm -u 11827 tcwg-buildslave \
- && useradd -m -g tcwg-infra -G kvm -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/*
-
-# checksum: 50d4c4360a7ee4779da324ce515f04de
+RUN while read line; do \
+ if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \
+ continue; \
+ fi; \
+ new-user.sh --passwd "$line"; \
+ done </home-data/passwd
+
+# checksum: 4d88d7f7bd807bc14693d2641fd270c3
diff --git a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-build/xenial-arm64-tcwg-test/Dockerfile b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-build/xenial-arm64-tcwg-test/Dockerfile
index ef1ce19..952f96f 100644
--- a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-build/xenial-arm64-tcwg-test/Dockerfile
+++ b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-build/xenial-arm64-tcwg-test/Dockerfile
@@ -1,9 +1,3 @@
# Auto generated from tcwg-base/tcwg-build/tcwg-test/Dockerfile.in. Do not edit.
FROM linaro/ci-arm64-tcwg-build-ubuntu:xenial
-
-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
-# checksum: 9d6f202aa1c9a2f4391cb0687d75c45a
+# checksum: 1436e0944c7c12d79aa2606ebd123b6d
diff --git a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-dev/Dockerfile b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-dev/Dockerfile
index 4534b5c..7ea4803 100644
--- a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-dev/Dockerfile
+++ b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-dev/Dockerfile
@@ -1,9 +1,6 @@
# Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit.
FROM linaro/ci-arm64-tcwg-base-ubuntu:xenial
-COPY run.sh .
-COPY start.sh .
-
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
software-properties-common \
@@ -35,15 +32,15 @@ RUN apt-get update \
/tmp/* \
/var/tmp/*
-RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \
- && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \
- && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
+RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
&& apt-file update
# Create directories required for X11.
RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \
&& chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix
+COPY run.sh start.sh /
+
ENTRYPOINT ["/run.sh"]
CMD ["start.sh"]
-# checksum: 0e9607cbb3dd157d553ffebd26d6a411
+# checksum: af20c5a49f8dfcab4991049770e8aeaf
diff --git a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/Dockerfile b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/Dockerfile
new file mode 100644
index 0000000..34f161b
--- /dev/null
+++ b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/Dockerfile
@@ -0,0 +1,11 @@
+# Auto generated from tcwg-base/tcwg-host/Dockerfile.in. Do not edit.
+FROM linaro/ci-arm64-tcwg-base-ubuntu:xenial
+
+COPY docker-wrapper /usr/local/bin/docker
+COPY docker-stats /usr/local/bin/
+
+COPY run.sh start.sh /
+
+ENTRYPOINT ["/run.sh"]
+CMD ["start.sh"]
+# checksum: 8498aac781566adf4cb5a246369137bd
diff --git a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/build.sh b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/build.sh
new file mode 120000
index 0000000..2c95445
--- /dev/null
+++ b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/build.sh
@@ -0,0 +1 @@
+../../tcwg-base/tcwg-host/build.sh \ No newline at end of file
diff --git a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/gerrit-branches b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/gerrit-branches
new file mode 120000
index 0000000..44e3578
--- /dev/null
+++ b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/gerrit-branches
@@ -0,0 +1 @@
+../../tcwg-base/tcwg-host/gerrit-branches \ No newline at end of file
diff --git a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-llvmbot/Dockerfile b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-llvmbot/Dockerfile
index a532773..fb8fc11 100644
--- a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-llvmbot/Dockerfile
+++ b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-llvmbot/Dockerfile
@@ -32,9 +32,9 @@ RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \
# Add current clang for libcxx bots.
RUN \
- clang_ver=clang+llvm-5.0.1-aarch64-linux-gnu \
+ clang_ver=clang+llvm-6.0.0-aarch64-linux-gnu \
&& cd /usr/local \
- && wget --progress=dot:giga http://releases.llvm.org/5.0.1/$clang_ver.tar.xz \
+ && wget --progress=dot:giga http://releases.llvm.org/6.0.0/$clang_ver.tar.xz \
&& tar xf $clang_ver.tar.xz \
&& rm $clang_ver.tar.xz
@@ -45,4 +45,4 @@ COPY start.sh .
ENTRYPOINT ["/run.sh"]
CMD ["start.sh"]
-# checksum: e518582a2a434e66d9c9388c0bd2fa91
+# checksum: 765b3adb1b9e9f5ee905e980c41f2a32
diff --git a/xenial-armhf-tcwg-base/Dockerfile b/xenial-armhf-tcwg-base/Dockerfile
index 38ebf84..3d95738 100644
--- a/xenial-armhf-tcwg-base/Dockerfile
+++ b/xenial-armhf-tcwg-base/Dockerfile
@@ -18,6 +18,7 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
autogen \
automake \
bc \
+ bind9-host \
bison \
bsd-mailx \
build-essential \
@@ -61,6 +62,7 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
openssh-server \
python-dev \
postfix \
+ psmisc \
pxz \
qemu-system-arm \
qemu-user \
@@ -100,6 +102,14 @@ COPY postfix-sasl_password.in /etc/postfix/sasl_password
RUN chown root:root /etc/postfix/sasl_password \
&& chmod 600 /etc/postfix/sasl_password
+COPY home-data/ /home-data/
+COPY new-user.sh /usr/local/bin/
+
+RUN \
+ while read line; do \
+ new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \
+ done </home-data/group
+
# 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"
@@ -109,4 +119,4 @@ VOLUME /tmp
EXPOSE 22
CMD ["linux32", "/usr/sbin/sshd", "-D"]
-# checksum: 32595bbead434c67c37058718d33e771
+# checksum: 3e029e523b443199b700a681508f4514
diff --git a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-build/Dockerfile b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-build/Dockerfile
index b53f1ad..6171898 100644
--- a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-build/Dockerfile
+++ b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-build/Dockerfile
@@ -1,19 +1,11 @@
# Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit.
FROM linaro/ci-armhf-tcwg-base-ubuntu:xenial
-RUN groupadd -g 9000 tcwg-infra \
- && useradd -m -g tcwg-infra -G kvm -u 11827 tcwg-buildslave \
- && useradd -m -g tcwg-infra -G kvm -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/*
-
-# checksum: ee083c05a3f3b2c07c38fb1dd87df413
+RUN while read line; do \
+ if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \
+ continue; \
+ fi; \
+ new-user.sh --passwd "$line"; \
+ done </home-data/passwd
+
+# checksum: c815138e51130526b39402332535d2e5
diff --git a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-build/xenial-armhf-tcwg-test/Dockerfile b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-build/xenial-armhf-tcwg-test/Dockerfile
index 9f4b650..8a8e915 100644
--- a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-build/xenial-armhf-tcwg-test/Dockerfile
+++ b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-build/xenial-armhf-tcwg-test/Dockerfile
@@ -1,9 +1,3 @@
# Auto generated from tcwg-base/tcwg-build/tcwg-test/Dockerfile.in. Do not edit.
FROM linaro/ci-armhf-tcwg-build-ubuntu:xenial
-
-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
-# checksum: 3f70f196ffb86f43cdc7369b271c8c1d
+# checksum: 6f5073d1b3f36b007bfe01d60817d61f
diff --git a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-dev/Dockerfile b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-dev/Dockerfile
index 1bbdba7..52fdb59 100644
--- a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-dev/Dockerfile
+++ b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-dev/Dockerfile
@@ -1,9 +1,6 @@
# Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit.
FROM linaro/ci-armhf-tcwg-base-ubuntu:xenial
-COPY run.sh .
-COPY start.sh .
-
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
software-properties-common \
@@ -35,15 +32,15 @@ RUN apt-get update \
/tmp/* \
/var/tmp/*
-RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \
- && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \
- && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
+RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
&& apt-file update
# Create directories required for X11.
RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \
&& chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix
+COPY run.sh start.sh /
+
ENTRYPOINT ["linux32", "/run.sh"]
CMD ["start.sh"]
-# checksum: ece1982cfb0a9675f6cb4af314a31779
+# checksum: 86ef26614d9556c57c42136f4cf5b87f
diff --git a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-llvmbot/Dockerfile b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-llvmbot/Dockerfile
index 00ed72e..51f5767 100644
--- a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-llvmbot/Dockerfile
+++ b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-llvmbot/Dockerfile
@@ -32,9 +32,9 @@ RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \
# Add current clang for libcxx bots.
RUN \
- clang_ver=clang+llvm-5.0.1-armv7a-linux-gnueabihf \
+ clang_ver=clang+llvm-6.0.0-armv7a-linux-gnueabihf \
&& cd /usr/local \
- && wget --progress=dot:giga http://releases.llvm.org/5.0.1/$clang_ver.tar.xz \
+ && wget --progress=dot:giga http://releases.llvm.org/6.0.0/$clang_ver.tar.xz \
&& tar xf $clang_ver.tar.xz \
&& rm $clang_ver.tar.xz
@@ -45,4 +45,4 @@ COPY start.sh .
ENTRYPOINT ["linux32", "/run.sh"]
CMD ["start.sh"]
-# checksum: 478e345cb93c7e7a70535a26606fb9ed
+# checksum: fba53876c5cbd698ed2ca6b27da7f04e
diff --git a/xenial-i386-tcwg-base/Dockerfile b/xenial-i386-tcwg-base/Dockerfile
index 4bb386b..67d8d30 100644
--- a/xenial-i386-tcwg-base/Dockerfile
+++ b/xenial-i386-tcwg-base/Dockerfile
@@ -20,6 +20,7 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \
autogen \
automake \
bc \
+ bind9-host \
bison \
binutils-aarch64-linux-gnu \
binutils-arm-linux-gnueabihf \
@@ -68,6 +69,7 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \
pkg-config \
python-dev \
postfix \
+ psmisc \
pxz \
qemu-system-arm \
qemu-user \
@@ -116,6 +118,14 @@ RUN mkdir /tmp/docker-install-qemu.$$ \
&& make all install -j $(nproc --all) \
&& cd && rm -rf /tmp/docker-install-qemu.$$
+COPY home-data/ /home-data/
+COPY new-user.sh /usr/local/bin/
+
+RUN \
+ while read line; do \
+ new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \
+ done </home-data/group
+
# 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"
@@ -125,4 +135,4 @@ VOLUME /tmp
EXPOSE 22
CMD ["linux32", "/usr/sbin/sshd", "-D"]
-# checksum: 1968f52549a5f3844adbd1d98a8ad7da
+# checksum: 69c56b854878cdb5a7cba9969ac207ea
diff --git a/xenial-i386-tcwg-base/xenial-i386-tcwg-build/Dockerfile b/xenial-i386-tcwg-base/xenial-i386-tcwg-build/Dockerfile
index 0d926f9..101688c 100644
--- a/xenial-i386-tcwg-base/xenial-i386-tcwg-build/Dockerfile
+++ b/xenial-i386-tcwg-base/xenial-i386-tcwg-build/Dockerfile
@@ -1,20 +1,12 @@
# Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit.
FROM linaro/ci-i386-tcwg-base-ubuntu:xenial
-RUN groupadd -g 9000 tcwg-infra \
- && useradd -m -g tcwg-infra -G kvm -u 11827 tcwg-buildslave \
- && useradd -m -g tcwg-infra -G kvm -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/*
+RUN while read line; do \
+ if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \
+ continue; \
+ fi; \
+ new-user.sh --passwd "$line"; \
+ done </home-data/passwd
# Install wine. On amd64 arch we need to enable i386, otherwise wine
# won't meet dependencies (this is the case at least for trusty and xenial).
@@ -27,4 +19,4 @@ RUN \
/var/lib/apt/lists/* \
/tmp/* \
/var/tmp/*
-# checksum: dca3033a9d14f6f55c1ec182817af115
+# checksum: 187d9beb3498e962ef96cdc3ca97a938
diff --git a/xenial-i386-tcwg-base/xenial-i386-tcwg-dev/Dockerfile b/xenial-i386-tcwg-base/xenial-i386-tcwg-dev/Dockerfile
index d060379..16b67a8 100644
--- a/xenial-i386-tcwg-base/xenial-i386-tcwg-dev/Dockerfile
+++ b/xenial-i386-tcwg-base/xenial-i386-tcwg-dev/Dockerfile
@@ -1,9 +1,6 @@
# Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit.
FROM linaro/ci-i386-tcwg-base-ubuntu:xenial
-COPY run.sh .
-COPY start.sh .
-
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
software-properties-common \
@@ -35,15 +32,15 @@ RUN apt-get update \
/tmp/* \
/var/tmp/*
-RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \
- && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \
- && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
+RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \
&& apt-file update
# Create directories required for X11.
RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \
&& chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix
+COPY run.sh start.sh /
+
ENTRYPOINT ["linux32", "/run.sh"]
CMD ["start.sh"]
-# checksum: d4713d03be137a74e7d172adec5fd118
+# checksum: f4c0c13056527d2caf20e2e2682098c0