X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fbuildd%2Fmanifests%2Finit.pp;h=4ded440f79d2dc5214722c51c4d6a354d777c99d;hb=d2f41d6cc64287591ac5c97a1fae9adb4f848d36;hp=8f68e6905f2469c46074cd49e9a011a58b8965c5;hpb=c4718c4edcce0add4fea04db5eb2fc4bf808c8cf;p=mirror%2Fdsa-puppet.git diff --git a/modules/buildd/manifests/init.pp b/modules/buildd/manifests/init.pp index 8f68e6905..4ded440f7 100644 --- a/modules/buildd/manifests/init.pp +++ b/modules/buildd/manifests/init.pp @@ -1,22 +1,91 @@ class buildd { - package { - "sbuild": ensure => installed; - "buildd": ensure => installed; - "buildd-builder-meta": ensure => installed; - "apt-transport-https": ensure => installed; - "debootstrap": ensure => installed; - } - - file { - "/etc/apt/sources.list.d/buildd.list": - source => "puppet:///files/etc/apt/sources.list.d/buildd.list", - require => Package["apt-transport-https"] - ; - - "/etc/apt/trusted-keys.d/buildd.debian.org.asc": - source => "puppet:///buildd/buildd.debian.org.asc", - mode => 664, - notify => Exec["apt-keys-update"], - ; - } + + package { [ + 'schroot', + 'sbuild' + ]: + ensure => installed, + require => [ + Exec['apt-get update'] + ] + } + + package { 'apt-transport-https': + ensure => installed, + } + package { [ + 'debootstrap', + 'dupload' + ]: + ensure => installed, + } + + site::linux_module { 'dm_snapshot': } + ferm::module { 'nf_conntrack_ftp': } + + site::aptrepo { 'buildd': + ensure => absent, + } + + $suite = $::lsbdistcodename ? { + squeeze => $::lsbdistcodename, + wheezy => $::lsbdistcodename, + undef => 'squeeze', + default => 'wheezy' + } + + if $suite == 'squeeze' { + site::aptrepo { 'buildd.debian.org': + key => 'puppet:///modules/buildd/buildd.debian.org.asc', + url => 'https://buildd.debian.org/apt/', + suite => $suite, + components => 'main', + require => Package['apt-transport-https'], + before => Package[schroot,sbuild] + } + } + + if $::hostname in [alkman,porpora,zandonai] { + site::aptrepo { 'buildd.debian.org-proposed': + url => 'https://buildd.debian.org/apt/', + suite => "${suite}-proposed", + components => 'main', + require => Package['apt-transport-https'], + } + } + + if $::hostname in [krenek] { + site::aptrepo { 'buildd.debian.org-experimental': + url => 'https://buildd.debian.org/apt/', + suite => "${suite}-experimental", + components => 'main', + require => Package['apt-transport-https'], + } + } + + # 'bad' extension + file { '/etc/apt/preferences.d/buildd.debian.org': + ensure => absent, + } + file { '/etc/apt/preferences.d/buildd': + content => template('buildd/etc/apt/preferences.d/buildd'), + before => File['/etc/apt/sources.list.d/buildd.debian.org.list'] + } + file { '/etc/schroot/mount-defaults': + content => template('buildd/etc/schroot/mount-defaults.erb'), + require => Package['sbuild'], + } + file { '/etc/cron.d/dsa-buildd': + source => 'puppet:///modules/buildd/cron.d-dsa-buildd', + require => Package['debian.org'] + } + file { '/etc/dupload.conf': + source => 'puppet:///modules/buildd/dupload.conf', + require => Package['dupload'], + } + file { '/etc/default/schroot': + source => 'puppet:///modules/buildd/default-schroot', + require => Package['schroot'] + } + }