/[adm]/puppet/deployment/mga_buildsystem/manifests/config.pp
ViewVC logotype

Annotation of /puppet/deployment/mga_buildsystem/manifests/config.pp

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.30