class buildd {
- package {
- "sbuild": ensure => latest;
- "buildd": ensure => latest;
- "buildd-builder-meta": ensure => latest;
- "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"],
- }
-
-# 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-----
-#
+ package { [
+ 'schroot',
+ 'sbuild'
+ ]:
+ ensure => installed,
+ require => [
+ File['/etc/apt/sources.list.d/buildd.debian.org.list'],
+ 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,
+ }
+
+ if $::lsbdistcodename in [squeeze,wheezy] {
+ $suite = $::lsbdistcodename
+ } else {
+ $suite = 'wheezy'
+ }
+
+ 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'],
+ }
+
+ 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']
+ }
}