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