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