diff options
129 files changed, 1806 insertions, 828 deletions
@@ -9,6 +9,38 @@ Contributing If you want to contribute changes, you can send Gerrit merge requests at https://review.linaro.org/#/q/project:ci/dockerfiles +TCWG images +----------- + +Docker images used by the TCWG team are generated slightly differently +from the other ones. The source files describing the images contents +are stored under tcwg-base, in nested directories where nesting shows +images dependencies. For instance, tcwg-build type of images depend on +tcwg-base. + +If you want to (re)build locally a TCWG image after updating its +Dockerfile.in or its build.sh, go to the directory whose name fully +describes the image. For instance +xenial-arm64-tcwg-base/xenial-arm64-tcwg-build, and run ./build.sh +from there to rebuild the xenial-arm64-tcwg-build image. + +TCWG's Dockerfiles in DISTRO-ARCH-tcwg-base/* directories are generated +from Dockerfile.in templates in respective tcwg-base/* directories. Run +tcwg-base/generate-dockerfiles.sh (without parameters) whenever you +change any of Dockerfile.in templates -- this will update all affected +Dockerfiles. + +Once Dockerfiles are regenerated, you should test your change locally +by building the image. For this go to image's directory and run +"./build.sh". "./build.sh" script uses name of current directory to +determine distro version and other parameters, so it's important +to run "./build.sh" from its own directory. + +Note that "./build.sh" will first re-build all images that current image +is derived from. E.g., *-tcwg-dev image will first re-build respective +*-tcwg-base image -- this can take a lot of time for the first run, +but, once cache is populated, re-builds are very quick. + Maintainer(s) ------------- diff --git a/bionic-amd64-tcwg-base/Dockerfile b/bionic-amd64-tcwg-base/Dockerfile new file mode 100644 index 00000000..1e639a57 --- /dev/null +++ b/bionic-amd64-tcwg-base/Dockerfile @@ -0,0 +1,149 @@ +# Auto generated from tcwg-base/Dockerfile.in. Do not edit. +FROM ubuntu:bionic + +# Unminimize Ubuntu Bionic to install contrib files of git (after package +# update, otherwise unminimize's "apt upgrade" might fail). +RUN true \ + && apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \ + && echo y | unminimize \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y devscripts \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + alien \ + autoconf \ + autogen \ + automake \ + bc \ + bind9-host \ + bison \ + binutils-aarch64-linux-gnu \ + binutils-arm-linux-gnueabihf \ + bsd-mailx \ + build-essential \ + byacc \ + ccache \ + ccrypt \ + chrpath \ + clang \ + cmake \ + debhelper \ + dejagnu \ + dh-autoreconf \ + dh-translations \ + distro-info-data \ + emacs \ + fakeroot \ + flex \ + gawk \ + gdb \ + gdbserver \ + git \ + git-review \ + groff \ + less \ + libexpat1-dev \ + libglib2.0-dev \ + libgmp-dev \ + liblzma-dev \ + libmpc-dev \ + libmpfr-dev \ + libncurses5-dev \ + libpixman-1-dev \ + libpython2.7-dev \ + libreadline-dev \ + libssl-dev \ + libtcnative-1 \ + libtool \ + linux-tools-generic \ + linux-tools-4.18.0-13-generic \ + lzop \ + make \ + mingw-w64 \ + net-tools \ + netcat \ + nfs-kernel-server \ + ninja-build \ + openjdk-8-jdk \ + openssh-server \ + pkg-config \ + python-dev \ + postfix \ + psmisc \ + pxz \ + qemu-system-arm \ + qemu-user \ + rsync \ + subversion \ + sudo \ + tclsh \ + texinfo \ + texlive-fonts-recommended \ + texlive-latex-recommended \ + time \ + unifdef \ + valgrind \ + vim \ + virtualenv \ + wget \ + xz-utils \ + zip \ + zlib1g-dev \ + && apt-get clean \ + && rm -rf \ + /var/lib/apt/lists/* \ + /tmp/* \ + /var/tmp/* + +RUN install -D -p -m0755 /usr/share/doc/git/contrib/workdir/git-new-workdir /usr/local/bin/git-new-workdir \ + && sed -i -e 's:^session *required *pam_loginuid.so:# session required pam_loginuid.so:' /etc/pam.d/sshd \ + && mkdir -p /var/run/sshd \ + && sed -i \ + -e "/.*MaxStartups.*/d" \ + -e "/.*MaxSessions.*/d" /etc/ssh/sshd_config \ + && echo "MaxStartups 256" >> /etc/ssh/sshd_config \ + && echo "MaxSessions 256" >> /etc/ssh/sshd_config + +COPY postfix-main.cf.in /etc/postfix/main.cf +COPY postfix-sasl_password.in /etc/postfix/sasl_password + +RUN chown root:root /etc/postfix/sasl_password \ + && chmod 600 /etc/postfix/sasl_password + +# Add ninja with support for memory-threshold job limitation. +# It's installed with ".bin" extension and containers then +# make wrappers around it in /usr/local/bin/ninja as needed. +RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \ + && cd ninja \ + && ./configure.py --bootstrap && ./ninja all && ./ninja_test \ + && mv ninja /usr/local/bin/ninja.bin \ + && cd .. \ + && rm -rf ninja + +RUN mkdir /tmp/docker-install-qemu.$$ \ + && cd /tmp/docker-install-qemu.$$ \ + && qemu_ver=3.1.0 && wget --progress=dot:giga http://download.qemu-project.org/qemu-${qemu_ver}.tar.xz \ + && tar xf qemu-${qemu_ver}.tar.xz \ + && mkdir build && cd build \ + && ../qemu-${qemu_ver}/configure --prefix=/usr/local --target-list=armeb-linux-user \ + && make all install -j $(nproc --all) \ + && cd && rm -rf /tmp/docker-install-qemu.$$ + + +COPY home-data/ /home-data/ +COPY new-user.sh /usr/local/bin/ + +RUN \ + while read line; do \ + new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \ + done </home-data/group + +# We use ssh multiplexing, which creates sockets in /tmp. Overlayfs, +# which docker is using, can't host sockets, so we use a scratch mount +# for /tmp. This requires that we add --rm option to "docker run" +# invocations (e.g., mark "Remove volumes" checkbox in docker plugin) to +# cleanup host directories used for the scratch mounts. +VOLUME /tmp + +EXPOSE 22 +CMD ["/usr/sbin/sshd", "-D"] +# checksum: af1326e7c8496d13d3b9983562697055 diff --git a/bionic-amd64-tcwg-base/bionic-amd64-tcwg-build/Dockerfile b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-build/Dockerfile new file mode 100644 index 00000000..2805cc4b --- /dev/null +++ b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-build/Dockerfile @@ -0,0 +1,24 @@ +# Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit. +FROM linaro/ci-amd64-tcwg-base-ubuntu:bionic + +RUN while read line; do \ + if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \ + continue; \ + fi; \ + new-user.sh --passwd "$line"; \ + user=$(echo "$line" | cut -d: -f 1); \ + sudo -i -u $user ccache --print-config; \ + done </home-data/passwd + +# Install wine. On amd64 arch we need to enable i386, otherwise wine +# won't meet dependencies (this is the case at least for trusty and xenial). +RUN \ + apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + wine-stable \ + && apt-get clean \ + && rm -rf \ + /var/lib/apt/lists/* \ + /tmp/* \ + /var/tmp/* +# checksum: edf5a5242fe46cab578b914fe031b6d0 diff --git a/bionic-amd64-tcwg-base/bionic-amd64-tcwg-build/build.sh b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-build/build.sh new file mode 120000 index 00000000..50162e02 --- /dev/null +++ b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-build/build.sh @@ -0,0 +1 @@ +../../tcwg-base/tcwg-build/build.sh
\ No newline at end of file diff --git a/bionic-amd64-tcwg-base/bionic-amd64-tcwg-build/gerrit-branches b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-build/gerrit-branches new file mode 120000 index 00000000..628350a5 --- /dev/null +++ b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-build/gerrit-branches @@ -0,0 +1 @@ +../../tcwg-base/tcwg-build/gerrit-branches
\ No newline at end of file diff --git a/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/Dockerfile b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/Dockerfile new file mode 100644 index 00000000..bc19c8c3 --- /dev/null +++ b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/Dockerfile @@ -0,0 +1,34 @@ +# Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit. +FROM linaro/ci-amd64-tcwg-base-ubuntu:bionic + +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y \ + apt-file \ + git-gui \ + git-svn \ + gnat-5 \ + less \ + locales \ + mc \ + screen \ + software-properties-common \ + stgit \ + tmux \ + && apt-get clean \ + && rm -rf \ + /var/lib/apt/lists/* \ + /tmp/* \ + /var/tmp/* + +RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ + && apt-file update + +# Create directories required for X11. +RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \ + && chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix + +COPY run.sh start.sh / + +ENTRYPOINT ["/run.sh"] +CMD ["start.sh"] +# checksum: e0acd069d02b7a2424ac723f3a7bf358 diff --git a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-dev/xenial-amd64-tcwg-x2go/Dockerfile b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/Dockerfile index a7909d59..631ee616 100644 --- a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-dev/xenial-amd64-tcwg-x2go/Dockerfile +++ b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/Dockerfile @@ -1,5 +1,5 @@ # Auto generated from tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in. Do not edit. -FROM linaro/ci-amd64-tcwg-dev-ubuntu:xenial +FROM linaro/ci-amd64-tcwg-dev-ubuntu:bionic COPY start.sh . @@ -12,13 +12,10 @@ RUN apt-get update \ /tmp/* \ /var/tmp/* -RUN add-apt-repository ppa:x2go/stable \ - && apt-get update \ +RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ duplicity \ mate-desktop-environment \ - x2godesktopsharing \ - x2gomatebindings \ x2goserver \ x2goserver-xsession \ && apt-get clean \ @@ -35,4 +32,4 @@ RUN apt-get update \ /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* -# checksum: 3e1c139ac1715b1096130c6e90c55fc9 +# checksum: a30214ab5fb77eefe535dc3b2edc9d44 diff --git a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-dev/xenial-amd64-tcwg-x2go/build.sh b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/build.sh index 6e52e4e6..6e52e4e6 120000 --- a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-dev/xenial-amd64-tcwg-x2go/build.sh +++ b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/build.sh diff --git a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-dev/xenial-amd64-tcwg-x2go/gerrit-branches b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/gerrit-branches index 748350c7..748350c7 120000 --- a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-dev/xenial-amd64-tcwg-x2go/gerrit-branches +++ b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/bionic-amd64-tcwg-x2go/gerrit-branches diff --git a/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/build.sh b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/build.sh new file mode 120000 index 00000000..e8571a37 --- /dev/null +++ b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/build.sh @@ -0,0 +1 @@ +../../tcwg-base/tcwg-dev/build.sh
\ No newline at end of file diff --git a/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/gerrit-branches b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/gerrit-branches new file mode 120000 index 00000000..cd148228 --- /dev/null +++ b/bionic-amd64-tcwg-base/bionic-amd64-tcwg-dev/gerrit-branches @@ -0,0 +1 @@ +../../tcwg-base/tcwg-dev/gerrit-branches
\ No newline at end of file diff --git a/bionic-amd64-tcwg-base/build.sh b/bionic-amd64-tcwg-base/build.sh new file mode 120000 index 00000000..67d8934e --- /dev/null +++ b/bionic-amd64-tcwg-base/build.sh @@ -0,0 +1 @@ +../tcwg-base/build.sh
\ No newline at end of file diff --git a/bionic-amd64-tcwg-base/gerrit-branches b/bionic-amd64-tcwg-base/gerrit-branches new file mode 120000 index 00000000..3cbaca1d --- /dev/null +++ b/bionic-amd64-tcwg-base/gerrit-branches @@ -0,0 +1 @@ +../tcwg-base/gerrit-branches
\ No newline at end of file diff --git a/bionic-arm64-tcwg-base/Dockerfile b/bionic-arm64-tcwg-base/Dockerfile new file mode 100644 index 00000000..3c995343 --- /dev/null +++ b/bionic-arm64-tcwg-base/Dockerfile @@ -0,0 +1,134 @@ +# Auto generated from tcwg-base/Dockerfile.in. Do not edit. +FROM ubuntu:bionic + +# Unminimize Ubuntu Bionic to install contrib files of git (after package +# update, otherwise unminimize's "apt upgrade" might fail). +RUN true \ + && apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \ + && echo y | unminimize \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y devscripts \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + alien \ + autoconf \ + autogen \ + automake \ + bc \ + bind9-host \ + bison \ + bsd-mailx \ + build-essential \ + byacc \ + ccache \ + ccrypt \ + chrpath \ + clang \ + cmake \ + debhelper \ + dejagnu \ + dh-autoreconf \ + dh-translations \ + distro-info-data \ + emacs \ + fakeroot \ + flex \ + gawk \ + gdb \ + gdbserver \ + git \ + git-review \ + groff \ + less \ + libexpat1-dev \ + libgmp-dev \ + liblzma-dev \ + libmpc-dev \ + libmpfr-dev \ + libncurses5-dev \ + libpython2.7-dev \ + libreadline-dev \ + libssl-dev \ + libtcnative-1 \ + libtool \ + linux-tools-generic \ + linux-tools-4.18.0-13-generic \ + lzop \ + make \ + net-tools \ + netcat \ + nfs-kernel-server \ + ninja-build \ + openjdk-8-jdk \ + openssh-server \ + python-dev \ + postfix \ + psmisc \ + pxz \ + qemu-system-arm \ + qemu-user \ + rsync \ + subversion \ + sudo \ + tclsh \ + texinfo \ + texlive-fonts-recommended \ + texlive-latex-recommended \ + time \ + unifdef \ + valgrind \ + vim \ + virtualenv \ + wget \ + xz-utils \ + zip \ + zlib1g-dev \ + && apt-get clean \ + && rm -rf \ + /var/lib/apt/lists/* \ + /tmp/* \ + /var/tmp/* + +RUN install -D -p -m0755 /usr/share/doc/git/contrib/workdir/git-new-workdir /usr/local/bin/git-new-workdir \ + && sed -i -e 's:^session *required *pam_loginuid.so:# session required pam_loginuid.so:' /etc/pam.d/sshd \ + && mkdir -p /var/run/sshd \ + && sed -i \ + -e "/.*MaxStartups.*/d" \ + -e "/.*MaxSessions.*/d" /etc/ssh/sshd_config \ + && echo "MaxStartups 256" >> /etc/ssh/sshd_config \ + && echo "MaxSessions 256" >> /etc/ssh/sshd_config + +COPY postfix-main.cf.in /etc/postfix/main.cf +COPY postfix-sasl_password.in /etc/postfix/sasl_password + +RUN chown root:root /etc/postfix/sasl_password \ + && chmod 600 /etc/postfix/sasl_password + +# Add ninja with support for memory-threshold job limitation. +# It's installed with ".bin" extension and containers then +# make wrappers around it in /usr/local/bin/ninja as needed. +RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \ + && cd ninja \ + && ./configure.py --bootstrap && ./ninja all && ./ninja_test \ + && mv ninja /usr/local/bin/ninja.bin \ + && cd .. \ + && rm -rf ninja + + +COPY home-data/ /home-data/ +COPY new-user.sh /usr/local/bin/ + +RUN \ + while read line; do \ + new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \ + done </home-data/group + +# We use ssh multiplexing, which creates sockets in /tmp. Overlayfs, +# which docker is using, can't host sockets, so we use a scratch mount +# for /tmp. This requires that we add --rm option to "docker run" +# invocations (e.g., mark "Remove volumes" checkbox in docker plugin) to +# cleanup host directories used for the scratch mounts. +VOLUME /tmp + +EXPOSE 22 +CMD ["/usr/sbin/sshd", "-D"] +# checksum: 50a99c601dd50c455613a9aa28c5c136 diff --git a/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/Dockerfile b/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/Dockerfile new file mode 100644 index 00000000..78fde257 --- /dev/null +++ b/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/Dockerfile @@ -0,0 +1,34 @@ +# Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit. +FROM linaro/ci-arm64-tcwg-base-ubuntu:bionic + +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y \ + apt-file \ + git-gui \ + git-svn \ + gnat-5 \ + less \ + locales \ + mc \ + screen \ + software-properties-common \ + stgit \ + tmux \ + && apt-get clean \ + && rm -rf \ + /var/lib/apt/lists/* \ + /tmp/* \ + /var/tmp/* + +RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ + && apt-file update + +# Create directories required for X11. +RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \ + && chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix + +COPY run.sh start.sh / + +ENTRYPOINT ["/run.sh"] +CMD ["start.sh"] +# checksum: e1d4f2e78ee4ff7ae86f1e22953e476d diff --git a/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/build.sh b/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/build.sh new file mode 120000 index 00000000..e8571a37 --- /dev/null +++ b/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/build.sh @@ -0,0 +1 @@ +../../tcwg-base/tcwg-dev/build.sh
\ No newline at end of file diff --git a/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/gerrit-branches b/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/gerrit-branches new file mode 120000 index 00000000..cd148228 --- /dev/null +++ b/bionic-arm64-tcwg-base/bionic-arm64-tcwg-dev/gerrit-branches @@ -0,0 +1 @@ +../../tcwg-base/tcwg-dev/gerrit-branches
\ No newline at end of file diff --git a/bionic-arm64-tcwg-base/build.sh b/bionic-arm64-tcwg-base/build.sh new file mode 120000 index 00000000..67d8934e --- /dev/null +++ b/bionic-arm64-tcwg-base/build.sh @@ -0,0 +1 @@ +../tcwg-base/build.sh
\ No newline at end of file diff --git a/bionic-arm64-tcwg-base/gerrit-branches b/bionic-arm64-tcwg-base/gerrit-branches new file mode 120000 index 00000000..3cbaca1d --- /dev/null +++ b/bionic-arm64-tcwg-base/gerrit-branches @@ -0,0 +1 @@ +../tcwg-base/gerrit-branches
\ No newline at end of file diff --git a/ci-amd64-llp-alpine/Dockerfile b/ci-amd64-llp-alpine/Dockerfile index ee804cdf..0a5e28af 100644 --- a/ci-amd64-llp-alpine/Dockerfile +++ b/ci-amd64-llp-alpine/Dockerfile @@ -12,12 +12,13 @@ RUN mkdir -p $APPDIR WORKDIR $APPDIR -RUN apk --update --no-cache add python2 py2-pip mysql-client git py-gunicorn sqlite && \ - apk --no-cache add gcc g++ python2-dev musl-dev libffi-dev postgresql-dev && \ - git clone https://git.linaro.org/infrastructure/linaro-license-protection.git/ $APPDIR && \ - pip2 install --upgrade pip setuptools six && \ - pip2 install -U -r $APPDIR/requirements.txt && \ - apk del gcc g++ python3-dev musl-dev libffi-dev +RUN apk update && \ + apk --no-cache add python2 py2-pip mysql-client git py-gunicorn sqlite && \ + apk --no-cache add gcc g++ python2-dev musl-dev libffi-dev postgresql-dev && \ + git clone https://git.linaro.org/infrastructure/linaro-license-protection.git/ $APPDIR && \ + pip2 install --upgrade pip setuptools six && \ + pip2 install -U -r $APPDIR/requirements.txt && \ + apk del gcc g++ python3-dev musl-dev libffi-dev EXPOSE $PORT diff --git a/ci-amd64-llp-alpine/test_run.sh b/ci-amd64-llp-alpine/test_run.sh new file mode 100755 index 00000000..fd2767d7 --- /dev/null +++ b/ci-amd64-llp-alpine/test_run.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +REPO=/tmp/test-llp-root + +mkdir -p $REPO/test-llp.linaro.org +test \! -d $REPO/linaro-license-protection && (cd $REPO; git clone https://git.linaro.org/infrastructure/linaro-license-protection.git) + +docker run --name test-llp --rm -p 8080:8080 -v $REPO/test-llp.linaro.org:/srv -v $REPO/linaro-license-protection:/srv/linaro-license-protection linaro/ci-amd64-llp-alpine diff --git a/jessie-amd64-jenkins-master/Dockerfile b/jessie-amd64-jenkins-master/Dockerfile index dd51062e..84a52d2c 100644 --- a/jessie-amd64-jenkins-master/Dockerfile +++ b/jessie-amd64-jenkins-master/Dockerfile @@ -1,8 +1,8 @@ -FROM jenkins/jenkins:2.107.3 +FROM jenkins/jenkins:2.150.2 ENV JENKINS_JAVA_PARAMETERS="-server -XX:+AlwaysPreTouch -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/jenkins/heapdump.log -verbose:gc -Xloggc:/var/log/jenkins/gc-%t.log -XX:NumberOfGCLogFiles=2 -XX:+UseGCLogFileRotation -XX:GCLogFileSize=100m -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintGCCause -XX:+PrintTenuringDistribution -XX:+PrintReferenceGC -XX:+PrintAdaptiveSizePolicy -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+UnlockDiagnosticVMOptions -XX:G1SummarizeRSetStatsPeriod=1 -XX:MaxMetaspaceExpansion=64M -Djenkins.model.Jenkins.logStartupPerformance=true" ENV JAVA_OPTS="-Xms4g -Xmx8g $JENKINS_JAVA_PARAMETERS -Djava.awt.headless=true -Dhudson.slaves.WorkspaceList='_' -Dhudson.model.ParametersAction.keepUndefinedParameters=true -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=30 -Dorg.eclipse.jetty.server.Request.maxFormContentSize=1000000" -ENV JENKINS_OPTS="--sessionTimeout=1440" +ENV JENKINS_OPTS="--sessionTimeout=1440 --sessionEviction=1440" # Install jenkins job builder # Create plugins directory, symlinked on host machine @@ -10,7 +10,7 @@ USER root RUN wget -q https://bootstrap.pypa.io/get-pip.py -O /tmp/get-pip.py \ && python /tmp/get-pip.py \ && rm -f /tmp/get-pip.py \ - && pip install jenkins-job-builder==2.0.5 pyyaml==3.12 jinja2==2.9.6 python-jenkins==0.4.15 \ + && pip install jenkins-job-builder==2.5.0 pyyaml==3.12 jinja2==2.9.6 python-jenkins==0.4.15 \ && git clone --depth 1 https://git.linaro.org/infrastructure/jjb-linaro-plugin.git \ && cd jjb-linaro-plugin && python setup.py install \ && cd .. && rm -rf jjb-linaro-plugin \ diff --git a/jessie-amd64-jenkins-master/plugins.txt b/jessie-amd64-jenkins-master/plugins.txt index a435645d..be8dffd0 100644 --- a/jessie-amd64-jenkins-master/plugins.txt +++ b/jessie-amd64-jenkins-master/plugins.txt @@ -1,69 +1,71 @@ -ansicolor:0.5.2 -ant:1.8 +ansicolor:0.6.1 +ant:1.9 antisamy-markup-formatter:1.5 -apache-httpcomponents-client-4-api:4.5.5-2.0 -bouncycastle-api:2.16.2 -build-blocker:1.7.3 -build-monitor-plugin:1.12+build.201708172343 +apache-httpcomponents-client-4-api:4.5.5-3.0 +bouncycastle-api:2.17 +build-blocker-plugin:1.7.3 +build-monitor-plugin:1.12+build.201809061734 build-name-setter:1.6.9 build-timeout:1.19 command-launcher:1.2 +copyartifact:1.41 copy-to-slave:1.4.4 -copyartifact:1.39.1 -coverity:1.11.0 -crowd2:1.8 +coverity:1.11.3 +crowd2:2.0.1 cvs:2.14 docker-build-publish:1.3.2 -docker-plugin:1.0.0 docker-slaves:1.0.7 dropdown-viewstabbar-plugin:1.7 dynamic-axis:1.0.3 -ec2:1.39 -email-ext:2.62 +ec2:1.41 +email-ext:2.63 embeddable-build-status:1.9 +extended-choice-parameter:0.76 extended-read-permission:2.0 external-monitor-job:1.7 -ghprb:1.40.0 -gerrit-trigger:2.27.5 +ghprb:1.42.0 +gerrit-trigger:2.28.0 github-organization-folder:1.6 greenballs:1.15 -groovy-postbuild:2.4.1 +groovy-postbuild:2.4.3 heavy-job:1.1 -htmlpublisher:1.16 +htmlpublisher:1.17 ircbot:2.30 -jira:2.5.2 -jenkins-multijob-plugin:1.30 -jobConfigHistory:2.18 +jdk-tool:1.2 +jira:3.0.5 +jenkins-multijob-plugin:1.31 +jobConfigHistory:2.19 ldap:1.20 leastload:2.0.1 log-parser:2.0 -matrix-auth:2.2 +matrix-auth:2.3 matrix-combinations-parameter:1.3.0 matrixtieparent:1.2 mercurial:1.61 -metrics:3.1.2.11 -monitoring:1.72.0 +metrics:4.0.2.2 +monitoring:1.75.0 multiple-scms:0.6 naginator:1.17.2 nodelabelparameter:1.7.2 -pam-auth:1.3 -pipeline-utility-steps:2.1.0 +pam-auth:1.4 +postbuildscript:2.8.1 +pipeline-utility-steps:2.2.0 plot:1.11 PrioritySorter:3.6.0 -publish-over-ssh:1.19.1 -rebuild:1.28 +publish-over-ssh:1.20.1 +rebuild:1.29 repo:1.10.7 -simple-theme-plugin:0.4 -ssh-agent:1.15 -subversion:2.10.5 +simple-theme-plugin:0.5.1 +ssh-agent:1.17 +subversion:2.12.1 tap:2.2.1 throttle-concurrents:2.0.1 timestamper:1.8.10 translation:1.16 -urltrigger:0.41 -warnings:4.66 -windows-slaves:1.3.1 -workflow-aggregator:2.5 -ws-cleanup:0.34 +urltrigger:0.44 +warnings:5.0.0 +windows-slaves:1.4 +workflow-aggregator:2.6 +ws-cleanup:0.37 xvfb:1.1.3 -yet-another-docker-plugin:0.1.0-rc47 +yet-another-docker-plugin:0.1.0-rc50 diff --git a/jessie-amd64/Dockerfile b/jessie-amd64/Dockerfile index 76e5d106..22ee77fc 100644 --- a/jessie-amd64/Dockerfile +++ b/jessie-amd64/Dockerfile @@ -70,3 +70,4 @@ VOLUME ["/var/lib/libvirt"] EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"] + diff --git a/lava/dispatcher/build.sh b/lava/dispatcher/build.sh new file mode 100755 index 00000000..50cab78e --- /dev/null +++ b/lava/dispatcher/build.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +# An example invocation of this script would be: +# +# ./build.sh -r production -d stretch -a amd64 + +set -e + +export LANG=C + +while getopts "r:d:a:" opt; do + case $opt in + r) + REPO="$OPTARG" + ;; + d) + DISTRIBUTION="$OPTARG" + ;; + a) + ARCH="$OPTARG" + ;; + ?) + echo "Usage:" + echo "-r - repository such as production or staging" + echo "-d - distribution such as stretch" + echo "-a - architecture such as amd64" + exit 1 + ;; + esac +done + +if [ "$REPO" = staging ]; then + VERSION="latest" +else + # Get version by parsing Packages file from respective repo. + VERSION=$(wget -qO - http://images.validation.linaro.org/${REPO}-repo/dists/${DISTRIBUTION}-backports/main/binary-${ARCH}/Packages \ + | grep -A5 '^Package: lava-dispatcher' | grep '^Version: ' \ + | awk '{ print $2 }' \ + | sed 's/[~|+].*//') +fi + +image=linaro/lava-dispatcher-${REPO}-${DISTRIBUTION}-${ARCH}:${VERSION} +docker build --no-cache --pull --tag=$image -f ${REPO}/${DISTRIBUTION}-${ARCH}/Dockerfile . +echo $image > .docker-tag diff --git a/lava/dispatcher/production/stretch-amd64/entrypoint.sh b/lava/dispatcher/entrypoint.sh index 74bc9c7e..490f236e 100755 --- a/lava/dispatcher/production/stretch-amd64/entrypoint.sh +++ b/lava/dispatcher/entrypoint.sh @@ -23,9 +23,6 @@ # LOG_LEVEL Log level (DEBUG, ERROR, INFO, WARN); default to INFO # Example: LOG_LEVEL='DEBUG' # -# TIMEOUT Socket connection timeout in seconds; default to 5 -# Example: TIMEOUT=10 -# # IPV6 Enable IPv6 # Example: IPV6=True # @@ -69,11 +66,6 @@ then LOG_LEVEL='INFO' fi -if [ -z "${TIMEOUT}" ] -then - TIMEOUT=5 -fi - if [ -z "${ENCRYPT}" ] then ENCRYPT='' @@ -104,12 +96,10 @@ fi echo "Starting lava-slave with the following command:" -echo "/usr/bin/python /usr/bin/lava-slave --hostname ${HOSTNAME} \ +echo "/usr/bin/python3 /usr/bin/lava-slave --hostname ${HOSTNAME} \ --master ${MASTER} --socket-addr ${SOCKET_ADDR} ${LOG_FILE} \ ---level ${LOG_LEVEL} --timeout ${TIMEOUT} ${ENCRYPT} ${IPV6} \ -${MASTER_CERT} ${SLAVE_CERT}" +--level ${LOG_LEVEL} ${ENCRYPT} ${IPV6} ${MASTER_CERT} ${SLAVE_CERT}" -/usr/bin/python /usr/bin/lava-slave --hostname ${HOSTNAME} \ +/usr/bin/python3 /usr/bin/lava-slave --hostname ${HOSTNAME} \ --master ${MASTER} --socket-addr ${SOCKET_ADDR} ${LOG_FILE} \ ---level ${LOG_LEVEL} --timeout ${TIMEOUT} ${ENCRYPT} ${IPV6} \ -${MASTER_CERT} ${SLAVE_CERT} +--level ${LOG_LEVEL} ${ENCRYPT} ${IPV6} ${MASTER_CERT} ${SLAVE_CERT} diff --git a/lava/dispatcher/production/stretch-amd64/Dockerfile b/lava/dispatcher/production/stretch-amd64/Dockerfile index c555a9b8..a9291f5c 100644 --- a/lava/dispatcher/production/stretch-amd64/Dockerfile +++ b/lava/dispatcher/production/stretch-amd64/Dockerfile @@ -2,7 +2,7 @@ FROM debian:stretch # Docker image for LAVA dispatcher with production release. -MAINTAINER Senthil Kumaran S <senthil.kumaran@linaro.org> +LABEL maintainer="senthil.kumaran@linaro.org" # Install the required dependencies RUN echo 'locales locales/locales_to_be_generated multiselect C.UTF-8 UTF-8, en_US.UTF-8 UTF-8 ' | debconf-set-selections && \ @@ -14,7 +14,7 @@ RUN echo 'locales locales/locales_to_be_generated multiselect C.UTF-8 UTF-8, en_ qemu-system-x86 qemu-system-arm qemu-user-static libguestfs-tools \ nfs-kernel-server rpcbind u-boot-tools unzip xz-utils debootstrap \ bridge-utils dfu-util img2simg emacs-nox vim gnupg2 sed expect grep wget \ - openssh-server + openssh-server adb fastboot simg2img img2simg # Add LAVA stretch-backports production repo RUN wget -qO - http://images.validation.linaro.org/production-repo/production-repo.key.asc | apt-key add - && \ @@ -25,7 +25,7 @@ RUN echo 'locales locales/locales_to_be_generated multiselect C.UTF-8 UTF-8, en_ export DEBIAN_FRONTEND=noninteractive && \ apt-get update && \ apt-get -y upgrade && \ - apt-get -y -t stretch-backports install lava-dispatcher \ + apt-get -y -t stretch-backports install lava-common lava-dispatcher \ lava-lxc-mocker && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* @@ -34,7 +34,7 @@ RUN echo 'locales locales/locales_to_be_generated multiselect C.UTF-8 UTF-8, en_ EXPOSE 22 # Set entrypoint script -COPY entrypoint.sh /entrypoint.sh +COPY ./entrypoint.sh /entrypoint.sh ENTRYPOINT [ "/entrypoint.sh" ] # Following is a sample docker run command to use this image diff --git a/lava/dispatcher/production/stretch-amd64/build.sh b/lava/dispatcher/production/stretch-amd64/build.sh deleted file mode 100755 index d7f69b33..00000000 --- a/lava/dispatcher/production/stretch-amd64/build.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -set -e - -export LANG=C - -DISTRIBUTION=$(basename ${PWD} | cut -f1 -d '-') -ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-') -REPO=$(basename $(dirname ${PWD})) - -# Get version by parsing Packages file from respective repo. -VERSION=$(wget -qO - http://images.validation.linaro.org/${REPO}-repo/dists/${DISTRIBUTION}-backports/main/binary-${ARCHITECTURE}/Packages \ - | grep -A5 '^Package: lava-dispatcher' | grep '^Version: ' \ - | awk '{ print $2 }' \ - | sed 's/[~|+].*//') - -image=linaro/lava-dispatcher-debian-${DISTRIBUTION}-${ARCHITECTURE}:${VERSION} -docker build --no-cache --pull --tag=$image . -echo $image > .docker-tag diff --git a/lava/dispatcher/staging/stretch-amd64/Dockerfile b/lava/dispatcher/staging/stretch-amd64/Dockerfile new file mode 100644 index 00000000..f6a21d26 --- /dev/null +++ b/lava/dispatcher/staging/stretch-amd64/Dockerfile @@ -0,0 +1,46 @@ +FROM debian:stretch + +# Docker image for LAVA dispatcher with master branch, built daily. + +LABEL maintainer="senthil.kumaran@linaro.org" + +# Install the required dependencies +RUN echo 'locales locales/locales_to_be_generated multiselect C.UTF-8 UTF-8, en_US.UTF-8 UTF-8 ' | debconf-set-selections && \ + echo 'locales locales/default_environment_locale select en_US.UTF-8' | debconf-set-selections && \ + export DEBIAN_FRONTEND=noninteractive && \ + apt-get update && \ + apt-get -y upgrade && \ + apt-get -y install ntp git tftpd-hpa openbsd-inetd ser2net qemu-kvm \ + qemu-system-x86 qemu-system-arm qemu-user-static libguestfs-tools \ + nfs-kernel-server rpcbind u-boot-tools unzip xz-utils debootstrap \ + bridge-utils dfu-util img2simg emacs-nox vim gnupg2 sed expect grep wget \ + openssh-server adb fastboot simg2img img2simg + +# Add LAVA stretch-backports staging repo +RUN wget -qO - http://images.validation.linaro.org/staging-repo/staging-repo.key.asc | apt-key add - && \ + echo "deb http://images.validation.linaro.org/staging-repo stretch-backports main" >/etc/apt/sources.list.d/linaro.list + +RUN echo 'locales locales/locales_to_be_generated multiselect C.UTF-8 UTF-8, en_US.UTF-8 UTF-8 ' | debconf-set-selections && \ + echo 'locales locales/default_environment_locale select en_US.UTF-8' | debconf-set-selections && \ + export DEBIAN_FRONTEND=noninteractive && \ + apt-get update && \ + apt-get -y upgrade && \ + apt-get -y -t stretch-backports install lava-common lava-dispatcher \ + lava-lxc-mocker && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +# Expose services ports +EXPOSE 22 + +# Set entrypoint script +COPY ./entrypoint.sh /entrypoint.sh +ENTRYPOINT [ "/entrypoint.sh" ] + +# Following is a sample docker run command to use this image +# +# sudo docker run -v /boot:/boot -v /lib/modules:/lib/modules \ +# -v /var/run/docker.sock:/var/run/docker.sock -itd -e HOSTNAME='worker-1' \ +# -e MASTER='tcp://192.168.1.2:5556' -e SOCKET_ADDR='tcp://192.168.1.2:5555' \ +# -e LOG_LEVEL='DEBUG' -p 2222:22 --privileged \ +# --name ld-2017.12 stylesen/lava-dispatcher:2017.12 diff --git a/stretch-amd64-obsworker/Dockerfile b/stretch-amd64-obsworker/Dockerfile index 5ed36dd9..4cae6c58 100644 --- a/stretch-amd64-obsworker/Dockerfile +++ b/stretch-amd64-obsworker/Dockerfile @@ -25,6 +25,7 @@ RUN apt-get update \ /tmp/* \ /var/tmp/* + COPY start-obsworker / CMD ["/start-obsworker"] diff --git a/stretch-amd64-ota/Dockerfile b/stretch-amd64-ota/Dockerfile new file mode 100644 index 00000000..0fe58092 --- /dev/null +++ b/stretch-amd64-ota/Dockerfile @@ -0,0 +1,19 @@ +FROM opensourcefoundries/aktualizr:0.23 + +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + sudo \ + openssh-server \ + && apt-get clean \ + && rm -rf \ + /var/lib/apt/lists/* \ + /tmp/* \ + /var/tmp/* + +RUN useradd -m buildslave \ + && echo 'buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins \ + && chmod 440 /etc/sudoers.d/jenkins \ + && mkdir -p /var/run/sshd + +EXPOSE 22 +CMD ["/usr/sbin/sshd", "-D"] diff --git a/stretch-amd64-ota/build.sh b/stretch-amd64-ota/build.sh new file mode 100755 index 00000000..a03d97ac --- /dev/null +++ b/stretch-amd64-ota/build.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +trap cleanup_exit INT TERM EXIT + +cleanup_exit() +{ + rm -f *.list *.key +} + +export LANG=C + +DISTRIBUTION=$(basename ${PWD} | cut -f1 -d '-') +ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-') + +cp -a ../linaro-overlay-obs.list ../linaro-overlay-obs.key . + +image=linaro/ci-${ARCHITECTURE}-debian-ota:${DISTRIBUTION} +docker build --pull --tag=$image . +echo $image > .docker-tag diff --git a/stretch-arm64-obsworker/Dockerfile b/stretch-arm64-obsworker/Dockerfile index 5ed36dd9..4cae6c58 100644 --- a/stretch-arm64-obsworker/Dockerfile +++ b/stretch-arm64-obsworker/Dockerfile @@ -25,6 +25,7 @@ RUN apt-get update \ /tmp/* \ /var/tmp/* + COPY start-obsworker / CMD ["/start-obsworker"] diff --git a/stretch-arm64-testdef/Dockerfile b/stretch-arm64-testdef/Dockerfile new file mode 100644 index 00000000..cd20f093 --- /dev/null +++ b/stretch-arm64-testdef/Dockerfile @@ -0,0 +1,18 @@ +FROM linaro/ci-arm64-debian:stretch + +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y \ + python-pip \ + && git clone http://git.linaro.org/qa/test-definitions.git \ + && cd test-definitions \ + && git checkout master \ + && pip install -r automated/utils/requirements.txt \ + && apt-get clean \ + && rm -rf \ + /tmp/* \ + /var/tmp/* + +ENV REPO_PATH=/test-definitions \ + PATH="/test-definitions/automated/bin:${PATH}" + +WORKDIR /test-definitions diff --git a/stretch-arm64-testdef/build.sh b/stretch-arm64-testdef/build.sh new file mode 100755 index 00000000..df1b8212 --- /dev/null +++ b/stretch-arm64-testdef/build.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +export LANG=C + +if [ -z "$1" ]; then + echo "Usage: ./build.sh <git_tag>" + tag="$(git ls-remote https://git.linaro.org/qa/test-definitions.git refs/heads/master | cut -c1-7)" + echo "Warning: git tag not specified, latest commit (${tag}) on master branch is used." +else + tag="$1" + sed -i "s/git checkout master/git checkout ${tag} -b ${tag}/" Dockerfile +fi + +DISTRIBUTION="$(basename "${PWD}" | cut -f1 -d '-')" +ARCHITECTURE="$(basename "${PWD}" | cut -f2 -d '-')" + +image=linaro/testdef-${ARCHITECTURE}-debian-${DISTRIBUTION}:${tag} +docker build --pull --tag="$image" . +echo "$image" > .docker-tag diff --git a/stretch-armhf-obsworker/Dockerfile b/stretch-armhf-obsworker/Dockerfile new file mode 100644 index 00000000..4cae6c58 --- /dev/null +++ b/stretch-armhf-obsworker/Dockerfile @@ -0,0 +1,31 @@ +FROM debian:stretch + +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + apt-utils \ + binutils \ + bsdtar \ + cpio \ + curl \ + debootstrap \ + libcompress-raw-zlib-perl \ + libtimedate-perl \ + libxml-parser-perl \ + libxml-simple-perl \ + lsb-base \ + lvm2 \ + lzma \ + psmisc \ + rpm \ + util-linux \ + xz-utils \ + && apt-get clean \ + && rm -rf \ + /var/lib/apt/lists/* \ + /tmp/* \ + /var/tmp/* + + +COPY start-obsworker / + +CMD ["/start-obsworker"] diff --git a/trusty-amd64-art/build.sh b/stretch-armhf-obsworker/build.sh index 14167821..5d3614ac 100755 --- a/trusty-amd64-art/build.sh +++ b/stretch-armhf-obsworker/build.sh @@ -7,6 +7,6 @@ export LANG=C DISTRIBUTION=$(basename ${PWD} | cut -f1 -d '-') ARCHITECTURE=$(basename ${PWD} | cut -f2 -d '-') -image=linaro/ci-${ARCHITECTURE}-art-ubuntu:${DISTRIBUTION} +image=linaro/ci-${ARCHITECTURE}-obsworker docker build --pull --tag=$image . echo $image > .docker-tag diff --git a/stretch-armhf-obsworker/start-obsworker b/stretch-armhf-obsworker/start-obsworker new file mode 100755 index 00000000..3788a0aa --- /dev/null +++ b/stretch-armhf-obsworker/start-obsworker @@ -0,0 +1,16 @@ +#!/bin/bash + +rm -rf /srv/obs +mkdir -p /srv/obs/worker/root_1 +mkdir -p /srv/obs/run/worker/{boot,1} +cd /srv/obs/run/worker/boot +echo $OBS_IP $OBS_SERVER >> /etc/hosts +curl -s "http://$OBS_SERVER:5252/getworkercode" | cpio --quiet --extract +ln -s . XML + +if [ ! -z $OBS_TMPFS ] +then + extra_args="--vmdisk-rootsize $OBS_TMPFS --tmpfs" +fi + +exec /usr/bin/perl -w ./bs_worker --hardstatus --port $OBS_PORT --root /srv/obs/worker/root_1 --statedir /srv/obs/run/worker/1 --id `hostname`:1 --reposerver http://$OBS_SERVER:5252 --jobs $OBS_JOBS $extra_args diff --git a/stretch-armhf-testdef/Dockerfile b/stretch-armhf-testdef/Dockerfile new file mode 100644 index 00000000..59417e34 --- /dev/null +++ b/stretch-armhf-testdef/Dockerfile @@ -0,0 +1,18 @@ +FROM linaro/ci-armhf-debian:stretch + +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y \ + python-pip \ + && git clone http://git.linaro.org/qa/test-definitions.git \ + && cd test-definitions \ + && git checkout master \ + && pip install -r automated/utils/requirements.txt \ + && apt-get clean \ + && rm -rf \ + /tmp/* \ + /var/tmp/* + +ENV REPO_PATH=/test-definitions \ + PATH="/test-definitions/automated/bin:${PATH}" + +WORKDIR /test-definitions diff --git a/stretch-armhf-testdef/build.sh b/stretch-armhf-testdef/build.sh new file mode 100755 index 00000000..df1b8212 --- /dev/null +++ b/stretch-armhf-testdef/build.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +export LANG=C + +if [ -z "$1" ]; then + echo "Usage: ./build.sh <git_tag>" + tag="$(git ls-remote https://git.linaro.org/qa/test-definitions.git refs/heads/master | cut -c1-7)" + echo "Warning: git tag not specified, latest commit (${tag}) on master branch is used." +else + tag="$1" + sed -i "s/git checkout master/git checkout ${tag} -b ${tag}/" Dockerfile +fi + +DISTRIBUTION="$(basename "${PWD}" | cut -f1 -d '-')" +ARCHITECTURE="$(basename "${PWD}" | cut -f2 -d '-')" + +image=linaro/testdef-${ARCHITECTURE}-debian-${DISTRIBUTION}:${tag} +docker build --pull --tag="$image" . +echo "$image" > .docker-tag diff --git a/tcwg-base/Dockerfile.in b/tcwg-base/Dockerfile.in index 6abf52dd..16cedea6 100644 --- a/tcwg-base/Dockerfile.in +++ b/tcwg-base/Dockerfile.in @@ -1,4 +1,4 @@ -#if ARCH_amd64 +#if ARCH_amd64 || DISTRO_bionic FROM ubuntu:#{DISTRO} #elif DISTRO_zesty FROM snapcraft/zesty-#{ARCH}:latest @@ -6,6 +6,7 @@ FROM snapcraft/zesty-#{ARCH}:latest FROM linaro/base-#{ARCH}-ubuntu:#{DISTRO} #endif +#if !DISTRO_bionic #if ARCH_amd64 || ARCH_i386 RUN (url="http://archive.ubuntu.com/ubuntu/"; \ #else @@ -18,8 +19,16 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ done; \ echo; \ done) > /etc/apt/sources.list \ +#else +# Unminimize Ubuntu Bionic to install contrib files of git (after package +# update, otherwise unminimize's "apt upgrade" might fail). +RUN true \ +#endif && apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \ +#if DISTRO_bionic + && echo y | unminimize \ +#endif #if ARCH_i386 && dpkg-divert --local --rename --add /sbin/initctl \ && ln -s /bin/true /sbin/initctl \ @@ -64,14 +73,23 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ #if ARCH_amd64 || ARCH_i386 libglib2.0-dev \ #endif + libgmp-dev \ liblzma-dev \ + libmpc-dev \ + libmpfr-dev \ libncurses5-dev \ +#if ARCH_amd64 || ARCH_i386 + libpixman-1-dev \ +#endif libpython2.7-dev \ libreadline-dev \ libssl-dev \ libtcnative-1 \ libtool \ linux-tools-generic \ +#if DISTRO_bionic + linux-tools-4.18.0-13-generic \ +#endif lzop \ make \ #if ARCH_amd64 || ARCH_i386 @@ -96,10 +114,8 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ pkg-config \ #endif python-dev \ -#if DISTRO_trusty - python-virtualenv \ -#endif postfix \ + psmisc \ pxz \ qemu-system-arm \ qemu-user \ @@ -111,10 +127,13 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ texlive-fonts-recommended \ texlive-latex-recommended \ time \ + unifdef \ valgrind \ vim \ #if !DISTRO_trusty virtualenv \ +#else + python-virtualenv \ #endif wget \ xz-utils \ @@ -141,10 +160,20 @@ COPY postfix-sasl_password.in /etc/postfix/sasl_password RUN chown root:root /etc/postfix/sasl_password \ && chmod 600 /etc/postfix/sasl_password +# Add ninja with support for memory-threshold job limitation. +# It's installed with ".bin" extension and containers then +# make wrappers around it in /usr/local/bin/ninja as needed. +RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \ + && cd ninja \ + && ./configure.py --bootstrap && ./ninja all && ./ninja_test \ + && mv ninja /usr/local/bin/ninja.bin \ + && cd .. \ + && rm -rf ninja + #if ARCH_amd64 || ARCH_i386 RUN mkdir /tmp/docker-install-qemu.$$ \ && cd /tmp/docker-install-qemu.$$ \ - && qemu_ver=2.8.0 && wget --progress=dot:giga http://download.qemu-project.org/qemu-${qemu_ver}.tar.xz \ + && qemu_ver=3.1.0 && wget --progress=dot:giga http://download.qemu-project.org/qemu-${qemu_ver}.tar.xz \ && tar xf qemu-${qemu_ver}.tar.xz \ && mkdir build && cd build \ && ../qemu-${qemu_ver}/configure --prefix=/usr/local --target-list=armeb-linux-user \ @@ -152,6 +181,15 @@ RUN mkdir /tmp/docker-install-qemu.$$ \ && cd && rm -rf /tmp/docker-install-qemu.$$ #endif + +COPY home-data/ /home-data/ +COPY new-user.sh /usr/local/bin/ + +RUN \ + while read line; do \ + new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \ + done </home-data/group + # We use ssh multiplexing, which creates sockets in /tmp. Overlayfs, # which docker is using, can't host sockets, so we use a scratch mount # for /tmp. This requires that we add --rm option to "docker run" diff --git a/tcwg-base/build.sh b/tcwg-base/build.sh index 24ede180..f12ee09b 100755 --- a/tcwg-base/build.sh +++ b/tcwg-base/build.sh @@ -6,7 +6,7 @@ trap cleanup_exit INT TERM EXIT cleanup_exit() { - rm -rf postfix*.in + rm -rf home-data/ new-user.sh postfix*.in } export LANG=C @@ -17,6 +17,8 @@ name=$(basename ${PWD} | cut -f3- -d '-') image=linaro/ci-${arch}-${name}-ubuntu:${distro} baseimage=$(grep "^FROM" Dockerfile | head -n 1 | cut -d" " -f 2) +rsync -aL $top/tcwg-base/home-data/ ./home-data/ +cp $top/tcwg-base/new-user.sh ./ cp $top/tcwg-base/postfix*.in . "$top"/tcwg-base/validate-dockerfile.sh Dockerfile diff --git a/tcwg-base/gerrit-branches b/tcwg-base/gerrit-branches index 2afcbc2d..12600c6c 100644 --- a/tcwg-base/gerrit-branches +++ b/tcwg-base/gerrit-branches @@ -1,3 +1,4 @@ master -tcwg-staging tcwg-tested +tcwg-staging + diff --git a/tcwg-base/home-data/alex.bennee/.ssh/authorized_keys b/tcwg-base/home-data/alex.bennee/.ssh/authorized_keys new file mode 100644 index 00000000..f51ceb2e --- /dev/null +++ b/tcwg-base/home-data/alex.bennee/.ssh/authorized_keys @@ -0,0 +1,3 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyVywkk+VvhgT/FIeeW0RMv2L+VjklgDZawWqwnRKibbgXO7cNx9gAM+vLZd1lwUsAs6b3pecyJKuPGPLTQwQ/8RcWE0/rIqLyaqRYJGjlPYLtPgRm12d4eEvXDK7hQs/KGmc+rVQCk4cu9SBvdqJtvPuE68o2xV5SEKv0JUwSnXxQhScqa3/Zf+bKiVxWxBfaOfsZtdb6qECG4hhL5w9Z9Skviz5Hw7RWDqnXrKeCAiCCpZRhE10++6NhHpdLQtFWbGhyJ9Xmuq6OaDWofHkC2YfUSQ/VL8dKQoo1oltnH4FHlDmtvfqHzslJMpwXu0iHREu4T93tnZcpi89xcw6P alex@zen +ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArnlSBm0os7ulw7YhTU84c+wMCoNmxaoabxUFx6vDq4VXNla6ZPGsKQmSOAUAmAeYenQnAk5eWlgxOt6QSUVCZcKXct+TLjWojKwXZ75jlCjFsIkv4f1ff9bEjvoqhvVLlKXteM2l4KVAB1/xjWrrl95WUpMzkrVrLR7y+HMImxRz+q6upAy9PUVfjdKoGI/xUPQ+8ob1aNY1OuxVraaZt1nbYb2CbHGuPfuq41EKHBDUhEfb1z2qaRfq4lqa3CQTtAUr7PGmMbGDRPvejhIQw3VTn28zRoGaDPH1TYw0cVF2BHjHtnwaorAemxRxo2X619qxcMd1Dx3U+KM0AQH2iw== alex@danny +ssh-dss AAAAB3NzaC1kc3MAAACBAPR7IFQ+tr0WmHSoZf4hhBcBsUPr5X/oRP7/AtNEOhzzMGDpZjv43FNom98KnEwo/CFOpIb4AOZmaWJfxvtIHuq2501riATSWPTDAiPJVuWfCwasxrWuTYd74Ft14q2WrNWOQRfq8QVzX/DmKZFjlBTQ5pnczESK51H89vLQDCtNAAAAFQDNfFYgHqtSwp3kF6sRDsLKSxM15QAAAIEAkV716nHegoRqYlPemvIIUfcyuoAL2zkQaq4NMd481owzNLVmxXQloDT1x49bR43jd8V10DYLZPaU8p50M2FdI/SzAha7JoRmHTeiATeWoB9M6PkeNllTAP3qtKq5w5Tdl6HGVuRScXNzMEC/SIKFaj7bZD6WqZxraYpsfHtD68QAAACBANDzYWx7U489zikATO7gpyKnOP1Gxuuc3cBKJx0sMGIg0kiipf5G6azsptRPSyu4e/iST4JtaH2tnPx50zsPm0XGpAjHw4cUgYtUnruSTP/G7Di2dig2MOelxX/SKprdblZob573eMd64OMmeaJfMM0OAHVvzBqCXs16qKdBZCUZ alex@danny diff --git a/tcwg-base/home-data/alex.bennee/bootstrap.sh b/tcwg-base/home-data/alex.bennee/bootstrap.sh new file mode 100644 index 00000000..e5de885a --- /dev/null +++ b/tcwg-base/home-data/alex.bennee/bootstrap.sh @@ -0,0 +1,78 @@ +#!/bin/bash +# +# Bootstrap a new system +# wget -O - https://raw.githubusercontent.com/stsquad/dotfiles/master/bootstrap.sh | bash +# curl -s https://raw.githubusercontent.com/stsquad/dotfiles/master/bootstrap.sh | bash +# +set -e + +if [ -n "$SSH_AUTH_SOCK" ] && [ -S "$SSH_AUTH_SOCK" ] && [ "ssh-add -l > /dev/null" ]; then + SSH_CONFIG=${HOME}/.ssh + mkdir -p ${SSH_CONFIG} + # You kinda have to take it on trust that these are the github finger-prints + cat > ${SSH_CONFIG}/known_hosts <<EOF +|1|clnLL0mD6yeybmELLpJW0Z3hSUU=|GYO6eB1F0D+HVTeLlP7edbabPiA= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== +|1|Ckc80vuVSIfn10uM74pb4jfDBS8=|lSc7LGFPlKVXCpmJF7EcHTVUlsg= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== +EOF + MYGITHUB=git@github.com:stsquad +else + MYGITHUB=https://github.com/stsquad +fi + +GIT=`which git` +if [[ ! -f ${GIT} ]]; then + # Are we on an dpkg/apt based system? + DPKG=`which dpkg-query` + if [[ ! -f ${DPKG} ]]; then + if [[ ! `dpkg-query --status git` ]]; then + echo "Fetching git" + if [ `id -u` = 0 ] ; then + apt-get update + apt-get install -y git + else + sudo apt-get update + sudo apt-get install -y git + fi + fi + else + echo "Don't know how to install git on this system" + exit 1 + fi +else + echo "Already have git, good" +fi + +# keep my stff here +MYSRC=${HOME}/mysrc +mkdir -p ${MYSRC} +cd ${MYSRC} + +# Clone dotfiles and elisp +if [ ! -d dotfiles.git ]; then + echo "Fetching dotfiles" + git clone ${MYGITHUB}/dotfiles.git dotfiles.git + cd dotfiles.git + ./setup_dotfiles.sh + cd - +fi + +if [ ! -d elisp.git ]; then + echo "Fetching elisp" + git clone ${MYGITHUB}/my-emacs-stuff.git elisp.git + cd elisp.git + ./setup_emacs.sh + cd - +fi + +cd $HOME + +# Account for running under sudo +if [ ! -z "${SUDO_USER}" ]; then + echo "Fixing up ${HOME} permissions to ${SUDO_USER}:${SUDO_GID}" + chown -R ${SUDO_USER}:${SUDO_GID} ${HOME} +fi + +# Done (for now) +echo "Done!" + + diff --git a/tcwg-base/home-data/christophe.lyon/.ssh/authorized_keys b/tcwg-base/home-data/christophe.lyon/.ssh/authorized_keys new file mode 100644 index 00000000..2784fa89 --- /dev/null +++ b/tcwg-base/home-data/christophe.lyon/.ssh/authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDH+cTuP929qfreLhscv8F2Ot3NjaT1YVtyq6/gOqpCNIXPvPUIa/H9vacBHL7XxbtZoZhI6Ma/rlokjfriupldtzh9UQ4asEVRIpFTw6g8gGJx1RE00PUp2uCT1FZpMNFkuJQ1teI3o+ttMMLTKLdMbqzrzijH2Ev+RRGxveE91G/giRyGuyPdPO07XjNqfKXM8yWFUQg/P+rmSbNlomJ8JKxrg9xifnXBYXLKIiM3EfXwbOiqAxQvFp7KAMka2RrHb1RuZ3D94T8tqVNWPkSc09MX0BB6IAUxGdUYYQ5UTGukGL9OqsaOYlrJusrWW2eZ3lamUZfhGB1VFGPaXv+z lyon@gnx2504 diff --git a/tcwg-base/home-data/diana.picus/.ssh/authorized_keys b/tcwg-base/home-data/diana.picus/.ssh/authorized_keys new file mode 100644 index 00000000..dcec2466 --- /dev/null +++ b/tcwg-base/home-data/diana.picus/.ssh/authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCUPyyKwGTn6TwizPOErps0mgMNwLNDbYyEr8m2KwvkGQfLwesaTuOwHtFg3zr4u2Nqk8zmUn2/jZekru+gVXGKEQQDzSJKK7llNQCKkBJUPO8wTkkGoIzT3Bt1ftKC/OUUDVVckdQ0LCNctsLcFa9D11fk2hCUkg2V06QJu87e8T5xyhyA6H0WKyfA2JkRwgnmZyM/uJo5ga/XUSTvA49k+Keu0GLCrODtUXA/jqw6niLrG+lH/ce49B+MxUu6pF4vUu6lba/jh35bSvDKMZj6vT3IUxQ7rdWO687yNrkRw6osmJhv0PRruqxeP+IYcHHqRTog0Hv2Y9C780TW9ect diana@Gjallarhorn diff --git a/tcwg-base/home-data/group b/tcwg-base/home-data/group new file mode 100644 index 00000000..29de913d --- /dev/null +++ b/tcwg-base/home-data/group @@ -0,0 +1,3 @@ +tcwg-infra:x:9000:tcwg-buildslave,tcwg-benchmark +tcwg-users:x:10000:maxim.kuvyrkov,alex.bennee,christophe.lyon,peter.smith,richard.henderson,prathamesh.kulkarni,omair.javaid,kugan.vivekanandarajah,diana.picus,yvan.roux +tcwg-llvm:x:9001:maxim.kuvyrkov,peter.smith,omair.javaid,diana.picus,yvan.roux,prathamesh.kulkarni diff --git a/tcwg-base/home-data/kugan.vivekanandarajah/.ssh/authorized_keys b/tcwg-base/home-data/kugan.vivekanandarajah/.ssh/authorized_keys new file mode 100644 index 00000000..40ffb8c8 --- /dev/null +++ b/tcwg-base/home-data/kugan.vivekanandarajah/.ssh/authorized_keys @@ -0,0 +1,2 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDOYEfDePDvheSVenZ3ulL2ZlxRdCat0Yr38dHXrcEMkvLVbHabDJoI1hQ9bG93ycmKVvSvRylx1Wb5WIXyV4BR1rp4JZwwVMEE/R+N9rNEkAB2nZ+0bbEO07vP29036XvXOnQETz6g2K+DHjWhrUzS67s354EOqW9K4y8ADi0grCkt7BzHiO77naL4k82UZnfvVn05/sAtSmd2c90D3K0HG24hcNvtkYkFlfF1f7Nc0mYPuoiDZl5qPlBcV+q0uvGCRM7ep/6U1ed7+4cpzNxgU/mrILNtLhgFH9YgeboVhgOfw4otLMFw8DHpH7O8dwVuMZAxoZKvFsIXypx482H kugan@kugan-Satellite-L850 +ssh-dss AAAAB3NzaC1kc3MAAACBAI9K4Pb/JiWcbe3Mj5YAzcGtGV8hDaXXzi7348aqqHsbVH3vuub8QvPBEQ5/Z/ZoHoaBLqKqYDzkj5OZbaJwYqmvbYzcnz5REzmwu9LuwR7SK9MWFBIP9vCmpPRat45H/71Nl4xty4rkngzzYqesQMHR3eVtI+J26KbpOVCx3B7DAAAAFQDgWEoC2laItuCf6cF2TqLlFRgTyQAAAIAY+jUXsbIgg2gW6WtCSyLu82EZbMdaj9dSib6iOPLwJSrSFRny91+BiW4FOlFsQzsuESQhylIbphOE+QtWOsd5aWBpw+dvq6TC1hchmnQTQi6K/j+LecIY+Gcm0UnqB9BSaiviHLLgCILXPKjoIJGWqFPHXTHZ/LE5cXubKdGt9AAAAIEAhhPkBB+KWrsESq1zfhZOJDke/NdtQLOWAK8CUnx9zjxUyqtMstBP8brdS+nc/jin+OjkKytWZLVrWT7xXT0cdFUbHA1a5YWXCEET3NmH07pusEtAacFIXJgGC+ADyv4wmtuvDWQJdMXq/pPva2Yu+qA6b/qyRriu9/phpuXCChw= kugan@kugan-T430u diff --git a/tcwg-base/home-data/maxim.kuvyrkov/.ssh/authorized_keys b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/authorized_keys new file mode 100644 index 00000000..fa17c380 --- /dev/null +++ b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDR1x3iMEd7BSXx6QE3NtfVF8kYUUVoWUKCCC0jxOiLYCY3wf1i7bfQD7YMITEwXMvwQe6thGefBMLRPWr7WdoiUvxdaLYbSB72T4zN5tK/oQhFOHR8cqG68oSZIY89lUzFaGJRMGzSxUvYUWkwUhOIsjOBKFm+/yT4CD4SmUuFwQAadC6/t+jwc1LinYRMqphgfssUk8uzrvB0cqj2UsYrDF0jTVALfyTwWKHBokuZPnUER92v5e70/vAyOzJv13YdsQcwQBa1tBLrJJPpz8uX65bMLXJ6k+9U6bYSeVtRzYtmdDj5BYvdkJTR8diChLRS75roJclYpLEv0U9foCjd maxim.kuvyrkov@linaro.org-20150420 diff --git a/tcwg-base/home-data/maxim.kuvyrkov/.ssh/config b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/config new file mode 120000 index 00000000..5f9d8251 --- /dev/null +++ b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/config @@ -0,0 +1 @@ +../../tcwg-buildslave/.ssh/config
\ No newline at end of file diff --git a/tcwg-base/home-data/maxim.kuvyrkov/.ssh/known_hosts b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/known_hosts new file mode 120000 index 00000000..936136a2 --- /dev/null +++ b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/known_hosts @@ -0,0 +1 @@ +../../tcwg-buildslave/.ssh/known_hosts
\ No newline at end of file diff --git a/tcwg-base/home-data/maxim.kuvyrkov/.ssh/ssh-tcwglab-nc.sh b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/ssh-tcwglab-nc.sh new file mode 120000 index 00000000..6eddeb50 --- /dev/null +++ b/tcwg-base/home-data/maxim.kuvyrkov/.ssh/ssh-tcwglab-nc.sh @@ -0,0 +1 @@ +../../tcwg-buildslave/.ssh/ssh-tcwglab-nc.sh
\ No newline at end of file diff --git a/tcwg-base/home-data/omair.javaid/.ssh/authorized_keys b/tcwg-base/home-data/omair.javaid/.ssh/authorized_keys new file mode 100644 index 00000000..4f91f11f --- /dev/null +++ b/tcwg-base/home-data/omair.javaid/.ssh/authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCoBhUsmuHUwZtRdaZ2Fm8IOTlrCKdz/wxoczhhWufb3Oy9/pNftVcWlrvn3glg+PfCpVFeXvp/7jbFyeJTbrxdli+N0NyZCH5CXHiYTsIHnJngveoxvHe9kGCbqEDtGk+xXsCglyNhGz255sO99e+z0yBGRpZDC1nk4fileaAqm1SoaUbd64swijGFLOyd6KmQnNH4AmQRSBzZJe4vJl2P3kLJ/I5aSZZWWqoeX5bY3LaeNoTGBIfCLwIT4whzkV/V46SpIu0UyS4NSRxXX4cmh3J4cPnPD0zbbWKPCrz3PCBkoo0tnip1Ytw3S7UDCglnCBY+cLKu2AFORTiEzflp9oe3Q/UQQBcxLGibhH+06yw3EZgxejamG4wQ363xiFrRbJDqzdZJAW+WlmCkl+uLD6DaU9gR4iA+OIl5EBlKucnnzPEIybMPVQJ3YTbL+YCisxJ3Qmr8UdIrbtwGsYNMVC1OuM0dP3VznDJ9JzD94/7H3uLI61zSqJdk/B6S0NnsGjtJ++aMyVLjb9swWWBeK7pWZSGmVE+sQYLkf9aitzjJaDaakWoj1pRKSEHSzgJHPq7Hibh/1rxiWxftwP6fE5wy/kfSxfV0Z54PbtrnD6SK92Rtkbfjq2J0klsyo4sWGI5ta9VvqF19PiFfClKgbmef6VucLkvxhQD885qcsw== omair.javaid@linaro.org diff --git a/tcwg-base/home-data/passwd b/tcwg-base/home-data/passwd new file mode 100644 index 00000000..f596805f --- /dev/null +++ b/tcwg-base/home-data/passwd @@ -0,0 +1,12 @@ +tcwg-buildslave:x:11827:9000:TCWG Buildslave::/bin/bash +tcwg-benchmark:x:12326:9000:TCWG Benchmark::/bin/bash +alex.bennee:x:10583:10000:Alex Bennée::/bin/bash +christophe.lyon:x:10033:10000:Christophe Lyon::/bin/bash +maxim.kuvyrkov:x:10967:10000:Maxim Kuvyrkov::/bin/bash +peter.smith:x:12314:10000:Peter Smith::/bin/bash +richard.henderson:x:13410:10000:Richard Henderson::/bin/bash +prathamesh.kulkarni:x:11537:10000:Prathamesh Kulkarni::/bin/bash +omair.javaid:x:10174:10000:Omair Javaid::/bin/bash +kugan.vivekanandarajah:x:10179:10000:Kugan Vivekanandarajah::/bin/bash +diana.picus:x:12361:10000:Diana Picus::/bin/bash +yvan.roux:x:10168:10000:Yvan Roux::/bin/bash diff --git a/tcwg-base/home-data/peter.smith/.ssh/authorized_keys b/tcwg-base/home-data/peter.smith/.ssh/authorized_keys new file mode 100644 index 00000000..3e5efed6 --- /dev/null +++ b/tcwg-base/home-data/peter.smith/.ssh/authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDk77ZpUDiOq71/kkCS0oPkXILsKBBzxUxrDWydwgn2uicozIQbamisJ5EwogSpaDnmacxuRHg81yRKifBt21cgUHcUBJC4lsr0IXnuqAREUunT8QB6wWCjzUd/AMl9tuu+sPus3wAXQE4ek0yl7jZTBXifqJsUTUomp/+wbcVzLeO5NcK/VymCYSPOCu6opRCXLnzld+wBpHSo4c76QLNmd7t3yzWEwBWcwDgAILSBKFc1Eq6Jlz1/ocazUUU2VDa2zMCVL+3oKWxv1OJhOcPBa0wS8eTkjcuwNLG1eOGwQcwCE2EarlE/DIXR7yMSeJQCERWFb1erscb+H/jE6/Rz psmith@E104452-LINA diff --git a/tcwg-base/home-data/prathamesh.kulkarni/.ssh/authorized_keys b/tcwg-base/home-data/prathamesh.kulkarni/.ssh/authorized_keys new file mode 100644 index 00000000..54c313c4 --- /dev/null +++ b/tcwg-base/home-data/prathamesh.kulkarni/.ssh/authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/wwXYCngpNiJRzeyaiiHdX8p5n3jB5ZbW3IghR/LVH+sSUSjFeUQfwqNNvL363iAcEKNnr67CBTda2no1/wAKNHaFsEzPpcDRNtAwmOWcvoiq475ntLTw53ysqJEYy3MoO0H4fF5lOYmHfbbccjGyPs5SEUFe3+bJKZCOEu1jHXcOPhDcYWD0AiT0kQVleaiieXdS8lNQNTXiNHrQ7+ZFcRj0McreeKEx5jeF7Ck5eObgIffNXsMXXtGj6TC4F5Bg4QX/gtUmv4K/w+KWXJ25zwkit4toTm8q6BDv3XOuIiaguWln5b8erqNLZbGJbp9pYqiA7FKNBbnhUr4ZR0sj bilbo@bilbo-Ideapad-Z560 diff --git a/tcwg-base/home-data/richard.henderson/.gitconfig b/tcwg-base/home-data/richard.henderson/.gitconfig new file mode 100644 index 00000000..71aec4f6 --- /dev/null +++ b/tcwg-base/home-data/richard.henderson/.gitconfig @@ -0,0 +1,7 @@ +[user] + email = richard.henderson@linaro.org +[push] + default = simple +[diff] + renames = true + algorithm = histogram diff --git a/tcwg-base/home-data/richard.henderson/.ssh/authorized_keys b/tcwg-base/home-data/richard.henderson/.ssh/authorized_keys new file mode 100644 index 00000000..fa804c95 --- /dev/null +++ b/tcwg-base/home-data/richard.henderson/.ssh/authorized_keys @@ -0,0 +1 @@ +ssh-dss AAAAB3NzaC1kc3MAAACBAJEOzwysCMZtF04TdGQ54HrGqtahlznDG8oiBlX9GpISY0mRSUB1i6B2KXF3pfCvtr3VWdEO7YO6hQ7Rg+wxXns0qB7lVOoMbGvnFB7ygR439NILPuNntDfzBqAxxMP2JQusZeIPHTYDrJqRo9YxFe+Uk+PjTUVm9AvfbFMAcMz3AAAAFQCq5wr83MxfnZ+DeU9YvPyilFcpIQAAAIAFEnXMZyq4cqgO7/zXosZonRu8eGgzECQcXUVn4aBWxEolhQxtHmJWe8c0kTbY1Neo6VZ7CD5oSlFQ/d0O78oY+625f1VVGwtebSq4fThZJEm0XMuxj5V/0jhyP5TcTE1AvSHfV03ZpGDP7IbNMuVYp42lxJMs+MTjp82AUDMxGwAAAIA6pWdbmPjFwkWWtsY3VDVpZTPkD5Q3qpGMWCcpUsBT9eQh/CjmqU7ei3GaiDogwxy/Q41orfTmlZfjaSyDDyWgXCSdMF3WoekFAcsIRRRRJ5Nnek+Lhd60EueitdSQKgtbSwCXd9sXDE1eYiTozLfXIeFIZ0hhrQEW2I5NuaNX5A== rth@are.twiddle.net diff --git a/tcwg-base/tcwg-build/tcwg-benchmark/.gitconfig b/tcwg-base/home-data/tcwg-benchmark/.gitconfig index d0ea2be3..d0ea2be3 100644 --- a/tcwg-base/tcwg-build/tcwg-benchmark/.gitconfig +++ b/tcwg-base/home-data/tcwg-benchmark/.gitconfig diff --git a/tcwg-base/tcwg-build/tcwg-benchmark/.ssh/authorized_keys b/tcwg-base/home-data/tcwg-benchmark/.ssh/authorized_keys index 536483eb..536483eb 100644 --- a/tcwg-base/tcwg-build/tcwg-benchmark/.ssh/authorized_keys +++ b/tcwg-base/home-data/tcwg-benchmark/.ssh/authorized_keys diff --git a/tcwg-base/home-data/tcwg-benchmark/.ssh/config b/tcwg-base/home-data/tcwg-benchmark/.ssh/config new file mode 120000 index 00000000..5f9d8251 --- /dev/null +++ b/tcwg-base/home-data/tcwg-benchmark/.ssh/config @@ -0,0 +1 @@ +../../tcwg-buildslave/.ssh/config
\ No newline at end of file diff --git a/tcwg-base/home-data/tcwg-benchmark/.ssh/known_hosts b/tcwg-base/home-data/tcwg-benchmark/.ssh/known_hosts new file mode 120000 index 00000000..936136a2 --- /dev/null +++ b/tcwg-base/home-data/tcwg-benchmark/.ssh/known_hosts @@ -0,0 +1 @@ +../../tcwg-buildslave/.ssh/known_hosts
\ No newline at end of file diff --git a/tcwg-base/home-data/tcwg-benchmark/.ssh/ssh-tcwglab-nc.sh b/tcwg-base/home-data/tcwg-benchmark/.ssh/ssh-tcwglab-nc.sh new file mode 120000 index 00000000..6eddeb50 --- /dev/null +++ b/tcwg-base/home-data/tcwg-benchmark/.ssh/ssh-tcwglab-nc.sh @@ -0,0 +1 @@ +../../tcwg-buildslave/.ssh/ssh-tcwglab-nc.sh
\ No newline at end of file diff --git a/tcwg-base/tcwg-build/tcwg-buildslave/.gitconfig b/tcwg-base/home-data/tcwg-buildslave/.gitconfig index d91df92c..d91df92c 100644 --- a/tcwg-base/tcwg-build/tcwg-buildslave/.gitconfig +++ b/tcwg-base/home-data/tcwg-buildslave/.gitconfig diff --git a/tcwg-base/tcwg-build/tcwg-buildslave/.mailrc b/tcwg-base/home-data/tcwg-buildslave/.mailrc index cae73d9b..cae73d9b 100644 --- a/tcwg-base/tcwg-build/tcwg-buildslave/.mailrc +++ b/tcwg-base/home-data/tcwg-buildslave/.mailrc diff --git a/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/authorized_keys b/tcwg-base/home-data/tcwg-buildslave/.ssh/authorized_keys index bb7e338b..bb7e338b 100644 --- a/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/authorized_keys +++ b/tcwg-base/home-data/tcwg-buildslave/.ssh/authorized_keys diff --git a/tcwg-base/tcwg-build/tcwg-benchmark/.ssh/config b/tcwg-base/home-data/tcwg-buildslave/.ssh/config index 47e5dbf0..b5086896 100644 --- a/tcwg-base/tcwg-build/tcwg-benchmark/.ssh/config +++ b/tcwg-base/home-data/tcwg-buildslave/.ssh/config @@ -6,7 +6,7 @@ # !!! IMPORTANT NOTE. AS PENANCE, YOU WILL READ THIS NOTE OUT LOUD. !!! # -Host *.tcwglab *.aus-colo people.linaro.org aus-colo.linaro.org lab.validation.linaro.org +Host *.tcwglab people.linaro.org lab.validation.linaro.org #User @LDAP_USER@ #IdentityFile ~/.ssh/id_rsa @@ -16,15 +16,15 @@ Host *.tcwglab *.aus-colo people.linaro.org aus-colo.linaro.org lab.validation.l Host *proxy.* ProxyCommand ssh $(echo %h | sed -e "s/proxy\.//") nc -q0 localhost %p -# Access to Austin Colo. E.g., "ssh r1-a7.aus-colo" -Host *.aus-colo - ProxyCommand ssh aus-colo.linaro.org nc -q0 %h %p +# Access to Cambridge Lab. E.g., ssh dev-01.tcwglab +Host *.tcwglab + ProxyCommand ~/.ssh/ssh-tcwglab-nc.sh -q0 %h %p # Access to LAVA Lab. E.g., "ssh root@10.7.0.18.lab" Host *.lab ProxyCommand ssh lab.validation.linaro.org nc -q0 $(basename %h .lab) %p -Host *.tcwglab *.aus-colo *.lab +Host *.tcwglab *.lab tcwg-d05-01 libgomp-d05 tcwg-thx1-01 # Enable automatic multiplexing. ControlMaster auto # Soften up potential problems with killing master connection by using @@ -35,13 +35,8 @@ Host *.tcwglab *.aus-colo *.lab # Put the ssh socket on /tmp. Note that overlayfs can't host sockets, # so we always arrange /tmp to be on a ext4 or equivalent FS. ControlPath /tmp/ssh-%u-%r@%h:%p - # There is little point in forwarding X11 to machines outside of local network. - ForwardX11 no # Forward authentication agent and keep private keys in one place. ForwardAgent yes - # Ping server every 5min to avoid routers dropping connection. - # This matches -o BatchMode=yes setting used in cross-testing (see ABE) - ServerAliveInterval 300 # Disable checking of host keys for boards behind gateways. # !!! BE BECAREFUL TO ONLY DO THIS FOR MACHINES BEHIND SSH GATEWAY OR VPN !!! StrictHostKeyChecking no @@ -50,11 +45,28 @@ Host *.tcwglab *.aus-colo *.lab # Don't warn about "adding" host keys to /dev/null LogLevel FATAL -# Make sure we can connect to localhost (e.g., to a container running -# on localhost) with the settings for *.tcwglab -Host localhost.tcwglab - Hostname localhost +Host ci.linaro.org + Port 2020 -Host git.linaro.org dev-private-git.linaro.org +Host git*.linaro.org dev-private-git.linaro.org User git + +Host tcwg-d05-01 libgomp-d05 tcwg-thx1-01 tcwg-sq-*.tcwglab + Port 2022 + +Host tcwg-d05-01 libgomp-d05 + Hostname 147.75.106.138 + +Host tcwg-thx1-01 + Hostname 147.75.77.198 + +Host tcwg-ex40-01 ex40-01 + Hostname ex40-01.tcwglab.linaro.org + +Host * + # There is little point in forwarding X11 to machines outside of local network. + ForwardX11 no + # Ping server every 5min to avoid routers dropping connection. + # This matches -o BatchMode=yes setting used in cross-testing (see ABE) + ServerAliveInterval 300 # === END: TCWG SSH configuration === diff --git a/tcwg-base/tcwg-build/tcwg-benchmark/.ssh/known_hosts b/tcwg-base/home-data/tcwg-buildslave/.ssh/known_hosts index b649d65f..910daa41 100644 --- a/tcwg-base/tcwg-build/tcwg-benchmark/.ssh/known_hosts +++ b/tcwg-base/home-data/tcwg-buildslave/.ssh/known_hosts @@ -1,9 +1,13 @@ aus-colo.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBP8apVdw/JC+4rOiq/eG2LgjwJPCqKIlG/RwPVDe1VNOdtrmR6VnTQ5oQYkwt00h2rdI6dVzdW8Q9za7PGW6Sls= aus-colo.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBALdjDe/FnDjKDz+QzKWD/J1jIVVjied+1EFcxZ/uyGw9uZwVjReHP6ehGQCtQEM+SDklOXc6bz9UeBjG6+gDGXWBmldbS2yXvvxFmmbOf40h/rVFKq0CW/tJxyONoaf75Qj+aOyo3iUXMl+jJowb+LR5j0zbdTrSkM2qEsP8o0b3AAAAFQDfNOi88rFXdks5xpzmiKs0fzyYGQAAAIEAnzYTZ0dDAua6FHgqfoNVZHS4CV/le6G5FFCc4Kp4lB9ijRMjrDZNey5BkCooetqOBuPF8mYYAgZ28NemIUvvTenddfHFzWQTPl0meAdUhBW4EJMq0HWEV+kUKANUah2QlXWx8/g1x3cOhBzABTMOEBUFnlMx9d5A71JZypEN5UQAAACACiH996M1x/DjYmMp6BLwglYMDjQPrfI7QhNwa/8/wukDHlB6puB/HdPyxYZp/IVShHze6C3YpmV+dXxc85/vMNoVRx02ICC2gTkm2MoSFgaW1nO95tRPtyJ4AXa4ev4D22hNPF5SxgXfn2lT4uH8bWxvTrzgHs7JhAzD0oRbOh4= aus-colo.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCg5vMfuBLRroqEb6+CFLQikh1Wq6UD++SODY7bSdPDfN1wmurdp60AdVU+22nOXgK78mwYPJ0PEcTBMSE+OmryfZFDZm/+aPbALid/vFs8NuvFmEQ8vecEBPDGxJ3RpVxkNG5BrWMTJjWMJTCFdIh9my5vhBPEloAuDRthRNaRwvgqRw3GJAbSG2Cg4ZgOQi7Lv3ogQ/M3nXzy8KMp4KD7AtncylguPoVwDxNwjl+YoEujZDvpM4UiZDnh+Gxeru3EnEIgDvwbMizlrKL8Tm+2gA+j3cWkgIjCVJM+PW8V0aobp681ChqlbDlzK0oVmwUafdVv3dxzOSrjQH2rkaOn +[ci.linaro.org]:2020 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJW1L7ZeT7dC/otESvOQl8KZ/VlV08z0rmUPwwVJvDbuAlh6Qpn5LVPRe7IFEU/qePQQEKzn1Kw7x6Ces3e5mck= +[ci.linaro.org]:2020 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzIJCEw5MSW713q3I95jORM6fkdx22Z+eeanVvAy8fGssvh0QHZtG8kpesQLWmtaOxkkRwURK+ui4OnoO/FCaRGWX0SUpnHxPF23OcwejLGXX9uAhtFY8s2hyvdrWDyB4vGjNjqT8NhnciETy3WNV0D0tKCfwEy6WkjIM0B9acrDxhYYDLqSXWUBAdJ7J8Mgg/L1nAPWM8DC0H+5SmzYvfxxnzprq/EvLDL950262WN10nzx2KsFD0zCW4eggp2Qcqa5XX6Ou/gHfIW8J8gncOjfpR4c6DN9NS7rX71F7BsLhkMwu1GwKhf09qvtGT3LdR2ilNOG36Uvq7WksiBofr +[ci.linaro.org]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCAxH/zCl/clVrd2Q8Tai5wea0homs6uPPf57qemRP/MFHOz4cIYKEbEczLD87b8u2dK+qfjKsr33jSmW8NbJbvJZ6bFhVUcpXl2BxAYbFQVZJq5YDsDEmRFbvkjzEjiRGHMKCl8ouh1c5lTLkLAKZMu2cKc7X0sIMqwrwOPn/RE8cCrDYkhxTZy2IJ8O8MrJoXmwjiT5mJpe5y7kGVzzESvHBbhtknLa5HuYuyzU88Zyi8m6LjJc9OOTxPBuXiO1c7Oblq7q2Sjk7X+iDld1+m+uUkI2Bro5P2oxneapx2As6R9IUc3zd+YGWcjSiI1CnCb1EykIBzS+yKDfoPg+M7 dev-private-git.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= dev-private-git.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAK10xjDXtqiW6S02TFvIQUmjTyu+tpiT0IVTp5dlZX5rT1EDi4DtRgtoO/R4WncAs0GE8FqaI/IqljuYlJbHOrFCxU3OWKB+z2Ue3oXs3kouoFP3coF4exBZLEBX4JQ/HI5Ii88fnE/U70/+wN/mMAtcOrsgGWGXOv8yFZEQaKJJAAAAFQCfVbaD5KdaABTLwQ8CXRuZ+PAeHwAAAIBmppcf9sx9M4KAgiOQRGW+7/eImJHFRazQSe8Qbiqo0H7OQhIRcLIm6+PAtKgxxSaQErAo4z/xM7d2lhqOyydK5GDpILgV3qHUFAgQ9vajL+ga5/VeRTqg6R91kYgIKnEl3y8/iW6eRcJF/jzYfDcaFG0Z3gsOtHzjTsCuV8KMLwAAAIBupI2LDTsUYa64hSKvGhEVPMj8VKx5RX4NWQU/dlNNhlFRTzV42giujZ146vH5SGqagR3daX+o6Xm++GDJ+AedzJ8zBc9dAwU7ao4fd23bsyURvNxC7K5DKJnlCDS6xk+6wv6Hz9VdbaIEE5TPxSGqZEOK1V+pbgv+cMUGACy43Q== dev-private-git.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC34bjTOKJIq8MVSeC5gddQlbR0hyvvTZbrpW7KXgCzkLTFZxa05wbz8VC1l7ruPotQBgrICgLYmrbjrASqcY//9OPLDa1Pf/MUIu2F2lA1W/5E3psGYmyC9GTvmjKgu39Rad5ujXMeMLjuzVPCmo+WhewgugDSV4Fcggd6B6YXHGtoE15ctSw4moerUq1+2BXVgFxUyMoGcpSCeLnbvWpmi6xWoGQOSnrQ4Z/VmZ5WZ87vQsiiWEAsqmMOHHacunnSph7uzQXJlHNajdeGnr2NF+EgcmQ0N6vivZDRLmRYuSmizjCOHSRZxSm/0UJC/ewVzp9BwRepiNKWsjb4gTMb +[dev-private-review.linaro.org]:29418 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDZ6AQ2WyZSO43657/fFpxGgVY73kUwh1R1eXpZp27T6lAI5XFQ7YS8HjQ2O7e4edGSpJHHrqVuZphKpqu11Lz8= [dev-private-review.linaro.org]:29418 ssh-dss AAAAB3NzaC1kc3MAAACBAM596jW8Kbsh/ApdoP3r7UvrSOzhnoG1ZHYngER+Dd9e0iGJY1Wbpth7ngngpALl3PQQ99R5xUt8wvcOcICq+vF34FR/Gym+7VjaMLI7DxF48OrUAJnx6zINNlpXbMAI0nptWcKoL/xdmC7AoBOjH1Q+jGTiKISmXTE1w5iK8qp3AAAAFQDwzizM3qhYdknasNV/vp84o19FWQAAAIEAqLjr9vNsgr1snOdyKOhRuyidqf/zThaxuJaUktxLDKU0DDip+FGqLYiS2VzNuSWMaKjkBjITBi0sXktmUhhbPvBHhyzLy3Hz6BOdXpUAoq70QMOcocE9IsEfmqtkOsx/BZ1uCV6W051Gsci4PxK16q9zolpAEp4/3wEWGH+ueJIAAACAERdZ+vCZl6iDzq6XpYFKZ1r6i/CjX5KIBWKCzoN/Z8fo96rZqFA23G5tXM8+YMYnLdwb/qvNSCz6dWpH2FMS4yj7zo2l3GjguC8JOfar0Rt8fihJyaynX+rD/aP3b+h5ot1b/645qrfvpfmeh3gZt3c1kjy5fyopujyGNTUtq6c= [dev-private-review.linaro.org]:29418 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCofUDWYYwzE4YWotCffwCxLoRuVCMb6DP+eObwbTPHMe5asK94Y1jPNeK1yUVJIuIAUO8aA6pIq3uLKlusyGLZe1YBpM+7YX3HMOBfCOeOemHFxETlj/HC7islYLYT7Sm/DweiN1kxgP8Q/PhPIA5czCZGHS/+T/VLbMApyyzdTmswaqfgJejyK9juHAcmxT3Tupj2SGOuOamyKfhfsPxGwIchivy/mt7xBTk5cNiSDeLAfMn2rHsilfLjb+IoeE6EvtqG3+rTh+ttulHp2vSeZkK79tuyVWt+XOZjD4RDfk1taW9JjaafkyOW0VCF4gqOMfJU24u88xTCgqkgT1bN dev-private-review.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= @@ -18,11 +22,11 @@ git-us.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdH git-us.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAJbwbYgvbS+8vnlhJLe1AwgvbBqu0kBw7pBjQgF47lXRKqZbzwQc+hHmMbczJOfIoo1PX39Ifhz142u+yN7PQgUlU+jzI2Q9cjSqfrS02rV0cU2TQRKvgTQH89qMk2M0jOimcz1UCZkCgS2wj6hb1HU9pkhzpH7d+1/M/31Xc5uPAAAAFQC82/+3qHmNd8G8mrPJz9LfdUpsmwAAAIASypGV3LlIOE3bDlZwgr3rZ+44MPq7c16SbpjnjqbsOzPAyllD8MeY0eynuDqtGtT4RtC8uRgmgw7MW1HtYnTSlYt0up66LT19LCRKme8CVtggqjwLTUEKWmrdbe+PSvczKjeszOD0R5qGasSvOOKMJ5jLMnJ9jMhHhItc53eM5AAAAIBXWdudBBziVVk9VE+z1kvOYsCGYosLglqzJMsFfVQh948Ci9PowKx8xognWEtdaZW7+2oEIwL8QR+zPtzNY447i6iRuJy1TaDZfJU8nTfr07KoXB4B7rhADByXl4x9Uk25m9n9XjF/ctjIzyspvcRpqZXMHBUuZalID6E39YJqnA== git-us.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV lab.validation.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFZDLd4f9cph9A64+kXUpGvuRmInB3HAtHU9T6wVIsp4HkYLLZD59I4lF/u2VLfM7j10XMNPO7ybOJMM+1zIZlM= -lab.validation.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAK75t/OG68cN0mtVNrliCi8/7tajozJQDGvxgnpben1F84IzWNJpBdtEgaXeo3zD0cQl1nM5IftBjSKMkomdsaDh7u6A57juaANU9NKIXW2BGmaICZxllFAb/Cmnq4mDnZJ33G5UyGPVA49bUEKw8DLe8FLVlO/wcghJhjoy7prZAAAAFQD8zrwLDwd4M4vKKWu9nju7fI3oywAAAIBVE6ykor/q56qYTYqaAvcRkq7331jdYHTqiAVcO9KyrdOS7yCgtb2Dw+O0rq5ftLSF73ad5ACbw+XbzQVJAeKDaDs5mLf3eYF0+3YODFRHYDsbbihO0uZcGHFPvGDD9odBZhWFIZaFSdboodSuyzxIgLu0EZAsHoSP2wjTGdiXFwAAAIAkPcANYxo0jm8BuCEYR+SXXS4aj83dUGbPP54UU7M+jrrfG1M+JVFh3kEsXr9zptZajY+NrqlnXqPp4HZyORUUEN+Szkjbd2p8CCCQvv1PODGJtXFzwpatUP27I2ik/lZG9OXxBQkO+QxjuJ+pcjXPdBRz6DwWoUM63+QFXBLpsw== lab.validation.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDtto5bsPJ3NuXsWtwMR8bsAzLvkBstmF1QP+eC6jUBsCDHMtBW/zAWJYNPDr30vRkV7J8D64Pd91rgjbqF8mOPDlyVlln03dYtOV3hzVuXLZfxodslJsw4lB+ZhxLfcZAKqqFURJEhrJNJmtFBprxFRbdS1iQHJHJohg3zS9zlLFvUpZGWooLFEM2z2NdUfSiR12ePvdW1YsEimJR/b3h1it/Wot0uEB6VONZGyMrrWvsntJV1NdQFxJR8waTz1sBvQQBJGX+SgEXY1CB3AUiF4yIy5WZ/4YCOk0kO9qABvV0Ks357OU5uY5GMgalAy2RJyvceNf6erlR4vwmpdnDH people.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKKtlH9IGVw1wE3daicRzyOdIM9MzWfUH1tUB8R/md36RDTSqG8VGYrn1E5pJcs7rsk05ZCUQIaglefMytoOvQ8= people.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAOnQwFbvISNteLPMb/Srm2xwFDrxDql+kxtlZyohrSZ72K9GDg+dqb4W7/QiVrOMhfRzaL93Hj/FLCxKqUXdnTQqekqGosRQK7fLNJvh6DNizoJ+aWzKp1EL3kF2GgKP33ZPtRJYrBdxnc+DDc0yP/He3cyrzbg1nsWSedc1MMVpAAAAFQCm3xIrM1iR9ozuyjKRGwhnrKo9GQAAAIBkdN4dNB298m+2aXqMmLOj1Ry9/S6CTiMn5c9T/luYpWFRnsyuHlBIcZFjyOMtU3bc8b7KwqP8t3XTQbolbqtYOWqPeiaIH/VAk7w9o1tePRwtbTadksYw+UJGtn9c+52uQfGZdjfyjsKs7hEWgE72gTeIb9g1QZ+WCoVfSzNacgAAAIA9T2ONJcRFX3heeDcl6gho8Wj264GDhS5/iqdMCClO3wKUY04hPSpXKRhRm/zzFGb9537Qj6LluDAcg+m/D0FnoQkILLXnfiMnrlyoCCA/jZWrVZw8aQdDHM5LlDdDZKZV7djkbjF0nVvWRTrvc20yQeDLLImaTDOfYjmJ75L1vQ== people.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8OveP3mffvlzMEGuZQzol8zoDwCdAzrNiBfX9rv6lDGr86Sl4MVKs/6cYdjbtrUJD7ls5gc8cfjH5EXPh/HuoBj7Bi+UNfyyGSqrZgTFPpyLx50QJDeogcUN54NL+N/X6HtQtyvGwEXgb26S9ec7LFfyxqT8Yy370XH/y7qAtJgS3UTkf8kzIWgZQvU5MU3FqhOn9mzI+KqsBMRKt0JpW7H2VRYiaHqpshwpuNHRDEQBMnRVHDpo8SZRq21pwRjdTzuzGJv2enCW018jWC/HMmTaaDWzX6SO+JQs9NFVUpM6hg+ysa5piDXnCNQ8Ry6l0nlAjgUt92NEe4OeANrt9 +[review.linaro.org]:29418 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPzkmW4axU/BXRtRkR42I8FVvWjGhB4CUtTC3cSkhu6L0Oo9i+ija/hahkPT0DC+S0k/vEL7s4mC5SrdNCeJO/0= [review.linaro.org]:29418 ssh-dss AAAAB3NzaC1kc3MAAACBAPB0SE19HQ0dEtm3Unp7+JiNeHlIWNs4j9yN+2Q/fxmBT2ZZ0a5I4gg63b5rM/1Li/6k0f/CtSYBH/mhmjKaEKIQV/c/lmuZivUAfTPT0ld3voXHwRhgpWI/WOiRdsTRZZW2yUHx/troO53mx4eIISKfab+t+vCU5Af+sgTBF6InAAAAFQDGR2ccfQSWVuSyzgvK8f7FT8olTQAAAIBHZqySRfjEnnx9h0aS6i2H21dmZxUllwIJpdpS6XWzvMzVwBb1DKx8bO0WwZeTnxxs1BKVAjmSDkDGYJWHxyU8kQ8aFsBo0KwbNEKXozaK3Gf2YF289xQsigbtPUWYXDz1PNEXtIS9AXdCRq4i09ujO3ayxq4lX2n0LIQ4IhM+RgAAAIB2SvnzVadjW14AN9F9ZEfnK0JRpBTKjz+kQSS1TJiRI/dSHG6CwwXjD1G9YW8mfGhPOPYHIE2MF2n7d7DfqBdeeee0PnwBQ0YBc5qfhQ9Gpi+hqXSem1YaD2YRG40que5bu/Rd6NksnSLg/93Z3L3fN+qTeApRqHQWRrfswGgi+A== [review.linaro.org]:29418 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMfTLkTmsbtahAiVJTKXRFbR9MQ/vDH/JPj4QN3XPHJuubxLhUf8WObEBtML7J11uvVM1oDTwM5YG5yjyBnc+85OaQaB9tMPDheGhfMG40F4vxdSnQL29ihyrls0hrFTY9UZ4Y2FmJwYL0rOnGU7iPyNuExQwfg2bkdw67aH9nEGjSd2eXYl2bI4DHujy5GJiV3dR9TlUF0iaSeHVSIX5t9I/BXK+AiSqHTrvwdGGi9XvL6xEWYMOZOpJnCH8Q4OSibsFfQXnCMgIFeO7J/ZMGXqltXOtztgQMr8VvRRD3S+Lcp8yKb5aUjWwoCxb4YzEUbQE04SRVeAGjsfNJcXgT review.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= diff --git a/tcwg-base/home-data/tcwg-buildslave/.ssh/ssh-tcwglab-nc.sh b/tcwg-base/home-data/tcwg-buildslave/.ssh/ssh-tcwglab-nc.sh new file mode 100755 index 00000000..d088179f --- /dev/null +++ b/tcwg-base/home-data/tcwg-buildslave/.ssh/ssh-tcwglab-nc.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +if grep -q "nameserver 192.168.16.3" /etc/resolv.conf; then + # If we are in one of TCWG Cambridge subnetworks, then use straight nc. + exec nc "$@" +else + # Otherwise jump from ci.linaro.org + exec ssh -Snone ci.linaro.org nc "$@" +fi diff --git a/tcwg-base/home-data/yvan.roux/.ssh/authorized_keys b/tcwg-base/home-data/yvan.roux/.ssh/authorized_keys new file mode 100644 index 00000000..05661935 --- /dev/null +++ b/tcwg-base/home-data/yvan.roux/.ssh/authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDh/oEDJ6J0ye3Mi86OnfG/agqZbNc7qYX5CLl8QVz2YInzSfRTKhqpNSVGBV+wjzzRRJNfXo7OISkE1Rut4tD8TZoeqz/ZeDBtcgbSb84F9iMXnXBSh+75/JjlmOaxkMkwSEpbtH+9WabVW21mX5Fl4WLj8O6DKl3guF6B6nuxX793uDdSD1sRH0qrRYKOSM1AdrTJgNvG/pQCPVcTYNWq7DeeWGo+9pi2vb+jNS2OaKhl/j29Vjdj+hO29AHCQTjFsWpYY+KWvqsFYO2tB67s6kWQaJRuI/lg4OhNUFYBlReSTYYF+1Gnyx6SoM/UV1HGBIOgMRgK0PuQR2P/rZerLleTOjEtc2zf9eSD3NTyzormuSlNrtiGXk4Mum29JeudB1qEGCsYrddi3igopX+2TMHtgmMKN6RobE/tvZQtBl4jXboKkCTx/Otsc8pPIrxmyUbDLMvsS8WMXZIYP5rdL9tJRb269k3lvga0h1K6ZA89MlAphjBSYNiOL4doMQukJN44RwSwoty6vtNELzVbfZjicWzzi55xjhpqvAqEIQAKN2CsPuisULk+18iELa3RBfUgYDuwwOTqYp+VvGV3TGJpAcwiBVMUtpjMGXG6Rr41fF77dulfqrs93tubYHuc1F/xXNsUwb7uFbSI5GwO74WCN2kAPkn5XPRsm353Aw== yvan.roux@linaro.org diff --git a/tcwg-base/home-data/yvan.roux/.tmux.conf b/tcwg-base/home-data/yvan.roux/.tmux.conf new file mode 100644 index 00000000..2a041028 --- /dev/null +++ b/tcwg-base/home-data/yvan.roux/.tmux.conf @@ -0,0 +1,10 @@ +set -g default-terminal "screen-256color" +set-option -g prefix ` +bind-key ` send-prefix +set -g mouse on +set-window-option -g mode-keys vi +set -g status-bg "colour0" +set -g status-left "#[fg=colour9][#H] " +set -g status-right '#[fg=colour33,bg=default] %l:%M%p' +setw -g window-status-current-format "#[fg=colour1,bg=colour234,nobold,nounderscore,noitalics]#[fg=colour41,bg=default,bold] #I:#W #[fg=colour231,bg=default,nobold,nounderscore,noitalics]" +setw -g window-status-format "#[fg=colour31,bg=default,nobold,nounderscore,noitalics] #I:#W #[fg=colour234,bg=default,nobold,nounderscore,noitalics]" diff --git a/tcwg-base/new-user.sh b/tcwg-base/new-user.sh new file mode 100755 index 00000000..10463880 --- /dev/null +++ b/tcwg-base/new-user.sh @@ -0,0 +1,112 @@ +#!/bin/bash + +set -euf -o pipefail + +usage () +{ + exit 1 +} + +passwd_ent="" +group="" +home_data="default" +update=false +user="" +verbose=false + +while [ $# -gt 0 ]; do + case "$1" in + --passwd) passwd_ent="$2" ;; + --group) group="$2" ;; + --home-data) home_data="$2" ;; + --update) update="$2" ;; + --user) user="$2" ;; + --verbose) verbose="$2" ;; + *) echo "ERROR: Wrong option: $1"; usage ;; + esac + shift 2 +done + +if $verbose; then set -x; fi + +if [ x"$home_data" = x"default" ]; then + home_data="" + if [ -d /home-data/ ]; then + home_data="/home-data" + fi +fi + +if [ x"$passwd_ent" = x"" -a x"$home_data" != x"" -a x"$user" != x"" ]; then + passwd_ent=$(grep "^${user%%:*}:" "$home_data/passwd") +fi + +if [ x"$group" != x"" ]; then + gid=$(echo "$group" | cut -s -d: -f 2) + group=$(echo "$group" | cut -d: -f 1) + + if [ x"$gid" != x"" ]; then + action="add" + if $update && getent group $group >/dev/null; then + action="mod" + fi + group${action} -g $gid $group + fi + + group_opt="-g $group" +elif [ x"$passwd_ent" != x"" ]; then + gid=$(echo "$passwd_ent" | cut -d: -f 4) + group_opt="-g $gid" +else + group_opt="" + gid="" +fi + +if [ x"$user" = x"" ]; then + user=$(echo "$passwd_ent" | cut -s -d: -f 1,3) +fi + +uid=$(echo "$user" | cut -s -d: -f 2) +user=$(echo "$user" | cut -d: -f 1) + +if [ x"$uid" = x"" -a x"$passwd_ent" != x"" ]; then + uid=$(echo "$passwd_ent" | cut -d: -f 3) +fi + +if [ x"$user" != x"" ]; then + if [ x"$passwd_ent" != x"" ]; then + comment=$(echo "$passwd_ent" | cut -d: -f 5) + shell=$(echo "$passwd_ent" | cut -d: -f 7) + fi + + aux_groups="kvm" + if [ x"$home_data" != x"" ]; then + for g in $(grep "$user" "$home_data/group" | cut -d: -f 1); do + if [ x"$g" = x"$group" ]; then + continue + fi + aux_groups="$aux_groups,$g" + done + fi + + action="add" + if $update && getent passwd $user >/dev/null; then + action="mod" + fi + user${action} $group_opt -G $aux_groups \ + -m -d /home/$user \ + ${uid:+-u $uid} \ + ${comment:+-c "$comment"} \ + ${shell:+-s "$shell"} \ + $user + + sudoers_file=/etc/sudoers.d/$(echo $user | tr "." "-") + echo "$user ALL = NOPASSWD: ALL" > $sudoers_file + chmod 0440 $sudoers_file + + if [ x"$home_data" != x"" ]; then + chown -R $user${gid:+:$gid} $home_data/$user/ + chmod -R go-w $home_data/$user/ + chmod -R go-rwx $home_data/$user/.ssh/ + rsync -a $home_data/$user/ /home/$user/ + fi +fi diff --git a/tcwg-base/tcwg-build/Dockerfile.in b/tcwg-base/tcwg-build/Dockerfile.in index 39ef4f39..9033a56b 100644 --- a/tcwg-base/tcwg-build/Dockerfile.in +++ b/tcwg-base/tcwg-build/Dockerfile.in @@ -1,29 +1,28 @@ FROM linaro/ci-#{ARCH}-tcwg-base-ubuntu:#{DISTRO} -COPY new-user.sh /usr/local/bin/ - -RUN new-user.sh --user tcwg-buildslave:11827 --group tcwg-infra:9000 \ - && new-user.sh --user tcwg-benchmark:12326 --group tcwg-infra \ - && mkdir -p /home/tcwg-buildslave/workspace - -COPY tcwg-buildslave /home/tcwg-buildslave -COPY tcwg-benchmark /home/tcwg-benchmark - -RUN chown -R tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/ \ - && chown -R tcwg-benchmark:tcwg-infra /home/tcwg-benchmark/ \ - && chmod 0700 /home/tcwg-buildslave/.ssh/ /home/tcwg-benchmark/.ssh/ \ - && chmod 0600 /home/tcwg-buildslave/.ssh/* /home/tcwg-benchmark/.ssh/* +RUN while read line; do \ + if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \ + continue; \ + fi; \ + new-user.sh --passwd "$line"; \ + user=$(echo "$line" | cut -d: -f 1); \ + sudo -i -u $user ccache --print-config; \ + done </home-data/passwd #if ARCH_amd64 || ARCH_i386 # Install wine. On amd64 arch we need to enable i386, otherwise wine # won't meet dependencies (this is the case at least for trusty and xenial). RUN \ -#if ARCH_amd64 +#if ARCH_amd64 && (DISTRO_trusty || DISTRO_xenial) dpkg --add-architecture i386 && \ #endif apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ +#if DISTRO_trusty || DISTRO_xenial wine \ +#else + wine-stable \ +#endif && apt-get clean \ && rm -rf \ /var/lib/apt/lists/* \ diff --git a/tcwg-base/tcwg-build/build.sh b/tcwg-base/tcwg-build/build.sh index 99795026..929a5761 100755 --- a/tcwg-base/tcwg-build/build.sh +++ b/tcwg-base/tcwg-build/build.sh @@ -6,7 +6,7 @@ trap cleanup_exit INT TERM EXIT cleanup_exit() { - rm -rf new-user.sh tcwg-buildslave tcwg-benchmark + : } export LANG=C @@ -16,10 +16,6 @@ name=$(basename ${PWD} | cut -f3- -d '-') image=linaro/ci-${arch}-${name}-ubuntu:${distro} top=$(git rev-parse --show-toplevel) -cp $top/tcwg-base/tcwg-build/new-user.sh ./ -rsync -a $top/tcwg-base/tcwg-build/tcwg-buildslave/ ./tcwg-buildslave/ -rsync -a $top/tcwg-base/tcwg-build/tcwg-benchmark/ ./tcwg-benchmark/ - (cd ..; ./build.sh) "$top"/tcwg-base/validate-dockerfile.sh Dockerfile docker pull $image 2>/dev/null || true diff --git a/tcwg-base/tcwg-build/new-user.sh b/tcwg-base/tcwg-build/new-user.sh deleted file mode 100755 index d1b18953..00000000 --- a/tcwg-base/tcwg-build/new-user.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash - -set -euf -o pipefail - -usage () -{ - exit 1 -} - -group="" -key="" -user="" -verbose=false - -while [ $# -gt 0 ]; do - case "$1" in - --group) group="$2" ;; - --key) key="$2" ;; - --user) user="$2" ;; - --verbose) verbose="$2"; shift ;; - *) echo "ERROR: Wrong option: $1"; usage ;; - esac - shift 2 -done - -if $verbose; then set -x; fi - -if [ x"$group" != x"" ]; then - gid=$(echo "$group" | cut -s -d: -f 2) - group=$(echo "$group" | cut -d: -f 1) - - if [ x"$gid" != x"" ]; then - groupadd -g $gid $group - fi - - group_opt="-g $group" -else - group_opt="" -fi - -uid=$(echo "$user" | cut -s -d: -f 2) -user=$(echo "$user" | cut -d: -f 1) - -useradd -m $group_opt -G kvm ${uid:+-u $uid} $user - -sudoers_file=/etc/sudoers.d/$(echo $user | tr "." "-") -echo "$user ALL = NOPASSWD: ALL" > $sudoers_file -chmod 0440 $sudoers_file - -if [ x"$key" != x"" ] ; then - sudo -i -u $user mkdir -p /home/$user/.ssh - sudo -i -u $user chmod 0700 /home/$user/.ssh - cat "$key" | sudo -i -u $user tee /home/$user/.ssh/authorized_keys > /dev/null - sudo -i -u $user chmod 0600 /home/$user/.ssh/authorized_keys -fi diff --git a/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/config b/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/config deleted file mode 100644 index 47e5dbf0..00000000 --- a/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/config +++ /dev/null @@ -1,60 +0,0 @@ -# === BEGIN: TCWG SSH configuration === -# -# !!! THIS MUST BE COPIED TO THE START OF YOUR ~/.SSH/CONFIG FILE. !!! -# !!! IF YOU REPORT A PROBLEM WITH SSH, AND THIS CONFIGURATION IS NOT !!! -# !!! AT THE START OF YOUR FILE -- YOU HAVE OBVIOUSLY MISSED THIS VERY !!! -# !!! IMPORTANT NOTE. AS PENANCE, YOU WILL READ THIS NOTE OUT LOUD. !!! -# - -Host *.tcwglab *.aus-colo people.linaro.org aus-colo.linaro.org lab.validation.linaro.org - #User @LDAP_USER@ - #IdentityFile ~/.ssh/id_rsa - -# Proxy connections to custom ssh servers (inside containers) on firewalled -# hosts through "main" ssh server on that host. -# E.g., "ssh -p32768 proxy.dev-01.tcwglab" -Host *proxy.* - ProxyCommand ssh $(echo %h | sed -e "s/proxy\.//") nc -q0 localhost %p - -# Access to Austin Colo. E.g., "ssh r1-a7.aus-colo" -Host *.aus-colo - ProxyCommand ssh aus-colo.linaro.org nc -q0 %h %p - -# Access to LAVA Lab. E.g., "ssh root@10.7.0.18.lab" -Host *.lab - ProxyCommand ssh lab.validation.linaro.org nc -q0 $(basename %h .lab) %p - -Host *.tcwglab *.aus-colo *.lab - # Enable automatic multiplexing. - ControlMaster auto - # Soften up potential problems with killing master connection by using - # ControlPersist (which puts the master connection in background). - # Also ControlPersist has an undocumented feature that it will clean-up - # and replace stale ssh socket from a zombie connection. - ControlPersist 5m - # Put the ssh socket on /tmp. Note that overlayfs can't host sockets, - # so we always arrange /tmp to be on a ext4 or equivalent FS. - ControlPath /tmp/ssh-%u-%r@%h:%p - # There is little point in forwarding X11 to machines outside of local network. - ForwardX11 no - # Forward authentication agent and keep private keys in one place. - ForwardAgent yes - # Ping server every 5min to avoid routers dropping connection. - # This matches -o BatchMode=yes setting used in cross-testing (see ABE) - ServerAliveInterval 300 - # Disable checking of host keys for boards behind gateways. - # !!! BE BECAREFUL TO ONLY DO THIS FOR MACHINES BEHIND SSH GATEWAY OR VPN !!! - StrictHostKeyChecking no - # Don't store host keys for one-time containers - UserKnownHostsFile /dev/null - # Don't warn about "adding" host keys to /dev/null - LogLevel FATAL - -# Make sure we can connect to localhost (e.g., to a container running -# on localhost) with the settings for *.tcwglab -Host localhost.tcwglab - Hostname localhost - -Host git.linaro.org dev-private-git.linaro.org - User git -# === END: TCWG SSH configuration === diff --git a/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/known_hosts b/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/known_hosts deleted file mode 100644 index b649d65f..00000000 --- a/tcwg-base/tcwg-build/tcwg-buildslave/.ssh/known_hosts +++ /dev/null @@ -1,30 +0,0 @@ -aus-colo.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBP8apVdw/JC+4rOiq/eG2LgjwJPCqKIlG/RwPVDe1VNOdtrmR6VnTQ5oQYkwt00h2rdI6dVzdW8Q9za7PGW6Sls= -aus-colo.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBALdjDe/FnDjKDz+QzKWD/J1jIVVjied+1EFcxZ/uyGw9uZwVjReHP6ehGQCtQEM+SDklOXc6bz9UeBjG6+gDGXWBmldbS2yXvvxFmmbOf40h/rVFKq0CW/tJxyONoaf75Qj+aOyo3iUXMl+jJowb+LR5j0zbdTrSkM2qEsP8o0b3AAAAFQDfNOi88rFXdks5xpzmiKs0fzyYGQAAAIEAnzYTZ0dDAua6FHgqfoNVZHS4CV/le6G5FFCc4Kp4lB9ijRMjrDZNey5BkCooetqOBuPF8mYYAgZ28NemIUvvTenddfHFzWQTPl0meAdUhBW4EJMq0HWEV+kUKANUah2QlXWx8/g1x3cOhBzABTMOEBUFnlMx9d5A71JZypEN5UQAAACACiH996M1x/DjYmMp6BLwglYMDjQPrfI7QhNwa/8/wukDHlB6puB/HdPyxYZp/IVShHze6C3YpmV+dXxc85/vMNoVRx02ICC2gTkm2MoSFgaW1nO95tRPtyJ4AXa4ev4D22hNPF5SxgXfn2lT4uH8bWxvTrzgHs7JhAzD0oRbOh4= -aus-colo.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCg5vMfuBLRroqEb6+CFLQikh1Wq6UD++SODY7bSdPDfN1wmurdp60AdVU+22nOXgK78mwYPJ0PEcTBMSE+OmryfZFDZm/+aPbALid/vFs8NuvFmEQ8vecEBPDGxJ3RpVxkNG5BrWMTJjWMJTCFdIh9my5vhBPEloAuDRthRNaRwvgqRw3GJAbSG2Cg4ZgOQi7Lv3ogQ/M3nXzy8KMp4KD7AtncylguPoVwDxNwjl+YoEujZDvpM4UiZDnh+Gxeru3EnEIgDvwbMizlrKL8Tm+2gA+j3cWkgIjCVJM+PW8V0aobp681ChqlbDlzK0oVmwUafdVv3dxzOSrjQH2rkaOn -dev-private-git.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= -dev-private-git.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAK10xjDXtqiW6S02TFvIQUmjTyu+tpiT0IVTp5dlZX5rT1EDi4DtRgtoO/R4WncAs0GE8FqaI/IqljuYlJbHOrFCxU3OWKB+z2Ue3oXs3kouoFP3coF4exBZLEBX4JQ/HI5Ii88fnE/U70/+wN/mMAtcOrsgGWGXOv8yFZEQaKJJAAAAFQCfVbaD5KdaABTLwQ8CXRuZ+PAeHwAAAIBmppcf9sx9M4KAgiOQRGW+7/eImJHFRazQSe8Qbiqo0H7OQhIRcLIm6+PAtKgxxSaQErAo4z/xM7d2lhqOyydK5GDpILgV3qHUFAgQ9vajL+ga5/VeRTqg6R91kYgIKnEl3y8/iW6eRcJF/jzYfDcaFG0Z3gsOtHzjTsCuV8KMLwAAAIBupI2LDTsUYa64hSKvGhEVPMj8VKx5RX4NWQU/dlNNhlFRTzV42giujZ146vH5SGqagR3daX+o6Xm++GDJ+AedzJ8zBc9dAwU7ao4fd23bsyURvNxC7K5DKJnlCDS6xk+6wv6Hz9VdbaIEE5TPxSGqZEOK1V+pbgv+cMUGACy43Q== -dev-private-git.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC34bjTOKJIq8MVSeC5gddQlbR0hyvvTZbrpW7KXgCzkLTFZxa05wbz8VC1l7ruPotQBgrICgLYmrbjrASqcY//9OPLDa1Pf/MUIu2F2lA1W/5E3psGYmyC9GTvmjKgu39Rad5ujXMeMLjuzVPCmo+WhewgugDSV4Fcggd6B6YXHGtoE15ctSw4moerUq1+2BXVgFxUyMoGcpSCeLnbvWpmi6xWoGQOSnrQ4Z/VmZ5WZ87vQsiiWEAsqmMOHHacunnSph7uzQXJlHNajdeGnr2NF+EgcmQ0N6vivZDRLmRYuSmizjCOHSRZxSm/0UJC/ewVzp9BwRepiNKWsjb4gTMb -[dev-private-review.linaro.org]:29418 ssh-dss AAAAB3NzaC1kc3MAAACBAM596jW8Kbsh/ApdoP3r7UvrSOzhnoG1ZHYngER+Dd9e0iGJY1Wbpth7ngngpALl3PQQ99R5xUt8wvcOcICq+vF34FR/Gym+7VjaMLI7DxF48OrUAJnx6zINNlpXbMAI0nptWcKoL/xdmC7AoBOjH1Q+jGTiKISmXTE1w5iK8qp3AAAAFQDwzizM3qhYdknasNV/vp84o19FWQAAAIEAqLjr9vNsgr1snOdyKOhRuyidqf/zThaxuJaUktxLDKU0DDip+FGqLYiS2VzNuSWMaKjkBjITBi0sXktmUhhbPvBHhyzLy3Hz6BOdXpUAoq70QMOcocE9IsEfmqtkOsx/BZ1uCV6W051Gsci4PxK16q9zolpAEp4/3wEWGH+ueJIAAACAERdZ+vCZl6iDzq6XpYFKZ1r6i/CjX5KIBWKCzoN/Z8fo96rZqFA23G5tXM8+YMYnLdwb/qvNSCz6dWpH2FMS4yj7zo2l3GjguC8JOfar0Rt8fihJyaynX+rD/aP3b+h5ot1b/645qrfvpfmeh3gZt3c1kjy5fyopujyGNTUtq6c= -[dev-private-review.linaro.org]:29418 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCofUDWYYwzE4YWotCffwCxLoRuVCMb6DP+eObwbTPHMe5asK94Y1jPNeK1yUVJIuIAUO8aA6pIq3uLKlusyGLZe1YBpM+7YX3HMOBfCOeOemHFxETlj/HC7islYLYT7Sm/DweiN1kxgP8Q/PhPIA5czCZGHS/+T/VLbMApyyzdTmswaqfgJejyK9juHAcmxT3Tupj2SGOuOamyKfhfsPxGwIchivy/mt7xBTk5cNiSDeLAfMn2rHsilfLjb+IoeE6EvtqG3+rTh+ttulHp2vSeZkK79tuyVWt+XOZjD4RDfk1taW9JjaafkyOW0VCF4gqOMfJU24u88xTCgqkgT1bN -dev-private-review.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= -dev-private-review.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAK10xjDXtqiW6S02TFvIQUmjTyu+tpiT0IVTp5dlZX5rT1EDi4DtRgtoO/R4WncAs0GE8FqaI/IqljuYlJbHOrFCxU3OWKB+z2Ue3oXs3kouoFP3coF4exBZLEBX4JQ/HI5Ii88fnE/U70/+wN/mMAtcOrsgGWGXOv8yFZEQaKJJAAAAFQCfVbaD5KdaABTLwQ8CXRuZ+PAeHwAAAIBmppcf9sx9M4KAgiOQRGW+7/eImJHFRazQSe8Qbiqo0H7OQhIRcLIm6+PAtKgxxSaQErAo4z/xM7d2lhqOyydK5GDpILgV3qHUFAgQ9vajL+ga5/VeRTqg6R91kYgIKnEl3y8/iW6eRcJF/jzYfDcaFG0Z3gsOtHzjTsCuV8KMLwAAAIBupI2LDTsUYa64hSKvGhEVPMj8VKx5RX4NWQU/dlNNhlFRTzV42giujZ146vH5SGqagR3daX+o6Xm++GDJ+AedzJ8zBc9dAwU7ao4fd23bsyURvNxC7K5DKJnlCDS6xk+6wv6Hz9VdbaIEE5TPxSGqZEOK1V+pbgv+cMUGACy43Q== -dev-private-review.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC34bjTOKJIq8MVSeC5gddQlbR0hyvvTZbrpW7KXgCzkLTFZxa05wbz8VC1l7ruPotQBgrICgLYmrbjrASqcY//9OPLDa1Pf/MUIu2F2lA1W/5E3psGYmyC9GTvmjKgu39Rad5ujXMeMLjuzVPCmo+WhewgugDSV4Fcggd6B6YXHGtoE15ctSw4moerUq1+2BXVgFxUyMoGcpSCeLnbvWpmi6xWoGQOSnrQ4Z/VmZ5WZ87vQsiiWEAsqmMOHHacunnSph7uzQXJlHNajdeGnr2NF+EgcmQ0N6vivZDRLmRYuSmizjCOHSRZxSm/0UJC/ewVzp9BwRepiNKWsjb4gTMb -ex40-01.tcwglab.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBblrQ+VuEY6mQDq10+GgOPYJIsTfaHXYZi0O0mPr+ev1xNodJ0w45hiWWlmsLEiXiGsvvIiOgZcZsryCkGscDI= -ex40-01.tcwglab.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC37ZZKNZpSxQnWcu/5eNpFpEjIzL5eZyKUbn8ghkmk4jVS7fIbty/6s1ZH94UPwQDb07F4QF89esoH5k2ajAizLMNoLxeHU8ZCcqMFaNcmVWjTxKbiXLwRqcrgLUrNMQIGesV8l+xH+yozG2HKOBAnMVaea9+wCFvJWXgO4u54eEup2JcE3UroWIRA/mOL4KhBbyVVe47NbydYbP5G0mqpJjpLv5TuJwRT/aP/0nRH6cPrzuqGbic7cVR7Bu3f6ipttMAsPQRAoFBVYb5yRAt/RcDBu39r7hLHyhitjw0vBhGGV0B5CEzAqCE3ZyU0H+vmQ2GeN8aEtUWDSK9W7uzJ -git.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= -git.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAJbwbYgvbS+8vnlhJLe1AwgvbBqu0kBw7pBjQgF47lXRKqZbzwQc+hHmMbczJOfIoo1PX39Ifhz142u+yN7PQgUlU+jzI2Q9cjSqfrS02rV0cU2TQRKvgTQH89qMk2M0jOimcz1UCZkCgS2wj6hb1HU9pkhzpH7d+1/M/31Xc5uPAAAAFQC82/+3qHmNd8G8mrPJz9LfdUpsmwAAAIASypGV3LlIOE3bDlZwgr3rZ+44MPq7c16SbpjnjqbsOzPAyllD8MeY0eynuDqtGtT4RtC8uRgmgw7MW1HtYnTSlYt0up66LT19LCRKme8CVtggqjwLTUEKWmrdbe+PSvczKjeszOD0R5qGasSvOOKMJ5jLMnJ9jMhHhItc53eM5AAAAIBXWdudBBziVVk9VE+z1kvOYsCGYosLglqzJMsFfVQh948Ci9PowKx8xognWEtdaZW7+2oEIwL8QR+zPtzNY447i6iRuJy1TaDZfJU8nTfr07KoXB4B7rhADByXl4x9Uk25m9n9XjF/ctjIzyspvcRpqZXMHBUuZalID6E39YJqnA== -git.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV -git-us.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= -git-us.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAJbwbYgvbS+8vnlhJLe1AwgvbBqu0kBw7pBjQgF47lXRKqZbzwQc+hHmMbczJOfIoo1PX39Ifhz142u+yN7PQgUlU+jzI2Q9cjSqfrS02rV0cU2TQRKvgTQH89qMk2M0jOimcz1UCZkCgS2wj6hb1HU9pkhzpH7d+1/M/31Xc5uPAAAAFQC82/+3qHmNd8G8mrPJz9LfdUpsmwAAAIASypGV3LlIOE3bDlZwgr3rZ+44MPq7c16SbpjnjqbsOzPAyllD8MeY0eynuDqtGtT4RtC8uRgmgw7MW1HtYnTSlYt0up66LT19LCRKme8CVtggqjwLTUEKWmrdbe+PSvczKjeszOD0R5qGasSvOOKMJ5jLMnJ9jMhHhItc53eM5AAAAIBXWdudBBziVVk9VE+z1kvOYsCGYosLglqzJMsFfVQh948Ci9PowKx8xognWEtdaZW7+2oEIwL8QR+zPtzNY447i6iRuJy1TaDZfJU8nTfr07KoXB4B7rhADByXl4x9Uk25m9n9XjF/ctjIzyspvcRpqZXMHBUuZalID6E39YJqnA== -git-us.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV -lab.validation.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFZDLd4f9cph9A64+kXUpGvuRmInB3HAtHU9T6wVIsp4HkYLLZD59I4lF/u2VLfM7j10XMNPO7ybOJMM+1zIZlM= -lab.validation.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAK75t/OG68cN0mtVNrliCi8/7tajozJQDGvxgnpben1F84IzWNJpBdtEgaXeo3zD0cQl1nM5IftBjSKMkomdsaDh7u6A57juaANU9NKIXW2BGmaICZxllFAb/Cmnq4mDnZJ33G5UyGPVA49bUEKw8DLe8FLVlO/wcghJhjoy7prZAAAAFQD8zrwLDwd4M4vKKWu9nju7fI3oywAAAIBVE6ykor/q56qYTYqaAvcRkq7331jdYHTqiAVcO9KyrdOS7yCgtb2Dw+O0rq5ftLSF73ad5ACbw+XbzQVJAeKDaDs5mLf3eYF0+3YODFRHYDsbbihO0uZcGHFPvGDD9odBZhWFIZaFSdboodSuyzxIgLu0EZAsHoSP2wjTGdiXFwAAAIAkPcANYxo0jm8BuCEYR+SXXS4aj83dUGbPP54UU7M+jrrfG1M+JVFh3kEsXr9zptZajY+NrqlnXqPp4HZyORUUEN+Szkjbd2p8CCCQvv1PODGJtXFzwpatUP27I2ik/lZG9OXxBQkO+QxjuJ+pcjXPdBRz6DwWoUM63+QFXBLpsw== -lab.validation.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDtto5bsPJ3NuXsWtwMR8bsAzLvkBstmF1QP+eC6jUBsCDHMtBW/zAWJYNPDr30vRkV7J8D64Pd91rgjbqF8mOPDlyVlln03dYtOV3hzVuXLZfxodslJsw4lB+ZhxLfcZAKqqFURJEhrJNJmtFBprxFRbdS1iQHJHJohg3zS9zlLFvUpZGWooLFEM2z2NdUfSiR12ePvdW1YsEimJR/b3h1it/Wot0uEB6VONZGyMrrWvsntJV1NdQFxJR8waTz1sBvQQBJGX+SgEXY1CB3AUiF4yIy5WZ/4YCOk0kO9qABvV0Ks357OU5uY5GMgalAy2RJyvceNf6erlR4vwmpdnDH -people.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKKtlH9IGVw1wE3daicRzyOdIM9MzWfUH1tUB8R/md36RDTSqG8VGYrn1E5pJcs7rsk05ZCUQIaglefMytoOvQ8= -people.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAOnQwFbvISNteLPMb/Srm2xwFDrxDql+kxtlZyohrSZ72K9GDg+dqb4W7/QiVrOMhfRzaL93Hj/FLCxKqUXdnTQqekqGosRQK7fLNJvh6DNizoJ+aWzKp1EL3kF2GgKP33ZPtRJYrBdxnc+DDc0yP/He3cyrzbg1nsWSedc1MMVpAAAAFQCm3xIrM1iR9ozuyjKRGwhnrKo9GQAAAIBkdN4dNB298m+2aXqMmLOj1Ry9/S6CTiMn5c9T/luYpWFRnsyuHlBIcZFjyOMtU3bc8b7KwqP8t3XTQbolbqtYOWqPeiaIH/VAk7w9o1tePRwtbTadksYw+UJGtn9c+52uQfGZdjfyjsKs7hEWgE72gTeIb9g1QZ+WCoVfSzNacgAAAIA9T2ONJcRFX3heeDcl6gho8Wj264GDhS5/iqdMCClO3wKUY04hPSpXKRhRm/zzFGb9537Qj6LluDAcg+m/D0FnoQkILLXnfiMnrlyoCCA/jZWrVZw8aQdDHM5LlDdDZKZV7djkbjF0nVvWRTrvc20yQeDLLImaTDOfYjmJ75L1vQ== -people.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8OveP3mffvlzMEGuZQzol8zoDwCdAzrNiBfX9rv6lDGr86Sl4MVKs/6cYdjbtrUJD7ls5gc8cfjH5EXPh/HuoBj7Bi+UNfyyGSqrZgTFPpyLx50QJDeogcUN54NL+N/X6HtQtyvGwEXgb26S9ec7LFfyxqT8Yy370XH/y7qAtJgS3UTkf8kzIWgZQvU5MU3FqhOn9mzI+KqsBMRKt0JpW7H2VRYiaHqpshwpuNHRDEQBMnRVHDpo8SZRq21pwRjdTzuzGJv2enCW018jWC/HMmTaaDWzX6SO+JQs9NFVUpM6hg+ysa5piDXnCNQ8Ry6l0nlAjgUt92NEe4OeANrt9 -[review.linaro.org]:29418 ssh-dss AAAAB3NzaC1kc3MAAACBAPB0SE19HQ0dEtm3Unp7+JiNeHlIWNs4j9yN+2Q/fxmBT2ZZ0a5I4gg63b5rM/1Li/6k0f/CtSYBH/mhmjKaEKIQV/c/lmuZivUAfTPT0ld3voXHwRhgpWI/WOiRdsTRZZW2yUHx/troO53mx4eIISKfab+t+vCU5Af+sgTBF6InAAAAFQDGR2ccfQSWVuSyzgvK8f7FT8olTQAAAIBHZqySRfjEnnx9h0aS6i2H21dmZxUllwIJpdpS6XWzvMzVwBb1DKx8bO0WwZeTnxxs1BKVAjmSDkDGYJWHxyU8kQ8aFsBo0KwbNEKXozaK3Gf2YF289xQsigbtPUWYXDz1PNEXtIS9AXdCRq4i09ujO3ayxq4lX2n0LIQ4IhM+RgAAAIB2SvnzVadjW14AN9F9ZEfnK0JRpBTKjz+kQSS1TJiRI/dSHG6CwwXjD1G9YW8mfGhPOPYHIE2MF2n7d7DfqBdeeee0PnwBQ0YBc5qfhQ9Gpi+hqXSem1YaD2YRG40que5bu/Rd6NksnSLg/93Z3L3fN+qTeApRqHQWRrfswGgi+A== -[review.linaro.org]:29418 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMfTLkTmsbtahAiVJTKXRFbR9MQ/vDH/JPj4QN3XPHJuubxLhUf8WObEBtML7J11uvVM1oDTwM5YG5yjyBnc+85OaQaB9tMPDheGhfMG40F4vxdSnQL29ihyrls0hrFTY9UZ4Y2FmJwYL0rOnGU7iPyNuExQwfg2bkdw67aH9nEGjSd2eXYl2bI4DHujy5GJiV3dR9TlUF0iaSeHVSIX5t9I/BXK+AiSqHTrvwdGGi9XvL6xEWYMOZOpJnCH8Q4OSibsFfQXnCMgIFeO7J/ZMGXqltXOtztgQMr8VvRRD3S+Lcp8yKb5aUjWwoCxb4YzEUbQE04SRVeAGjsfNJcXgT -review.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= -review.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAJbwbYgvbS+8vnlhJLe1AwgvbBqu0kBw7pBjQgF47lXRKqZbzwQc+hHmMbczJOfIoo1PX39Ifhz142u+yN7PQgUlU+jzI2Q9cjSqfrS02rV0cU2TQRKvgTQH89qMk2M0jOimcz1UCZkCgS2wj6hb1HU9pkhzpH7d+1/M/31Xc5uPAAAAFQC82/+3qHmNd8G8mrPJz9LfdUpsmwAAAIASypGV3LlIOE3bDlZwgr3rZ+44MPq7c16SbpjnjqbsOzPAyllD8MeY0eynuDqtGtT4RtC8uRgmgw7MW1HtYnTSlYt0up66LT19LCRKme8CVtggqjwLTUEKWmrdbe+PSvczKjeszOD0R5qGasSvOOKMJ5jLMnJ9jMhHhItc53eM5AAAAIBXWdudBBziVVk9VE+z1kvOYsCGYosLglqzJMsFfVQh948Ci9PowKx8xognWEtdaZW7+2oEIwL8QR+zPtzNY447i6iRuJy1TaDZfJU8nTfr07KoXB4B7rhADByXl4x9Uk25m9n9XjF/ctjIzyspvcRpqZXMHBUuZalID6E39YJqnA== -review.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV diff --git a/tcwg-base/tcwg-dev/Dockerfile.in b/tcwg-base/tcwg-dev/Dockerfile.in index ecc23f29..4aed65d8 100644 --- a/tcwg-base/tcwg-dev/Dockerfile.in +++ b/tcwg-base/tcwg-dev/Dockerfile.in @@ -1,17 +1,5 @@ FROM linaro/ci-#{ARCH}-tcwg-base-ubuntu:#{DISTRO} -COPY run.sh . -COPY start.sh . - -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - software-properties-common \ - && apt-get clean \ - && rm -rf \ - /var/lib/apt/lists/* \ - /tmp/* \ - /var/tmp/* - RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ apt-file \ @@ -26,29 +14,26 @@ RUN apt-get update \ #endif less \ locales \ - libgmp-dev \ - libmpc-dev \ - libmpfr-dev \ mc \ screen \ + software-properties-common \ stgit \ tmux \ - unifdef \ && apt-get clean \ && rm -rf \ /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* -RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \ - && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \ - && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ +RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ && apt-file update # Create directories required for X11. RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \ && chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix +COPY run.sh start.sh / + #if ARCH_amd64 || ARCH_arm64 ENTRYPOINT ["/run.sh"] #else diff --git a/tcwg-base/tcwg-dev/run.sh b/tcwg-base/tcwg-dev/run.sh index 8029a32f..a0c9ce6b 100755 --- a/tcwg-base/tcwg-dev/run.sh +++ b/tcwg-base/tcwg-dev/run.sh @@ -7,29 +7,6 @@ if [ x"$1" = x"start.sh" ]; then exit 0 fi -if ! [ -f /etc/sudoers.d/user ]; then - passwd_ent="$1" - groupname="$2" - pubkey="$3" - - username="$(echo $passwd_ent | cut -d: -f 1)" - uid="$(echo $passwd_ent | cut -d: -f 3)" - gid="$(echo $passwd_ent | cut -d: -f 4)" - comment="$(echo $passwd_ent | cut -d: -f 5)" - home="$(echo $passwd_ent | cut -d: -f 6)" - shell="$(echo $passwd_ent | cut -d: -f 7)" - - groupadd -g "$gid" "$groupname" - useradd -m -u "$uid" -g "$groupname" -G kvm -c "$comment" -s "$shell" "$username" - - if ! [ -f /home/$username/.ssh/authorized_keys.docker ] \ - && [ x"$pubkey" != x"" ]; then - sudo -u $username mkdir -p /home/$username/.ssh/ - echo "$pubkey" | sudo -u $username tee /home/$username/.ssh/authorized_keys.docker > /dev/null - fi - - echo "$username ALL = NOPASSWD: ALL" > /etc/sudoers.d/user - chmod 440 /etc/sudoers.d/user -fi +new-user.sh --update true "$@" exec /usr/sbin/sshd -D diff --git a/tcwg-base/tcwg-dev/start.sh b/tcwg-base/tcwg-dev/start.sh index b06c8bba..c22f008f 100755 --- a/tcwg-base/tcwg-dev/start.sh +++ b/tcwg-base/tcwg-dev/start.sh @@ -5,21 +5,15 @@ set -e usage () { cat <<EOF -$0 [OPTIONS] -- IMAGE +$0 [OPTIONS] -- IMAGE [NEW_USER_PARAMS] Options: - --getent DATA - User data from "getent passwd" - - --group NAME - Primary group name + --home volume/bind + How to mount /home; default is volume home-$user --name CONTAINER_NAME Name of the container - --pubkey KEY - SSH public key to install inside container - --user USER Username to create inside the container @@ -29,19 +23,15 @@ EOF exit 1 } -getent="default" -group="default" +home="volume" name="default" -pubkey="ldap" user="$USER" verbose=false while [ $# -gt 0 ]; do case $1 in - --getent) getent="$2"; shift ;; - --group) group="$2"; shift ;; + --home) home="$2"; shift ;; --name) name="$2"; shift ;; - --pubkey) pubkey="$2"; shift ;; --user) user="$2"; shift ;; --verbose) verbose="$2"; shift ;; --) shift; break ;; @@ -51,6 +41,7 @@ while [ $# -gt 0 ]; do done image="$1" +shift if $verbose; then set -x @@ -78,47 +69,55 @@ if [ x"$name" = x"default" ]; then fi mounts="" -if [ -d "/home/$user" ]; then - # Bind-mount $HOME - mounts="$mounts -v /home/$user:/home/$user" -else - # Create/re-use docker volume and mount it as user's home - mounts="$mounts -v home-$user:/home" + +docker_host=false +if [ -f "/.dockerenv" ] && mount | grep -q "/run/docker.sock "; then + docker_host=true fi -if [ -d "/home/tcwg-buildslave" ]; then +home_top="/home" +if $docker_host; then + # If inside "host" container (with proxied docker and /home from host-home + # volume), convert paths to refer to volume's path on bare-metal. + home_top=/var/lib/docker/volumes/host-home/_data +fi + +if $docker_host || [ -d "$home_top/tcwg-buildslave" ]; then # Bind-mount /home/tcwg-buildslave read-only to get access to # /home/tcwg-buildslave/snapshots-ref/ - mounts="$mounts -v /home/tcwg-buildslave:/home/tcwg-buildslave:ro" + mounts="$mounts -v $home_top/tcwg-buildslave:/home/tcwg-buildslave:ro" fi +case "$home" in + bind) + # Bind-mount $HOME + mounts="$mounts -v $home_top/$user:/home/$user" + ;; + volume) + # Create/re-use docker volume and mount it as user's home + mounts="$mounts -v home-$user:/home" + ;; +esac + # Use at most half of all available RAM. -memlimit=$(($(free -g | awk '/^Mem/ { print $2 }') / 2))G +memlimit=$(free -m | awk '/^Mem/ { print $2 }') +memlimit=$(($memlimit / 2))m + # IPC_LOCK is required for some implementations of ssh-agent (e.g., MATE's). # SYS_PTRACE is required for debugger work. -caps="--cap-add=IPC_LOCK --cap-add=SYS_PTRACE" - -if [ x"$getent" = x"default" ]; then - getent=$(getent passwd $user) -fi - -if [ x"$group" = x"default" ]; then - group=$(id -gn $user) -fi - -if [ x"$pubkey" = x"ldap" ]; then - # Fetch ssh public key from LDAP. - pubkey=$(/etc/ssh/ssh_keys.py $user 2>/dev/null || sss_ssh_authorizedkeys $user 2>/dev/null) -fi +# seccomp=unconfined to allow disabling of ASLR for sanitizer regression tests. +caps="--cap-add=IPC_LOCK --cap-add=SYS_PTRACE --security-opt seccomp:unconfined" -$DOCKER run --name=$name -dt -p 22 $mounts --memory=$memlimit --pids-limit=5000 $caps $image "$getent" "$group" "$pubkey" +$DOCKER run --name=$name --hostname=$(hostname)-dev --restart=unless-stopped -dt -p 22 $mounts --memory=$memlimit --pids-limit=5000 $caps $image --user $user "$@" port=$($DOCKER port $name 22 | cut -d: -f 2) +hostname=$(echo ${SSH_CONNECTION} | { read client_ip client_port server_ip server_port; echo $server_ip; }) set +x cat <<EOF NOTE: the warning about kernel not supporting swap memory limit is expected -To connect to container run "ssh -p $port localhost" +To connect to the container run "ssh -p $port $user@$hostname" from your local +machine. To stop container run "docker stop $name" To restart container run "docker start $name" To remove container run "docker rm -fv $name" diff --git a/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in b/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in index 888e48b8..35853ad5 100644 --- a/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in +++ b/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in @@ -11,13 +11,10 @@ RUN apt-get update \ /tmp/* \ /var/tmp/* -RUN add-apt-repository ppa:x2go/stable \ - && apt-get update \ +RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ duplicity \ mate-desktop-environment \ - x2godesktopsharing \ - x2gomatebindings \ x2goserver \ x2goserver-xsession \ && apt-get clean \ diff --git a/tcwg-base/tcwg-host/Dockerfile.in b/tcwg-base/tcwg-host/Dockerfile.in new file mode 100644 index 00000000..cb6e235e --- /dev/null +++ b/tcwg-base/tcwg-host/Dockerfile.in @@ -0,0 +1,13 @@ +FROM linaro/ci-#{ARCH}-tcwg-base-ubuntu:#{DISTRO} + +COPY docker-wrapper /usr/local/bin/docker +COPY docker-stats /usr/local/bin/ + +COPY run.sh start.sh / + +#if ARCH_amd64 || ARCH_arm64 +ENTRYPOINT ["/run.sh"] +#else +ENTRYPOINT ["linux32", "/run.sh"] +#endif +CMD ["start.sh"] diff --git a/tcwg-base/tcwg-host/build.sh b/tcwg-base/tcwg-host/build.sh new file mode 100755 index 00000000..6205035d --- /dev/null +++ b/tcwg-base/tcwg-host/build.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +set -e + +trap cleanup_exit INT TERM EXIT + +cleanup_exit() +{ + rm -rf docker-stats docker-wrapper run.sh start.sh +} + +export LANG=C +distro=$(basename ${PWD} | cut -f1 -d '-') +arch=$(basename ${PWD} | cut -f2 -d '-') +name=$(basename ${PWD} | cut -f3- -d '-') +image=linaro/ci-${arch}-${name}-ubuntu:${distro} +top=$(git rev-parse --show-toplevel) + +cp $top/tcwg-base/tcwg-host/docker-stats \ + $top/tcwg-base/tcwg-host/docker-wrapper \ + $top/tcwg-base/tcwg-host/run.sh \ + $top/tcwg-base/tcwg-host/start.sh ./ + +(cd ..; ./build.sh) +"$top"/tcwg-base/validate-dockerfile.sh Dockerfile +docker pull $image 2>/dev/null || true +docker build --tag=$image . +echo $image > .docker-tag diff --git a/tcwg-base/tcwg-host/docker-stats b/tcwg-base/tcwg-host/docker-stats new file mode 100755 index 00000000..e981aa5a --- /dev/null +++ b/tcwg-base/tcwg-host/docker-stats @@ -0,0 +1,3 @@ +#!/bin/sh + +exec watch docker stats --no-stream --format "\"table {{.Name}}\\t{{.CPUPerc}}\\t{{.PIDs}}\\t{{.MemPerc}}\\t{{.MemUsage}}\"" diff --git a/tcwg-base/tcwg-host/docker-wrapper b/tcwg-base/tcwg-host/docker-wrapper new file mode 100755 index 00000000..2cfea5c9 --- /dev/null +++ b/tcwg-base/tcwg-host/docker-wrapper @@ -0,0 +1,2 @@ +#!/bin/sh +exec sudo /usr/bin/docker "$@" diff --git a/tcwg-base/tcwg-host/gerrit-branches b/tcwg-base/tcwg-host/gerrit-branches new file mode 120000 index 00000000..11f6d349 --- /dev/null +++ b/tcwg-base/tcwg-host/gerrit-branches @@ -0,0 +1 @@ +../gerrit-branches
\ No newline at end of file diff --git a/tcwg-base/tcwg-host/run.sh b/tcwg-base/tcwg-host/run.sh new file mode 100755 index 00000000..55a0b1b0 --- /dev/null +++ b/tcwg-base/tcwg-host/run.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +set -e + +if [ x"$1" = x"start.sh" ]; then + cat /start.sh + exit 0 +fi + +group="$1" +task="$2" + +if [ x"$group" = x"all" ]; then + group=".*" +fi + +while read line; do + user=$(echo "$line" | cut -d: -f 1) + if grep "^$group:x:" /home-data/group | cut -d: -f 4 | grep -q "$user,\?"; then + new-user.sh --update true --passwd "$line" & + res=0; wait $! || res=$? + if [ x"$res" = x"0" ]; then + echo "WARNING: User configuration failed: $line" + fi + fi +done </home-data/passwd + +port="2222" +if [ x"$task" = x"jenkins" ]; then + port="2022" +fi + +sed -i -e "/.*Port.*/d" /etc/ssh/sshd_config +echo "Port $port" >> /etc/ssh/sshd_config + +exec /usr/sbin/sshd -D diff --git a/tcwg-base/tcwg-host/start.sh b/tcwg-base/tcwg-host/start.sh new file mode 100755 index 00000000..9a865db7 --- /dev/null +++ b/tcwg-base/tcwg-host/start.sh @@ -0,0 +1,82 @@ +#!/bin/bash + +set -e + +usage () +{ + cat <<EOF +$0 [OPTIONS] -- IMAGE GROUP + +Options: + --task host/jenkins + Task to serve: "host" is for all users, "jenkins" is for tcwg-infra + + --verbose true/false + Whether to run in verbose mode +EOF + exit 1 +} + +task="host" +verbose=false + +while [ $# -gt 0 ]; do + case $1 in + --task) task="$2"; shift ;; + --verbose) verbose="$2"; shift ;; + --) shift; break ;; + *) echo "ERROR: Wrong option: $1"; usage ;; + esac + shift +done + +image="$1" +shift + +if $verbose; then + set -x +fi + +if [ x"$image" = x"" ]; then + echo "ERROR: image name not provided" + usage +fi + +if groups tcwg-buildslave 2>/dev/null | grep -q docker; then + # If tcwg-buildslave user is present, use it to start the container + # to have [sudo] log record of container startups. + DOCKER="sudo -u tcwg-buildslave docker" +elif [ x"$(id -u)" = x"0" ] || groups 2>/dev/null | grep -q docker; then + # Run docker straight up if $USER is root or in "docker" group. + DOCKER="docker" +else + # Fallback to sudo otherwise. + DOCKER="sudo docker" +fi + +group="$1" +case "$task" in + host) + ;; + jenkins) + if [ x"$group" != x"tcwg-infra" ]; then + echo "ERROR: group for task $task should be tcwg-infra" + exit 1 + fi + ;; + *) + echo "ERROR: wrong task $task" + exit 1 + ;; +esac + +mounts="" +mounts="$mounts -v host-home:/home" +mounts="$mounts -v /var/run/docker.sock:/var/run/docker.sock" +mounts="$mounts -v /usr/bin/docker:/usr/bin/docker" + +# Use at most half of all available RAM. +memlimit=$(free -m | awk '/^Mem/ { print $2 }') +memlimit=$(($memlimit / 2))m + +$DOCKER run -dt --name=$task --network host --restart=unless-stopped $mounts --memory=$memlimit --pids-limit=5000 $image "$group" "$task" diff --git a/tcwg-base/tcwg-llvmbot/Dockerfile.in b/tcwg-base/tcwg-llvmbot/Dockerfile.in index 24233ed9..5771509b 100644 --- a/tcwg-base/tcwg-llvmbot/Dockerfile.in +++ b/tcwg-base/tcwg-llvmbot/Dockerfile.in @@ -1,8 +1,12 @@ FROM linaro/ci-#{ARCH}-tcwg-base-ubuntu:#{DISTRO} RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common \ + && DEBIAN_FRONTEND=noninteractive add-apt-repository -y ppa:ubuntu-toolchain-r/test \ + && apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ buildbot \ + g++-7 \ && apt-get clean \ && rm -rf \ /var/lib/apt/lists/* \ @@ -21,14 +25,6 @@ RUN cd ./llvm-config-buildslave/ \ /var/tmp/* \ && sudo -i -u buildslave mkdir /home/buildslave/buildslave -# Add ninja with support for memory-threshold job limitation. -RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \ - && cd ninja \ - && ./configure.py --bootstrap && ./ninja all && ./ninja_test \ - && mv ninja /usr/local/bin/ninja.bin \ - && cd .. \ - && rm -rf ninja - # Add current clang for libcxx bots. RUN \ #if ARCH_arm64 diff --git a/tcwg-base/tcwg-llvmbot/gerrit-branches b/tcwg-base/tcwg-llvmbot/gerrit-branches index fb49cdf8..dd2dd2e9 100644 --- a/tcwg-base/tcwg-llvmbot/gerrit-branches +++ b/tcwg-base/tcwg-llvmbot/gerrit-branches @@ -1,3 +1,4 @@ master +tcwg-tested tcwg-staging tcwg-llvmprod diff --git a/tcwg-base/tcwg-llvmbot/run.sh b/tcwg-base/tcwg-llvmbot/run.sh index 3aa5cb2a..04bd6450 100755 --- a/tcwg-base/tcwg-llvmbot/run.sh +++ b/tcwg-base/tcwg-llvmbot/run.sh @@ -4,12 +4,58 @@ set -e bare_metal_bot_p () { + if [ -f "/.dockerenv" ]; then + return 1 + fi + return 0 +} + +use_clang_p () +{ + # The LLD buildbot needs clang for -fuse-ld=lld in stage 2 + # The libcxx bot needs a recent clang to compile tests that + # require new C++ standard support. + # Typically we've used clang when the default gcc has problems + # otherwise gcc is used. case "$1" in - "linaro-tk1-"*) return 0 ;; - "linaro-apm-02"|"linaro-apm-05") return 1 ;; - "linaro-apm-"*) return 0 ;; - *) return 1 ;; + *-libcxx*|linaro-tk1-01) return 0 ;; + *-lld) return 0 ;; + *-arm-quick|linaro-tk1-06) return 0 ;; + *-arm-full-selfhost|linaro-tk1-05) return 0 ;; + *-arm-full|linaro-tk1-08) return 0 ;; + *-arm-global-isel|linaro-tk1-09) return 0 ;; + *) return 1 ;; + esac +} + +# Use the oldest maintained clang release (latest - 1). +setup_clang_release() +{ + local bot_name="$1" + + # There is a 6.0.1 release but there aren't any AArch64 binaries available + # so we use 6.0.0 for now. + local release_num=6.0.0 + case "$(uname -m)" in + aarch64) + local clang_ver=clang+llvm-${release_num}-aarch64-linux-gnu + ;; + *) + local clang_ver=clang+llvm-${release_num}-armv7a-linux-gnueabihf + ;; esac + + # Download and install clang+llvm into /usr/local + # Docker bots already have clang+llvm downloaded and installed in the image. + if bare_metal_bot_p $bot_name; then + ( + cd /usr/local + wget -c --progress=dot:giga http://releases.llvm.org/${release_num}/$clang_ver.tar.xz + tar xf $clang_ver.tar.xz + ) + fi + cc=/usr/local/$clang_ver/bin/clang + cxx=/usr/local/$clang_ver/bin/clang++ } if [ x"$1" = x"start.sh" ]; then @@ -23,62 +69,13 @@ if ! [ -f ~buildslave/buildslave/buildbot.tac ]; then sudo -i -u buildslave buildslave create-slave --umask=022 ~buildslave/buildslave "$@" fi -case "$(uname -m)" in - aarch64) - clang_ver=clang+llvm-6.0.0-aarch64-linux-gnu - ;; - *) - clang_ver=clang+llvm-6.0.0-armv7a-linux-gnueabihf - ;; -esac - -if bare_metal_bot_p "$2"; then - # Download and install clang+llvm into /usr/local for bare-metal - # bots. - ( - cd /usr/local - wget -c --progress=dot:giga http://releases.llvm.org/6.0.0/$clang_ver.tar.xz - tar xf $clang_ver.tar.xz - ) +if use_clang_p $2 ; then + setup_clang_release $2 +else + cc=gcc-7 + cxx=g++-7 fi -case "$2" in - *-libcxx*|linaro-tk1-01|linaro-apm-03) - # Libcxx bots need to be compiled with *recent* clang. - cc=/usr/local/$clang_ver/bin/clang - cxx=/usr/local/$clang_ver/bin/clang++ - ;; - *-lld|linaro-apm-04) - # LLD bots need to be compiled with clang. - # ??? Adding testStage1=False to LLD bot might enable it to not depend on clang. - cc=/usr/bin/clang - cxx=/usr/bin/clang++ - ;; - *-arm-quick|linaro-tk1-06) - cc=/usr/bin/clang - cxx=/usr/bin/clang++ - ;; - *-arm-full-selfhost|linaro-tk1-05) - # ??? *-arm-full-selfhost bot doesn't look like it depends on clang. - cc=/usr/bin/clang - cxx=/usr/bin/clang++ - ;; - *-arm-full|linaro-tk1-08) - # ??? For now we preserve host compiler configuration from non-docker bots. - cc=/usr/bin/clang - cxx=/usr/bin/clang++ - ;; - *-arm-global-isel|linaro-tk1-09) - # ??? For now we preserve host compiler configuration from non-docker bots. - cc=/usr/bin/clang - cxx=/usr/bin/clang++ - ;; - *) - cc=gcc - cxx=g++ - ;; -esac - # With default PATH /usr/local/bin/cc and /usr/local/bin/c++ are detected as # system compilers. No danger in ccaching results of system compiler since # we always start with a clean cache in a new container. @@ -94,8 +91,9 @@ EOF chmod +x /usr/local/bin/c++ case "$2" in - *-lld|linaro-apm-04) - # LLD buildbot needs to find ld.lld for stage1 build. + *-lld) + # LLD buildbot needs to find ld.lld for stage1 build. GCC does not + # support -fuse-ld=lld. ln -f -s /usr/bin/ld.bfd /usr/local/bin/ld.lld ;; *) @@ -109,8 +107,8 @@ EOF n_cores=$(nproc --all) case "$2" in - linaro-apm-*) hw="APM Mustang ${n_cores}-core X-Gene" ;; linaro-armv8-*) hw="${n_cores}-core ARMv8 provided by Packet.net (Type 2A2)" ;; + linaro-thx1-*) hw="${n_cores}-core ThunderX1 provided by Packet.net (Type 2A)" ;; linaro-tk1-*) hw="NVIDIA TK1 ${n_cores}-core Cortex-A15" ;; esac @@ -129,24 +127,39 @@ Linker: $(ld --version | head -n 1) C Library: $(ldd --version | head -n 1) EOF -if bare_metal_bot_p "$2"; then - # TK1s have CPU hot-plug, so ninja might detect smaller number of cores - # available for parallelism. Explicitly set "default" parallelism. - cat > /usr/local/bin/ninja <<EOF +case "$2" in + linaro-tk1-*) + # TK1s have CPU hot-plug, so ninja might detect smaller number of cores + # available for parallelism. Explicitly set "default" parallelism. + cat > /usr/local/bin/ninja <<EOF #!/bin/sh exec /usr/bin/ninja -j$n_cores "\$@" EOF -else - # Throttle ninja on system load, system memory and container memory limit. - # When running with "-l 2*N_CORES -m 50 -M 50" ninja will not start new jobs - # if system or container memory utilization is beyond 50% or when load is - # above double the core count. Ninja will also stall up to 5 seconds (-D 5000) - # before starting a new job to avoid rapid increase of resource usage. - cat > /usr/local/bin/ninja <<EOF + ;; + *) + # Throttle ninja on system load, system memory and container memory + # limits. + case "$1" in + lab.llvm.org:9994) + # Run silent bots with single-threaded ninja when average load + # is beyond twice the number of cores. + avg_load_opt="-l $((2*$n_cores))" + ;; + *) + avg_load_opt="" + ;; + esac + # Make ninja run single-threaded if system or container memory + # utilization is beyond 50% (-m 50 -M 50). + # Make ninja stall for up to 5 seconds (-D 5000) before starting + # a new job when usage decreases under threshold (to avoid rapid + # increase of resource usage from N_CORES-1 new processes). + cat > /usr/local/bin/ninja <<EOF #!/bin/sh -exec /usr/local/bin/ninja.bin -j$n_cores -l $((2*$n_cores)) -m 50 -M 50 -D 5000 "\$@" +exec /usr/local/bin/ninja.bin -j$n_cores $avg_load_opt -m 50 -M 50 -D 5000 "\$@" EOF -fi + ;; +esac chmod +x /usr/local/bin/ninja sudo -i -u buildslave buildslave restart ~buildslave/buildslave diff --git a/tcwg-base/tcwg-llvmbot/start.sh b/tcwg-base/tcwg-llvmbot/start.sh index 18e5fa50..f337f967 100755 --- a/tcwg-base/tcwg-llvmbot/start.sh +++ b/tcwg-base/tcwg-llvmbot/start.sh @@ -25,6 +25,37 @@ else DOCKER="sudo docker" fi +case "$slavename" in + linaro-armv8-01-aarch64-full) ;; + linaro-armv8-01-aarch64-global-isel) ;; + linaro-armv8-01-aarch64-libcxx) ;; + linaro-armv8-01-aarch64-libcxx-noeh) ;; + linaro-armv8-01-aarch64-lld) ;; + linaro-armv8-01-aarch64-quick) ;; + linaro-armv8-01-arm-full) ;; + linaro-armv8-01-arm-full-selfhost) ;; + linaro-armv8-01-arm-global-isel) ;; + linaro-armv8-01-arm-libcxx) ;; + linaro-armv8-01-arm-libcxx-noeh) ;; + linaro-armv8-01-arm-lld) ;; + linaro-armv8-01-arm-lnt) ;; + linaro-armv8-01-arm-quick) ;; + linaro-armv8-01-arm-selfhost-neon) ;; + linaro-tk1-*) ;; + *) + echo "WARNING: Unknown slavename $slavename" +esac + +case "$slavename:$image" in + *-aarch64-*:*-arm64-*) ;; + *-arm-*:*-armhf-*) ;; + linaro-tk1-*:*-armhf-*) ;; + *) + echo "ERROR: $slavename should not run on $image." + echo "Make sure you're running an AArch64 bot on an arm64 image or an ARM bot on an armhf image." + exit 1 +esac + case "$buildmaster" in "normal") mastername="normal" @@ -39,21 +70,6 @@ case "$buildmaster" in masterurl="$buildmaster" esac -case "$mastername:$slavename:$(hostname):$image" in - # No restrictions for custom masters: - custom:*:*:*) ;; - # Almost no restrictions for the silent master: - silent:*:linaro-armv8-*:*) ;; - silent:*:r*-a*:*) ;; - # Restrictions for the normal master: - normal:linaro-armv8-*-arm-*:linaro-armv8-*:*-armhf-*) ;; - normal:linaro-armv8-*-aarch64-*:linaro-armv8-*:*-arm64-*) ;; - normal:*:r*-a*:*-arm64-*) ;; - *) - usage "ERROR: Wrong mastername:slavename:hostname:image combination: $mastername:$slavename:$(hostname):$image" - ;; -esac - # Set relative CPU weight of containers running silent bots to 1/20th of # normal containers. We want to run a full set of silent bots for # troubleshooting purposes, but don't want to waste a lot of CPU cycles. @@ -62,17 +78,15 @@ case "$mastername" in *) cpu_shares=1000 ;; esac +memlimit=$(free -m | awk '/^Mem/ { print $2 }') case "$slavename" in - linaro-armv8-*) - # Use 64G out of 128G. - memlimit="64" + linaro-tk1-*) + # Use at most 90% of RAM on TK1s + memlimit=$(($memlimit * 9 / 10))m ;; *) - # Use at most 30G or 90% of all RAM. - memlimit=$(($(free -g | awk '/^Mem/ { print $2 }') * 9 / 10)) - if [ "$memlimit" -gt "30" ]; then - memlimit="30" - fi + # Use at most half of all available RAM. + memlimit=$(($memlimit / 2))m ;; esac @@ -86,4 +100,4 @@ esac # seccomp:unconfined is required to disable ASLR for sanitizer tests. caps="--cap-add=IPC_LOCK --cap-add=SYS_PTRACE --security-opt seccomp:unconfined" -$DOCKER run --name=$mastername-$slavename --hostname=$mastername-$slavename --restart=unless-stopped -dt -p 22 --cpu-shares=$cpu_shares --memory=${memlimit}G --pids-limit=$pids_limit $caps "$image" "$masterurl" "$slavename" "$password" +$DOCKER run --name=$mastername-$slavename --hostname=$mastername-$slavename --restart=unless-stopped -dt -p 22 --cpu-shares=$cpu_shares --memory=$memlimit --pids-limit=$pids_limit $caps "$image" "$masterurl" "$slavename" "$password" diff --git a/trusty-amd64-art/Dockerfile b/trusty-amd64-art/Dockerfile deleted file mode 100644 index 650c3054..00000000 --- a/trusty-amd64-art/Dockerfile +++ /dev/null @@ -1,63 +0,0 @@ -FROM ubuntu:trusty - -RUN dpkg --add-architecture i386 \ - && apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends software-properties-common \ - && add-apt-repository -y ppa:git-core/ppa \ - && add-apt-repository -y ppa:linaro-maintainers/tools \ - && apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - acpica-tools \ - android-tools-adb \ - bc \ - bison \ - ccache \ - clang \ - curl \ - default-jdk \ - gcc-4.6 \ - g++-multilib \ - genisoimage \ - git \ - gperf \ - lcov \ - less \ - lib32ncurses5 \ - libxml2-utils \ - make \ - openssh-client \ - openssh-server \ - python-mako \ - python-networkx \ - python-requests \ - rsync \ - scons \ - time \ - unzip \ - wget \ - xml-twig-tools \ - zip \ - zlib1g-dev:i386 \ - && 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 \ - http://mirrors.kernel.org/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre-headless_8u45-b14-1_amd64.deb \ - http://mirrors.kernel.org/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre_8u45-b14-1_amd64.deb \ - http://mirrors.kernel.org/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jdk_8u45-b14-1_amd64.deb \ - && dpkg -i --force-all *.deb \ - && apt-mark hold make \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* *.deb - -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 \ - && 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/* \ - && chown -R buildslave:buildslave /home/buildslave/bin - -EXPOSE 22 -CMD ["/usr/sbin/sshd", "-D"] diff --git a/trusty-amd64-tcwg-base/Dockerfile b/trusty-amd64-tcwg-base/Dockerfile index f94d7e95..e31b6105 100644 --- a/trusty-amd64-tcwg-base/Dockerfile +++ b/trusty-amd64-tcwg-base/Dockerfile @@ -47,8 +47,12 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \ less \ libexpat1-dev \ libglib2.0-dev \ + libgmp-dev \ liblzma-dev \ + libmpc-dev \ + libmpfr-dev \ libncurses5-dev \ + libpixman-1-dev \ libpython2.7-dev \ libreadline-dev \ libssl-dev \ @@ -67,8 +71,8 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \ openssh-server \ pkg-config \ python-dev \ - python-virtualenv \ postfix \ + psmisc \ pxz \ qemu-system-arm \ qemu-user \ @@ -80,8 +84,10 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \ texlive-fonts-recommended \ texlive-latex-recommended \ time \ + unifdef \ valgrind \ vim \ + python-virtualenv \ wget \ xz-utils \ zip \ @@ -107,15 +113,34 @@ COPY postfix-sasl_password.in /etc/postfix/sasl_password RUN chown root:root /etc/postfix/sasl_password \ && chmod 600 /etc/postfix/sasl_password +# Add ninja with support for memory-threshold job limitation. +# It's installed with ".bin" extension and containers then +# make wrappers around it in /usr/local/bin/ninja as needed. +RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \ + && cd ninja \ + && ./configure.py --bootstrap && ./ninja all && ./ninja_test \ + && mv ninja /usr/local/bin/ninja.bin \ + && cd .. \ + && rm -rf ninja + RUN mkdir /tmp/docker-install-qemu.$$ \ && cd /tmp/docker-install-qemu.$$ \ - && qemu_ver=2.8.0 && wget --progress=dot:giga http://download.qemu-project.org/qemu-${qemu_ver}.tar.xz \ + && qemu_ver=3.1.0 && wget --progress=dot:giga http://download.qemu-project.org/qemu-${qemu_ver}.tar.xz \ && tar xf qemu-${qemu_ver}.tar.xz \ && mkdir build && cd build \ && ../qemu-${qemu_ver}/configure --prefix=/usr/local --target-list=armeb-linux-user \ && make all install -j $(nproc --all) \ && cd && rm -rf /tmp/docker-install-qemu.$$ + +COPY home-data/ /home-data/ +COPY new-user.sh /usr/local/bin/ + +RUN \ + while read line; do \ + new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \ + done </home-data/group + # We use ssh multiplexing, which creates sockets in /tmp. Overlayfs, # which docker is using, can't host sockets, so we use a scratch mount # for /tmp. This requires that we add --rm option to "docker run" @@ -125,4 +150,4 @@ VOLUME /tmp EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"] -# checksum: 59a3af373c3253df2b6690a0c202f412 +# checksum: af4fa2fbc82a8ade63491e2a489bb96b diff --git a/trusty-amd64-tcwg-base/trusty-amd64-tcwg-build/Dockerfile b/trusty-amd64-tcwg-base/trusty-amd64-tcwg-build/Dockerfile index 280e8c91..088e35a3 100644 --- a/trusty-amd64-tcwg-base/trusty-amd64-tcwg-build/Dockerfile +++ b/trusty-amd64-tcwg-base/trusty-amd64-tcwg-build/Dockerfile @@ -1,19 +1,14 @@ # Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit. FROM linaro/ci-amd64-tcwg-base-ubuntu:trusty -COPY new-user.sh /usr/local/bin/ - -RUN new-user.sh --user tcwg-buildslave:11827 --group tcwg-infra:9000 \ - && new-user.sh --user tcwg-benchmark:12326 --group tcwg-infra \ - && mkdir -p /home/tcwg-buildslave/workspace - -COPY tcwg-buildslave /home/tcwg-buildslave -COPY tcwg-benchmark /home/tcwg-benchmark - -RUN chown -R tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/ \ - && chown -R tcwg-benchmark:tcwg-infra /home/tcwg-benchmark/ \ - && chmod 0700 /home/tcwg-buildslave/.ssh/ /home/tcwg-benchmark/.ssh/ \ - && chmod 0600 /home/tcwg-buildslave/.ssh/* /home/tcwg-benchmark/.ssh/* +RUN while read line; do \ + if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \ + continue; \ + fi; \ + new-user.sh --passwd "$line"; \ + user=$(echo "$line" | cut -d: -f 1); \ + sudo -i -u $user ccache --print-config; \ + done </home-data/passwd # Install wine. On amd64 arch we need to enable i386, otherwise wine # won't meet dependencies (this is the case at least for trusty and xenial). @@ -27,4 +22,4 @@ RUN \ /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* -# checksum: 847950907becd4d2e0bb2246eed17943 +# checksum: 8cf045e109118559e5638f49e6b22120 diff --git a/trusty-amd64-tcwg-base/trusty-amd64-tcwg-dev/Dockerfile b/trusty-amd64-tcwg-base/trusty-amd64-tcwg-dev/Dockerfile index 2294e57b..c1e25ee6 100644 --- a/trusty-amd64-tcwg-base/trusty-amd64-tcwg-dev/Dockerfile +++ b/trusty-amd64-tcwg-base/trusty-amd64-tcwg-dev/Dockerfile @@ -1,18 +1,6 @@ # Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit. FROM linaro/ci-amd64-tcwg-base-ubuntu:trusty -COPY run.sh . -COPY start.sh . - -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - software-properties-common \ - && apt-get clean \ - && rm -rf \ - /var/lib/apt/lists/* \ - /tmp/* \ - /var/tmp/* - RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ apt-file \ @@ -21,29 +9,26 @@ RUN apt-get update \ gnat \ less \ locales \ - libgmp-dev \ - libmpc-dev \ - libmpfr-dev \ mc \ screen \ + software-properties-common \ stgit \ tmux \ - unifdef \ && apt-get clean \ && rm -rf \ /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* -RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \ - && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \ - && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ +RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ && apt-file update # Create directories required for X11. RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \ && chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix +COPY run.sh start.sh / + ENTRYPOINT ["/run.sh"] CMD ["start.sh"] -# checksum: 6ebcfe89f577b9b89996da9aace4394f +# checksum: 4b050cb9917e9068a64dccf1f6d4f57a diff --git a/trusty-arm64-tcwg-base/Dockerfile b/trusty-arm64-tcwg-base/Dockerfile index 69366269..2d20e996 100644 --- a/trusty-arm64-tcwg-base/Dockerfile +++ b/trusty-arm64-tcwg-base/Dockerfile @@ -44,7 +44,10 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ groff \ less \ libexpat1-dev \ + libgmp-dev \ liblzma-dev \ + libmpc-dev \ + libmpfr-dev \ libncurses5-dev \ libpython2.7-dev \ libreadline-dev \ @@ -60,8 +63,8 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ openjdk-7-jdk \ openssh-server \ python-dev \ - python-virtualenv \ postfix \ + psmisc \ pxz \ qemu-system-arm \ qemu-user \ @@ -73,8 +76,10 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ texlive-fonts-recommended \ texlive-latex-recommended \ time \ + unifdef \ valgrind \ vim \ + python-virtualenv \ wget \ xz-utils \ zip \ @@ -100,6 +105,25 @@ COPY postfix-sasl_password.in /etc/postfix/sasl_password RUN chown root:root /etc/postfix/sasl_password \ && chmod 600 /etc/postfix/sasl_password +# Add ninja with support for memory-threshold job limitation. +# It's installed with ".bin" extension and containers then +# make wrappers around it in /usr/local/bin/ninja as needed. +RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \ + && cd ninja \ + && ./configure.py --bootstrap && ./ninja all && ./ninja_test \ + && mv ninja /usr/local/bin/ninja.bin \ + && cd .. \ + && rm -rf ninja + + +COPY home-data/ /home-data/ +COPY new-user.sh /usr/local/bin/ + +RUN \ + while read line; do \ + new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \ + done </home-data/group + # We use ssh multiplexing, which creates sockets in /tmp. Overlayfs, # which docker is using, can't host sockets, so we use a scratch mount # for /tmp. This requires that we add --rm option to "docker run" @@ -109,4 +133,4 @@ VOLUME /tmp EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"] -# checksum: b553e4f699f9eb1c2496451be411f503 +# checksum: 9a5ebe95dcd5b6352f12f31a90067e8e diff --git a/trusty-arm64-tcwg-base/trusty-arm64-tcwg-build/Dockerfile b/trusty-arm64-tcwg-base/trusty-arm64-tcwg-build/Dockerfile index 91ca9969..403cd1fd 100644 --- a/trusty-arm64-tcwg-base/trusty-arm64-tcwg-build/Dockerfile +++ b/trusty-arm64-tcwg-base/trusty-arm64-tcwg-build/Dockerfile @@ -1,18 +1,13 @@ # Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit. FROM linaro/ci-arm64-tcwg-base-ubuntu:trusty -COPY new-user.sh /usr/local/bin/ - -RUN new-user.sh --user tcwg-buildslave:11827 --group tcwg-infra:9000 \ - && new-user.sh --user tcwg-benchmark:12326 --group tcwg-infra \ - && mkdir -p /home/tcwg-buildslave/workspace - -COPY tcwg-buildslave /home/tcwg-buildslave -COPY tcwg-benchmark /home/tcwg-benchmark - -RUN chown -R tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/ \ - && chown -R tcwg-benchmark:tcwg-infra /home/tcwg-benchmark/ \ - && chmod 0700 /home/tcwg-buildslave/.ssh/ /home/tcwg-benchmark/.ssh/ \ - && chmod 0600 /home/tcwg-buildslave/.ssh/* /home/tcwg-benchmark/.ssh/* - -# checksum: d46dab616715909f84717ae49d7542b9 +RUN while read line; do \ + if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \ + continue; \ + fi; \ + new-user.sh --passwd "$line"; \ + user=$(echo "$line" | cut -d: -f 1); \ + sudo -i -u $user ccache --print-config; \ + done </home-data/passwd + +# checksum: b3846a54f517aff06c5447eb552dd15a diff --git a/trusty-arm64-tcwg-base/trusty-arm64-tcwg-dev/Dockerfile b/trusty-arm64-tcwg-base/trusty-arm64-tcwg-dev/Dockerfile index 1f2e2d0d..e26b4d27 100644 --- a/trusty-arm64-tcwg-base/trusty-arm64-tcwg-dev/Dockerfile +++ b/trusty-arm64-tcwg-base/trusty-arm64-tcwg-dev/Dockerfile @@ -1,18 +1,6 @@ # Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit. FROM linaro/ci-arm64-tcwg-base-ubuntu:trusty -COPY run.sh . -COPY start.sh . - -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - software-properties-common \ - && apt-get clean \ - && rm -rf \ - /var/lib/apt/lists/* \ - /tmp/* \ - /var/tmp/* - RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ apt-file \ @@ -20,29 +8,26 @@ RUN apt-get update \ git-svn \ less \ locales \ - libgmp-dev \ - libmpc-dev \ - libmpfr-dev \ mc \ screen \ + software-properties-common \ stgit \ tmux \ - unifdef \ && apt-get clean \ && rm -rf \ /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* -RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \ - && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \ - && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ +RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ && apt-file update # Create directories required for X11. RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \ && chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix +COPY run.sh start.sh / + ENTRYPOINT ["/run.sh"] CMD ["start.sh"] -# checksum: df2f7edfa6eb02b085cac309faf50ad3 +# checksum: dc6a18a98fea5a25a5193d4e57b5a59d diff --git a/trusty-armhf-tcwg-base/Dockerfile b/trusty-armhf-tcwg-base/Dockerfile index 4441771d..bb6b66c8 100644 --- a/trusty-armhf-tcwg-base/Dockerfile +++ b/trusty-armhf-tcwg-base/Dockerfile @@ -44,7 +44,10 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ groff \ less \ libexpat1-dev \ + libgmp-dev \ liblzma-dev \ + libmpc-dev \ + libmpfr-dev \ libncurses5-dev \ libpython2.7-dev \ libreadline-dev \ @@ -60,8 +63,8 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ openjdk-7-jdk \ openssh-server \ python-dev \ - python-virtualenv \ postfix \ + psmisc \ pxz \ qemu-system-arm \ qemu-user \ @@ -73,8 +76,10 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ texlive-fonts-recommended \ texlive-latex-recommended \ time \ + unifdef \ valgrind \ vim \ + python-virtualenv \ wget \ xz-utils \ zip \ @@ -100,6 +105,25 @@ COPY postfix-sasl_password.in /etc/postfix/sasl_password RUN chown root:root /etc/postfix/sasl_password \ && chmod 600 /etc/postfix/sasl_password +# Add ninja with support for memory-threshold job limitation. +# It's installed with ".bin" extension and containers then +# make wrappers around it in /usr/local/bin/ninja as needed. +RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \ + && cd ninja \ + && ./configure.py --bootstrap && ./ninja all && ./ninja_test \ + && mv ninja /usr/local/bin/ninja.bin \ + && cd .. \ + && rm -rf ninja + + +COPY home-data/ /home-data/ +COPY new-user.sh /usr/local/bin/ + +RUN \ + while read line; do \ + new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \ + done </home-data/group + # We use ssh multiplexing, which creates sockets in /tmp. Overlayfs, # which docker is using, can't host sockets, so we use a scratch mount # for /tmp. This requires that we add --rm option to "docker run" @@ -109,4 +133,4 @@ VOLUME /tmp EXPOSE 22 CMD ["linux32", "/usr/sbin/sshd", "-D"] -# checksum: a86a75795b6252fa520a5d910dd3697f +# checksum: 43dd94b79ec30383f8b930e4d0d36681 diff --git a/trusty-armhf-tcwg-base/trusty-armhf-tcwg-build/Dockerfile b/trusty-armhf-tcwg-base/trusty-armhf-tcwg-build/Dockerfile index d1fbe12b..46ed9d64 100644 --- a/trusty-armhf-tcwg-base/trusty-armhf-tcwg-build/Dockerfile +++ b/trusty-armhf-tcwg-base/trusty-armhf-tcwg-build/Dockerfile @@ -1,18 +1,13 @@ # Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit. FROM linaro/ci-armhf-tcwg-base-ubuntu:trusty -COPY new-user.sh /usr/local/bin/ - -RUN new-user.sh --user tcwg-buildslave:11827 --group tcwg-infra:9000 \ - && new-user.sh --user tcwg-benchmark:12326 --group tcwg-infra \ - && mkdir -p /home/tcwg-buildslave/workspace - -COPY tcwg-buildslave /home/tcwg-buildslave -COPY tcwg-benchmark /home/tcwg-benchmark - -RUN chown -R tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/ \ - && chown -R tcwg-benchmark:tcwg-infra /home/tcwg-benchmark/ \ - && chmod 0700 /home/tcwg-buildslave/.ssh/ /home/tcwg-benchmark/.ssh/ \ - && chmod 0600 /home/tcwg-buildslave/.ssh/* /home/tcwg-benchmark/.ssh/* - -# checksum: 719915c4d53c3aaff4bfb874ca144542 +RUN while read line; do \ + if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \ + continue; \ + fi; \ + new-user.sh --passwd "$line"; \ + user=$(echo "$line" | cut -d: -f 1); \ + sudo -i -u $user ccache --print-config; \ + done </home-data/passwd + +# checksum: 65590c772b7855a6a5746503ff220e72 diff --git a/trusty-armhf-tcwg-base/trusty-armhf-tcwg-dev/Dockerfile b/trusty-armhf-tcwg-base/trusty-armhf-tcwg-dev/Dockerfile index 6f5af073..6cddb9ac 100644 --- a/trusty-armhf-tcwg-base/trusty-armhf-tcwg-dev/Dockerfile +++ b/trusty-armhf-tcwg-base/trusty-armhf-tcwg-dev/Dockerfile @@ -1,18 +1,6 @@ # Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit. FROM linaro/ci-armhf-tcwg-base-ubuntu:trusty -COPY run.sh . -COPY start.sh . - -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - software-properties-common \ - && apt-get clean \ - && rm -rf \ - /var/lib/apt/lists/* \ - /tmp/* \ - /var/tmp/* - RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ apt-file \ @@ -21,29 +9,26 @@ RUN apt-get update \ gnat \ less \ locales \ - libgmp-dev \ - libmpc-dev \ - libmpfr-dev \ mc \ screen \ + software-properties-common \ stgit \ tmux \ - unifdef \ && apt-get clean \ && rm -rf \ /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* -RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \ - && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \ - && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ +RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ && apt-file update # Create directories required for X11. RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \ && chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix +COPY run.sh start.sh / + ENTRYPOINT ["linux32", "/run.sh"] CMD ["start.sh"] -# checksum: 3ebcf08c631348a6ee99ee7b0a574c23 +# checksum: 3da6f55017f367a840b7513fb3479177 diff --git a/trusty-i386-tcwg-base/Dockerfile b/trusty-i386-tcwg-base/Dockerfile index a7e08128..c0a61ece 100644 --- a/trusty-i386-tcwg-base/Dockerfile +++ b/trusty-i386-tcwg-base/Dockerfile @@ -49,8 +49,12 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \ less \ libexpat1-dev \ libglib2.0-dev \ + libgmp-dev \ liblzma-dev \ + libmpc-dev \ + libmpfr-dev \ libncurses5-dev \ + libpixman-1-dev \ libpython2.7-dev \ libreadline-dev \ libssl-dev \ @@ -68,8 +72,8 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \ openssh-server \ pkg-config \ python-dev \ - python-virtualenv \ postfix \ + psmisc \ pxz \ qemu-system-arm \ qemu-user \ @@ -81,8 +85,10 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \ texlive-fonts-recommended \ texlive-latex-recommended \ time \ + unifdef \ valgrind \ vim \ + python-virtualenv \ wget \ xz-utils \ zip \ @@ -108,15 +114,34 @@ COPY postfix-sasl_password.in /etc/postfix/sasl_password RUN chown root:root /etc/postfix/sasl_password \ && chmod 600 /etc/postfix/sasl_password +# Add ninja with support for memory-threshold job limitation. +# It's installed with ".bin" extension and containers then +# make wrappers around it in /usr/local/bin/ninja as needed. +RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \ + && cd ninja \ + && ./configure.py --bootstrap && ./ninja all && ./ninja_test \ + && mv ninja /usr/local/bin/ninja.bin \ + && cd .. \ + && rm -rf ninja + RUN mkdir /tmp/docker-install-qemu.$$ \ && cd /tmp/docker-install-qemu.$$ \ - && qemu_ver=2.8.0 && wget --progress=dot:giga http://download.qemu-project.org/qemu-${qemu_ver}.tar.xz \ + && qemu_ver=3.1.0 && wget --progress=dot:giga http://download.qemu-project.org/qemu-${qemu_ver}.tar.xz \ && tar xf qemu-${qemu_ver}.tar.xz \ && mkdir build && cd build \ && ../qemu-${qemu_ver}/configure --prefix=/usr/local --target-list=armeb-linux-user \ && make all install -j $(nproc --all) \ && cd && rm -rf /tmp/docker-install-qemu.$$ + +COPY home-data/ /home-data/ +COPY new-user.sh /usr/local/bin/ + +RUN \ + while read line; do \ + new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \ + done </home-data/group + # We use ssh multiplexing, which creates sockets in /tmp. Overlayfs, # which docker is using, can't host sockets, so we use a scratch mount # for /tmp. This requires that we add --rm option to "docker run" @@ -126,4 +151,4 @@ VOLUME /tmp EXPOSE 22 CMD ["linux32", "/usr/sbin/sshd", "-D"] -# checksum: b2adc55929fd7872882ce7c1ee55a26f +# checksum: 28f82b9ce96b1387fbb2f487e16ab011 diff --git a/trusty-i386-tcwg-base/trusty-i386-tcwg-build/Dockerfile b/trusty-i386-tcwg-base/trusty-i386-tcwg-build/Dockerfile index b559b08d..3f344b51 100644 --- a/trusty-i386-tcwg-base/trusty-i386-tcwg-build/Dockerfile +++ b/trusty-i386-tcwg-base/trusty-i386-tcwg-build/Dockerfile @@ -1,19 +1,14 @@ # Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit. FROM linaro/ci-i386-tcwg-base-ubuntu:trusty -COPY new-user.sh /usr/local/bin/ - -RUN new-user.sh --user tcwg-buildslave:11827 --group tcwg-infra:9000 \ - && new-user.sh --user tcwg-benchmark:12326 --group tcwg-infra \ - && mkdir -p /home/tcwg-buildslave/workspace - -COPY tcwg-buildslave /home/tcwg-buildslave -COPY tcwg-benchmark /home/tcwg-benchmark - -RUN chown -R tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/ \ - && chown -R tcwg-benchmark:tcwg-infra /home/tcwg-benchmark/ \ - && chmod 0700 /home/tcwg-buildslave/.ssh/ /home/tcwg-benchmark/.ssh/ \ - && chmod 0600 /home/tcwg-buildslave/.ssh/* /home/tcwg-benchmark/.ssh/* +RUN while read line; do \ + if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \ + continue; \ + fi; \ + new-user.sh --passwd "$line"; \ + user=$(echo "$line" | cut -d: -f 1); \ + sudo -i -u $user ccache --print-config; \ + done </home-data/passwd # Install wine. On amd64 arch we need to enable i386, otherwise wine # won't meet dependencies (this is the case at least for trusty and xenial). @@ -26,4 +21,4 @@ RUN \ /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* -# checksum: ba06b8439f636dc78d7968329afbf02e +# checksum: 00d6640fb2e9cd0c816c1186e0026634 diff --git a/utopic-amd64-art/Dockerfile b/utopic-amd64-art/Dockerfile index 1e134b03..7d749ab7 100644 --- a/utopic-amd64-art/Dockerfile +++ b/utopic-amd64-art/Dockerfile @@ -36,6 +36,7 @@ RUN dpkg --add-architecture i386 \ openssh-client \ openssh-server \ patch \ + parallel \ python-mako \ python-networkx \ python-requests \ @@ -50,9 +51,9 @@ RUN dpkg --add-architecture i386 \ && 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 \ - http://mirrors.kernel.org/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre-headless_8u45-b14-1_amd64.deb \ - http://mirrors.kernel.org/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre_8u45-b14-1_amd64.deb \ - http://mirrors.kernel.org/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jdk_8u45-b14-1_amd64.deb \ + http://mirrors.edge.kernel.org/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre-headless_8u181-b13-1_amd64.deb \ + http://mirrors.edge.kernel.org/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre_8u181-b13-1_amd64.deb \ + http://mirrors.edge.kernel.org/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jdk_8u181-b13-1_amd64.deb \ && dpkg -i --force-all *.deb \ && apt-mark hold make \ && apt-get clean \ diff --git a/xenial-amd64-tcwg-base/Dockerfile b/xenial-amd64-tcwg-base/Dockerfile index 665253db..4aadf6a4 100644 --- a/xenial-amd64-tcwg-base/Dockerfile +++ b/xenial-amd64-tcwg-base/Dockerfile @@ -47,8 +47,12 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \ less \ libexpat1-dev \ libglib2.0-dev \ + libgmp-dev \ liblzma-dev \ + libmpc-dev \ + libmpfr-dev \ libncurses5-dev \ + libpixman-1-dev \ libpython2.7-dev \ libreadline-dev \ libssl-dev \ @@ -67,6 +71,7 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \ pkg-config \ python-dev \ postfix \ + psmisc \ pxz \ qemu-system-arm \ qemu-user \ @@ -78,6 +83,7 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \ texlive-fonts-recommended \ texlive-latex-recommended \ time \ + unifdef \ valgrind \ vim \ virtualenv \ @@ -106,15 +112,34 @@ COPY postfix-sasl_password.in /etc/postfix/sasl_password RUN chown root:root /etc/postfix/sasl_password \ && chmod 600 /etc/postfix/sasl_password +# Add ninja with support for memory-threshold job limitation. +# It's installed with ".bin" extension and containers then +# make wrappers around it in /usr/local/bin/ninja as needed. +RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \ + && cd ninja \ + && ./configure.py --bootstrap && ./ninja all && ./ninja_test \ + && mv ninja /usr/local/bin/ninja.bin \ + && cd .. \ + && rm -rf ninja + RUN mkdir /tmp/docker-install-qemu.$$ \ && cd /tmp/docker-install-qemu.$$ \ - && qemu_ver=2.8.0 && wget --progress=dot:giga http://download.qemu-project.org/qemu-${qemu_ver}.tar.xz \ + && qemu_ver=3.1.0 && wget --progress=dot:giga http://download.qemu-project.org/qemu-${qemu_ver}.tar.xz \ && tar xf qemu-${qemu_ver}.tar.xz \ && mkdir build && cd build \ && ../qemu-${qemu_ver}/configure --prefix=/usr/local --target-list=armeb-linux-user \ && make all install -j $(nproc --all) \ && cd && rm -rf /tmp/docker-install-qemu.$$ + +COPY home-data/ /home-data/ +COPY new-user.sh /usr/local/bin/ + +RUN \ + while read line; do \ + new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \ + done </home-data/group + # We use ssh multiplexing, which creates sockets in /tmp. Overlayfs, # which docker is using, can't host sockets, so we use a scratch mount # for /tmp. This requires that we add --rm option to "docker run" @@ -124,4 +149,4 @@ VOLUME /tmp EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"] -# checksum: 2c4f845b0ea5b96fda4b80ebee0c24f2 +# checksum: 45c951efede684cca687084277d49621 diff --git a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-build/Dockerfile b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-build/Dockerfile index 58b1c170..65b4d824 100644 --- a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-build/Dockerfile +++ b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-build/Dockerfile @@ -1,19 +1,14 @@ # Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit. FROM linaro/ci-amd64-tcwg-base-ubuntu:xenial -COPY new-user.sh /usr/local/bin/ - -RUN new-user.sh --user tcwg-buildslave:11827 --group tcwg-infra:9000 \ - && new-user.sh --user tcwg-benchmark:12326 --group tcwg-infra \ - && mkdir -p /home/tcwg-buildslave/workspace - -COPY tcwg-buildslave /home/tcwg-buildslave -COPY tcwg-benchmark /home/tcwg-benchmark - -RUN chown -R tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/ \ - && chown -R tcwg-benchmark:tcwg-infra /home/tcwg-benchmark/ \ - && chmod 0700 /home/tcwg-buildslave/.ssh/ /home/tcwg-benchmark/.ssh/ \ - && chmod 0600 /home/tcwg-buildslave/.ssh/* /home/tcwg-benchmark/.ssh/* +RUN while read line; do \ + if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \ + continue; \ + fi; \ + new-user.sh --passwd "$line"; \ + user=$(echo "$line" | cut -d: -f 1); \ + sudo -i -u $user ccache --print-config; \ + done </home-data/passwd # Install wine. On amd64 arch we need to enable i386, otherwise wine # won't meet dependencies (this is the case at least for trusty and xenial). @@ -27,4 +22,4 @@ RUN \ /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* -# checksum: c2cb73fc80affc8312b1959673d8767c +# checksum: 55ac8c54cb4645138ac4fda8ed8586f5 diff --git a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-dev/Dockerfile b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-dev/Dockerfile index 618500ac..3a589c73 100644 --- a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-dev/Dockerfile +++ b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-dev/Dockerfile @@ -1,18 +1,6 @@ # Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit. FROM linaro/ci-amd64-tcwg-base-ubuntu:xenial -COPY run.sh . -COPY start.sh . - -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - software-properties-common \ - && apt-get clean \ - && rm -rf \ - /var/lib/apt/lists/* \ - /tmp/* \ - /var/tmp/* - RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ apt-file \ @@ -21,29 +9,26 @@ RUN apt-get update \ gnat-5 \ less \ locales \ - libgmp-dev \ - libmpc-dev \ - libmpfr-dev \ mc \ screen \ + software-properties-common \ stgit \ tmux \ - unifdef \ && apt-get clean \ && rm -rf \ /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* -RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \ - && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \ - && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ +RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ && apt-file update # Create directories required for X11. RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \ && chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix +COPY run.sh start.sh / + ENTRYPOINT ["/run.sh"] CMD ["start.sh"] -# checksum: dcc5804aedae03114b28d305dcbc2904 +# checksum: f54252755ff04b9508233acaee33cd32 diff --git a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/Dockerfile b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/Dockerfile new file mode 100644 index 00000000..48b28d26 --- /dev/null +++ b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/Dockerfile @@ -0,0 +1,11 @@ +# Auto generated from tcwg-base/tcwg-host/Dockerfile.in. Do not edit. +FROM linaro/ci-amd64-tcwg-base-ubuntu:xenial + +COPY docker-wrapper /usr/local/bin/docker +COPY docker-stats /usr/local/bin/ + +COPY run.sh start.sh / + +ENTRYPOINT ["/run.sh"] +CMD ["start.sh"] +# checksum: 9f94a8be2756ffabb6ebafa75127f228 diff --git a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/build.sh b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/build.sh new file mode 120000 index 00000000..2c954456 --- /dev/null +++ b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/build.sh @@ -0,0 +1 @@ +../../tcwg-base/tcwg-host/build.sh
\ No newline at end of file diff --git a/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/gerrit-branches b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/gerrit-branches new file mode 120000 index 00000000..44e3578e --- /dev/null +++ b/xenial-amd64-tcwg-base/xenial-amd64-tcwg-host/gerrit-branches @@ -0,0 +1 @@ +../../tcwg-base/tcwg-host/gerrit-branches
\ No newline at end of file diff --git a/xenial-arm64-tcwg-base/Dockerfile b/xenial-arm64-tcwg-base/Dockerfile index 74a08245..2ba6c04f 100644 --- a/xenial-arm64-tcwg-base/Dockerfile +++ b/xenial-arm64-tcwg-base/Dockerfile @@ -44,7 +44,10 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ groff \ less \ libexpat1-dev \ + libgmp-dev \ liblzma-dev \ + libmpc-dev \ + libmpfr-dev \ libncurses5-dev \ libpython2.7-dev \ libreadline-dev \ @@ -62,6 +65,7 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ openssh-server \ python-dev \ postfix \ + psmisc \ pxz \ qemu-system-arm \ qemu-user \ @@ -73,6 +77,7 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ texlive-fonts-recommended \ texlive-latex-recommended \ time \ + unifdef \ valgrind \ vim \ virtualenv \ @@ -101,6 +106,25 @@ COPY postfix-sasl_password.in /etc/postfix/sasl_password RUN chown root:root /etc/postfix/sasl_password \ && chmod 600 /etc/postfix/sasl_password +# Add ninja with support for memory-threshold job limitation. +# It's installed with ".bin" extension and containers then +# make wrappers around it in /usr/local/bin/ninja as needed. +RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \ + && cd ninja \ + && ./configure.py --bootstrap && ./ninja all && ./ninja_test \ + && mv ninja /usr/local/bin/ninja.bin \ + && cd .. \ + && rm -rf ninja + + +COPY home-data/ /home-data/ +COPY new-user.sh /usr/local/bin/ + +RUN \ + while read line; do \ + new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \ + done </home-data/group + # We use ssh multiplexing, which creates sockets in /tmp. Overlayfs, # which docker is using, can't host sockets, so we use a scratch mount # for /tmp. This requires that we add --rm option to "docker run" @@ -110,4 +134,4 @@ VOLUME /tmp EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"] -# checksum: bb32f5a03bcc7864035ebc495cde2ea4 +# checksum: 5d69a0e67de38ed9fb2fd87244c1b6ce diff --git a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-build/Dockerfile b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-build/Dockerfile index 989ef31e..41b05edd 100644 --- a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-build/Dockerfile +++ b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-build/Dockerfile @@ -1,18 +1,13 @@ # Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit. FROM linaro/ci-arm64-tcwg-base-ubuntu:xenial -COPY new-user.sh /usr/local/bin/ - -RUN new-user.sh --user tcwg-buildslave:11827 --group tcwg-infra:9000 \ - && new-user.sh --user tcwg-benchmark:12326 --group tcwg-infra \ - && mkdir -p /home/tcwg-buildslave/workspace - -COPY tcwg-buildslave /home/tcwg-buildslave -COPY tcwg-benchmark /home/tcwg-benchmark - -RUN chown -R tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/ \ - && chown -R tcwg-benchmark:tcwg-infra /home/tcwg-benchmark/ \ - && chmod 0700 /home/tcwg-buildslave/.ssh/ /home/tcwg-benchmark/.ssh/ \ - && chmod 0600 /home/tcwg-buildslave/.ssh/* /home/tcwg-benchmark/.ssh/* - -# checksum: a9bb4838879761da324a80f74d713b07 +RUN while read line; do \ + if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \ + continue; \ + fi; \ + new-user.sh --passwd "$line"; \ + user=$(echo "$line" | cut -d: -f 1); \ + sudo -i -u $user ccache --print-config; \ + done </home-data/passwd + +# checksum: 443d79e453fa3bdf6ad9089f670cd90f diff --git a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-dev/Dockerfile b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-dev/Dockerfile index 4534b5cc..db0cd0ba 100644 --- a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-dev/Dockerfile +++ b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-dev/Dockerfile @@ -1,18 +1,6 @@ # Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit. FROM linaro/ci-arm64-tcwg-base-ubuntu:xenial -COPY run.sh . -COPY start.sh . - -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - software-properties-common \ - && apt-get clean \ - && rm -rf \ - /var/lib/apt/lists/* \ - /tmp/* \ - /var/tmp/* - RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ apt-file \ @@ -21,29 +9,26 @@ RUN apt-get update \ gnat-5 \ less \ locales \ - libgmp-dev \ - libmpc-dev \ - libmpfr-dev \ mc \ screen \ + software-properties-common \ stgit \ tmux \ - unifdef \ && apt-get clean \ && rm -rf \ /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* -RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \ - && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \ - && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ +RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ && apt-file update # Create directories required for X11. RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \ && chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix +COPY run.sh start.sh / + ENTRYPOINT ["/run.sh"] CMD ["start.sh"] -# checksum: 0e9607cbb3dd157d553ffebd26d6a411 +# checksum: 7d7b7765e822f49af3ecb6fad5353a16 diff --git a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/Dockerfile b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/Dockerfile new file mode 100644 index 00000000..34f161bd --- /dev/null +++ b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/Dockerfile @@ -0,0 +1,11 @@ +# Auto generated from tcwg-base/tcwg-host/Dockerfile.in. Do not edit. +FROM linaro/ci-arm64-tcwg-base-ubuntu:xenial + +COPY docker-wrapper /usr/local/bin/docker +COPY docker-stats /usr/local/bin/ + +COPY run.sh start.sh / + +ENTRYPOINT ["/run.sh"] +CMD ["start.sh"] +# checksum: 8498aac781566adf4cb5a246369137bd diff --git a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/build.sh b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/build.sh new file mode 120000 index 00000000..2c954456 --- /dev/null +++ b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/build.sh @@ -0,0 +1 @@ +../../tcwg-base/tcwg-host/build.sh
\ No newline at end of file diff --git a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/gerrit-branches b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/gerrit-branches new file mode 120000 index 00000000..44e3578e --- /dev/null +++ b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-host/gerrit-branches @@ -0,0 +1 @@ +../../tcwg-base/tcwg-host/gerrit-branches
\ No newline at end of file diff --git a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-llvmbot/Dockerfile b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-llvmbot/Dockerfile index a5327736..439570e5 100644 --- a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-llvmbot/Dockerfile +++ b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-llvmbot/Dockerfile @@ -2,8 +2,12 @@ FROM linaro/ci-arm64-tcwg-base-ubuntu:xenial RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common \ + && DEBIAN_FRONTEND=noninteractive add-apt-repository -y ppa:ubuntu-toolchain-r/test \ + && apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ buildbot \ + g++-7 \ && apt-get clean \ && rm -rf \ /var/lib/apt/lists/* \ @@ -22,19 +26,11 @@ RUN cd ./llvm-config-buildslave/ \ /var/tmp/* \ && sudo -i -u buildslave mkdir /home/buildslave/buildslave -# Add ninja with support for memory-threshold job limitation. -RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \ - && cd ninja \ - && ./configure.py --bootstrap && ./ninja all && ./ninja_test \ - && mv ninja /usr/local/bin/ninja.bin \ - && cd .. \ - && rm -rf ninja - # Add current clang for libcxx bots. RUN \ - clang_ver=clang+llvm-5.0.1-aarch64-linux-gnu \ + clang_ver=clang+llvm-6.0.0-aarch64-linux-gnu \ && cd /usr/local \ - && wget --progress=dot:giga http://releases.llvm.org/5.0.1/$clang_ver.tar.xz \ + && wget --progress=dot:giga http://releases.llvm.org/6.0.0/$clang_ver.tar.xz \ && tar xf $clang_ver.tar.xz \ && rm $clang_ver.tar.xz @@ -45,4 +41,4 @@ COPY start.sh . ENTRYPOINT ["/run.sh"] CMD ["start.sh"] -# checksum: e518582a2a434e66d9c9388c0bd2fa91 +# checksum: 3601aae3505cd568a70051c768ab6cd9 diff --git a/xenial-armhf-tcwg-base/Dockerfile b/xenial-armhf-tcwg-base/Dockerfile index cb315681..9964f843 100644 --- a/xenial-armhf-tcwg-base/Dockerfile +++ b/xenial-armhf-tcwg-base/Dockerfile @@ -44,7 +44,10 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ groff \ less \ libexpat1-dev \ + libgmp-dev \ liblzma-dev \ + libmpc-dev \ + libmpfr-dev \ libncurses5-dev \ libpython2.7-dev \ libreadline-dev \ @@ -62,6 +65,7 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ openssh-server \ python-dev \ postfix \ + psmisc \ pxz \ qemu-system-arm \ qemu-user \ @@ -73,6 +77,7 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ texlive-fonts-recommended \ texlive-latex-recommended \ time \ + unifdef \ valgrind \ vim \ virtualenv \ @@ -101,6 +106,25 @@ COPY postfix-sasl_password.in /etc/postfix/sasl_password RUN chown root:root /etc/postfix/sasl_password \ && chmod 600 /etc/postfix/sasl_password +# Add ninja with support for memory-threshold job limitation. +# It's installed with ".bin" extension and containers then +# make wrappers around it in /usr/local/bin/ninja as needed. +RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \ + && cd ninja \ + && ./configure.py --bootstrap && ./ninja all && ./ninja_test \ + && mv ninja /usr/local/bin/ninja.bin \ + && cd .. \ + && rm -rf ninja + + +COPY home-data/ /home-data/ +COPY new-user.sh /usr/local/bin/ + +RUN \ + while read line; do \ + new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \ + done </home-data/group + # We use ssh multiplexing, which creates sockets in /tmp. Overlayfs, # which docker is using, can't host sockets, so we use a scratch mount # for /tmp. This requires that we add --rm option to "docker run" @@ -110,4 +134,4 @@ VOLUME /tmp EXPOSE 22 CMD ["linux32", "/usr/sbin/sshd", "-D"] -# checksum: 23b30d538e449e7d3a20a0253ac38224 +# checksum: 85986dd6dd8ddc162d40addb2a4f80b8 diff --git a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-build/Dockerfile b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-build/Dockerfile index d685b29a..09c06be4 100644 --- a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-build/Dockerfile +++ b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-build/Dockerfile @@ -1,18 +1,13 @@ # Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit. FROM linaro/ci-armhf-tcwg-base-ubuntu:xenial -COPY new-user.sh /usr/local/bin/ - -RUN new-user.sh --user tcwg-buildslave:11827 --group tcwg-infra:9000 \ - && new-user.sh --user tcwg-benchmark:12326 --group tcwg-infra \ - && mkdir -p /home/tcwg-buildslave/workspace - -COPY tcwg-buildslave /home/tcwg-buildslave -COPY tcwg-benchmark /home/tcwg-benchmark - -RUN chown -R tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/ \ - && chown -R tcwg-benchmark:tcwg-infra /home/tcwg-benchmark/ \ - && chmod 0700 /home/tcwg-buildslave/.ssh/ /home/tcwg-benchmark/.ssh/ \ - && chmod 0600 /home/tcwg-buildslave/.ssh/* /home/tcwg-benchmark/.ssh/* - -# checksum: 8dcea6cdeb064fe01ee369351717080c +RUN while read line; do \ + if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \ + continue; \ + fi; \ + new-user.sh --passwd "$line"; \ + user=$(echo "$line" | cut -d: -f 1); \ + sudo -i -u $user ccache --print-config; \ + done </home-data/passwd + +# checksum: 42236a4db3a31045c88d1a3859571f0f diff --git a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-dev/Dockerfile b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-dev/Dockerfile index 1bbdba71..49a67cbe 100644 --- a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-dev/Dockerfile +++ b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-dev/Dockerfile @@ -1,18 +1,6 @@ # Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit. FROM linaro/ci-armhf-tcwg-base-ubuntu:xenial -COPY run.sh . -COPY start.sh . - -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - software-properties-common \ - && apt-get clean \ - && rm -rf \ - /var/lib/apt/lists/* \ - /tmp/* \ - /var/tmp/* - RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ apt-file \ @@ -21,29 +9,26 @@ RUN apt-get update \ gnat-5 \ less \ locales \ - libgmp-dev \ - libmpc-dev \ - libmpfr-dev \ mc \ screen \ + software-properties-common \ stgit \ tmux \ - unifdef \ && apt-get clean \ && rm -rf \ /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* -RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \ - && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \ - && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ +RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ && apt-file update # Create directories required for X11. RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \ && chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix +COPY run.sh start.sh / + ENTRYPOINT ["linux32", "/run.sh"] CMD ["start.sh"] -# checksum: ece1982cfb0a9675f6cb4af314a31779 +# checksum: b8cb9f0df64f714ab0d4514517850f35 diff --git a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-host/Dockerfile b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-host/Dockerfile new file mode 100644 index 00000000..069193ec --- /dev/null +++ b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-host/Dockerfile @@ -0,0 +1,11 @@ +# Auto generated from tcwg-base/tcwg-host/Dockerfile.in. Do not edit. +FROM linaro/ci-armhf-tcwg-base-ubuntu:xenial + +COPY docker-wrapper /usr/local/bin/docker +COPY docker-stats /usr/local/bin/ + +COPY run.sh start.sh / + +ENTRYPOINT ["linux32", "/run.sh"] +CMD ["start.sh"] +# checksum: ba7a02aa96c3b6df313c3fac751b47bc diff --git a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-host/build.sh b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-host/build.sh new file mode 120000 index 00000000..2c954456 --- /dev/null +++ b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-host/build.sh @@ -0,0 +1 @@ +../../tcwg-base/tcwg-host/build.sh
\ No newline at end of file diff --git a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-host/gerrit-branches b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-host/gerrit-branches new file mode 120000 index 00000000..44e3578e --- /dev/null +++ b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-host/gerrit-branches @@ -0,0 +1 @@ +../../tcwg-base/tcwg-host/gerrit-branches
\ No newline at end of file diff --git a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-llvmbot/Dockerfile b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-llvmbot/Dockerfile index 00ed72eb..7efb553f 100644 --- a/xenial-armhf-tcwg-base/xenial-armhf-tcwg-llvmbot/Dockerfile +++ b/xenial-armhf-tcwg-base/xenial-armhf-tcwg-llvmbot/Dockerfile @@ -2,8 +2,12 @@ FROM linaro/ci-armhf-tcwg-base-ubuntu:xenial RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common \ + && DEBIAN_FRONTEND=noninteractive add-apt-repository -y ppa:ubuntu-toolchain-r/test \ + && apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ buildbot \ + g++-7 \ && apt-get clean \ && rm -rf \ /var/lib/apt/lists/* \ @@ -22,19 +26,11 @@ RUN cd ./llvm-config-buildslave/ \ /var/tmp/* \ && sudo -i -u buildslave mkdir /home/buildslave/buildslave -# Add ninja with support for memory-threshold job limitation. -RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \ - && cd ninja \ - && ./configure.py --bootstrap && ./ninja all && ./ninja_test \ - && mv ninja /usr/local/bin/ninja.bin \ - && cd .. \ - && rm -rf ninja - # Add current clang for libcxx bots. RUN \ - clang_ver=clang+llvm-5.0.1-armv7a-linux-gnueabihf \ + clang_ver=clang+llvm-6.0.0-armv7a-linux-gnueabihf \ && cd /usr/local \ - && wget --progress=dot:giga http://releases.llvm.org/5.0.1/$clang_ver.tar.xz \ + && wget --progress=dot:giga http://releases.llvm.org/6.0.0/$clang_ver.tar.xz \ && tar xf $clang_ver.tar.xz \ && rm $clang_ver.tar.xz @@ -45,4 +41,4 @@ COPY start.sh . ENTRYPOINT ["linux32", "/run.sh"] CMD ["start.sh"] -# checksum: 478e345cb93c7e7a70535a26606fb9ed +# checksum: cf73c99640ab904d9997a941177001f1 diff --git a/xenial-i386-tcwg-base/Dockerfile b/xenial-i386-tcwg-base/Dockerfile index 496d119d..1023b6ed 100644 --- a/xenial-i386-tcwg-base/Dockerfile +++ b/xenial-i386-tcwg-base/Dockerfile @@ -49,8 +49,12 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \ less \ libexpat1-dev \ libglib2.0-dev \ + libgmp-dev \ liblzma-dev \ + libmpc-dev \ + libmpfr-dev \ libncurses5-dev \ + libpixman-1-dev \ libpython2.7-dev \ libreadline-dev \ libssl-dev \ @@ -69,6 +73,7 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \ pkg-config \ python-dev \ postfix \ + psmisc \ pxz \ qemu-system-arm \ qemu-user \ @@ -80,6 +85,7 @@ RUN (url="http://archive.ubuntu.com/ubuntu/"; \ texlive-fonts-recommended \ texlive-latex-recommended \ time \ + unifdef \ valgrind \ vim \ virtualenv \ @@ -108,15 +114,34 @@ COPY postfix-sasl_password.in /etc/postfix/sasl_password RUN chown root:root /etc/postfix/sasl_password \ && chmod 600 /etc/postfix/sasl_password +# Add ninja with support for memory-threshold job limitation. +# It's installed with ".bin" extension and containers then +# make wrappers around it in /usr/local/bin/ninja as needed. +RUN git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \ + && cd ninja \ + && ./configure.py --bootstrap && ./ninja all && ./ninja_test \ + && mv ninja /usr/local/bin/ninja.bin \ + && cd .. \ + && rm -rf ninja + RUN mkdir /tmp/docker-install-qemu.$$ \ && cd /tmp/docker-install-qemu.$$ \ - && qemu_ver=2.8.0 && wget --progress=dot:giga http://download.qemu-project.org/qemu-${qemu_ver}.tar.xz \ + && qemu_ver=3.1.0 && wget --progress=dot:giga http://download.qemu-project.org/qemu-${qemu_ver}.tar.xz \ && tar xf qemu-${qemu_ver}.tar.xz \ && mkdir build && cd build \ && ../qemu-${qemu_ver}/configure --prefix=/usr/local --target-list=armeb-linux-user \ && make all install -j $(nproc --all) \ && cd && rm -rf /tmp/docker-install-qemu.$$ + +COPY home-data/ /home-data/ +COPY new-user.sh /usr/local/bin/ + +RUN \ + while read line; do \ + new-user.sh --group $(echo "$line" | cut -d: -f 1,3); \ + done </home-data/group + # We use ssh multiplexing, which creates sockets in /tmp. Overlayfs, # which docker is using, can't host sockets, so we use a scratch mount # for /tmp. This requires that we add --rm option to "docker run" @@ -126,4 +151,4 @@ VOLUME /tmp EXPOSE 22 CMD ["linux32", "/usr/sbin/sshd", "-D"] -# checksum: cb6ee278c0423b5434e71afdb95b02d8 +# checksum: 6250ecddc1d62a1bd9c34d0a1af2b5de diff --git a/xenial-i386-tcwg-base/xenial-i386-tcwg-build/Dockerfile b/xenial-i386-tcwg-base/xenial-i386-tcwg-build/Dockerfile index b105a155..9ef8d56d 100644 --- a/xenial-i386-tcwg-base/xenial-i386-tcwg-build/Dockerfile +++ b/xenial-i386-tcwg-base/xenial-i386-tcwg-build/Dockerfile @@ -1,19 +1,14 @@ # Auto generated from tcwg-base/tcwg-build/Dockerfile.in. Do not edit. FROM linaro/ci-i386-tcwg-base-ubuntu:xenial -COPY new-user.sh /usr/local/bin/ - -RUN new-user.sh --user tcwg-buildslave:11827 --group tcwg-infra:9000 \ - && new-user.sh --user tcwg-benchmark:12326 --group tcwg-infra \ - && mkdir -p /home/tcwg-buildslave/workspace - -COPY tcwg-buildslave /home/tcwg-buildslave -COPY tcwg-benchmark /home/tcwg-benchmark - -RUN chown -R tcwg-buildslave:tcwg-infra /home/tcwg-buildslave/ \ - && chown -R tcwg-benchmark:tcwg-infra /home/tcwg-benchmark/ \ - && chmod 0700 /home/tcwg-buildslave/.ssh/ /home/tcwg-benchmark/.ssh/ \ - && chmod 0600 /home/tcwg-buildslave/.ssh/* /home/tcwg-benchmark/.ssh/* +RUN while read line; do \ + if [ x"$(echo "$line" | cut -d: -f 4)" != x"9000" ]; then \ + continue; \ + fi; \ + new-user.sh --passwd "$line"; \ + user=$(echo "$line" | cut -d: -f 1); \ + sudo -i -u $user ccache --print-config; \ + done </home-data/passwd # Install wine. On amd64 arch we need to enable i386, otherwise wine # won't meet dependencies (this is the case at least for trusty and xenial). @@ -26,4 +21,4 @@ RUN \ /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* -# checksum: c4d98a96007fb76a7e5c6114053a3c87 +# checksum: c9e664ac8fbca90586d162b8dce9dd53 diff --git a/xenial-i386-tcwg-base/xenial-i386-tcwg-dev/Dockerfile b/xenial-i386-tcwg-base/xenial-i386-tcwg-dev/Dockerfile index d0603797..e06816fe 100644 --- a/xenial-i386-tcwg-base/xenial-i386-tcwg-dev/Dockerfile +++ b/xenial-i386-tcwg-base/xenial-i386-tcwg-dev/Dockerfile @@ -1,18 +1,6 @@ # Auto generated from tcwg-base/tcwg-dev/Dockerfile.in. Do not edit. FROM linaro/ci-i386-tcwg-base-ubuntu:xenial -COPY run.sh . -COPY start.sh . - -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - software-properties-common \ - && apt-get clean \ - && rm -rf \ - /var/lib/apt/lists/* \ - /tmp/* \ - /var/tmp/* - RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ apt-file \ @@ -21,29 +9,26 @@ RUN apt-get update \ gnat-5 \ less \ locales \ - libgmp-dev \ - libmpc-dev \ - libmpfr-dev \ mc \ screen \ + software-properties-common \ stgit \ tmux \ - unifdef \ && apt-get clean \ && rm -rf \ /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* -RUN sed -i -e '/.*AuthorizedKeysFile/ d' /etc/ssh/sshd_config \ - && echo "AuthorizedKeysFile %h/.ssh/authorized_keys.docker" >> /etc/ssh/sshd_config \ - && locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ +RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8 \ && apt-file update # Create directories required for X11. RUN mkdir -p /tmp/.X11-unix /tmp/.ICE-unix \ && chmod 1777 /tmp/.X11-unix /tmp/.ICE-unix +COPY run.sh start.sh / + ENTRYPOINT ["linux32", "/run.sh"] CMD ["start.sh"] -# checksum: d4713d03be137a74e7d172adec5fd118 +# checksum: f1db2fea09ca33b4f8f4f94e36a373ec |