X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;ds=sidebyside;f=modules%2Fbuildd%2Fmanifests%2Finit.pp;h=4703bc86b276bad8a6160016ab75f33b0ee1b765;hb=ef9f1826ffec6284f4d3c85f562d875d594c8634;hp=289edf28ff196f2410668e2f2ae6924c42e03b19;hpb=0637773c599d387da3426ac17d78cc8b0e1c8f90;p=mirror%2Fdsa-puppet.git diff --git a/modules/buildd/manifests/init.pp b/modules/buildd/manifests/init.pp index 289edf28f..4703bc86b 100644 --- a/modules/buildd/manifests/init.pp +++ b/modules/buildd/manifests/init.pp @@ -23,7 +23,24 @@ class buildd ($ensure=present) { source => 'puppet:///modules/buildd/dupload.conf', require => Package['dupload'], } - site::linux_module { 'dm_snapshot': } + package { 'buildd': + ensure => installed, + } + file { '/etc/buildd/buildd.conf': + 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'], + } + } include ferm::ftp_conntrack } @@ -32,22 +49,28 @@ class buildd ($ensure=present) { } $suite = $::lsbdistcodename ? { - squeeze => $::lsbdistcodename, - wheezy => $::lsbdistcodename, - undef => 'squeeze', - default => 'wheezy' + wheezy => $::lsbdistcodename, + jessie => $::lsbdistcodename, + stretch => $::lsbdistcodename, + undef => 'wheezy', + default => 'jessie' + } + + $buildd_apt_url = $::debarchitecture ? { + /^sparc$/ => 'http://buildd.debian.org/apt/', + default => 'https://buildd.debian.org/apt/', } site::aptrepo { 'buildd.debian.org': key => 'puppet:///modules/buildd/buildd.debian.org.gpg', - url => 'https://buildd.debian.org/apt/', + url => $buildd_apt_url, suite => $suite, components => 'main', require => Package['apt-transport-https'], } $buildd_prop_ensure = $::hostname ? { - /^(alkman|brahms|porpora|zandonai)$/ => 'present', + /^(alkman)$/ => 'present', default => 'absent', } @@ -81,7 +104,7 @@ class buildd ($ensure=present) { require => Package['debian.org'] } - if ($::lsbmajdistrelease >= 7 and $::kernel == 'Linux') { + if ($::kernel == 'Linux') { package { 'python-psutil': ensure => installed, } @@ -106,10 +129,89 @@ class buildd ($ensure=present) { content => "*/5 * * * * root /usr/local/sbin/buildd-schroot-aptitude-kill\n", } - if $has_srv_buildd { file { '/etc/cron.d/puppet-update-buildd-schroots': - content => "13 21 * * 0 root PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin setup-all-dchroots buildd\n", + content => "13 21 * * 0,3 root PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin setup-all-dchroots buildd\n", + } + } + + file { '/home/buildd': + ensure => directory, + mode => '2755', + group => buildd, + owner => buildd, + } + file { '/home/buildd/build': + ensure => directory, + mode => '2750', + group => buildd, + owner => buildd, + } + file { '/home/buildd/logs': + ensure => directory, + mode => '2750', + group => buildd, + owner => buildd, + } + file { '/home/buildd/old-logs': + ensure => directory, + mode => '2750', + group => buildd, + owner => buildd, + } + file { '/home/buildd/upload-security': + ensure => directory, + mode => '2750', + group => buildd, + owner => buildd, + } + file { '/home/buildd/stats': + ensure => directory, + mode => '2755', + group => buildd, + owner => buildd, + } + file { '/home/buildd/stats/graphs': + ensure => directory, + mode => '2755', + group => buildd, + owner => buildd, + } + file { '/home/buildd/upload': + ensure => directory, + mode => '2755', + group => buildd, + owner => buildd, + } + file { '/home/buildd/.forward': + content => "|/usr/bin/buildd-mail\n", + group => buildd, + owner => buildd, + } + file { '/home/buildd/.gnupg': + ensure => directory, + mode => '700', + group => buildd, + owner => buildd, + } + file { '/home/buildd/.gnupg/gpg.conf': + content => "personal-digest-preferences SHA512\n", + 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\'', + onlyif => '/usr/bin/getent passwd buildd > /dev/null && ! [ -e /home/buildd/.ssh/id_rsa ]' + } + } + + + if $::buildd_user_exists { + exec { 'add-buildd-user-to-sbuild': + command => 'adduser buildd sbuild', + onlyif => "getent group sbuild > /dev/null && ! getent group sbuild | grep '\\' > /dev/null" } } }