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

  ViewVC Help
Powered by ViewVC 1.1.30