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