diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2017-02-10 08:29:00 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2017-02-10 08:29:00 +0000 |
commit | 143173c7cbcc32a6b5016777110c1e0af3d25a41 (patch) | |
tree | acbac734787245bbe1ecba9700b8a5a9f301cf97 | |
parent | 41db5a54c04457e27789853dceccf94ef57a6ede (diff) | |
parent | f823904ad74692e0307b91e49d82e1d69ad8b24a (diff) |
Merge remote-tracking branch 'origin/master' into people
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} . |