]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/buildd/manifests/init.pp
some tidy up
[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         if $ensure == present {
26                 package { [
27                                 'debootstrap',
28                                 'dupload'
29                         ]:
30                         ensure => installed,
31                 }
32                 file { '/etc/dupload.conf':
33                         ensure  => $ensure,
34                         source  => 'puppet:///modules/buildd/dupload.conf',
35                         require => Package['dupload'],
36                 }
37         }
38
39         site::linux_module { 'dm_snapshot':
40                 ensure => $ensure
41         }
42         ferm::module { 'nf_conntrack_ftp':
43                 ensure => $ensure
44         }
45
46         site::aptrepo { 'buildd':
47                 ensure => absent,
48         }
49
50         $suite = $::lsbdistcodename ? {
51                 squeeze => $::lsbdistcodename,
52                 wheezy  => $::lsbdistcodename,
53                 undef   => 'squeeze',
54                 default => 'wheezy'
55         }
56
57         site::aptrepo { 'buildd.debian.org':
58                 ensure     => $ensure,
59                 key        => 'puppet:///modules/buildd/buildd.debian.org.asc',
60                 url        => 'https://buildd.debian.org/apt/',
61                 suite      => $suite,
62                 components => 'main',
63                 require    => Package['apt-transport-https'],
64         }
65
66         if $::hostname in [alkman,porpora,zandonai] {
67                 site::aptrepo { 'buildd.debian.org-proposed':
68                         url        => 'https://buildd.debian.org/apt/',
69                         suite      => "${suite}-proposed",
70                         components => 'main',
71                         require    => Package['apt-transport-https'],
72                 }
73         }
74
75         if $::hostname in [krenek] {
76                 site::aptrepo { 'buildd.debian.org-experimental':
77                         url        => 'https://buildd.debian.org/apt/',
78                         suite      => "${suite}-experimental",
79                         components => 'main',
80                         require    => Package['apt-transport-https'],
81                 }
82         }
83
84         # 'bad' extension
85         file { '/etc/apt/preferences.d/buildd.debian.org':
86                 ensure => absent,
87         }
88         file { '/etc/apt/preferences.d/buildd':
89                 ensure  => $ensure,
90                 content => template('buildd/etc/apt/preferences.d/buildd'),
91                 before  => Site::Aptrepo['buildd.debian.org']
92         }
93         file { '/etc/schroot/mount-defaults':
94                 ensure  => $ensure,
95                 content => template('buildd/etc/schroot/mount-defaults.erb'),
96                 require => Package['sbuild'],
97         }
98         file { '/etc/cron.d/dsa-buildd':
99                 ensure  => $ensure,
100                 source  => 'puppet:///modules/buildd/cron.d-dsa-buildd',
101                 require => Package['debian.org']
102         }
103         file { '/etc/default/schroot':
104                 ensure  => $ensure,
105                 source  => 'puppet:///modules/buildd/default-schroot',
106                 require => Package['schroot']
107         }
108 }