Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Debian QA
jenkins.debian.net
Commits
19112ede
Commit
19112ede
authored
Nov 25, 2015
by
Holger Levsen
Browse files
fixup
3778770f
: reproducible: add sixth armhf build node
parent
9d11f9ea
Changes
25
Hide whitespace changes
Inline
Side-by-side
hosts/wbd0-armhf-rb
deleted
120000 → 0
View file @
9d11f9ea
wbq0-armhf-rb
\ No newline at end of file
hosts/wbd0-armhf-rb/etc/apt/apt.conf.d/80proxy
0 → 100644
View file @
19112ede
Acquire::http::Proxy "http://10.0.0.15:8000/";
hosts/wbd0-armhf-rb/etc/apt/listchanges.conf
0 → 100644
View file @
19112ede
[
apt
]
frontend
=
mail
email_address
=
root
confirm
=
0
save_seen
=/
var
/
lib
/
apt
/
listchanges
.
db
which
=
both
hosts/wbd0-armhf-rb/etc/apt/sources.list
0 → 100644
View file @
19112ede
deb http://ftp.us.debian.org/debian/ jessie main non-free
#deb-src http://ftp.us.debian.org/debian/ jessie main non-free
deb http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free
#deb-src http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free
deb http://security.debian.org/ jessie/updates main non-free
#deb-src http://security.debian.org/ jessie/updates main non-free
deb http://ftp.us.debian.org/debian/ jessie-backports main non-free
#deb-src http://ftp.us.debian.org/debian/ jessie-backports main non-free
hosts/wbd0-armhf-rb/etc/cron.d/dsa
0 → 100755
View file @
19112ede
# m h dom mon dow (0|7=sun,1=mon) command
#
# cron-jobs for jenkins.debian.net and nodes
#
MAILTO=root
0 1,13 * * * nobody /usr/bin/chronic /usr/local/bin/dsa-check-running-kernel
2 1,13 * * * nobody /usr/bin/chronic /usr/local/bin/dsa-check-packages
hosts/wbd0-armhf-rb/etc/munin/munin-node.conf
0 → 100644
View file @
19112ede
#
# Example config-file for munin-node
#
log_level
4
log_file
/
var
/
log
/
munin
/
munin
-
node
.
log
pid_file
/
var
/
run
/
munin
/
munin
-
node
.
pid
background
1
setsid
1
user
root
group
root
# This is the timeout for the whole transaction.
# Units are in sec. Default is 15 min
#
# global_timeout 900
# This is the timeout for each plugin.
# Units are in sec. Default is 1 min
#
# timeout 60
# Regexps for files to ignore
ignore_file
[\
#~]$
ignore_file
DEADJOE
$
ignore_file
\.
bak
$
ignore_file
%$
ignore_file
\.
dpkg
-(
tmp
|
new
|
old
|
dist
)$
ignore_file
\.
rpm
(
save
|
new
)$
ignore_file
\.
pod
$
# Set this if the client doesn't report the correct hostname when
# telnetting to localhost, port 4949
#
#host_name localhost.localdomain
# A list of addresses that are allowed to connect. This must be a
# regular expression, since Net::Server does not understand CIDR-style
# network notation unless the perl module Net::CIDR is installed. You
# may repeat the allow line as many times as you'd like
allow
^
127
\.
0
\.
0
\.
1
$
allow
^::
1
$
# If you have installed the Net::CIDR perl module, you can use one or more
# cidr_allow and cidr_deny address/mask patterns. A connecting client must
# match any cidr_allow, and not match any cidr_deny. Note that a netmask
# *must* be provided, even if it's /32
#
# Example:
#
# cidr_allow 127.0.0.1/32
# cidr_allow 192.0.2.0/24
# cidr_deny 192.0.2.42/32
# Which address to bind to;
host
*
# host 127.0.0.1
# And which port
port
4949
allow
^
78
\.
137
\.
96
\.
196
hostname
wbd0
-
armhf
-
rb
.
debian
.
net
hosts/wbd0-armhf-rb/etc/munin/plugin-conf.d/df
0 → 100644
View file @
19112ede
[df*]
env.exclude none unknown iso9660 squashfs udf romfs ramfs debugfs devtmpfs sysfs
env.exclude_re /srv/workspace/pbuilder /run /dev/disk/by /var/lib/schroot/mount /dev/shm /sys/fs/cgroup
env.warning 92
env.critical 98
hosts/wbd0-armhf-rb/etc/munin/plugin-conf.d/diskstats
0 → 100644
View file @
19112ede
[diskstats]
env.trim_labels yes
env.include_only /dev/sda
hosts/wbd0-armhf-rb/etc/munin/plugin-conf.d/munin-node
0 → 100644
View file @
19112ede
# This file is used to configure how the plugins are invoked.
# Place in /etc/munin/plugin-conf.d/ or corresponding directory.
#
# PLEASE NOTE: Changes in the plugin-conf.d directory are only
# read at munin-node startup, so restart at any changes.
#
# user <user> # Set the user to run the plugin as.
# group <group> # Set the group to run the plugin as.
# command <command> # Run <command> instead of the plugin. %c expands to
# what would normally be run.
# env.<variable> <value> # Sets <variable> in the plugin's environment, see the
# individual plugins to find out which variables they
# care about.
[amavis]
group adm
env.MUNIN_MKTEMP /bin/mktemp -p /tmp/ $1
env.amavislog /var/log/mail.info
[apt]
user root
[courier_mta_mailqueue]
group daemon
[courier_mta_mailstats]
group adm
[courier_mta_mailvolume]
group adm
[cps*]
user root
[exim_mailqueue]
group adm, (Debian-exim)
[exim_mailstats]
group adm, (Debian-exim)
env.logdir /var/log/exim4/
env.logname mainlog
[fw_conntrack]
user root
[fw_forwarded_local]
user root
[hddtemp_smartctl]
user root
[hddtemp2]
user root
[if_*]
user root
[if_err_*]
user nobody
[ip_*]
user root
[ipmi_*]
user root
[mysql*]
user root
env.mysqlopts --defaults-file=/etc/mysql/debian.cnf
env.mysqluser debian-sys-maint
env.mysqlconnection DBI:mysql:mysql;mysql_read_default_file=/etc/mysql/debian.cnf
[postfix_mailqueue]
user postfix
[postfix_mailstats]
group adm
[postfix_mailvolume]
group adm
env.logfile mail.log
[smart_*]
user root
[vlan*]
user root
[ejabberd*]
user ejabberd
env.statuses available away chat xa
env.days 1 7 30
[dhcpd3]
user root
env.leasefile /var/lib/dhcp3/dhcpd.leases
env.configfile /etc/dhcp3/dhcpd.conf
[jmx_*]
env.ip 127.0.0.1
env.port 5400
[samba]
user root
[munin_stats]
user munin
group munin
[postgres_*]
user postgres
env.PGUSER postgres
env.PGPORT 5432
[fail2ban]
user root
hosts/wbd0-armhf-rb/etc/munin/plugins/jenkins_reproducible_builds
0 → 100755
View file @
19112ede
#!/bin/sh
# -*- sh -*-
: <<
=
cut
=
head1 NAME
jenkins_reproducible_builds - Plugin to measure number of reproducible builds running
=
head1 AUTHOR
Contributed by Holger Levsen
=
head1 LICENSE
GPLv2
=
head1 MAGIC MARKERS
#%# family=auto
#%# capabilities=autoconf
=
cut
.
$MUNIN_LIBDIR
/plugins/plugin.sh
if
[
"
$1
"
=
"autoconf"
]
;
then
echo yes
exit
0
fi
JOB_PREFIXES
=
"first second"
if
[
"
$1
"
=
"config"
]
;
then
echo
'graph_title Reproducible Builds in the last 24h'
echo
'graph_args --base 1000 -l 0 '
echo
'graph_scale no'
echo
'graph_total total'
echo
'graph_vlabel Reproducible Builds in the last 24h'
echo
'graph_category jenkins'
draw
=
AREA
for
PREFIX
in
$JOB_PREFIXES
;
do
echo
"jenkins_reproducible_
${
PREFIX
}
_build.label
$PREFIX
build"
echo
"jenkins_reproducible_
${
PREFIX
}
_build.draw
$draw
"
if
[
"
$draw
"
=
"AREA"
]
;
then
draw
=
STACK
;
fi
done
exit
0
fi
for
PREFIX
in
$JOB_PREFIXES
;
do
if
[
"
$PREFIX
"
=
"first"
]
;
then
NR
=
$(
pgrep
-fc
"bin/bash /srv/jenkins/bin/reproducible_build.sh 1"
)
else
NR
=
$(
pgrep
-fc
"bin/bash /srv/jenkins/bin/reproducible_build.sh 2"
)
fi
echo
"jenkins_reproducible_
${
PREFIX
}
_build.value
$NR
"
done
hosts/wbd0-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup
0 → 100755
View file @
19112ede
#!/bin/sh
set
-e
BUILDDIR
=
"
${
BUILDDIR
:-
/tmp/buildd
}
"
# exit if we are in the same UTS namespace as init ( != 2nd build )
[
"
$(
readlink
/proc/1/ns/uts
)
"
=
"
$(
readlink
/proc/self/ns/uts
)
"
]
&&
exit
0
# cease using disorderfs
if
[
-d
/tmp/disorderfs
]
;
then
echo
-n
"Unmounting /tmp/disorderfs…"
fusermount
-u
"
$BUILDDIR
"
rmdir
"
$BUILDDIR
"
mv
/tmp/disorderfs
"
$BUILDDIR
"
echo
" done."
fi
hosts/wbd0-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup
0 → 100755
View file @
19112ede
#!/bin/sh
set
-e
BUILDDIR
=
"
${
BUILDDIR
:-
/tmp/buildd
}
"
echo
"debug output: disk usage on
$(
hostname
)
at
$(
date
-u
)
"
df
-h
echo
# exit if we are in the same UTS namespace as init ( != 2nd build )
[
"
$(
readlink
/proc/1/ns/uts
)
"
=
"
$(
readlink
/proc/self/ns/uts
)
"
]
&&
exit
0
# cease using disorderfs
if
[
-d
/tmp/disorderfs
]
;
then
echo
-n
"Unmounting /tmp/disorderfs…"
fusermount
-u
"
$BUILDDIR
"
rmdir
"
$BUILDDIR
"
mv
/tmp/disorderfs
"
$BUILDDIR
"
echo
" done."
fi
hosts/wbd0-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment
0 → 100755
View file @
19112ede
#!/bin/sh
set
-e
BUILDDIR
=
"
${
BUILDDIR
:-
/tmp/buildd
}
"
# exit if we are in the same UTS namespace as init ( != 2nd build )
[
"
$(
readlink
/proc/1/ns/uts
)
"
=
"
$(
readlink
/proc/self/ns/uts
)
"
]
&&
exit
0
echo
"I: Changing host+domainname to test build reproducibility"
>
&2
sed
-e
'/^127.0.0.1/s/$/ i-capture-the-hostname i-capture-the-hostname.i-capture-the-domain/'
-i
/etc/hosts
hostname
i-capture-the-hostname
domainname i-capture-the-domain
echo
"I: Adding a custom variable just for the fun of it..."
>
&2
export
CAPTURE_ENVIRONMENT
=
"I capture the environment"
# temporarily disable disorderfs as we have problems properly unmounting it
exit
0
# use disorderfs
if
[
-x
/usr/bin/disorderfs
]
;
then
echo
-n
"Moving
$BUILDDIR
to /tmp/disorderfs and mounting this as
$BUILDDIR
via the fuse disorderfs…"
mknod
-m
666 /dev/fuse c 10 229
mv
"
$BUILDDIR
"
/tmp/disorderfs
mkdir
"
$BUILDDIR
"
disorderfs
--multi-user
=
yes
/tmp/disorderfs
"
$BUILDDIR
"
echo
" done."
else
echo
"Warning: disorderfs not available."
fi
hosts/wbd0-armhf-rb/etc/pbuilderrc
0 → 100644
View file @
19112ede
# this is your configuration file for pbuilder.
# the file in /usr/share/pbuilder/pbuilderrc is the default template.
# /etc/pbuilderrc is the one meant for overwriting defaults in
# the default template
#
# read pbuilderrc.5 document for notes on specific options.
case $HOSTNAME in
jenkins|profitbricks-build?-amd64) MIRRORSITE=http://ftp.de.debian.org/debian ;;
bpi0|cbxi4pro0|hb0|wbq0|odxu4|wbd0) MIRRORSITE=http://ftp.us.debian.org/debian ;;
*) echo "unsupported host, exiting." ; exit 1 ;;
esac
EXTRAPACKAGES="" # better list them in bin/reproducible_setup_pbuilder.sh
APTCACHE=""
COMPRESSPROG="pigz"
BUILDPLACE=/srv/workspace/pbuilder # build in /srv/workspace, which is in tmpfs
# unset proxy, see #780587
unset http_proxy
export -n http_proxy
# /sys and /proc were added as workarounds for #773767
# there are software wanting /dev/shm writable, so give them so. There are tons
# of bug shm related in pbuilder, that's just a workaround for all of them.
# /run/shm is already mounted as a tmpfs by default.
BINDMOUNTS="$BINDMOUNTS /sys /dev/shm"
# set PATH to predictable values, see #780729 and #780725
PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
# used for reproducible builds tests, when doing the 2nd build
if [ "$(readlink /proc/1/ns/uts)" != "$(readlink /proc/self/ns/uts)" ]; then
PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path"
fi
hosts/wbd0-armhf-rb/etc/postfix/main.cf
0 → 100644
View file @
19112ede
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = wbd0-armhf-rb.debian.net
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = wbd0-armhf-rb.debian.net, localhost
relayhost =
#mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
mailbox_command = /usr/bin/procmail -a "$EXTENSION"
hosts/wbd0-armhf-rb/etc/rc.local
0 → 100755
View file @
19112ede
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
echo
"
$(
date
)
- system was rebooted"
| mail
-s
"
$(
hostname
-f
)
rebooted"
root
exit
0
hosts/wbd0-armhf-rb/etc/schroot/default/fstab
0 → 100644
View file @
19112ede
# fstab: static file system information for chroots.
# Note that the mount point will be prefixed by the chroot path
# (CHROOT_PATH)
#
# <file system> <mount point> <type> <options> <dump> <pass>
/proc /proc none rw,bind 0 0
/sys /sys none rw,bind 0 0
/dev /dev none rw,bind 0 0
/dev/pts /dev/pts none rw,bind 0 0
/home /home none rw,bind 0 0
/tmp /tmp none rw,bind 0 0
/srv/reproducible-results /srv/reproducible-results none rw,bind 0 0
/srv/d-i /srv/d-i none rw,bind 0 0
/srv/jenkins /srv/jenkins none rw,bind 0 0
/srv/live-build /srv/live-build none rw,bind 0 0
# It may be desirable to have access to /run, especially if you wish
# to run additional services in the chroot. However, note that this
# may potentially cause undesirable behaviour on upgrades, such as
# killing services on the host.
#/run /run none rw,bind 0 0
#/run/lock /run/lock none rw,bind 0 0
/dev/shm /dev/shm none rw,bind 0 0
/run/shm /run/shm none rw,bind 0 0
hosts/wbd0-armhf-rb/etc/schroot/default/nssdatabases
0 → 100644
View file @
19112ede
# System databases to copy into the chroot from the host system.
#
# <database name>
passwd
shadow
group
gshadow
#services
protocols
networks
hosts
hosts/wbd0-armhf-rb/etc/sudoers.d/jenkins
0 → 100644
View file @
19112ede
jenkins ALL= \
NOPASSWD: /usr/sbin/debootstrap *, \
/usr/bin/tee /schroots/*, \
/usr/bin/tee -a /schroots/*, \
/usr/bin/tee /etc/schroot/chroot.d/jenkins*, \
/bin/chmod +x /schroots/*, \
/usr/sbin/chroot /schroots/*, \
/usr/sbin/chroot /chroots/*, \
/usr/sbin/chroot /media/*, \
/bin/ls -la /media/*, \
/bin/rm -rf --one-file-system /chroots/*, \
/bin/rm -rf --one-file-system /schroots/*, \
/bin/rm -rf --one-file-system /srv/live-build/*, \
/bin/rm -rf --one-file-system /srv/workspace/pbuilder/*, \
/bin/cp -v *.iso /srv/live-build/results/*, \
/bin/mv /chroots/* /schroots/*, \
/bin/mv /schroots/* /schroots/*, \
/bin/umount -l /chroots/*, \
/bin/umount -l /schroots/*, \
/bin/umount -l /media/*, \
/bin/rmdir /media/*, \
/bin/mount -o loop*, \
/bin/mount --bind *, \
/usr/bin/du *, \
/bin/kill *, \
/usr/bin/file *, \
/bin/dd if=/dev/zero of=/dev/jenkins*, \
/usr/bin/qemu-system-x86_64 *, \
/usr/bin/qemu-img *, \
/sbin/lvcreate *, /sbin/lvremove *, \
/bin/mkdir -p /media/*, \
/usr/bin/guestmount *, \
/bin/cp -rv /media/*, \
/bin/chown -R jenkins\:jenkins /var/lib/jenkins/jobs/*,\
SETENV: NOPASSWD: /usr/sbin/pbuilder *, \
SETENV: NOPASSWD: /usr/bin/timeout -k 12.1h 12h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder *, \
SETENV: NOPASSWD: /usr/bin/timeout -k 12.1h 12h /usr/bin/ionice -c 3 /usr/bin/nice /usr/bin/linux64 --uname-2.6 /usr/bin/unshare --uts -- /usr/sbin/pbuilder *, \
/bin/mv /var/cache/pbuilder/*base*.tgz /var/cache/pbuilder/*base*.tgz, \
/bin/rm /var/cache/pbuilder/*base*.tgz, \
/bin/rm -v /var/cache/pbuilder/*base*.tgz, \
/bin/rm /var/cache/pbuilder/result/*, \
/usr/bin/dcmd rm *.changes, \
/usr/bin/dcmd rm *.dsc, \
/usr/bin/apt-get update
# keep these environment variables
Defaults env_keep += "http_proxy", env_reset
hosts/wbd0-armhf-rb/etc/sudoers.d/jenkins-adm
0 → 100644
View file @
19112ede
# allow member of the jenkins-adm group to sudo-to the jenkins-adm user (owner
# of jenkins script) and the jenkins user itself
%jenkins-adm ALL=(jenkins:jenkins) NOPASSWD: ALL
%jenkins-adm ALL=(jenkins-adm:jenkins-adm) NOPASSWD: ALL
# allow jenkins-adm to run everything as root
%jenkins-adm ALL= NOPASSWD: ALL
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment