1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
|
class mga_buildsystem::config {
class { 'buildsystem::var::signbot':
keyid => '80420F66',
keyemail => "packages@${::domain}",
keyname => 'Mageia Packages',
}
class { 'buildsystem::var::groups':
packagers => 'mga-packagers',
packagers_committers => 'mga-packagers-committers',
}
class { 'buildsystem::var::scheduler' :
admin_mail => 'mageia-sysadm@mageia.org',
build_nodes => {
'i586' => [ 'jonund0', 'ecosse0', 'jonund1', 'ecosse1' ],
'x86_64' => [ 'ecosse0', 'jonund0', 'ecosse1', 'jonund1' ],
},
}
include buildsystem::var::repository
class { 'buildsystem::var::youri':
packages_archivedir => "${buildsystem::var::scheduler::homedir}/old",
}
class { 'buildsystem::var::binrepo':
uploadmail_from => "root@${::domain}",
uploadmail_to => "packages-commits@ml.${::domain}",
}
$svn_hostname = "svn.$::domain"
$svn_root_packages = "svn://${svn_hostname}/svn/packages"
$svn_root_packages_ssh = "svn+ssh://${svn_hostname}/svn/packages"
class { 'buildsystem::var::mgarepo':
submit_host => "pkgsubmit.${::domain}",
svn_hostname => $svn_hostname,
svn_root_packages => $svn_root_packages,
svn_root_packages_ssh => $svn_root_packages_ssh,
oldurl => "${svn_root_packages_ssh}/misc",
conf => {
'global' => {
'ldap-server' => "ldap.${::domain}",
'ldap-base' => "ou=People,${::dc_suffix}",
'ldap-filterformat' => '(&(objectClass=inetOrgPerson)(uid=$username))',
'ldap-resultformat' => '$cn <$mail>',
}
}
}
$std_arch = ['i586', 'x86_64']
$std_repos = {
'release' => {
'media_types' => [ 'release' ],
'requires' => [],
},
'updates_testing' => {
'media_types' => [ 'testing' ],
'noauto' => '1',
'requires' => [ 'updates' ],
},
'backports_testing' => {
'media_types' => [ 'testing' ],
'noauto' => '1',
'requires' => [ 'backports' ],
},
'backports' => {
'media_types' => [ 'backports' ],
'noauto' => '1',
'requires' => [ 'updates' ],
},
'updates' => {
'media_types' => [ 'updates' ],
'updates_for' => 'release',
'requires' => [ 'release' ],
},
}
$std_medias = {
'core' => {
'repos' => $std_repos,
'media_types' => [ 'official', 'free' ],
},
'nonfree' => {
'repos' => $std_repos,
'media_types' => [ 'official' ],
'noauto' => '1',
'requires' => [ 'core' ],
},
'tainted' => {
'repos' => $std_repos,
'media_types' => [ 'official' ],
'noauto' => '1',
'requires' => [ 'core' ],
},
}
$std_base_media = [ 'core/release', 'core/updates' ]
$infra_medias = {
'infra' => {
'repos' => {
'updates' => {
'media_types' => [ 'updates' ],
'requires' => [ 'release' ],
},
},
'media_types' => [ 'infra' ],
'requires' => [ 'core' ],
},
}
$std_macros = {
'distsuffix' => '.mga',
'distribution' => 'Mageia',
'vendor' => 'Mageia.Org',
'_real_vendor' => 'mageia',
}
$repo_allow_from = [
'2a02:2178:2:7::3/64', # valstar
'2a02:2178:2:7::4/64', # ecosse
'2a02:2178:2:7::5/64', # jonund
".${::domain}",
'10.42.0',
'212.85.158.152', #rabbit
]
class { 'buildsystem::var::distros':
default_distro => 'cauldron',
distros => {
'cauldron' => {
'arch' => $std_arch,
'medias' => $std_medias,
'base_media' => $std_base_media,
'branch' => 'Devel',
'version' => '3',
'submit_allowed' => "${svn_root_packages}/cauldron",
'macros' => $std_macros,
'repo_allow_from' => $repo_allow_from,
},
'1' => {
'arch' => $std_arch,
'medias' => $std_medias,
'base_media' => $std_base_media,
'branch' => 'Official',
'version' => '1',
'submit_allowed' => "${svn_root_packages}/updates/1",
'macros' => $std_macros,
'repo_allow_from' => $repo_allow_from,
},
'2' => {
'arch' => $std_arch,
'medias' => $std_medias,
'base_media' => $std_base_media,
'branch' => 'Official',
'version' => '2',
'submit_allowed' => "${svn_root_packages}/updates/2",
'macros' => $std_macros,
'repo_allow_from' => $repo_allow_from,
},
'infra_1' => {
'arch' => $std_arch,
'medias' => $infra_medias,
'base_media' => $std_base_media,
'branch' => 'Official',
'version' => '1',
'submit_allowed' => $svn_root_packages,
'macros' => $std_macros,
'based_on' => {
'1' => {
'core' => [ 'release', 'updates' ],
},
},
},
'infra_2' => {
'arch' => $std_arch,
'medias' => $infra_medias,
'base_media' => $std_base_media,
'branch' => 'Official',
'version' => '2',
'submit_allowed' => $svn_root_packages,
'macros' => $std_macros,
'based_on' => {
'2' => {
'core' => [ 'release', 'updates' ],
},
},
},
}
}
}
|