aboutsummaryrefslogtreecommitdiff
path: root/tcwg-base
diff options
context:
space:
mode:
Diffstat (limited to 'tcwg-base')
-rw-r--r--tcwg-base/Dockerfile.in36
-rw-r--r--tcwg-base/home-data/diana.picus/.ssh/authorized_keys1
-rw-r--r--tcwg-base/home-data/group4
-rw-r--r--tcwg-base/home-data/kugan.vivekanandarajah/.ssh/authorized_keys2
-rw-r--r--tcwg-base/home-data/passwd4
-rw-r--r--tcwg-base/home-data/tcwg-buildslave/.ssh/config24
-rw-r--r--tcwg-base/home-data/tcwg-buildslave/.ssh/known_hosts1
-rw-r--r--tcwg-base/home-data/thomas.preudhomme/.ssh/authorized_keys1
-rw-r--r--tcwg-base/home-data/yvan.roux/.ssh/authorized_keys1
-rw-r--r--tcwg-base/home-data/yvan.roux/.tmux.conf10
-rw-r--r--tcwg-base/tcwg-build/Dockerfile.in8
-rw-r--r--tcwg-base/tcwg-dev/Dockerfile.in14
-rwxr-xr-xtcwg-base/tcwg-dev/start.sh4
-rw-r--r--tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in11
-rwxr-xr-xtcwg-base/tcwg-host/start.sh3
-rw-r--r--tcwg-base/tcwg-llvmbot/Dockerfile.in12
-rwxr-xr-xtcwg-base/tcwg-llvmbot/run.sh70
-rwxr-xr-xtcwg-base/tcwg-llvmbot/start.sh46
18 files changed, 163 insertions, 89 deletions
diff --git a/tcwg-base/Dockerfile.in b/tcwg-base/Dockerfile.in
index 2ff712f8..16cedea6 100644
--- a/tcwg-base/Dockerfile.in
+++ b/tcwg-base/Dockerfile.in
@@ -20,10 +20,15 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \
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 \
@@ -68,14 +73,23 @@ RUN true \
#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
@@ -113,6 +127,7 @@ RUN true \
texlive-fonts-recommended \
texlive-latex-recommended \
time \
+ unifdef \
valgrind \
vim \
#if !DISTRO_trusty
@@ -130,12 +145,7 @@ RUN true \
/tmp/* \
/var/tmp/*
-#if !DISTRO_bionic
RUN install -D -p -m0755 /usr/share/doc/git/contrib/workdir/git-new-workdir /usr/local/bin/git-new-workdir \
-#else
-# Ubuntu Bionic has a quirk in installing contrib files of git; skip for now.
-RUN true \
-#endif
&& sed -i -e 's:^session *required *pam_loginuid.so:# session required pam_loginuid.so:' /etc/pam.d/sshd \
&& mkdir -p /var/run/sshd \
&& sed -i \
@@ -150,11 +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
-#if !DISTRO_bionic
+# 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 \
@@ -162,10 +181,7 @@ RUN mkdir /tmp/docker-install-qemu.$$ \
&& cd && rm -rf /tmp/docker-install-qemu.$$
#endif
-#else
-# QEMU 2.8 doesn't build cleanly with Ubuntu Bionic's gcc.
-#endif
COPY home-data/ /home-data/
COPY new-user.sh /usr/local/bin/
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
index a0dbbf79..29de913d 100644
--- a/tcwg-base/home-data/group
+++ b/tcwg-base/home-data/group
@@ -1,3 +1,3 @@
tcwg-infra:x:9000:tcwg-buildslave,tcwg-benchmark
-tcwg-users:x:10000:maxim.kuvyrkov,alex.bennee,christophe.lyon,peter.smith,thomas.preudhomme,richard.henderson,prathamesh.kulkarni,omair.javaid
-tcwg-llvm:x:9001:maxim.kuvyrkov,peter.smith,thomas.preudhomme,omair.javaid
+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/passwd b/tcwg-base/home-data/passwd
index f9a98f65..f596805f 100644
--- a/tcwg-base/home-data/passwd
+++ b/tcwg-base/home-data/passwd
@@ -4,7 +4,9 @@ alex.bennee:x:10583:10000:Alex Bennée::/bin/bash
christophe.lyon:x:10033:10000:Christophe Lyon::/bin/bash
maxim.kuvyrkov:x:10967:10000:Maxim Kuvyrkov::/bin/bash
peter.smith:x:12314:10000:Peter Smith::/bin/bash
-thomas.preudhomme:x:13851:10000:Thomas Preud'homme::/bin/bash
richard.henderson:x:13410:10000:Richard Henderson::/bin/bash
prathamesh.kulkarni:x:11537:10000:Prathamesh Kulkarni::/bin/bash
omair.javaid:x:10174:10000:Omair Javaid::/bin/bash
+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/tcwg-buildslave/.ssh/config b/tcwg-base/home-data/tcwg-buildslave/.ssh/config
index ba32e1ef..b5086896 100644
--- a/tcwg-base/home-data/tcwg-buildslave/.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
@@ -20,15 +20,11 @@ Host *proxy.*
Host *.tcwglab
ProxyCommand ~/.ssh/ssh-tcwglab-nc.sh -q0 %h %p
-# Access to Austin Colo. E.g., "ssh r1-a7.aus-colo"
-Host *.aus-colo
- ProxyCommand ssh aus-colo.linaro.org nc -q0 %h %p
-
# 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 tcwg-d05-01 libgomp-d05 tcwg-thx1-01
+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
@@ -39,13 +35,8 @@ Host *.tcwglab *.aus-colo *.lab tcwg-d05-01 libgomp-d05 tcwg-thx1-01
# 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
@@ -57,10 +48,10 @@ Host *.tcwglab *.aus-colo *.lab tcwg-d05-01 libgomp-d05 tcwg-thx1-01
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
+Host tcwg-d05-01 libgomp-d05 tcwg-thx1-01 tcwg-sq-*.tcwglab
Port 2022
Host tcwg-d05-01 libgomp-d05
@@ -71,4 +62,11 @@ Host tcwg-thx1-01
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/home-data/tcwg-buildslave/.ssh/known_hosts b/tcwg-base/home-data/tcwg-buildslave/.ssh/known_hosts
index a1a108b4..910daa41 100644
--- a/tcwg-base/home-data/tcwg-buildslave/.ssh/known_hosts
+++ b/tcwg-base/home-data/tcwg-buildslave/.ssh/known_hosts
@@ -3,6 +3,7 @@ aus-colo.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBALdjDe/FnDjKDz+QzKWD/J1jIVVjied+
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
diff --git a/tcwg-base/home-data/thomas.preudhomme/.ssh/authorized_keys b/tcwg-base/home-data/thomas.preudhomme/.ssh/authorized_keys
deleted file mode 100644
index 68d7168d..00000000
--- a/tcwg-base/home-data/thomas.preudhomme/.ssh/authorized_keys
+++ /dev/null
@@ -1 +0,0 @@
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDFtoCUhkeZ3yC2s7oUfSrM33SVgBKLGJ/4FiEGnQRmU1g8rxuOyDOscGz6AIHDNfYcBZGgwHVu5rBd+w+GKZf89kzc6apqBCNmPXUX9vJleb8otqgDL9msifgGOjhDyWVd5pdW6MFzmWMIJyBbY+D3JguUgAMSHMiGh5Sf4+pskn6XOCqnKGbLYRMwpAD1u7ket/liAZnagFP1CuTCgNkmvnFzEw5a4bOdVYtp9x20LYq0L0OMSNhT4KajxUmxgEteLuKCXaafgPgIWq6B8skqkZzyVSU2+RR2Yd6wGQgP6fRFCh84lo59otU5C7VacYqryzCyfdiiE5FXzh94ypu0uKtnq4nSz9DUeL/TAcjr+Y+jAfgwCm087SK/WIPhF37yd6/b/AEeF/4mT8jAR+h74u8ULR9mRkWirBEldG2I80C9p916h73lrc9Vta7CA7XzseIHSKv1S1OQlkCMF8Jj4AwMTF5DOXLju9WNF17OAP44IMEJvpG2HcxTPLbrHd9GX2G4PDzJBaIuaFybJIQH28ZpbIVKpx6iVtPFQ2ehRh+STi7rApgLGPiKjwKYskLnpLcoCyhhyw8BpW7SQ4U690ZcPEboYDF5sqPwEP3EKmrXBG3siUNmlnrLY0E/INON/SKEHAgAAxKm2s4UhtnrfN3y1Wh1ILPRnJq6Fk3K3w== thopre01@e108577-lin
diff --git a/tcwg-base/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/tcwg-build/Dockerfile.in b/tcwg-base/tcwg-build/Dockerfile.in
index d9a8f692..9033a56b 100644
--- a/tcwg-base/tcwg-build/Dockerfile.in
+++ b/tcwg-base/tcwg-build/Dockerfile.in
@@ -5,18 +5,24 @@ RUN while read line; do \
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-dev/Dockerfile.in b/tcwg-base/tcwg-dev/Dockerfile.in
index e0eda9e3..4aed65d8 100644
--- a/tcwg-base/tcwg-dev/Dockerfile.in
+++ b/tcwg-base/tcwg-dev/Dockerfile.in
@@ -2,15 +2,6 @@ FROM linaro/ci-#{ARCH}-tcwg-base-ubuntu:#{DISTRO}
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
- software-properties-common \
- && apt-get clean \
- && rm -rf \
- /var/lib/apt/lists/* \
- /tmp/* \
- /var/tmp/*
-
-RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y \
apt-file \
git-gui \
git-svn \
@@ -23,14 +14,11 @@ 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/* \
diff --git a/tcwg-base/tcwg-dev/start.sh b/tcwg-base/tcwg-dev/start.sh
index b281d34b..c22f008f 100755
--- a/tcwg-base/tcwg-dev/start.sh
+++ b/tcwg-base/tcwg-dev/start.sh
@@ -100,7 +100,9 @@ case "$home" in
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.
# seccomp=unconfined to allow disabling of ASLR for sanitizer regression tests.
diff --git a/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in b/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in
index 5191918a..35853ad5 100644
--- a/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in
+++ b/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in
@@ -11,19 +11,10 @@ RUN apt-get update \
/tmp/* \
/var/tmp/*
-#if DISTRO_xenial
-RUN add-apt-repository ppa:x2go/stable \
-#else
-RUN true \
-#endif
- && apt-get update \
+RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
duplicity \
mate-desktop-environment \
-#if DISTRO_xenial
- x2godesktopsharing \
- x2gomatebindings \
-#endif
x2goserver \
x2goserver-xsession \
&& apt-get clean \
diff --git a/tcwg-base/tcwg-host/start.sh b/tcwg-base/tcwg-host/start.sh
index a9a5519c..9a865db7 100755
--- a/tcwg-base/tcwg-host/start.sh
+++ b/tcwg-base/tcwg-host/start.sh
@@ -76,6 +76,7 @@ mounts="$mounts -v /var/run/docker.sock:/var/run/docker.sock"
mounts="$mounts -v /usr/bin/docker:/usr/bin/docker"
# Use at most half of all available RAM.
-memlimit=$(($(free -g | awk '/^Mem/ { print $2 }') / 2))G
+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/run.sh b/tcwg-base/tcwg-llvmbot/run.sh
index aec8e31b..04bd6450 100755
--- a/tcwg-base/tcwg-llvmbot/run.sh
+++ b/tcwg-base/tcwg-llvmbot/run.sh
@@ -4,10 +4,10 @@ set -e
bare_metal_bot_p ()
{
- case "$1" in
- "linaro-tk1-"*) return 0 ;;
- *) return 1 ;;
- esac
+ if [ -f "/.dockerenv" ]; then
+ return 1
+ fi
+ return 0
}
use_clang_p ()
@@ -31,6 +31,8 @@ use_clang_p ()
# 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
@@ -44,11 +46,14 @@ setup_clang_release()
esac
# Download and install clang+llvm into /usr/local
- (
- cd /usr/local
- wget -c --progress=dot:giga http://releases.llvm.org/${release_num}/$clang_ver.tar.xz
- tar xf $clang_ver.tar.xz
- )
+ # 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++
}
@@ -65,10 +70,10 @@ if ! [ -f ~buildslave/buildslave/buildbot.tac ]; then
fi
if use_clang_p $2 ; then
- setup_clang_release
+ setup_clang_release $2
else
- cc=gcc
- cxx=g++
+ cc=gcc-7
+ cxx=g++-7
fi
# With default PATH /usr/local/bin/cc and /usr/local/bin/c++ are detected as
@@ -122,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 38ee277b..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"
@@ -47,8 +78,17 @@ case "$mastername" in
*) cpu_shares=1000 ;;
esac
-# Use 64G out of 128G.
-memlimit="64"
+memlimit=$(free -m | awk '/^Mem/ { print $2 }')
+case "$slavename" in
+ linaro-tk1-*)
+ # Use at most 90% of RAM on TK1s
+ memlimit=$(($memlimit * 9 / 10))m
+ ;;
+ *)
+ # Use at most half of all available RAM.
+ memlimit=$(($memlimit / 2))m
+ ;;
+esac
case "$slavename" in
*-lld) pids_limit="15000" ;;
@@ -60,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"