]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/buildd/manifests/init.pp
now make it go away
[dsa-puppet.git] / modules / buildd / manifests / init.pp
1 class buildd ($ensure=present) {
2
3         $package_ensure = $ensure ? {
4                 present => installed,
5                 absent  => $ensure
6         }
7
8         package { 'schroot':
9                 ensure => $package_ensure,
10                 tag    => extra_repo,
11         }
12         package { 'sbuild':
13                 ensure => $package_ensure,
14                 tag    => extra_repo,
15         }
16         package { 'libsbuild-perl':
17                 ensure => $package_ensure,
18                 tag    => extra_repo,
19                 before => Package['sbuild']
20         }
21
22         package { 'apt-transport-https':
23                 ensure => $package_ensure,
24         }
25         package { [
26                         'debootstrap',
27                         'dupload'
28                 ]:
29                 ensure => installed,
30         }
31
32         site::linux_module { 'dm_snapshot':
33                 ensure => $ensure
34         }
35         ferm::module { 'nf_conntrack_ftp':
36                 ensure => $ensure
37         }
38
39         site::aptrepo { 'buildd':
40                 ensure => absent,
41         }
42
43         $suite = $::lsbdistcodename ? {
44                 squeeze => $::lsbdistcodename,
45                 wheezy  => $::lsbdistcodename,
46                 undef   => 'squeeze',
47                 default => 'wheezy'
48         }
49
50         site::aptrepo { 'buildd.debian.org':
51                 ensure     => $ensure,
52                 key        => 'puppet:///modules/buildd/buildd.debian.org.asc',
53                 url        => 'https://buildd.debian.org/apt/',
54                 suite      => $suite,
55                 components => 'main',
56                 require    => Package['apt-transport-https'],
57         }
58
59         if $::hostname in [alkman,porpora,zandonai] {
60                 site::aptrepo { 'buildd.debian.org-proposed':
61                         url        => 'https://buildd.debian.org/apt/',
62                         suite      => "${suite}-proposed",
63                         components => 'main',
64                         require    => Package['apt-transport-https'],
65                 }
66         }
67
68         if $::hostname in [krenek] {
69                 site::aptrepo { 'buildd.debian.org-experimental':
70                         url        => 'https://buildd.debian.org/apt/',
71                         suite      => "${suite}-experimental",
72                         components => 'main',
73                         require    => Package['apt-transport-https'],
74                 }
75         }
76
77         # 'bad' extension
78         file { '/etc/apt/preferences.d/buildd.debian.org':
79                 ensure => absent,
80         }
81         file { '/etc/apt/preferences.d/buildd':
82                 ensure  => $ensure,
83                 content => template('buildd/etc/apt/preferences.d/buildd'),
84                 before  => Site::Aptrepo['buildd.debian.org']
85         }
86         file { '/etc/schroot/mount-defaults':
87                 ensure  => $ensure,
88                 content => template('buildd/etc/schroot/mount-defaults.erb'),
89                 require => Package['sbuild'],
90         }
91         file { '/etc/cron.d/dsa-buildd':
92                 ensure  => $ensure,
93                 source  => 'puppet:///modules/buildd/cron.d-dsa-buildd',
94                 require => Package['debian.org']
95         }
96         file { '/etc/dupload.conf':
97                 ensure  => $ensure,
98                 source  => 'puppet:///modules/buildd/dupload.conf',
99                 require => Package['dupload'],
100         }
101         file { '/etc/default/schroot':
102                 ensure  => $ensure,
103                 source  => 'puppet:///modules/buildd/default-schroot',
104                 require => Package['schroot']
105         }
106 }