aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2017-02-10 08:29:00 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2017-02-10 08:29:00 +0000
commit143173c7cbcc32a6b5016777110c1e0af3d25a41 (patch)
treeacbac734787245bbe1ecba9700b8a5a9f301cf97
parent41db5a54c04457e27789853dceccf94ef57a6ede (diff)
parentf823904ad74692e0307b91e49d82e1d69ad8b24a (diff)
Merge remote-tracking branch 'origin/master' into people
-rwxr-xr-xbootstrap/build.sh10
-rw-r--r--centos7-aarch64/Dockerfile6
-rwxr-xr-xcentos7-aarch64/build.sh4
-rw-r--r--fedora23-aarch64/Dockerfile2
-rwxr-xr-xfedora23-aarch64/build.sh4
-rw-r--r--jessie-amd64/Dockerfile6
-rw-r--r--jessie-arm64/Dockerfile8
-rwxr-xr-xjessie-arm64/build.sh3
-rw-r--r--jessie-armhf/Dockerfile4
-rwxr-xr-xjessie-armhf/build.sh3
-rwxr-xr-xsetup-sshd12
-rw-r--r--stretch-amd64/Dockerfile2
-rw-r--r--stretch-arm64/Dockerfile4
-rwxr-xr-xstretch-arm64/build.sh3
-rw-r--r--stretch-armhf/Dockerfile4
-rwxr-xr-xstretch-armhf/build.sh3
-rw-r--r--tcwg-buildslave/.ssh/authorized_keys1
-rw-r--r--tcwg-buildslave/.ssh/config15
-rw-r--r--tcwg-buildslave/.ssh/known_hosts5
-rw-r--r--trusty-amd64-art/Dockerfile2
-rwxr-xr-xtrusty-amd64-tcwg/build.sh5
-rw-r--r--trusty-arm64-openjdk/Dockerfile2
-rw-r--r--trusty-arm64-tcwg-test/Dockerfile2
-rwxr-xr-xtrusty-arm64-tcwg-test/build.sh5
-rw-r--r--trusty-arm64-tcwg/Dockerfile2
-rwxr-xr-xtrusty-arm64-tcwg/build.sh5
-rw-r--r--trusty-armhf-tcwg-test/Dockerfile2
-rwxr-xr-xtrusty-armhf-tcwg-test/build.sh5
-rw-r--r--trusty-armhf-tcwg/Dockerfile2
-rwxr-xr-xtrusty-armhf-tcwg/build.sh5
-rw-r--r--trusty-i386-tcwg/Dockerfile5
-rwxr-xr-xtrusty-i386-tcwg/build.sh5
-rw-r--r--utopic-amd64-art/Dockerfile7
-rwxr-xr-xutopic-amd64-art/build.sh9
-rw-r--r--utopic-amd64/Dockerfile2
-rw-r--r--wily-amd64/Dockerfile71
-rwxr-xr-xwily-amd64/build.sh19
-rw-r--r--wily-arm64/Dockerfile61
-rwxr-xr-xwily-arm64/build.sh19
-rw-r--r--wily-armhf/Dockerfile61
-rwxr-xr-xwily-armhf/build.sh19
-rw-r--r--xenial-amd64-chromium/Dockerfile2
-rw-r--r--xenial-amd64-tcwg-build/Dockerfile102
-rwxr-xr-xxenial-amd64-tcwg-build/build.sh19
-rw-r--r--xenial-amd64/Dockerfile5
-rw-r--r--xenial-arm64-tcwg-build/Dockerfile99
-rwxr-xr-xxenial-arm64-tcwg-build/build.sh19
-rw-r--r--xenial-arm64-tcwg-test/Dockerfile53
-rwxr-xr-xxenial-arm64-tcwg-test/build.sh19
-rw-r--r--xenial-arm64/Dockerfile8
-rwxr-xr-xxenial-arm64/build.sh3
-rw-r--r--xenial-armhf-tcwg-build/Dockerfile99
-rwxr-xr-xxenial-armhf-tcwg-build/build.sh19
-rw-r--r--xenial-armhf-tcwg-test/Dockerfile53
-rwxr-xr-xxenial-armhf-tcwg-test/build.sh19
-rw-r--r--xenial-armhf/Dockerfile4
-rwxr-xr-xxenial-armhf/build.sh3
-rw-r--r--xenial-i386-tcwg-build/Dockerfile104
-rwxr-xr-xxenial-i386-tcwg-build/build.sh19
59 files changed, 751 insertions, 312 deletions
diff --git a/bootstrap/build.sh b/bootstrap/build.sh
index 93d3dc4..cbf28bf 100755
--- a/bootstrap/build.sh
+++ b/bootstrap/build.sh
@@ -3,11 +3,11 @@
sudo debootstrap --arch=armhf --variant=minbase jessie debian-jessie-armhf http://http.debian.net/debian
sudo debootstrap --arch=arm64 --variant=minbase jessie debian-jessie-arm64 http://http.debian.net/debian
+sudo debootstrap --arch=armhf --variant=minbase stretch debian-stretch-armhf http://deb.debian.org/debian
+sudo debootstrap --arch=arm64 --variant=minbase stretch debian-stretch-arm64 http://deb.debian.org/debian
+
sudo debootstrap --arch=armhf --variant=minbase trusty ubuntu-trusty-armhf http://ports.ubuntu.com
sudo debootstrap --arch=arm64 --variant=minbase trusty ubuntu-trusty-arm64 http://ports.ubuntu.com
-sudo debootstrap --arch=armhf --variant=minbase vivid ubuntu-vivid-armhf http://ports.ubuntu.com
-sudo debootstrap --arch=arm64 --variant=minbase vivid ubuntu-vivid-arm64 http://ports.ubuntu.com
-
-sudo debootstrap --arch=armhf --variant=minbase wily ubuntu-wily-armhf http://ports.ubuntu.com
-sudo debootstrap --arch=arm64 --variant=minbase wily ubuntu-wily-arm64 http://ports.ubuntu.com
+sudo debootstrap --arch=armhf --variant=minbase xenial ubuntu-xenial-armhf http://ports.ubuntu.com
+sudo debootstrap --arch=arm64 --variant=minbase xenial ubuntu-xenial-arm64 http://ports.ubuntu.com
diff --git a/centos7-aarch64/Dockerfile b/centos7-aarch64/Dockerfile
index 07808bc..f75a7d2 100644
--- a/centos7-aarch64/Dockerfile
+++ b/centos7-aarch64/Dockerfile
@@ -1,4 +1,4 @@
-FROM quay.io/fathi_boudra/centos:7-aarch64
+FROM linaro/base-aarch64-centos:7
ENV container docker
@@ -9,6 +9,7 @@ RUN rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7 \
java-1.8.0-openjdk \
make \
openssh-server \
+ python-requests \
rpm-build \
virt-install \
wget \
@@ -21,8 +22,7 @@ RUN useradd buildslave \
&& echo 'Defaults:buildslave !requiretty' >> /etc/sudoers.d/jenkins \
&& chmod 0440 /etc/sudoers.d/jenkins \
&& mkdir -p /var/run/sshd \
- && /usr/sbin/sshd-keygen \
- && echo 'uri_default = "qemu+tcp://172.17.0.1/system"' >> /etc/libvirt/libvirt.conf
+ && /usr/sbin/sshd-keygen
VOLUME ["/var/lib/libvirt"]
diff --git a/centos7-aarch64/build.sh b/centos7-aarch64/build.sh
index ada0231..a97493e 100755
--- a/centos7-aarch64/build.sh
+++ b/centos7-aarch64/build.sh
@@ -4,4 +4,6 @@ set -e
export LANG=C
-docker build --pull --tag=linaro/$(basename ${PWD}) .
+ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-')
+
+docker build --pull --tag=linaro/ci-${ARCHITECTURE}-centos:7 .
diff --git a/fedora23-aarch64/Dockerfile b/fedora23-aarch64/Dockerfile
index 7b97492..325d950 100644
--- a/fedora23-aarch64/Dockerfile
+++ b/fedora23-aarch64/Dockerfile
@@ -1,4 +1,4 @@
-FROM quay.io/fathi_boudra/fedora:23-aarch64
+FROM linaro/base-aarch64-fedora:23
RUN dnf -y update \
&& dnf --nogpgcheck --setopt=tsflags=nodocs -y install \
diff --git a/fedora23-aarch64/build.sh b/fedora23-aarch64/build.sh
index ada0231..c8d2d7a 100755
--- a/fedora23-aarch64/build.sh
+++ b/fedora23-aarch64/build.sh
@@ -4,4 +4,6 @@ set -e
export LANG=C
-docker build --pull --tag=linaro/$(basename ${PWD}) .
+ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-')
+
+docker build --pull --tag=linaro/ci-${ARCHITECTURE}-fedora:23 .
diff --git a/jessie-amd64/Dockerfile b/jessie-amd64/Dockerfile
index ca6e99d..0eb9b44 100644
--- a/jessie-amd64/Dockerfile
+++ b/jessie-amd64/Dockerfile
@@ -33,7 +33,6 @@ RUN dpkg --add-architecture i386 \
kernel-wedge \
kpartx \
lava-tool \
- libguestfs-tools \
libstdc++6:i386 \
libtool \
libvirt-clients \
@@ -41,7 +40,7 @@ RUN dpkg --add-architecture i386 \
lsb-release \
openjdk-7-jdk \
openssh-server \
- python-pycurl \
+ python-requests \
qemu-user-static \
sudo \
time \
@@ -62,8 +61,7 @@ RUN dpkg --add-architecture i386 \
RUN useradd -m buildslave \
&& echo 'buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins \
&& chmod 440 /etc/sudoers.d/jenkins \
- && mkdir -p /var/run/sshd \
- && echo 'uri_default = "qemu+tcp://172.17.0.1/system"' >> /etc/libvirt/libvirt.conf
+ && mkdir -p /var/run/sshd
VOLUME ["/var/lib/libvirt"]
diff --git a/jessie-arm64/Dockerfile b/jessie-arm64/Dockerfile
index a57051c..5625fe5 100644
--- a/jessie-arm64/Dockerfile
+++ b/jessie-arm64/Dockerfile
@@ -1,4 +1,4 @@
-FROM quay.io/fathi_boudra/debian:jessie-arm64
+FROM linaro/base-arm64-debian:jessie
COPY *.list *.key /etc/apt/sources.list.d/
@@ -33,16 +33,18 @@ RUN apt-key add /etc/apt/sources.list.d/*.key \
kpartx \
lava-tool \
libtool \
+ libvirt-clients \
linaro-image-tools \
lsb-release \
openjdk-7-jdk \
openssh-server \
- python-pycurl \
+ python-requests \
qemu-user-static \
sudo \
time \
u-boot-tools \
uuid-dev \
+ virtinst \
wget \
zip \
zsync \
@@ -58,5 +60,7 @@ RUN useradd -m buildslave \
&& chmod 440 /etc/sudoers.d/jenkins \
&& mkdir -p /var/run/sshd
+VOLUME ["/var/lib/libvirt"]
+
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
diff --git a/jessie-arm64/build.sh b/jessie-arm64/build.sh
index b80d88f..6faa352 100755
--- a/jessie-arm64/build.sh
+++ b/jessie-arm64/build.sh
@@ -12,6 +12,7 @@ cleanup_exit()
export LANG=C
DISTRIBUTION=$(basename ${PWD} | cut -f1 -d '-')
+ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-')
cp -a ../${DISTRIBUTION}.list linaro.list
cp -a ../linaro-*.list ../linaro-*.key .
@@ -20,4 +21,4 @@ sed -e "s|@DISTRIBUTION@|${DISTRIBUTION}|" -i *.list
# fixup - get rid of PPA usage
rm -f linaro-*ppa.*
-docker build --pull --tag=linaro/$(basename ${PWD}) .
+docker build --pull --tag=linaro/ci-${ARCHITECTURE}-debian:${DISTRIBUTION} .
diff --git a/jessie-armhf/Dockerfile b/jessie-armhf/Dockerfile
index 8566e78..87f5ac7 100644
--- a/jessie-armhf/Dockerfile
+++ b/jessie-armhf/Dockerfile
@@ -1,4 +1,4 @@
-FROM quay.io/fathi_boudra/debian:jessie-armhf
+FROM linaro/base-armhf-debian:jessie
COPY *.list *.key /etc/apt/sources.list.d/
@@ -37,7 +37,7 @@ RUN apt-key add /etc/apt/sources.list.d/*.key \
lsb-release \
openjdk-7-jdk \
openssh-server \
- python-pycurl \
+ python-requests \
qemu-user-static \
sudo \
time \
diff --git a/jessie-armhf/build.sh b/jessie-armhf/build.sh
index b80d88f..6faa352 100755
--- a/jessie-armhf/build.sh
+++ b/jessie-armhf/build.sh
@@ -12,6 +12,7 @@ cleanup_exit()
export LANG=C
DISTRIBUTION=$(basename ${PWD} | cut -f1 -d '-')
+ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-')
cp -a ../${DISTRIBUTION}.list linaro.list
cp -a ../linaro-*.list ../linaro-*.key .
@@ -20,4 +21,4 @@ sed -e "s|@DISTRIBUTION@|${DISTRIBUTION}|" -i *.list
# fixup - get rid of PPA usage
rm -f linaro-*ppa.*
-docker build --pull --tag=linaro/$(basename ${PWD}) .
+docker build --pull --tag=linaro/ci-${ARCHITECTURE}-debian:${DISTRIBUTION} .
diff --git a/setup-sshd b/setup-sshd
new file mode 100755
index 0000000..b0a5ed5
--- /dev/null
+++ b/setup-sshd
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+export HOME=/home/buildslave
+
+[ -z "${JENKINS_SLAVE_SSH_PUBKEY}" ] || {
+ mkdir ${HOME}/.ssh
+ echo "${JENKINS_SLAVE_SSH_PUBKEY}" > ${HOME}/.ssh/authorized_keys
+ chown -R buildslave:buildslave ${HOME}/.ssh
+ chmod 0700 -R ${HOME}/.ssh
+}
+
+exec /usr/sbin/sshd -D
diff --git a/stretch-amd64/Dockerfile b/stretch-amd64/Dockerfile
index 4debdf0..63b7b3c 100644
--- a/stretch-amd64/Dockerfile
+++ b/stretch-amd64/Dockerfile
@@ -39,7 +39,7 @@ RUN dpkg --add-architecture i386 \
lsb-release \
openjdk-8-jdk \
openssh-server \
- python-pycurl \
+ python-requests \
qemu-user-static \
sudo \
time \
diff --git a/stretch-arm64/Dockerfile b/stretch-arm64/Dockerfile
index c9e7037..832ee23 100644
--- a/stretch-arm64/Dockerfile
+++ b/stretch-arm64/Dockerfile
@@ -1,4 +1,4 @@
-FROM quay.io/fathi_boudra/debian:stretch-arm64
+FROM linaro/base-arm64-debian:stretch
COPY *.list *.key /etc/apt/sources.list.d/
@@ -37,7 +37,7 @@ RUN apt-get update \
lsb-release \
openjdk-8-jdk \
openssh-server \
- python-pycurl \
+ python-requests \
qemu-user-static \
sudo \
time \
diff --git a/stretch-arm64/build.sh b/stretch-arm64/build.sh
index 34f8f99..0d6c2b0 100755
--- a/stretch-arm64/build.sh
+++ b/stretch-arm64/build.sh
@@ -12,6 +12,7 @@ cleanup_exit()
export LANG=C
DISTRIBUTION=$(basename ${PWD} | cut -f1 -d '-')
+ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-')
cp -a ../linaro-*.list ../linaro-*.key .
sed -e "s|@DISTRIBUTION@|${DISTRIBUTION}|" -i *.list
@@ -19,4 +20,4 @@ sed -e "s|@DISTRIBUTION@|${DISTRIBUTION}|" -i *.list
# fixup - get rid of PPA usage
rm -f linaro-*ppa.*
-docker build --pull --tag=linaro/$(basename ${PWD}) .
+docker build --pull --tag=linaro/ci-${ARCHITECTURE}-debian:${DISTRIBUTION} .
diff --git a/stretch-armhf/Dockerfile b/stretch-armhf/Dockerfile
index a510d28..4254790 100644
--- a/stretch-armhf/Dockerfile
+++ b/stretch-armhf/Dockerfile
@@ -1,4 +1,4 @@
-FROM quay.io/fathi_boudra/debian:stretch-armhf
+FROM linaro/base-armhf-debian:stretch
COPY *.list *.key /etc/apt/sources.list.d/
@@ -37,7 +37,7 @@ RUN apt-get update \
lsb-release \
openjdk-8-jdk \
openssh-server \
- python-pycurl \
+ python-requests \
qemu-user-static \
sudo \
time \
diff --git a/stretch-armhf/build.sh b/stretch-armhf/build.sh
index 34f8f99..0d6c2b0 100755
--- a/stretch-armhf/build.sh
+++ b/stretch-armhf/build.sh
@@ -12,6 +12,7 @@ cleanup_exit()
export LANG=C
DISTRIBUTION=$(basename ${PWD} | cut -f1 -d '-')
+ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-')
cp -a ../linaro-*.list ../linaro-*.key .
sed -e "s|@DISTRIBUTION@|${DISTRIBUTION}|" -i *.list
@@ -19,4 +20,4 @@ sed -e "s|@DISTRIBUTION@|${DISTRIBUTION}|" -i *.list
# fixup - get rid of PPA usage
rm -f linaro-*ppa.*
-docker build --pull --tag=linaro/$(basename ${PWD}) .
+docker build --pull --tag=linaro/ci-${ARCHITECTURE}-debian:${DISTRIBUTION} .
diff --git a/tcwg-buildslave/.ssh/authorized_keys b/tcwg-buildslave/.ssh/authorized_keys
index 3e8753a..bb7e338 100644
--- a/tcwg-buildslave/.ssh/authorized_keys
+++ b/tcwg-buildslave/.ssh/authorized_keys
@@ -1,2 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCvo00oFPW9t4OOylGA2hpBFu/3S7xjMWolmzZoS234Hej/Y8RvMgyG+jAg/hdG8aMG+PRmCRDDk2R5HSceSTG/51x3DyVkpjiFHaWdafCvy63Okalhu0vLAXHi8pbpSjHv7c5KPorBWdG2L5D2LSv/zwDGm+aXvHOrfE6WDraipYML7lUuruTwpg7Fs+NMPqghroslD+gIWeIr897aFug4Enj4oYJSitHqIHwBuPha//bFJpBHakP2PmnB0hFIBDpHq0QYfyHechm6iO+VOOooKG1MMmsPlPfT5kOZkSo/pIgpBILXwFx+BnVhtvNRhN1a8FyLL5V4fb34HXT7Qyq6bA3qGs+cgjy+ZQtHIOyo2rZmBD5uZNjaUdpJFMpMQs9g+h9dIit57bMJBc1anE3BhOhRzd+bsKhsXkhlioaVKMwPyXbkKgGkRsrLn3VEWgF4f2lO2LyBc6HNdm5t5xnh2u1MxnxmSgw3co+86lSvhh5o36Kth7ebi06OLnJDuborq/uBv33G/6dargIz5ZaMySpQIgO6mo+mTMdJr6QpWGek93MFE0N0tbAAXADkk0hpA7if1UJwmCmBAifFDeAMt0QV+taA9jtHMHHgSZC+a4i4EO06L1u0e9qX9ciQJbqXt65Ynjumo2uZfnK1aBSrWX5zaT0Z0LIwxY2HISA06w== tcwg@linaro.org
-
diff --git a/tcwg-buildslave/.ssh/config b/tcwg-buildslave/.ssh/config
index d6b4c23..47e5dbf 100644
--- a/tcwg-buildslave/.ssh/config
+++ b/tcwg-buildslave/.ssh/config
@@ -10,13 +10,19 @@ Host *.tcwglab *.aus-colo people.linaro.org aus-colo.linaro.org lab.validation.l
#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 -Snone aus-colo.linaro.org nc -q0 %h %p
+ 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 -Snone lab.validation.linaro.org nc -q0 $(basename %h .lab) %p
+ ProxyCommand ssh lab.validation.linaro.org nc -q0 $(basename %h .lab) %p
Host *.tcwglab *.aus-colo *.lab
# Enable automatic multiplexing.
@@ -44,6 +50,11 @@ 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 git.linaro.org dev-private-git.linaro.org
User git
# === END: TCWG SSH configuration ===
diff --git a/tcwg-buildslave/.ssh/known_hosts b/tcwg-buildslave/.ssh/known_hosts
index 5ba7c59..5a57bfc 100644
--- a/tcwg-buildslave/.ssh/known_hosts
+++ b/tcwg-buildslave/.ssh/known_hosts
@@ -7,9 +7,8 @@ dev-private-git.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC34bjTOKJIq8MVS
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 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKXzUdUnTOrX3sSzliFFAfQ+a5BxUUpvoWNHAVrLDW0Yodw2MWU/FdPZ6lvukOslYr3Jm+peit8kaXzlqX6mMxo=
-ex40-01.tcwglab.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBANburK51NHrDOqSZ5Jn4hfmm+IdcPN/jYbs0GRQC1x++U/iaH+ylEoIqcnbm6uKRcif7PhA9/Bvw+tt6Eny//H3AzUww7t0/pEzqzfjnYuijWt/n1iN1a0G7kTk8id8DFqTEDJDb2+65/gAHS13iXVE9u9zW3QTjfOznJ9ENh0wlAAAAFQDlgZgifgbmv1ggbppp3qwhOhoa0QAAAIEAhAetfs6FzKgeitGoywbAjpwztXohsypj2YmNHXxZrqKY2Q9/QD1p5mJXihSeSWoB2yxPElO80BKQEP/DoCo/xZxgKXHURlx+yc1TOimTfht/85UgFqJUkV4uUB+g939ky68Fr9lIvE3q0TaZf+Ug5KVnXmxstoPQqOduJaCH4iwAAACAaMmPSRa64prPj8eMfTwzpqKIxYb/dpCYS7v7YBLbIvExW6fO3/h1EKI8osktoyVGsAYhpphU+byzPqmGbagnvth2xUzpsOBZfiMOgPp8YwbJYfpRESyYZtOpMpyF/0uk2ubE691EN/+7CDhckmxg61uy0WjblU5cO+gRzK4EBRU=
-ex40-01.tcwglab.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDECsbvnLM2Z31kUjwhsWf7AIkzCnFLv7O/Qq2vckCEE174L3KLqG4BBNP8XcRJmZA2g1nUrHCKjj1A2T7xWshm/W1saNvbwKWHeBNmAM1l9+fvT+M1j6yO8rz9Ta2BRPx5OuY9xl25xvrpkY2X7DkKoms+27O8t4C/2EjARt8T/XRs4INpjIUyfBX8bO2ng9Adk9ZCZKL+ekYLGahHn9lj4pSz7xFBM60vSs13mIy9SOgdGJcUdeuSkhaFOyKIUNL197rDdPTefglCR0d6oJx2Z57MSJkuzMHfL02d+Qtc3ySNK3FIO7eg+nn2mLUPRfzAFi+BTO8Xf/Kw1RA3DY9V
+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
diff --git a/trusty-amd64-art/Dockerfile b/trusty-amd64-art/Dockerfile
index aafdcbc..650c305 100644
--- a/trusty-amd64-art/Dockerfile
+++ b/trusty-amd64-art/Dockerfile
@@ -30,7 +30,7 @@ RUN dpkg --add-architecture i386 \
openssh-server \
python-mako \
python-networkx \
- python-pycurl \
+ python-requests \
rsync \
scons \
time \
diff --git a/trusty-amd64-tcwg/build.sh b/trusty-amd64-tcwg/build.sh
index 5a74c33..738c4cd 100755
--- a/trusty-amd64-tcwg/build.sh
+++ b/trusty-amd64-tcwg/build.sh
@@ -10,7 +10,10 @@ cleanup_exit()
}
export LANG=C
+distro=$(basename ${PWD} | cut -f1 -d '-')
+arch=$(basename ${PWD} | cut -f2 -d '-')
+name=$(basename ${PWD} | cut -f3- -d '-')
rsync -a ../tcwg-buildslave/ ./tcwg-buildslave/
-docker build --pull --tag=linaro/$(basename ${PWD}) .
+docker build --pull --tag=linaro/ci-${arch}-${name}-ubuntu:${distro} .
diff --git a/trusty-arm64-openjdk/Dockerfile b/trusty-arm64-openjdk/Dockerfile
index 60a0c91..9b59a2b 100644
--- a/trusty-arm64-openjdk/Dockerfile
+++ b/trusty-arm64-openjdk/Dockerfile
@@ -1,4 +1,4 @@
-FROM quay.io/fathi_boudra/ubuntu:trusty-arm64
+FROM linaro/base-arm64-ubuntu:trusty
RUN echo 'deb http://ports.ubuntu.com/ubuntu-ports trusty main universe' > /etc/apt/sources.list \
&& apt-get update \
diff --git a/trusty-arm64-tcwg-test/Dockerfile b/trusty-arm64-tcwg-test/Dockerfile
index 0c1feb1..07838c6 100644
--- a/trusty-arm64-tcwg-test/Dockerfile
+++ b/trusty-arm64-tcwg-test/Dockerfile
@@ -1,4 +1,4 @@
-FROM quay.io/fathi_boudra/ubuntu:trusty-arm64
+FROM linaro/base-arm64-ubuntu:trusty
COPY tcwg-buildslave/.ssh /etc/skel/.ssh
COPY tcwg-buildslave/.ssh /root/.ssh
diff --git a/trusty-arm64-tcwg-test/build.sh b/trusty-arm64-tcwg-test/build.sh
index 5a74c33..738c4cd 100755
--- a/trusty-arm64-tcwg-test/build.sh
+++ b/trusty-arm64-tcwg-test/build.sh
@@ -10,7 +10,10 @@ cleanup_exit()
}
export LANG=C
+distro=$(basename ${PWD} | cut -f1 -d '-')
+arch=$(basename ${PWD} | cut -f2 -d '-')
+name=$(basename ${PWD} | cut -f3- -d '-')
rsync -a ../tcwg-buildslave/ ./tcwg-buildslave/
-docker build --pull --tag=linaro/$(basename ${PWD}) .
+docker build --pull --tag=linaro/ci-${arch}-${name}-ubuntu:${distro} .
diff --git a/trusty-arm64-tcwg/Dockerfile b/trusty-arm64-tcwg/Dockerfile
index 267df8c..e89954b 100644
--- a/trusty-arm64-tcwg/Dockerfile
+++ b/trusty-arm64-tcwg/Dockerfile
@@ -1,4 +1,4 @@
-FROM quay.io/fathi_boudra/ubuntu:trusty-arm64
+FROM linaro/base-arm64-ubuntu:trusty
COPY tcwg-buildslave/.ssh /etc/skel/.ssh
diff --git a/trusty-arm64-tcwg/build.sh b/trusty-arm64-tcwg/build.sh
index 5a74c33..738c4cd 100755
--- a/trusty-arm64-tcwg/build.sh
+++ b/trusty-arm64-tcwg/build.sh
@@ -10,7 +10,10 @@ cleanup_exit()
}
export LANG=C
+distro=$(basename ${PWD} | cut -f1 -d '-')
+arch=$(basename ${PWD} | cut -f2 -d '-')
+name=$(basename ${PWD} | cut -f3- -d '-')
rsync -a ../tcwg-buildslave/ ./tcwg-buildslave/
-docker build --pull --tag=linaro/$(basename ${PWD}) .
+docker build --pull --tag=linaro/ci-${arch}-${name}-ubuntu:${distro} .
diff --git a/trusty-armhf-tcwg-test/Dockerfile b/trusty-armhf-tcwg-test/Dockerfile
index 65b8c69..15b7f58 100644
--- a/trusty-armhf-tcwg-test/Dockerfile
+++ b/trusty-armhf-tcwg-test/Dockerfile
@@ -1,4 +1,4 @@
-FROM quay.io/fathi_boudra/ubuntu:trusty-armhf
+FROM linaro/base-armhf-ubuntu:trusty
COPY tcwg-buildslave/.ssh /etc/skel/.ssh
COPY tcwg-buildslave/.ssh /root/.ssh
diff --git a/trusty-armhf-tcwg-test/build.sh b/trusty-armhf-tcwg-test/build.sh
index 5a74c33..738c4cd 100755
--- a/trusty-armhf-tcwg-test/build.sh
+++ b/trusty-armhf-tcwg-test/build.sh
@@ -10,7 +10,10 @@ cleanup_exit()
}
export LANG=C
+distro=$(basename ${PWD} | cut -f1 -d '-')
+arch=$(basename ${PWD} | cut -f2 -d '-')
+name=$(basename ${PWD} | cut -f3- -d '-')
rsync -a ../tcwg-buildslave/ ./tcwg-buildslave/
-docker build --pull --tag=linaro/$(basename ${PWD}) .
+docker build --pull --tag=linaro/ci-${arch}-${name}-ubuntu:${distro} .
diff --git a/trusty-armhf-tcwg/Dockerfile b/trusty-armhf-tcwg/Dockerfile
index 5ac9a85..65f6897 100644
--- a/trusty-armhf-tcwg/Dockerfile
+++ b/trusty-armhf-tcwg/Dockerfile
@@ -1,4 +1,4 @@
-FROM quay.io/fathi_boudra/ubuntu:trusty-armhf
+FROM linaro/base-armhf-ubuntu:trusty
COPY tcwg-buildslave/.ssh /etc/skel/.ssh
diff --git a/trusty-armhf-tcwg/build.sh b/trusty-armhf-tcwg/build.sh
index 5a74c33..738c4cd 100755
--- a/trusty-armhf-tcwg/build.sh
+++ b/trusty-armhf-tcwg/build.sh
@@ -10,7 +10,10 @@ cleanup_exit()
}
export LANG=C
+distro=$(basename ${PWD} | cut -f1 -d '-')
+arch=$(basename ${PWD} | cut -f2 -d '-')
+name=$(basename ${PWD} | cut -f3- -d '-')
rsync -a ../tcwg-buildslave/ ./tcwg-buildslave/
-docker build --pull --tag=linaro/$(basename ${PWD}) .
+docker build --pull --tag=linaro/ci-${arch}-${name}-ubuntu:${distro} .
diff --git a/trusty-i386-tcwg/Dockerfile b/trusty-i386-tcwg/Dockerfile
index 528df3b..56a2fc4 100644
--- a/trusty-i386-tcwg/Dockerfile
+++ b/trusty-i386-tcwg/Dockerfile
@@ -1,8 +1,9 @@
-FROM quay.io/fathi_boudra/ubuntu:trusty-i386
+FROM linaro/base-i386-ubuntu:trusty
COPY tcwg-buildslave/.ssh /etc/skel/.ssh
-RUN apt-get update \
+RUN echo 'deb http://archive.ubuntu.com/ubuntu trusty main universe' > /etc/apt/sources.list \
+ && apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \
&& dpkg-divert --local --rename --add /sbin/initctl \
&& ln -s /bin/true /sbin/initctl \
diff --git a/trusty-i386-tcwg/build.sh b/trusty-i386-tcwg/build.sh
index 5a74c33..738c4cd 100755
--- a/trusty-i386-tcwg/build.sh
+++ b/trusty-i386-tcwg/build.sh
@@ -10,7 +10,10 @@ cleanup_exit()
}
export LANG=C
+distro=$(basename ${PWD} | cut -f1 -d '-')
+arch=$(basename ${PWD} | cut -f2 -d '-')
+name=$(basename ${PWD} | cut -f3- -d '-')
rsync -a ../tcwg-buildslave/ ./tcwg-buildslave/
-docker build --pull --tag=linaro/$(basename ${PWD}) .
+docker build --pull --tag=linaro/ci-${arch}-${name}-ubuntu:${distro} .
diff --git a/utopic-amd64-art/Dockerfile b/utopic-amd64-art/Dockerfile
index 28b15c6..7424f39 100644
--- a/utopic-amd64-art/Dockerfile
+++ b/utopic-amd64-art/Dockerfile
@@ -1,5 +1,7 @@
FROM ubuntu:utopic
+COPY setup-sshd /usr/sbin/setup-sshd
+
RUN dpkg --add-architecture i386 \
&& sed -i -e 's/archive.ubuntu.com\|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list \
&& apt-get update \
@@ -25,13 +27,14 @@ RUN dpkg --add-architecture i386 \
lcov \
less \
lib32ncurses5 \
+ libtcnative-1 \
libxml2-utils \
make \
openssh-client \
openssh-server \
python-mako \
python-networkx \
- python-pycurl \
+ python-requests \
rsync \
scons \
time \
@@ -61,4 +64,4 @@ RUN useradd -m -G plugdev buildslave \
&& chown -R buildslave:buildslave /home/buildslave/bin
EXPOSE 22
-CMD ["/usr/sbin/sshd", "-D"]
+ENTRYPOINT ["/usr/sbin/setup-sshd"]
diff --git a/utopic-amd64-art/build.sh b/utopic-amd64-art/build.sh
index ada0231..a797cb5 100755
--- a/utopic-amd64-art/build.sh
+++ b/utopic-amd64-art/build.sh
@@ -2,6 +2,15 @@
set -e
+trap cleanup_exit INT TERM EXIT
+
+cleanup_exit()
+{
+ rm -f setup-sshd
+}
+
export LANG=C
+cp -a ../setup-sshd .
+
docker build --pull --tag=linaro/$(basename ${PWD}) .
diff --git a/utopic-amd64/Dockerfile b/utopic-amd64/Dockerfile
index 328178b..06574f2 100644
--- a/utopic-amd64/Dockerfile
+++ b/utopic-amd64/Dockerfile
@@ -40,7 +40,7 @@ RUN dpkg --add-architecture i386 \
lsb-release \
openjdk-7-jdk \
openssh-server \
- python-pycurl \
+ python-requests \
qemu-user-static \
sudo \
time \
diff --git a/wily-amd64/Dockerfile b/wily-amd64/Dockerfile
deleted file mode 100644
index 8d39fa3..0000000
--- a/wily-amd64/Dockerfile
+++ /dev/null
@@ -1,71 +0,0 @@
-FROM ubuntu:wily
-
-COPY *.list *.key /etc/apt/sources.list.d/
-
-RUN dpkg --add-architecture i386 \
- && apt-key add /etc/apt/sources.list.d/*.key \
- && 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 \
- abootimg \
- acpica-tools \
- android-tools-fsutils \
- autoconf \
- automake \
- bc \
- bison \
- build-essential \
- ccache \
- curl \
- debhelper \
- debian-archive-keyring \
- debian-keyring \
- device-tree-compiler \
- doxygen \
- fakeroot \
- flex \
- gcc \
- gcc-aarch64-linux-gnu \
- gcc-arm-linux-gnueabihf \
- gdisk \
- git \
- kernel-wedge \
- kpartx \
- lava-tool \
- libstdc++6:i386 \
- libtool \
- linaro-image-tools \
- lsb-release \
- openjdk-7-jdk \
- openssh-server \
- python-pycurl \
- qemu-user-static \
- sudo \
- time \
- u-boot-tools \
- uuid-dev \
- wget \
- zip \
- zlib1g:i386 \
- zsync \
- && wget -q \
- http://snapshot.debian.org/archive/debian/20160609T104519Z/pool/main/a/acpica-unix/acpica-tools_20160527-1_amd64.deb \
- http://de.archive.ubuntu.com/ubuntu/pool/main/m/make-dfsg/make_3.81-8.2ubuntu3_amd64.deb \
- && dpkg -i --force-all *.deb \
- && apt-mark hold make \
- && apt-get clean \
- && rm -rf \
- /etc/apt/sources.list.d/*.key \
- /var/lib/apt/lists/* \
- /tmp/* \
- /var/tmp/* \
- *.deb
-
-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/wily-amd64/build.sh b/wily-amd64/build.sh
deleted file mode 100755
index e662946..0000000
--- a/wily-amd64/build.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/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 '-')
-
-cp -a ../linaro-*.list ../linaro-*.key .
-sed -e "s|@DISTRIBUTION@|${DISTRIBUTION}|" -i *.list
-
-docker build --pull --tag=linaro/$(basename ${PWD}) .
diff --git a/wily-arm64/Dockerfile b/wily-arm64/Dockerfile
deleted file mode 100644
index b925550..0000000
--- a/wily-arm64/Dockerfile
+++ /dev/null
@@ -1,61 +0,0 @@
-FROM quay.io/fathi_boudra/ubuntu:wily-arm64
-
-COPY *.list *.key /etc/apt/sources.list.d/
-
-RUN echo 'deb http://ports.ubuntu.com/ubuntu-ports wily main universe' > /etc/apt/sources.list \
- && apt-key add /etc/apt/sources.list.d/*.key \
- && 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 \
- abootimg \
- acpica-tools \
- android-tools-fsutils \
- autoconf \
- automake \
- bc \
- bison \
- build-essential \
- ccache \
- curl \
- debhelper \
- debian-archive-keyring \
- debian-keyring \
- device-tree-compiler \
- doxygen \
- fakeroot \
- flex \
- gcc \
- gdisk \
- git \
- kernel-wedge \
- kpartx \
- lava-tool \
- libtool \
- linaro-image-tools \
- lsb-release \
- openjdk-7-jdk \
- openssh-server \
- python-pycurl \
- qemu-user-static \
- sudo \
- time \
- u-boot-tools \
- uuid-dev \
- wget \
- zip \
- zsync \
- && apt-get clean \
- && rm -rf \
- /etc/apt/sources.list.d/*.key \
- /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/wily-arm64/build.sh b/wily-arm64/build.sh
deleted file mode 100755
index e662946..0000000
--- a/wily-arm64/build.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/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 '-')
-
-cp -a ../linaro-*.list ../linaro-*.key .
-sed -e "s|@DISTRIBUTION@|${DISTRIBUTION}|" -i *.list
-
-docker build --pull --tag=linaro/$(basename ${PWD}) .
diff --git a/wily-armhf/Dockerfile b/wily-armhf/Dockerfile
deleted file mode 100644
index 123c294..0000000
--- a/wily-armhf/Dockerfile
+++ /dev/null
@@ -1,61 +0,0 @@
-FROM quay.io/fathi_boudra/ubuntu:wily-armhf
-
-COPY *.list *.key /etc/apt/sources.list.d/
-
-RUN echo 'deb http://ports.ubuntu.com/ubuntu-ports wily main universe' > /etc/apt/sources.list \
- && apt-key add /etc/apt/sources.list.d/*.key \
- && 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 \
- abootimg \
- acpica-tools \
- android-tools-fsutils \
- autoconf \
- automake \
- bc \
- bison \
- build-essential \
- ccache \
- curl \
- debhelper \
- debian-archive-keyring \
- debian-keyring \
- device-tree-compiler \
- doxygen \
- fakeroot \
- flex \
- gcc \
- gdisk \
- git \
- kernel-wedge \
- kpartx \
- lava-tool \
- libtool \
- linaro-image-tools \
- lsb-release \
- openjdk-7-jdk \
- openssh-server \
- python-pycurl \
- qemu-user-static \
- sudo \
- time \
- u-boot-tools \
- uuid-dev \
- wget \
- zip \
- zsync \
- && apt-get clean \
- && rm -rf \
- /etc/apt/sources.list.d/*.key \
- /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/wily-armhf/build.sh b/wily-armhf/build.sh
deleted file mode 100755
index e662946..0000000
--- a/wily-armhf/build.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/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 '-')
-
-cp -a ../linaro-*.list ../linaro-*.key .
-sed -e "s|@DISTRIBUTION@|${DISTRIBUTION}|" -i *.list
-
-docker build --pull --tag=linaro/$(basename ${PWD}) .
diff --git a/xenial-amd64-chromium/Dockerfile b/xenial-amd64-chromium/Dockerfile
index 5a4696b..a39923b 100644
--- a/xenial-amd64-chromium/Dockerfile
+++ b/xenial-amd64-chromium/Dockerfile
@@ -15,7 +15,7 @@ RUN dpkg --add-architecture i386 \
make \
openjdk-8-jdk \
openssh-server \
- python-pycurl \
+ python-requests \
sudo \
wget \
&& wget -q \
diff --git a/xenial-amd64-tcwg-build/Dockerfile b/xenial-amd64-tcwg-build/Dockerfile
new file mode 100644
index 0000000..6a68bc6
--- /dev/null
+++ b/xenial-amd64-tcwg-build/Dockerfile
@@ -0,0 +1,102 @@
+FROM ubuntu:xenial
+
+COPY tcwg-buildslave/.ssh /etc/skel/.ssh
+
+RUN dpkg --add-architecture i386 \
+ && apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y devscripts \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ alien \
+ autoconf \
+ autogen \
+ automake \
+ bc \
+ bison \
+ build-essential \
+ ccache \
+ ccrypt \
+ byacc \
+ debhelper \
+ dejagnu \
+ dh-autoreconf \
+ dh-translations \
+ distro-info-data \
+ emacs \
+ fakeroot \
+ flex \
+ g++-multilib \
+ gawk \
+ gdb \
+ gdbserver \
+ git \
+ libexpat1-dev \
+ liblzma-dev \
+ libncurses5-dev \
+ libpython2.7-dev \
+ libreadline-dev \
+ libssl-dev \
+ libtcnative-1 \
+ libtool \
+ lzop \
+ make \
+ mingw-w64 \
+ net-tools \
+ netcat \
+ openjdk-8-jdk \
+ openssh-server \
+ python-dev \
+ pxz \
+ qemu-user \
+ rsync \
+ sudo \
+ texinfo \
+ texlive-fonts-recommended \
+ texlive-latex-recommended \
+ time \
+ vim \
+ wget \
+ wine \
+ xz-utils \
+ zip \
+ zlib1g-dev \
+ && apt-get clean \
+ && rm -rf \
+ /var/lib/apt/lists/* \
+ /tmp/* \
+ /var/tmp/*
+
+RUN chmod 0700 /etc/skel/.ssh \
+ && groupadd -g 9000 tcwg-infra \
+ && useradd -m -g tcwg-infra -u 11827 tcwg-buildslave \
+ && rm -rf /etc/skel/.ssh \
+ && echo 'tcwg-buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins \
+ && chmod 440 /etc/sudoers.d/jenkins \
+ && install -D -p -m0755 /usr/share/doc/git/contrib/workdir/git-new-workdir /usr/local/bin/git-new-workdir \
+ && sed -i -e 's:^session *required *pam_loginuid.so:# session required pam_loginuid.so:' /etc/pam.d/sshd \
+ && mkdir -p /var/run/sshd \
+ && mkdir -p /home/tcwg-buildslave/workspace \
+ && chown tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/workspace
+
+# Unfortunately, VOLUME doesn't support bind-mounts for portability reasons.
+# Therefore, the bind-mounts for the following paths are configured in
+# the ci.linaro.org's docker plugin.
+# Sources caches (read-only):
+# /home/tcwg-buildslave/snapshots-ref:/home/tcwg-buildslave/snapshots-ref:ro
+# Jenkins .jar cache (read-write):
+# /home/tcwg-buildslave/.jenkins:/home/tcwg-buildslave/.jenkins:rw
+
+# We write most of the data inside workspace, so make it a scratch mount.
+# Note that bind-mounting workspace from host will make jobs with parallel
+# builds fail.
+VOLUME /home/tcwg-buildslave/workspace
+
+# We use ssh multiplexing, which creates sockets in /tmp. Overlayfs,
+# which docker is using can't host sockets, so we use a scratch mount
+# for /tmp. This requires that we add --rm option to "docker run"
+# invocations (e.g., mark "Remove volumes" checkbox in docker plugin) to
+# cleanup host directories used for the scratch mounts.
+VOLUME /tmp
+
+EXPOSE 22
+CMD ["/usr/sbin/sshd", "-D"]
diff --git a/xenial-amd64-tcwg-build/build.sh b/xenial-amd64-tcwg-build/build.sh
new file mode 100755
index 0000000..738c4cd
--- /dev/null
+++ b/xenial-amd64-tcwg-build/build.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+set -e
+
+trap cleanup_exit INT TERM EXIT
+
+cleanup_exit()
+{
+ rm -rf tcwg-buildslave
+}
+
+export LANG=C
+distro=$(basename ${PWD} | cut -f1 -d '-')
+arch=$(basename ${PWD} | cut -f2 -d '-')
+name=$(basename ${PWD} | cut -f3- -d '-')
+
+rsync -a ../tcwg-buildslave/ ./tcwg-buildslave/
+
+docker build --pull --tag=linaro/ci-${arch}-${name}-ubuntu:${distro} .
diff --git a/xenial-amd64/Dockerfile b/xenial-amd64/Dockerfile
index 0d3b92a..8ccc45e 100644
--- a/xenial-amd64/Dockerfile
+++ b/xenial-amd64/Dockerfile
@@ -43,7 +43,6 @@ RUN dpkg --add-architecture i386 \
lcov \
less \
lib32ncurses5 \
- libguestfs-tools \
libstdc++6:i386 \
libtool \
libvirt-bin \
@@ -55,7 +54,7 @@ RUN dpkg --add-architecture i386 \
openssh-server \
python-mako \
python-networkx \
- python-pycurl \
+ python-requests \
qemu-user-static \
rsync \
scons \
@@ -69,7 +68,6 @@ RUN dpkg --add-architecture i386 \
zip \
zlib1g-dev:i386 \
zsync \
-
&& wget -q \
http://de.archive.ubuntu.com/ubuntu/pool/main/m/make-dfsg/make_3.81-8.2ubuntu3_amd64.deb \
&& dpkg -i --force-all *.deb \
@@ -86,7 +84,6 @@ RUN useradd -m -G plugdev buildslave \
&& echo 'buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins \
&& chmod 0440 /etc/sudoers.d/jenkins \
&& mkdir -p /var/run/sshd /home/buildslave/bin \
- && echo 'uri_default = "qemu+tcp://172.17.0.1/system"' >> /etc/libvirt/libvirt.conf \
&& curl https://raw.githubusercontent.com/google/styleguide/gh-pages/cpplint/cpplint.py > /home/buildslave/bin/cpplint.py \
&& curl https://storage.googleapis.com/git-repo-downloads/repo > /home/buildslave/bin/repo \
&& chmod a+x /home/buildslave/bin/* \
diff --git a/xenial-arm64-tcwg-build/Dockerfile b/xenial-arm64-tcwg-build/Dockerfile
new file mode 100644
index 0000000..7f0940b
--- /dev/null
+++ b/xenial-arm64-tcwg-build/Dockerfile
@@ -0,0 +1,99 @@
+FROM linaro/base-arm64-ubuntu:xenial
+
+COPY tcwg-buildslave/.ssh /etc/skel/.ssh
+
+RUN echo 'deb http://ports.ubuntu.com/ubuntu-ports xenial main universe' > /etc/apt/sources.list \
+ && apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y devscripts \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ alien \
+ autoconf \
+ autogen \
+ automake \
+ bc \
+ bison \
+ build-essential \
+ ccache \
+ ccrypt \
+ byacc \
+ debhelper \
+ dejagnu \
+ dh-autoreconf \
+ dh-translations \
+ distro-info-data \
+ emacs \
+ fakeroot \
+ flex \
+ gawk \
+ gdb \
+ gdbserver \
+ git \
+ libexpat1-dev \
+ liblzma-dev \
+ libncurses5-dev \
+ libpython2.7-dev \
+ libreadline-dev \
+ libssl-dev \
+ libtcnative-1 \
+ libtool \
+ lzop \
+ make \
+ net-tools \
+ netcat \
+ openjdk-8-jdk \
+ openssh-server \
+ python-dev \
+ pxz \
+ qemu-user \
+ rsync \
+ sudo \
+ texinfo \
+ texlive-fonts-recommended \
+ texlive-latex-recommended \
+ time \
+ vim \
+ wget \
+ xz-utils \
+ zip \
+ zlib1g-dev \
+ && apt-get clean \
+ && rm -rf \
+ /var/lib/apt/lists/* \
+ /tmp/* \
+ /var/tmp/*
+
+RUN chmod 0700 /etc/skel/.ssh \
+ && groupadd -g 9000 tcwg-infra \
+ && useradd -m -g tcwg-infra -u 11827 tcwg-buildslave \
+ && rm -rf /etc/skel/.ssh \
+ && echo 'tcwg-buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins \
+ && chmod 440 /etc/sudoers.d/jenkins \
+ && install -D -p -m0755 /usr/share/doc/git/contrib/workdir/git-new-workdir /usr/local/bin/git-new-workdir \
+ && sed -i -e 's:^session *required *pam_loginuid.so:# session required pam_loginuid.so:' /etc/pam.d/sshd \
+ && mkdir -p /var/run/sshd \
+ && mkdir -p /home/tcwg-buildslave/workspace \
+ && chown tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/workspace
+
+# Unfortunately, VOLUME doesn't support bind-mounts for portability reasons.
+# Therefore, the bind-mounts for the following paths are configured in
+# the ci.linaro.org's docker plugin.
+# Sources caches (read-only):
+# /home/tcwg-buildslave/snapshots-ref:/home/tcwg-buildslave/snapshots-ref:ro
+# Jenkins .jar cache (read-write):
+# /home/tcwg-buildslave/.jenkins:/home/tcwg-buildslave/.jenkins:rw
+
+# We write most of the data inside workspace, so make it a scratch mount.
+# Note that bind-mounting workspace from host will make jobs with parallel
+# builds fail.
+VOLUME /home/tcwg-buildslave/workspace
+
+# We use ssh multiplexing, which creates sockets in /tmp. Overlayfs,
+# which docker is using can't host sockets, so we use a scratch mount
+# for /tmp. This requires that we add --rm option to "docker run"
+# invocations (e.g., mark "Remove volumes" checkbox in docker plugin) to
+# cleanup host directories used for the scratch mounts.
+VOLUME /tmp
+
+EXPOSE 22
+CMD ["/usr/sbin/sshd", "-D"]
diff --git a/xenial-arm64-tcwg-build/build.sh b/xenial-arm64-tcwg-build/build.sh
new file mode 100755
index 0000000..738c4cd
--- /dev/null
+++ b/xenial-arm64-tcwg-build/build.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+set -e
+
+trap cleanup_exit INT TERM EXIT
+
+cleanup_exit()
+{
+ rm -rf tcwg-buildslave
+}
+
+export LANG=C
+distro=$(basename ${PWD} | cut -f1 -d '-')
+arch=$(basename ${PWD} | cut -f2 -d '-')
+name=$(basename ${PWD} | cut -f3- -d '-')
+
+rsync -a ../tcwg-buildslave/ ./tcwg-buildslave/
+
+docker build --pull --tag=linaro/ci-${arch}-${name}-ubuntu:${distro} .
diff --git a/xenial-arm64-tcwg-test/Dockerfile b/xenial-arm64-tcwg-test/Dockerfile
new file mode 100644
index 0000000..f626dec
--- /dev/null
+++ b/xenial-arm64-tcwg-test/Dockerfile
@@ -0,0 +1,53 @@
+FROM linaro/base-arm64-ubuntu:xenial
+
+COPY tcwg-buildslave/.ssh /etc/skel/.ssh
+COPY tcwg-buildslave/.ssh /root/.ssh
+
+RUN echo 'deb http://ports.ubuntu.com/ubuntu-ports xenial main universe' > /etc/apt/sources.list \
+ && apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ libtcnative-1 \
+ openjdk-8-jdk \
+ openssh-server \
+ rsync \
+ sudo \
+ wget \
+ xz-utils \
+ && apt-get clean \
+ && rm -rf \
+ /var/lib/apt/lists/* \
+ /tmp/* \
+ /var/tmp/*
+
+RUN chmod 0700 /etc/skel/.ssh \
+ && groupadd -g 9000 tcwg-infra \
+ && useradd -m -g tcwg-infra -u 11827 tcwg-buildslave \
+ && rm -rf /etc/skel/.ssh \
+ && echo 'tcwg-buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins \
+ && chmod 440 /etc/sudoers.d/jenkins \
+ && sed -i -e 's:^session *required *pam_loginuid.so:# session required pam_loginuid.so:' /etc/pam.d/sshd \
+ && mkdir -p /var/run/sshd \
+ && sed -i \
+ -e "/.*MaxStartups.*/d" \
+ -e "/.*MaxSesssions.*/d" \
+ -e "/.*PermitRootLogin.*/d" /etc/ssh/sshd_config \
+ && echo "MaxStartups 256" >> /etc/ssh/sshd_config \
+ && echo "MaxSessions 256" >> /etc/ssh/sshd_config \
+ && echo "PermitRootLogin without-password" >> /etc/ssh/sshd_config
+
+# Unfortunately, VOLUME doesn't support bind-mounts for portability reasons.
+# Therefore, the bind-mounts for the following paths are configured in
+# the ci.linaro.org's docker plugin.
+# Jenkins .jar cache (read-write):
+# /home/tcwg-buildslave/.jenkins:/home/tcwg-buildslave/.jenkins:rw
+
+# 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"]
diff --git a/xenial-arm64-tcwg-test/build.sh b/xenial-arm64-tcwg-test/build.sh
new file mode 100755
index 0000000..738c4cd
--- /dev/null
+++ b/xenial-arm64-tcwg-test/build.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+set -e
+
+trap cleanup_exit INT TERM EXIT
+
+cleanup_exit()
+{
+ rm -rf tcwg-buildslave
+}
+
+export LANG=C
+distro=$(basename ${PWD} | cut -f1 -d '-')
+arch=$(basename ${PWD} | cut -f2 -d '-')
+name=$(basename ${PWD} | cut -f3- -d '-')
+
+rsync -a ../tcwg-buildslave/ ./tcwg-buildslave/
+
+docker build --pull --tag=linaro/ci-${arch}-${name}-ubuntu:${distro} .
diff --git a/xenial-arm64/Dockerfile b/xenial-arm64/Dockerfile
index 2c460a8..58ad1d3 100644
--- a/xenial-arm64/Dockerfile
+++ b/xenial-arm64/Dockerfile
@@ -1,4 +1,4 @@
-FROM quay.io/fathi_boudra/ubuntu:xenial-arm64
+FROM linaro/base-arm64-ubuntu:xenial
COPY *.list *.key /etc/apt/sources.list.d/
@@ -32,16 +32,18 @@ RUN echo 'deb http://ports.ubuntu.com/ubuntu-ports xenial main universe' > /etc/
kpartx \
lava-tool \
libtool \
+ libvirt-bin \
linaro-image-tools \
lsb-release \
openjdk-8-jdk \
openssh-server \
- python-pycurl \
+ python-requests \
qemu-user-static \
sudo \
time \
u-boot-tools \
uuid-dev \
+ virtinst \
wget \
zip \
zsync \
@@ -57,5 +59,7 @@ RUN useradd -m buildslave \
&& chmod 440 /etc/sudoers.d/jenkins \
&& mkdir -p /var/run/sshd
+VOLUME ["/var/lib/libvirt"]
+
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
diff --git a/xenial-arm64/build.sh b/xenial-arm64/build.sh
index 34f8f99..2af3727 100755
--- a/xenial-arm64/build.sh
+++ b/xenial-arm64/build.sh
@@ -12,6 +12,7 @@ cleanup_exit()
export LANG=C
DISTRIBUTION=$(basename ${PWD} | cut -f1 -d '-')
+ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-')
cp -a ../linaro-*.list ../linaro-*.key .
sed -e "s|@DISTRIBUTION@|${DISTRIBUTION}|" -i *.list
@@ -19,4 +20,4 @@ sed -e "s|@DISTRIBUTION@|${DISTRIBUTION}|" -i *.list
# fixup - get rid of PPA usage
rm -f linaro-*ppa.*
-docker build --pull --tag=linaro/$(basename ${PWD}) .
+docker build --pull --tag=linaro/ci-${ARCHITECTURE}-ubuntu:${DISTRIBUTION} .
diff --git a/xenial-armhf-tcwg-build/Dockerfile b/xenial-armhf-tcwg-build/Dockerfile
new file mode 100644
index 0000000..3ef9156
--- /dev/null
+++ b/xenial-armhf-tcwg-build/Dockerfile
@@ -0,0 +1,99 @@
+FROM linaro/base-armhf-ubuntu:xenial
+
+COPY tcwg-buildslave/.ssh /etc/skel/.ssh
+
+RUN echo 'deb http://ports.ubuntu.com/ubuntu-ports xenial main universe' > /etc/apt/sources.list \
+ && apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y devscripts \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ alien \
+ autoconf \
+ autogen \
+ automake \
+ bc \
+ bison \
+ build-essential \
+ ccache \
+ ccrypt \
+ byacc \
+ debhelper \
+ dejagnu \
+ dh-autoreconf \
+ dh-translations \
+ distro-info-data \
+ emacs \
+ fakeroot \
+ flex \
+ gawk \
+ gdb \
+ gdbserver \
+ git \
+ libexpat1-dev \
+ liblzma-dev \
+ libncurses5-dev \
+ libpython2.7-dev \
+ libreadline-dev \
+ libssl-dev \
+ libtcnative-1 \
+ libtool \
+ lzop \
+ make \
+ net-tools \
+ netcat \
+ openjdk-8-jdk \
+ openssh-server \
+ python-dev \
+ pxz \
+ qemu-user \
+ rsync \
+ sudo \
+ texinfo \
+ texlive-fonts-recommended \
+ texlive-latex-recommended \
+ time \
+ vim \
+ wget \
+ xz-utils \
+ zip \
+ zlib1g-dev \
+ && apt-get clean \
+ && rm -rf \
+ /var/lib/apt/lists/* \
+ /tmp/* \
+ /var/tmp/*
+
+RUN chmod 0700 /etc/skel/.ssh \
+ && groupadd -g 9000 tcwg-infra \
+ && useradd -m -g tcwg-infra -u 11827 tcwg-buildslave \
+ && rm -rf /etc/skel/.ssh \
+ && echo 'tcwg-buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins \
+ && chmod 440 /etc/sudoers.d/jenkins \
+ && install -D -p -m0755 /usr/share/doc/git/contrib/workdir/git-new-workdir /usr/local/bin/git-new-workdir \
+ && sed -i -e 's:^session *required *pam_loginuid.so:# session required pam_loginuid.so:' /etc/pam.d/sshd \
+ && mkdir -p /var/run/sshd \
+ && mkdir -p /home/tcwg-buildslave/workspace \
+ && chown tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/workspace
+
+# Unfortunately, VOLUME doesn't support bind-mounts for portability reasons.
+# Therefore, the bind-mounts for the following paths are configured in
+# the ci.linaro.org's docker plugin.
+# Sources caches (read-only):
+# /home/tcwg-buildslave/snapshots-ref:/home/tcwg-buildslave/snapshots-ref:ro
+# Jenkins .jar cache (read-write):
+# /home/tcwg-buildslave/.jenkins:/home/tcwg-buildslave/.jenkins:rw
+
+# We write most of the data inside workspace, so make it a scratch mount.
+# Note that bind-mounting workspace from host will make jobs with parallel
+# builds fail.
+VOLUME /home/tcwg-buildslave/workspace
+
+# We use ssh multiplexing, which creates sockets in /tmp. Overlayfs,
+# which docker is using can't host sockets, so we use a scratch mount
+# for /tmp. This requires that we add --rm option to "docker run"
+# invocations (e.g., mark "Remove volumes" checkbox in docker plugin) to
+# cleanup host directories used for the scratch mounts.
+VOLUME /tmp
+
+EXPOSE 22
+CMD ["linux32", "/usr/sbin/sshd", "-D"]
diff --git a/xenial-armhf-tcwg-build/build.sh b/xenial-armhf-tcwg-build/build.sh
new file mode 100755
index 0000000..738c4cd
--- /dev/null
+++ b/xenial-armhf-tcwg-build/build.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+set -e
+
+trap cleanup_exit INT TERM EXIT
+
+cleanup_exit()
+{
+ rm -rf tcwg-buildslave
+}
+
+export LANG=C
+distro=$(basename ${PWD} | cut -f1 -d '-')
+arch=$(basename ${PWD} | cut -f2 -d '-')
+name=$(basename ${PWD} | cut -f3- -d '-')
+
+rsync -a ../tcwg-buildslave/ ./tcwg-buildslave/
+
+docker build --pull --tag=linaro/ci-${arch}-${name}-ubuntu:${distro} .
diff --git a/xenial-armhf-tcwg-test/Dockerfile b/xenial-armhf-tcwg-test/Dockerfile
new file mode 100644
index 0000000..bb3f0e9
--- /dev/null
+++ b/xenial-armhf-tcwg-test/Dockerfile
@@ -0,0 +1,53 @@
+FROM linaro/base-armhf-ubuntu:xenial
+
+COPY tcwg-buildslave/.ssh /etc/skel/.ssh
+COPY tcwg-buildslave/.ssh /root/.ssh
+
+RUN echo 'deb http://ports.ubuntu.com/ubuntu-ports xenial main universe' > /etc/apt/sources.list \
+ && apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ libtcnative-1 \
+ openjdk-8-jdk \
+ openssh-server \
+ rsync \
+ sudo \
+ wget \
+ xz-utils \
+ && apt-get clean \
+ && rm -rf \
+ /var/lib/apt/lists/* \
+ /tmp/* \
+ /var/tmp/*
+
+RUN chmod 0700 /etc/skel/.ssh \
+ && groupadd -g 9000 tcwg-infra \
+ && useradd -m -g tcwg-infra -u 11827 tcwg-buildslave \
+ && rm -rf /etc/skel/.ssh \
+ && echo 'tcwg-buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins \
+ && chmod 440 /etc/sudoers.d/jenkins \
+ && sed -i -e 's:^session *required *pam_loginuid.so:# session required pam_loginuid.so:' /etc/pam.d/sshd \
+ && mkdir -p /var/run/sshd \
+ && sed -i \
+ -e "/.*MaxStartups.*/d" \
+ -e "/.*MaxSesssions.*/d" \
+ -e "/.*PermitRootLogin.*/d" /etc/ssh/sshd_config \
+ && echo "MaxStartups 256" >> /etc/ssh/sshd_config \
+ && echo "MaxSessions 256" >> /etc/ssh/sshd_config \
+ && echo "PermitRootLogin without-password" >> /etc/ssh/sshd_config
+
+# Unfortunately, VOLUME doesn't support bind-mounts for portability reasons.
+# Therefore, the bind-mounts for the following paths are configured in
+# the ci.linaro.org's docker plugin.
+# Jenkins .jar cache (read-write):
+# /home/tcwg-buildslave/.jenkins:/home/tcwg-buildslave/.jenkins:rw
+
+# 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 ["linux32", "/usr/sbin/sshd", "-D"]
diff --git a/xenial-armhf-tcwg-test/build.sh b/xenial-armhf-tcwg-test/build.sh
new file mode 100755
index 0000000..738c4cd
--- /dev/null
+++ b/xenial-armhf-tcwg-test/build.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+set -e
+
+trap cleanup_exit INT TERM EXIT
+
+cleanup_exit()
+{
+ rm -rf tcwg-buildslave
+}
+
+export LANG=C
+distro=$(basename ${PWD} | cut -f1 -d '-')
+arch=$(basename ${PWD} | cut -f2 -d '-')
+name=$(basename ${PWD} | cut -f3- -d '-')
+
+rsync -a ../tcwg-buildslave/ ./tcwg-buildslave/
+
+docker build --pull --tag=linaro/ci-${arch}-${name}-ubuntu:${distro} .
diff --git a/xenial-armhf/Dockerfile b/xenial-armhf/Dockerfile
index 5fbe034..0d96cde 100644
--- a/xenial-armhf/Dockerfile
+++ b/xenial-armhf/Dockerfile
@@ -1,4 +1,4 @@
-FROM quay.io/fathi_boudra/ubuntu:xenial-armhf
+FROM linaro/base-armhf-ubuntu:xenial
COPY *.list *.key /etc/apt/sources.list.d/
@@ -36,7 +36,7 @@ RUN echo 'deb http://ports.ubuntu.com/ubuntu-ports xenial main universe' > /etc/
lsb-release \
openjdk-8-jdk \
openssh-server \
- python-pycurl \
+ python-requests \
qemu-user-static \
sudo \
time \
diff --git a/xenial-armhf/build.sh b/xenial-armhf/build.sh
index 34f8f99..2af3727 100755
--- a/xenial-armhf/build.sh
+++ b/xenial-armhf/build.sh
@@ -12,6 +12,7 @@ cleanup_exit()
export LANG=C
DISTRIBUTION=$(basename ${PWD} | cut -f1 -d '-')
+ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-')
cp -a ../linaro-*.list ../linaro-*.key .
sed -e "s|@DISTRIBUTION@|${DISTRIBUTION}|" -i *.list
@@ -19,4 +20,4 @@ sed -e "s|@DISTRIBUTION@|${DISTRIBUTION}|" -i *.list
# fixup - get rid of PPA usage
rm -f linaro-*ppa.*
-docker build --pull --tag=linaro/$(basename ${PWD}) .
+docker build --pull --tag=linaro/ci-${ARCHITECTURE}-ubuntu:${DISTRIBUTION} .
diff --git a/xenial-i386-tcwg-build/Dockerfile b/xenial-i386-tcwg-build/Dockerfile
new file mode 100644
index 0000000..5d39465
--- /dev/null
+++ b/xenial-i386-tcwg-build/Dockerfile
@@ -0,0 +1,104 @@
+FROM linaro/base-i386-ubuntu:xenial
+
+COPY tcwg-buildslave/.ssh /etc/skel/.ssh
+
+RUN echo 'deb http://archive.ubuntu.com/ubuntu xenial main universe' > /etc/apt/sources.list \
+ && apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \
+ && dpkg-divert --local --rename --add /sbin/initctl \
+ && ln -s /bin/true /sbin/initctl \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y devscripts \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ alien \
+ autoconf \
+ autogen \
+ automake \
+ bc \
+ bison \
+ build-essential \
+ ccache \
+ ccrypt \
+ byacc \
+ debhelper \
+ dejagnu \
+ dh-autoreconf \
+ dh-translations \
+ distro-info-data \
+ emacs \
+ fakeroot \
+ flex \
+ g++-multilib \
+ gawk \
+ gdb \
+ gdbserver \
+ git \
+ libexpat1-dev \
+ liblzma-dev \
+ libncurses5-dev \
+ libpython2.7-dev \
+ libreadline-dev \
+ libssl-dev \
+ libtcnative-1 \
+ libtool \
+ lzop \
+ make \
+ mingw-w64 \
+ net-tools \
+ netcat \
+ openjdk-8-jdk \
+ openssh-server \
+ python-dev \
+ pxz \
+ qemu-user \
+ rsync \
+ sudo \
+ texinfo \
+ texlive-fonts-recommended \
+ texlive-latex-recommended \
+ time \
+ vim \
+ wget \
+ wine \
+ xz-utils \
+ zip \
+ zlib1g-dev \
+ && apt-get clean \
+ && rm -rf \
+ /var/lib/apt/lists/* \
+ /tmp/* \
+ /var/tmp/*
+
+RUN chmod 0700 /etc/skel/.ssh \
+ && groupadd -g 9000 tcwg-infra \
+ && useradd -m -g tcwg-infra -u 11827 tcwg-buildslave \
+ && rm -rf /etc/skel/.ssh \
+ && echo 'tcwg-buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins \
+ && chmod 440 /etc/sudoers.d/jenkins \
+ && install -D -p -m0755 /usr/share/doc/git/contrib/workdir/git-new-workdir /usr/local/bin/git-new-workdir \
+ && sed -i -e 's:^session *required *pam_loginuid.so:# session required pam_loginuid.so:' /etc/pam.d/sshd \
+ && mkdir -p /var/run/sshd \
+ && mkdir -p /home/tcwg-buildslave/workspace \
+ && chown tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/workspace
+
+# Unfortunately, VOLUME doesn't support bind-mounts for portability reasons.
+# Therefore, the bind-mounts for the following paths are configured in
+# the ci.linaro.org's docker plugin.
+# Sources caches (read-only):
+# /home/tcwg-buildslave/snapshots-ref:/home/tcwg-buildslave/snapshots-ref:ro
+# Jenkins .jar cache (read-write):
+# /home/tcwg-buildslave/.jenkins:/home/tcwg-buildslave/.jenkins:rw
+
+# We write most of the data inside workspace, so make it a scratch mount.
+# Note that bind-mounting workspace from host will make jobs with parallel
+# builds fail.
+VOLUME /home/tcwg-buildslave/workspace
+
+# We use ssh multiplexing, which creates sockets in /tmp. Overlayfs,
+# which docker is using can't host sockets, so we use a scratch mount
+# for /tmp. This requires that we add --rm option to "docker run"
+# invocations (e.g., mark "Remove volumes" checkbox in docker plugin) to
+# cleanup host directories used for the scratch mounts.
+VOLUME /tmp
+
+EXPOSE 22
+CMD ["linux32", "/usr/sbin/sshd", "-D"]
diff --git a/xenial-i386-tcwg-build/build.sh b/xenial-i386-tcwg-build/build.sh
new file mode 100755
index 0000000..738c4cd
--- /dev/null
+++ b/xenial-i386-tcwg-build/build.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+set -e
+
+trap cleanup_exit INT TERM EXIT
+
+cleanup_exit()
+{
+ rm -rf tcwg-buildslave
+}
+
+export LANG=C
+distro=$(basename ${PWD} | cut -f1 -d '-')
+arch=$(basename ${PWD} | cut -f2 -d '-')
+name=$(basename ${PWD} | cut -f3- -d '-')
+
+rsync -a ../tcwg-buildslave/ ./tcwg-buildslave/
+
+docker build --pull --tag=linaro/ci-${arch}-${name}-ubuntu:${distro} .