1 |
class mga_buildsystem::config { |
2 |
class { 'buildsystem::var::signbot': |
3 |
keyid => '80420F66', |
4 |
keyemail => "packages@${::domain}", |
5 |
keyname => 'Mageia Packages', |
6 |
} |
7 |
|
8 |
class { 'buildsystem::var::groups': |
9 |
packagers => 'mga-packagers', |
10 |
packagers_committers => 'mga-packagers-committers', |
11 |
} |
12 |
|
13 |
class { 'buildsystem::var::webstatus' : |
14 |
package_commit_url => 'http://svnweb.mageia.org/packages?view=revision&revision=%d', |
15 |
theme_name => 'mageia', |
16 |
} |
17 |
|
18 |
class { 'buildsystem::var::scheduler' : |
19 |
admin_mail => 'sysadmin@group.mageia.org', |
20 |
build_nodes => { |
21 |
'i586' => [ 'jonund0', 'ecosse0', 'jonund1', 'ecosse1', ], |
22 |
'x86_64' => [ 'ecosse0', 'jonund0', 'ecosse1', 'jonund1', ], |
23 |
}, |
24 |
build_nodes_aliases => { |
25 |
'jonund0' => "jonund.${::domain}", |
26 |
'jonund1' => "jonund.${::domain}", |
27 |
'ecosse0' => "ecosse.${::domain}", |
28 |
'ecosse1' => "ecosse.${::domain}", |
29 |
'rabbit0' => "rabbit.${::domain}", |
30 |
'rabbit1' => "rabbit.${::domain}", |
31 |
'sucuk0' => "sucuk.${::domain}", |
32 |
'sucuk1' => "sucuk.${::domain}", |
33 |
}, |
34 |
build_src_node => "valstar", |
35 |
} |
36 |
include buildsystem::var::repository |
37 |
class { 'buildsystem::var::binrepo': |
38 |
uploadmail_from => "root@${::domain}", |
39 |
uploadmail_to => "packages-commits@ml.${::domain}", |
40 |
} |
41 |
|
42 |
$svn_hostname = "svn.$::domain" |
43 |
$svn_root_packages = "svn://${svn_hostname}/svn/packages" |
44 |
$svn_root_packages_ssh = "svn+ssh://${svn_hostname}/svn/packages" |
45 |
class { 'buildsystem::var::mgarepo': |
46 |
submit_host => "pkgsubmit.${::domain}", |
47 |
svn_hostname => $svn_hostname, |
48 |
svn_root_packages => $svn_root_packages, |
49 |
svn_root_packages_ssh => $svn_root_packages_ssh, |
50 |
oldurl => "${svn_root_packages_ssh}/misc", |
51 |
conf => { |
52 |
'global' => { |
53 |
'ldap-server' => "ldap.${::domain}", |
54 |
'ldap-base' => "ou=People,${::dc_suffix}", |
55 |
'ldap-filterformat' => '(&(objectClass=inetOrgPerson)(uid=$username))', |
56 |
'ldap-resultformat' => '$cn <$mail>', |
57 |
} |
58 |
} |
59 |
} |
60 |
|
61 |
$std_arch = ['i586', 'x86_64'] |
62 |
$std_repos = { |
63 |
'release' => { |
64 |
'media_type' => [ 'release' ], |
65 |
'requires' => [], |
66 |
'order' => 0, |
67 |
}, |
68 |
'updates' => { |
69 |
'media_type' => [ 'updates' ], |
70 |
'updates_for' => 'release', |
71 |
'requires' => [ 'release' ], |
72 |
'order' => 1, |
73 |
}, |
74 |
'updates_testing' => { |
75 |
'media_type' => [ 'testing' ], |
76 |
'noauto' => '1', |
77 |
'requires' => [ 'updates' ], |
78 |
'order' => 2, |
79 |
}, |
80 |
'backports' => { |
81 |
'media_type' => [ 'backports' ], |
82 |
'noauto' => '1', |
83 |
'requires' => [ 'updates' ], |
84 |
'order' => 3, |
85 |
}, |
86 |
'backports_testing' => { |
87 |
'media_type' => [ 'testing' ], |
88 |
'noauto' => '1', |
89 |
'requires' => [ 'backports' ], |
90 |
'order' => 4, |
91 |
}, |
92 |
} |
93 |
$std_medias = { |
94 |
'core' => { |
95 |
'repos' => $std_repos, |
96 |
'media_type' => [ 'official', 'free' ], |
97 |
'order' => 0, |
98 |
}, |
99 |
'nonfree' => { |
100 |
'repos' => $std_repos, |
101 |
'media_type' => [ 'official' ], |
102 |
'noauto' => '1', |
103 |
'requires' => [ 'core' ], |
104 |
'order' => 1, |
105 |
}, |
106 |
'tainted' => { |
107 |
'repos' => $std_repos, |
108 |
'media_type' => [ 'official' ], |
109 |
'noauto' => '1', |
110 |
'requires' => [ 'core' ], |
111 |
'order' => 2, |
112 |
}, |
113 |
} |
114 |
$std_base_media = [ 'core/release', 'core/updates' ] |
115 |
$infra_medias = { |
116 |
'infra' => { |
117 |
'repos' => { |
118 |
'updates' => { |
119 |
'media_type' => [ 'updates' ], |
120 |
'requires' => [ 'release' ], |
121 |
'order' => 0, |
122 |
}, |
123 |
}, |
124 |
'media_type' => [ 'infra' ], |
125 |
'requires' => [ 'core' ], |
126 |
'order' => 0, |
127 |
}, |
128 |
} |
129 |
$std_macros = { |
130 |
'distsuffix' => '.mga', |
131 |
'distribution' => 'Mageia', |
132 |
'vendor' => 'Mageia.Org', |
133 |
'_real_vendor' => 'mageia', |
134 |
} |
135 |
$repo_allow_from = [ |
136 |
$::nodes_ipaddr[valstar][ipv6], |
137 |
$::nodes_ipaddr[valstar][ipv4], |
138 |
$::nodes_ipaddr[ecosse][ipv6], |
139 |
$::nodes_ipaddr[ecosse][ipv4], |
140 |
$::nodes_ipaddr[jonund][ipv6], |
141 |
$::nodes_ipaddr[jonund][ipv4], |
142 |
".${::domain}", |
143 |
'10.42.0', |
144 |
$::nodes_ipaddr[rabbit][ipv4], |
145 |
$::nodes_ipaddr[rabbit][ipv6], |
146 |
] |
147 |
|
148 |
# the list of checks, actions, posts for cauldron in youri-upload |
149 |
$cauldron_youri_upload_targets = { |
150 |
'checks' => [ |
151 |
'version', |
152 |
'tag', |
153 |
'acl', |
154 |
'rpmlint', |
155 |
'recency', |
156 |
], |
157 |
'actions' => [ |
158 |
'markrelease', |
159 |
'sign', |
160 |
'install', |
161 |
'link', |
162 |
'unpack_release_notes', |
163 |
'unpack_gfxboot_theme', |
164 |
'unpack_meta_task', |
165 |
'unpack_installer_images', |
166 |
'unpack_installer_images_nonfree', |
167 |
'unpack_installer_stage2', |
168 |
'unpack_installer_advertising', |
169 |
'unpack_installer_rescue', |
170 |
'unpack_syslinux', |
171 |
'archive', |
172 |
'mail', |
173 |
'maintdb', |
174 |
], |
175 |
'posts' => [ |
176 |
'genhdlist2', |
177 |
'clean_rpmsrate', |
178 |
'mirror', |
179 |
], |
180 |
} |
181 |
|
182 |
# the list of checks, actions, posts for stable distros in youri-upload |
183 |
$std_youri_upload_targets = { |
184 |
'checks' => [ |
185 |
'version', |
186 |
'tag', |
187 |
'acl', |
188 |
'rpmlint', |
189 |
'recency', |
190 |
], |
191 |
'actions' => [ |
192 |
'sign', |
193 |
'install', |
194 |
'link', |
195 |
'archive', |
196 |
'mail', |
197 |
], |
198 |
'posts' => [ |
199 |
'genhdlist2', |
200 |
'clean_rpmsrate', |
201 |
'mirror', |
202 |
], |
203 |
} |
204 |
|
205 |
# the list of checks, actions, posts for infra distros in youri-upload |
206 |
$infra_youri_upload_targets = { |
207 |
'checks' => [ |
208 |
'version', |
209 |
'tag', |
210 |
'acl', |
211 |
'rpmlint', |
212 |
'recency', |
213 |
], |
214 |
'actions' => [ |
215 |
'sign', |
216 |
'install', |
217 |
'link', |
218 |
'archive', |
219 |
], |
220 |
'posts' => [ |
221 |
'genhdlist2', |
222 |
], |
223 |
} |
224 |
|
225 |
# the list of checks, actions, posts for cauldron in youri-todo |
226 |
$cauldron_youri_todo_targets = { |
227 |
'checks' => [ |
228 |
'source', |
229 |
'deps', |
230 |
'version', |
231 |
'tag', |
232 |
'acl', |
233 |
'host', |
234 |
'rpmlint', |
235 |
'recency', |
236 |
'queue_recency', |
237 |
], |
238 |
'actions' => [ |
239 |
'send', |
240 |
'rpminfo', |
241 |
], |
242 |
} |
243 |
|
244 |
# the list of checks, actions, posts for stable distros in youri-todo |
245 |
$std_youri_todo_targets = { |
246 |
'checks' => [ |
247 |
'source', |
248 |
'version', |
249 |
'tag', |
250 |
'acl', |
251 |
'host', |
252 |
'rpmlint', |
253 |
'recency', |
254 |
'queue_recency', |
255 |
], |
256 |
'actions' => [ |
257 |
'send', |
258 |
'rpminfo', |
259 |
'ulri', |
260 |
], |
261 |
} |
262 |
|
263 |
# the list of checks, actions, posts for infra distros in youri-todo |
264 |
$infra_youri_todo_targets = { |
265 |
'checks' => [ |
266 |
'source', |
267 |
'version', |
268 |
'tag', |
269 |
'acl', |
270 |
'rpmlint', |
271 |
'recency', |
272 |
'queue_recency', |
273 |
], |
274 |
'actions' => [ |
275 |
'send', |
276 |
'rpminfo', |
277 |
'ulri', |
278 |
], |
279 |
} |
280 |
|
281 |
# rpmlint check options for mageia <= 2 |
282 |
$mga2_rpmlint = { |
283 |
'config' => '/usr/share/rpmlint/config.mga2', |
284 |
'path' => '/usr/bin/mga2-rpmlint', |
285 |
'results' => [ |
286 |
'buildprereq-use', |
287 |
'no-description-tag', |
288 |
'no-summary-tag', |
289 |
'non-standard-group', |
290 |
'non-xdg-migrated-menu', |
291 |
'percent-in-conflicts', |
292 |
'percent-in-dependency', |
293 |
'percent-in-obsoletes', |
294 |
'percent-in-provides', |
295 |
'summary-ended-with-dot', |
296 |
'unexpanded-macro', |
297 |
'unknown-lsb-keyword', |
298 |
'malformed-line-in-lsb-comment-block', |
299 |
'empty-%postun', |
300 |
'empty-%post', |
301 |
'invalid-desktopfile', |
302 |
'standard-dir-owned-by-package', |
303 |
'use-tmp-in-%postun', |
304 |
'bogus-variable-use-in-%posttrans', |
305 |
'dir-or-file-in-usr-local', |
306 |
'dir-or-file-in-tmp', |
307 |
'dir-or-file-in-mnt', |
308 |
'dir-or-file-in-opt', |
309 |
'dir-or-file-in-home', |
310 |
'dir-or-file-in-var-local', |
311 |
], |
312 |
} |
313 |
|
314 |
# rpmlint check options for Mageia 3 |
315 |
$mga3_rpmlint = { |
316 |
'config' => '/usr/share/rpmlint/config', |
317 |
'path' => '/usr/bin/rpmlint', |
318 |
'results' => [ |
319 |
'buildprereq-use', |
320 |
'no-description-tag', |
321 |
'no-summary-tag', |
322 |
'non-standard-group', |
323 |
'non-xdg-migrated-menu', |
324 |
'percent-in-conflicts', |
325 |
'percent-in-dependency', |
326 |
'percent-in-obsoletes', |
327 |
'percent-in-provides', |
328 |
'summary-ended-with-dot', |
329 |
'unexpanded-macro', |
330 |
'unknown-lsb-keyword', |
331 |
'malformed-line-in-lsb-comment-block', |
332 |
'empty-%postun', |
333 |
'empty-%post', |
334 |
'invalid-desktopfile', |
335 |
'standard-dir-owned-by-package', |
336 |
'use-tmp-in-%postun', |
337 |
'bogus-variable-use-in-%posttrans', |
338 |
'dir-or-file-in-usr-local', |
339 |
'dir-or-file-in-tmp', |
340 |
'dir-or-file-in-mnt', |
341 |
'dir-or-file-in-opt', |
342 |
'dir-or-file-in-home', |
343 |
'dir-or-file-in-var-local', |
344 |
'tmpfiles-conf-in-etc', |
345 |
'non-ghost-in-run', |
346 |
'non-ghost-in-var-run', |
347 |
'non-ghost-in-var-lock', |
348 |
'systemd-unit-in-etc', |
349 |
'udev-rule-in-etc', |
350 |
], |
351 |
} |
352 |
|
353 |
# rpmlint check options for Mageia 4 |
354 |
$mga4_rpmlint = { |
355 |
'config' => '/usr/share/rpmlint/config', |
356 |
'path' => '/usr/bin/rpmlint', |
357 |
'results' => [ |
358 |
'buildprereq-use', |
359 |
'no-description-tag', |
360 |
'no-summary-tag', |
361 |
'non-standard-group', |
362 |
'non-xdg-migrated-menu', |
363 |
'percent-in-conflicts', |
364 |
'percent-in-dependency', |
365 |
'percent-in-obsoletes', |
366 |
'percent-in-provides', |
367 |
'summary-ended-with-dot', |
368 |
'unexpanded-macro', |
369 |
'unknown-lsb-keyword', |
370 |
'malformed-line-in-lsb-comment-block', |
371 |
'empty-%postun', |
372 |
'empty-%post', |
373 |
'invalid-desktopfile', |
374 |
'standard-dir-owned-by-package', |
375 |
'use-tmp-in-%postun', |
376 |
'bogus-variable-use-in-%posttrans', |
377 |
'dir-or-file-in-usr-local', |
378 |
'dir-or-file-in-tmp', |
379 |
'dir-or-file-in-mnt', |
380 |
'dir-or-file-in-opt', |
381 |
'dir-or-file-in-home', |
382 |
'dir-or-file-in-var-local', |
383 |
'tmpfiles-conf-in-etc', |
384 |
'non-ghost-in-run', |
385 |
'non-ghost-in-var-run', |
386 |
'non-ghost-in-var-lock', |
387 |
'systemd-unit-in-etc', |
388 |
'udev-rule-in-etc', |
389 |
], |
390 |
} |
391 |
|
392 |
# rpmlint check options for cauldron |
393 |
$cauldron_rpmlint = { |
394 |
'config' => '/usr/share/rpmlint/config', |
395 |
'path' => '/usr/bin/rpmlint', |
396 |
'results' => [ |
397 |
'buildprereq-use', |
398 |
'no-description-tag', |
399 |
'no-summary-tag', |
400 |
'non-standard-group', |
401 |
'non-xdg-migrated-menu', |
402 |
'percent-in-conflicts', |
403 |
'percent-in-dependency', |
404 |
'percent-in-obsoletes', |
405 |
'percent-in-provides', |
406 |
'summary-ended-with-dot', |
407 |
'unexpanded-macro', |
408 |
'unknown-lsb-keyword', |
409 |
'malformed-line-in-lsb-comment-block', |
410 |
'empty-%postun', |
411 |
'empty-%post', |
412 |
'invalid-desktopfile', |
413 |
'standard-dir-owned-by-package', |
414 |
'use-tmp-in-%postun', |
415 |
'bogus-variable-use-in-%posttrans', |
416 |
'dir-or-file-in-usr-local', |
417 |
'dir-or-file-in-tmp', |
418 |
'dir-or-file-in-mnt', |
419 |
'dir-or-file-in-opt', |
420 |
'dir-or-file-in-home', |
421 |
'dir-or-file-in-var-local', |
422 |
'tmpfiles-conf-in-etc', |
423 |
'non-ghost-in-run', |
424 |
'non-ghost-in-var-run', |
425 |
'non-ghost-in-var-lock', |
426 |
'systemd-unit-in-etc', |
427 |
'udev-rule-in-etc', |
428 |
], |
429 |
} |
430 |
|
431 |
# list of users allowed to submit packages when cauldron is frozen |
432 |
$cauldron_authorized_users = str_join(group_members('mga-release_managers'), '|') |
433 |
$cauldron_version_check = { |
434 |
'authorized_sections' => '^[a-z]+/updates_testing$', |
435 |
'authorized_packages' => 'drak|^(urpmi|perl-URPM|perl-(Gtk3|Glib(-Object-Introspection)?)|mgaonline|net_monitor)$', |
436 |
'authorized_arches' => 'none', |
437 |
'authorized_users' => "^${cauldron_authorized_users}\$", |
438 |
#'mode' => 'normal', |
439 |
#'mode' => 'version_freeze', |
440 |
'mode' => 'freeze', |
441 |
} |
442 |
|
443 |
# for EOL distributions |
444 |
$frozen_version_check = { |
445 |
'authorized_packages' => 'none_package_authorized', |
446 |
'authorized_sections' => 'none_section_authorized', |
447 |
'authorized_arches' => 'none', |
448 |
'mode' => 'freeze', |
449 |
} |
450 |
|
451 |
# for supported stable distributions |
452 |
$std_version_check = { |
453 |
'authorized_packages' => 'none_package_authorized', |
454 |
'authorized_sections' => '^(core|nonfree|tainted)/(updates_testing|backports_testing)$', |
455 |
'authorized_arches' => 'none', |
456 |
'mode' => 'freeze', |
457 |
} |
458 |
|
459 |
$infra_authorized_users = str_join(group_members('mga-sysadmin'), '|') |
460 |
$infra_version_check = { |
461 |
'authorized_users' => "^${infra_authorized_users}\$", |
462 |
'mode' => 'freeze', |
463 |
} |
464 |
|
465 |
class { 'buildsystem::var::distros': |
466 |
default_distro => 'cauldron', |
467 |
distros => { |
468 |
'cauldron' => { |
469 |
'arch' => $std_arch, |
470 |
'no_media_cfg_update' => true, |
471 |
'medias' => $std_medias, |
472 |
'base_media' => $std_base_media, |
473 |
'branch' => 'Devel', |
474 |
'version' => '5', |
475 |
'submit_allowed' => "${svn_root_packages}/cauldron", |
476 |
'macros' => $std_macros, |
477 |
'repo_allow_from' => $repo_allow_from, |
478 |
'youri' => { |
479 |
'upload' => { |
480 |
'targets' => $cauldron_youri_upload_targets, |
481 |
'checks' => { |
482 |
'rpmlint' => $cauldron_rpmlint, |
483 |
}, |
484 |
}, |
485 |
'todo' => { |
486 |
'targets' => $cauldron_youri_todo_targets, |
487 |
'checks' => { |
488 |
'rpmlint' => $cauldron_rpmlint, |
489 |
'version' => $cauldron_version_check, |
490 |
}, |
491 |
}, |
492 |
}, |
493 |
}, |
494 |
|
495 |
'1' => { |
496 |
'arch' => $std_arch, |
497 |
'no_media_cfg_update' => true, |
498 |
'medias' => $std_medias, |
499 |
'base_media' => $std_base_media, |
500 |
'branch' => 'Official', |
501 |
'version' => '1', |
502 |
'submit_allowed' => "${svn_root_packages}/updates/1", |
503 |
'macros' => $std_macros, |
504 |
'repo_allow_from' => $repo_allow_from, |
505 |
'youri' => { |
506 |
'upload' => { |
507 |
'targets' => $std_youri_upload_targets, |
508 |
'checks' => { |
509 |
'rpmlint' => $mga2_rpmlint, |
510 |
}, |
511 |
}, |
512 |
'todo' => { |
513 |
'targets' => $std_youri_todo_targets, |
514 |
'checks' => { |
515 |
'rpmlint' => $mga2_rpmlint, |
516 |
'version' => $frozen_version_check, |
517 |
}, |
518 |
}, |
519 |
}, |
520 |
}, |
521 |
|
522 |
'2' => { |
523 |
'arch' => $std_arch, |
524 |
'no_media_cfg_update' => true, |
525 |
'medias' => $std_medias, |
526 |
'base_media' => $std_base_media, |
527 |
'branch' => 'Official', |
528 |
'version' => '2', |
529 |
'submit_allowed' => "${svn_root_packages}/updates/2", |
530 |
'macros' => $std_macros, |
531 |
'repo_allow_from' => $repo_allow_from, |
532 |
'youri' => { |
533 |
'upload' => { |
534 |
'targets' => $std_youri_upload_targets, |
535 |
'checks' => { |
536 |
'rpmlint' => $mga2_rpmlint, |
537 |
}, |
538 |
}, |
539 |
'todo' => { |
540 |
'targets' => $std_youri_todo_targets, |
541 |
'checks' => { |
542 |
'rpmlint' => $mga2_rpmlint, |
543 |
'version' => $frozen_version_check, |
544 |
}, |
545 |
}, |
546 |
}, |
547 |
}, |
548 |
|
549 |
'3' => { |
550 |
'arch' => $std_arch, |
551 |
'no_media_cfg_update' => true, |
552 |
'medias' => $std_medias, |
553 |
'base_media' => $std_base_media, |
554 |
'branch' => 'Official', |
555 |
'version' => '3', |
556 |
'submit_allowed' => "${svn_root_packages}/updates/3", |
557 |
'backports_allowed' => "${svn_root_packages}/backports/3", |
558 |
'macros' => $std_macros, |
559 |
'repo_allow_from' => $repo_allow_from, |
560 |
'youri' => { |
561 |
'upload' => { |
562 |
'targets' => $std_youri_upload_targets, |
563 |
'checks' => { |
564 |
'rpmlint' => $mga3_rpmlint, |
565 |
}, |
566 |
}, |
567 |
'todo' => { |
568 |
'targets' => $std_youri_todo_targets, |
569 |
'checks' => { |
570 |
'rpmlint' => $mga3_rpmlint, |
571 |
'version' => $std_version_check, |
572 |
}, |
573 |
}, |
574 |
}, |
575 |
}, |
576 |
|
577 |
'4' => { |
578 |
'arch' => $std_arch, |
579 |
'no_media_cfg_update' => true, |
580 |
'medias' => $std_medias, |
581 |
'base_media' => $std_base_media, |
582 |
'branch' => 'Official', |
583 |
'version' => '4', |
584 |
'submit_allowed' => "${svn_root_packages}/updates/4", |
585 |
'backports_allowed' => "${svn_root_packages}/backports/4", |
586 |
'macros' => $std_macros, |
587 |
'repo_allow_from' => $repo_allow_from, |
588 |
'youri' => { |
589 |
'upload' => { |
590 |
'targets' => $std_youri_upload_targets, |
591 |
'checks' => { |
592 |
'rpmlint' => $mga4_rpmlint, |
593 |
}, |
594 |
}, |
595 |
'todo' => { |
596 |
'targets' => $std_youri_todo_targets, |
597 |
'checks' => { |
598 |
'rpmlint' => $mga4_rpmlint, |
599 |
'version' => $std_version_check, |
600 |
}, |
601 |
}, |
602 |
}, |
603 |
}, |
604 |
|
605 |
|
606 |
'infra_1' => { |
607 |
'arch' => $std_arch, |
608 |
'medias' => $infra_medias, |
609 |
'base_media' => [ '1/core/release', '1/core/updates', 'infra/updates' ], |
610 |
'branch' => 'Official', |
611 |
'version' => '1', |
612 |
'submit_allowed' => $svn_root_packages, |
613 |
'macros' => $std_macros, |
614 |
'based_on' => { |
615 |
'1' => { |
616 |
'core' => [ 'release', 'updates' ], |
617 |
}, |
618 |
}, |
619 |
'youri' => { |
620 |
'upload' => { |
621 |
'targets' => $infra_youri_upload_targets, |
622 |
'checks' => { |
623 |
'rpmlint' => $mga2_rpmlint, |
624 |
}, |
625 |
}, |
626 |
'todo' => { |
627 |
'targets' => $infra_youri_todo_targets, |
628 |
'checks' => { |
629 |
'rpmlint' => $mga2_rpmlint, |
630 |
'version' => $infra_version_check, |
631 |
}, |
632 |
}, |
633 |
}, |
634 |
'no_mirror' => true, |
635 |
}, |
636 |
|
637 |
'infra_2' => { |
638 |
'arch' => $std_arch, |
639 |
'medias' => $infra_medias, |
640 |
'base_media' => [ '2/core/release', '2/core/updates', 'infra/updates' ], |
641 |
'branch' => 'Official', |
642 |
'version' => '2', |
643 |
'submit_allowed' => $svn_root_packages, |
644 |
'macros' => $std_macros, |
645 |
'based_on' => { |
646 |
'2' => { |
647 |
'core' => [ 'release', 'updates' ], |
648 |
}, |
649 |
}, |
650 |
'youri' => { |
651 |
'upload' => { |
652 |
'targets' => $infra_youri_upload_targets, |
653 |
'checks' => { |
654 |
'rpmlint' => $mga2_rpmlint, |
655 |
}, |
656 |
}, |
657 |
'todo' => { |
658 |
'targets' => $infra_youri_todo_targets, |
659 |
'checks' => { |
660 |
'rpmlint' => $mga2_rpmlint, |
661 |
'version' => $infra_version_check, |
662 |
}, |
663 |
}, |
664 |
}, |
665 |
'no_mirror' => true, |
666 |
}, |
667 |
} |
668 |
} |
669 |
$checks_tag_options = { |
670 |
'tags' => { |
671 |
'release' => inline_template("<%= std_macros['distsuffix'] %>\\d+"), |
672 |
'distribution' => inline_template("^<%= std_macros['distribution'] %>"), |
673 |
'vendor' => inline_template("^<%= std_macros['vendor'] %>$"), |
674 |
}, |
675 |
} |
676 |
class { 'buildsystem::var::youri': |
677 |
packages_archivedir => "${buildsystem::var::scheduler::homedir}/old", |
678 |
youri_conf => { |
679 |
'upload' => { |
680 |
'checks' => { |
681 |
'tag' => { |
682 |
'options' => $checks_tag_options, |
683 |
}, |
684 |
'rpmlint' => { |
685 |
'options' => { |
686 |
'results' => [ |
687 |
'buildprereq-use', |
688 |
'no-description-tag', |
689 |
'no-summary-tag', |
690 |
'non-standard-group', |
691 |
'non-xdg-migrated-menu', |
692 |
'percent-in-conflicts', |
693 |
'percent-in-dependency', |
694 |
'percent-in-obsoletes', |
695 |
'percent-in-provides', |
696 |
'summary-ended-with-dot', |
697 |
'unexpanded-macro', |
698 |
'unknown-lsb-keyword', |
699 |
'malformed-line-in-lsb-comment-block', |
700 |
'empty-%postun', |
701 |
'empty-%post', |
702 |
'invalid-desktopfile', |
703 |
'standard-dir-owned-by-package', |
704 |
'use-tmp-in-%postun', |
705 |
'bogus-variable-use-in-%posttrans', |
706 |
'dir-or-file-in-usr-local', |
707 |
'dir-or-file-in-tmp', |
708 |
'dir-or-file-in-mnt', |
709 |
'dir-or-file-in-opt', |
710 |
'dir-or-file-in-home', |
711 |
'dir-or-file-in-var-local', |
712 |
], |
713 |
}, |
714 |
}, |
715 |
}, |
716 |
'actions' => { |
717 |
'mail' => { |
718 |
'options' => { |
719 |
'to' => "changelog@ml.${::domain}", |
720 |
'reply_to' => "mageia-dev@${::domain}", |
721 |
'from' => "buildsystem-daemon@${::domain}", |
722 |
'prefix' => 'RPM', |
723 |
}, |
724 |
}, |
725 |
}, |
726 |
}, |
727 |
'todo' => { |
728 |
'checks' => { |
729 |
'tag' => { |
730 |
'options' => $checks_tag_options, |
731 |
}, |
732 |
}, |
733 |
}, |
734 |
} |
735 |
} |
736 |
} |