X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fbuildd%2Fmanifests%2Finit.pp;h=1d9aa20651b2eae035a0faa55b10c6bdce501d87;hb=944a6873425c59bc8ac5c0154221fc910b3fdc71;hp=b5238c3d3d1c845158de65bac4a09dd84b41e671;hpb=a5c5dfdd9e59822c957607e93e9330774704601d;p=mirror%2Fdsa-puppet.git diff --git a/modules/buildd/manifests/init.pp b/modules/buildd/manifests/init.pp index b5238c3d3..1d9aa2065 100644 --- a/modules/buildd/manifests/init.pp +++ b/modules/buildd/manifests/init.pp @@ -31,16 +31,9 @@ class buildd ($ensure=present) { source => 'puppet:///modules/buildd/buildd.conf', require => Package['buildd'], } - if ($::lsbmajdistrelease >= '8') { - file { '/etc/sbuild/sbuild.conf': - source => 'puppet:///modules/buildd/sbuild.conf', - require => Package['sbuild'], - } - } else { - file { '/etc/sbuild/sbuild.conf': - source => 'puppet:///modules/buildd/sbuild.conf.wheezy', - require => Package['sbuild'], - } + file { '/etc/sbuild/sbuild.conf': + source => 'puppet:///modules/buildd/sbuild.conf', + require => Package['sbuild'], } include ferm::ftp_conntrack } @@ -57,12 +50,18 @@ class buildd ($ensure=present) { default => 'jessie' } - site::aptrepo { 'buildd.debian.org': - key => 'puppet:///modules/buildd/buildd.debian.org.gpg', - url => 'https://apt.buildd.debian.org/', - suite => $suite, - components => 'main', - require => Package['apt-transport-https'], + if (versioncmp($::lsbmajdistrelease, '9') >= 0) { + site::aptrepo { 'buildd.debian.org': + ensure => absent, + } + } else { + site::aptrepo { 'buildd.debian.org': + key => 'puppet:///modules/buildd/buildd.debian.org.gpg', + url => 'https://apt.buildd.debian.org/', + suite => $suite, + components => 'main', + require => Package['apt-transport-https'], + } } file { '/etc/apt/apt.conf.d/puppet-https-buildd': @@ -76,7 +75,9 @@ class buildd ($ensure=present) { file { '/etc/apt/preferences.d/buildd': ensure => absent, } - file { '/etc/cron.d/dsa-buildd': + file { '/etc/cron.d/dsa-buildd': ensure => absent, } + concat::fragment { 'dsa-puppet-stuff--buildd': + target => '/etc/cron.d/dsa-puppet-stuff', source => 'puppet:///modules/buildd/cron.d-dsa-buildd', require => Package['debian.org'] } @@ -85,16 +86,9 @@ class buildd ($ensure=present) { package { 'python-psutil': ensure => installed, } - if ($::lsbmajdistrelease >= '8') { - file { '/usr/local/sbin/buildd-schroot-aptitude-kill': - source => 'puppet:///modules/buildd/buildd-schroot-aptitude-kill', - mode => '0555', - } - } else { - file { '/usr/local/sbin/buildd-schroot-aptitude-kill': - source => 'puppet:///modules/buildd/buildd-schroot-aptitude-kill.wheezy', - mode => '0555', - } + file { '/usr/local/sbin/buildd-schroot-aptitude-kill': + source => 'puppet:///modules/buildd/buildd-schroot-aptitude-kill', + mode => '0555', } } else { file { '/usr/local/sbin/buildd-schroot-aptitude-kill': @@ -102,8 +96,12 @@ class buildd ($ensure=present) { mode => '0555', } } - file { '/etc/cron.d/puppet-buildd-aptitude': - content => "*/5 * * * * root /usr/local/sbin/buildd-schroot-aptitude-kill\n", + file { '/etc/cron.d/puppet-buildd-aptitude': ensure => absent } + concat::fragment { 'dsa-puppet-stuff--buildd-aptitude-killer': + target => '/etc/cron.d/dsa-puppet-stuff', + content => @(EOF) + */5 * * * * root /usr/local/sbin/buildd-schroot-aptitude-kill + | EOF } service { 'buildd': @@ -111,9 +109,13 @@ class buildd ($ensure=present) { ensure => 'stopped', } + file { '/etc/cron.d/puppet-update-buildd-schroots': ensure => absent } if $has_srv_buildd { - file { '/etc/cron.d/puppet-update-buildd-schroots': - content => "13 21 * * 0,3 root PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin setup-all-dchroots buildd\n", + concat::fragment { 'dsa-puppet-stuff--buildd-update-schroots': + target => '/etc/cron.d/dsa-puppet-stuff', + content => @(EOF) + 13 22 * * 0,3 root PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin setup-all-dchroots buildd + | EOF } } @@ -182,6 +184,15 @@ class buildd ($ensure=present) { owner => buildd, } + file { '/home/buildd/.profile': + content => @(EOT), + export XDG_RUNTIME_DIR="/run/user/$(id -u)" + export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" + | EOT + group => buildd, + owner => buildd, + } + if ! $::buildd_key { exec { 'create-buildd-key': command => '/bin/su - buildd -c \'mkdir -p -m 02700 .ssh && ssh-keygen -C "`whoami`@`hostname` (`date +%Y-%m-%d`)" -P "" -f .ssh/id_rsa -q\'', @@ -194,5 +205,22 @@ class buildd ($ensure=present) { command => 'adduser buildd sbuild', onlyif => "getent group sbuild > /dev/null && ! getent group sbuild | grep '\\' > /dev/null" } + + # Enable lingering for pybuildd + file { '/var/lib/systemd/linger': + ensure => directory, + mode => '755', + } + file { "/var/lib/systemd/linger/buildd": + ensure => present, + } + + # And persistent journald storage + exec {'mkdir -p /etc/systemd/journald.conf.d': + unless => 'test -d /etc/systemd/journald.conf.d', + } + file { '/etc/systemd/journald.conf.d/persistency.conf': + source => 'puppet:///modules/systemd/persistency.conf', + } } }