X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;ds=sidebyside;f=modules%2Fbuildd%2Fmanifests%2Finit.pp;h=307419a7db402727353581b65412b2901375bfce;hb=bbd37ffbc4fc831056704251826f0fa8b0822db3;hp=335da3f012bbbf9936923da858e6a844326ec9cf;hpb=f9f51fcde982ad009bf96b8898d310a401583173;p=mirror%2Fdsa-puppet.git diff --git a/modules/buildd/manifests/init.pp b/modules/buildd/manifests/init.pp index 335da3f01..307419a7d 100644 --- a/modules/buildd/manifests/init.pp +++ b/modules/buildd/manifests/init.pp @@ -1,28 +1,46 @@ -class buildd { +class buildd ($ensure=present) { - package { [ - 'schroot', - 'sbuild' - ]: - ensure => installed, - require => [ - File['/etc/apt/sources.list.d/buildd.debian.org.list'], - Exec['apt-get update'] - ] + $package_ensure = $ensure ? { + present => installed, + absent => $ensure } - package { 'apt-transport-https': - ensure => installed, + package { 'schroot': + ensure => $package_ensure, + tag => extra_repo, + } + package { 'sbuild': + ensure => $package_ensure, + tag => extra_repo, } - package { [ - 'debootstrap', - 'dupload' - ]: - ensure => installed, + package { 'libsbuild-perl': + ensure => $package_ensure, + tag => extra_repo, + before => Package['sbuild'] } - site::linux_module { 'dm_snapshot': } - ferm::module { 'nf_conntrack_ftp': } + package { 'apt-transport-https': + ensure => $package_ensure, + } + if $ensure == present { + package { [ + 'debootstrap', + 'dupload' + ]: + ensure => installed, + } + file { '/etc/dupload.conf': + ensure => $ensure, + source => 'puppet:///modules/buildd/dupload.conf', + require => Package['dupload'], + } + site::linux_module { 'dm_snapshot': + ensure => $ensure + } + ferm::module { 'nf_conntrack_ftp': + ensure => $ensure + } + } site::aptrepo { 'buildd': ensure => absent, @@ -30,12 +48,13 @@ class buildd { $suite = $::lsbdistcodename ? { squeeze => $::lsbdistcodename, - wheezy => $::lsbdistcodename, - undef => 'squeeze', + wheezy => $::lsbdistcodename, + undef => 'squeeze', default => 'wheezy' } site::aptrepo { 'buildd.debian.org': + ensure => $ensure, key => 'puppet:///modules/buildd/buildd.debian.org.asc', url => 'https://buildd.debian.org/apt/', suite => $suite, @@ -66,24 +85,23 @@ class buildd { ensure => absent, } file { '/etc/apt/preferences.d/buildd': + ensure => $ensure, content => template('buildd/etc/apt/preferences.d/buildd'), - before => File['/etc/apt/sources.list.d/buildd.debian.org.list'] + before => Site::Aptrepo['buildd.debian.org'] } file { '/etc/schroot/mount-defaults': + ensure => $ensure, content => template('buildd/etc/schroot/mount-defaults.erb'), require => Package['sbuild'], } file { '/etc/cron.d/dsa-buildd': + ensure => $ensure, 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': + ensure => $ensure, source => 'puppet:///modules/buildd/default-schroot', require => Package['schroot'] } - }