class buildd {
- package { "sbuild": ensure => latest;
-# is there a way to wait until the version from buildd.d.o is available?
- }
- file {
- "/etc/apt/sources.list.d/buildd.list":
- owner => root,
- group => root,
- mode => 444,
- ensure => file,
- source => "puppet:///files/etc/apt/sources.list.d/buildd.list";
- require => Package["apt-transport-https"],
- }
-# THIS IS NOT READY YET
-# also needs:
-# apt key on the system:
-# -----BEGIN PGP PUBLIC KEY BLOCK-----
-# Version: GnuPG v1.4.9 (GNU/Linux)
-#
-# mQENBEm1IOQBCAC2D/Q3tcB+/zRx8/O4ry4hvP3JTLB+zCXcyAcIyzPdgmxNXQUZ
-# IOPSIMluiJfh9Dbgwjxm9oWTkP2LobcfVzIlHA9nVonW42rhhaYJd7yQ8xQ6u15g
-# 7SPNO8b8yinqm+140Sh32PZj/5YGdFf1YpJ82la8PmNFkpLQlP+Kv2hzusun1/fQ
-# Ui8g81gHq+vO5XTKW06yMk87a4SHeSFEtxjIpivAx9iIpQCF8RmPs7+EbGpG1xpn
-# pjD8QMzmls8yPFl/0+xh+tvIZoGogIJHDo3I1vDEUuEMqoISnBB+BjWRrcJylQW0
-# mbNyiv2AJmNEZLZG3+0KdT9txs7ZKQfsSU6VABEBAAG0J2J1aWxkZC5kZWJpYW4u
-# b3JnIGFyY2hpdmUga2V5IDIwMDkvMjAxMIkBPAQTAQIAJgUCSbUg5AIbAwUJA8Jn
-# AAYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEHxDG3/7kJSE/4gIAJXwWs1IaOVf
-# qkQpx+ijdyLqoZWpOYeX3Vo9FF2Lk/3+tBol8QFoQoSvrQWg+aP+SXlL1PzpEOvs
-# 87uqRzPvwK7B7eHlzY0mGpshXEGniHNVK4ZBh3svrVN3LwqV6lgHkNWZkBczDfvi
-# E8du/UXOL7lCADqjZCPRuwGPwkWp32MbZzwRHP0pRyXttRXTDUQXwM6TUhGaHxsB
-# A4K5AUsooz4PCpIiUwVmle7kGz+NrI+bbyFNJBGnSxwluxGsJayX9kaqbq9JDhsM
-# i+nhFOCOXomKSbJAaoQZnpGY4fFhk14UdM7EQ9CsEpvBu2CeZu2CibmDR8hPuGMV
-# duy/LOSZsT0=
-# =680o
-# -----END PGP PUBLIC KEY BLOCK-----
-#
+ # sigh, sort this mess out, kids
+ if $::lsbdistcodename in [lenny,squeeze] {
+ package { 'schroot': ensure => installed }
+ } else {
+ package { 'schroot': ensure => held }
+ }
+ package { 'apt-transport-https':
+ ensure => installed,
+ stage => setup,
+ }
+ package { [
+ 'sbuild',
+ 'debootstrap',
+ 'dupload'
+ ]:
+ ensure => installed
+ }
+
+ site::linux_module { 'dm_snapshot': }
+ ferm::module { 'nf_conntrack_ftp': }
+
+ site::aptrepo { 'buildd':
+ ensure => absent,
+ }
+ site::aptrepo { 'buildd.debian.org':
+ template => 'buildd/etc/apt/sources.list.d/buildd.list.erb',
+ key => 'puppet:///modules/buildd/buildd.debian.org.asc',
+ require => Package['apt-transport-https'],
+ }
+
+ file { '/etc/apt/preferences.d/buildd':
+ ensure => absent
+ }
+ 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']
+ }
}