/[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 3181 - (hide annotations) (download)
Thu May 23 15:07:35 2013 UTC (10 years, 10 months ago) by boklm
File size: 13190 byte(s)
buildsystem: create config file for webstatus

Create /etc/bs-webstatus.conf config file using new parameters from
buildsystem::var::webstatus.
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     build_src_node => "valstar.${::domain}",
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     '2a02:2178:2:7::3/64', # valstar
123     '2a02:2178:2:7::4/64', # ecosse
124     '2a02:2178:2:7::5/64', # jonund
125     ".${::domain}",
126     '10.42.0',
127     '212.85.158.152', #rabbit
128     ]
129 boklm 3162
130     # the list of checks, actions, posts for cauldron in youri-upload
131     $cauldron_youri_upload_targets = {
132     'checks' => [
133     'version',
134     'tag',
135     'acl',
136     'rpmlint',
137     'recency',
138     ],
139     'actions' => [
140     'markrelease',
141     'sign',
142     'install',
143     'link',
144     'unpack_release_notes',
145     'unpack_gfxboot_theme',
146     'unpack_meta_task',
147     'unpack_installer_images',
148     'unpack_installer_images_nonfree',
149     'unpack_installer_stage2',
150     'unpack_installer_advertising',
151     'unpack_installer_rescue',
152     'unpack_syslinux',
153     'archive',
154     'mail',
155     'maintdb',
156     ],
157     'posts' => [
158     'genhdlist2',
159     'clean_rpmsrate',
160     'mirror',
161     ],
162     }
163    
164     # the list of checks, actions, posts for stable distros in youri-upload
165     $std_youri_upload_targets = {
166     'checks' => [
167     'version',
168     'tag',
169     'acl',
170     'rpmlint',
171     'recency',
172     ],
173     'actions' => [
174     'sign',
175     'install',
176     'link',
177     'archive',
178     'mail',
179     ],
180     'posts' => [
181     'genhdlist2',
182     'clean_rpmsrate',
183     'mirror',
184     ],
185     }
186    
187     # the list of checks, actions, posts for infra distros in youri-upload
188     $infra_youri_upload_targets = {
189     'checks' => [
190     'version',
191     'tag',
192     'acl',
193     'rpmlint',
194     'recency',
195     ],
196     'actions' => [
197     'sign',
198     'install',
199     'link',
200     'archive',
201     ],
202     'posts' => [
203     'genhdlist2',
204     ],
205     }
206    
207     # the list of checks, actions, posts for cauldron in youri-todo
208     $cauldron_youri_todo_targets = {
209     'checks' => [
210     'source',
211     'deps',
212     'version',
213     'tag',
214     'acl',
215     'host',
216     'rpmlint',
217     'recency',
218     'queue_recency',
219     ],
220     'actions' => [
221     'send',
222     'rpminfo',
223     ],
224     }
225    
226     # the list of checks, actions, posts for stable distros in youri-todo
227     $std_youri_todo_targets = {
228     'checks' => [
229     'source',
230     'version',
231     'tag',
232     'acl',
233     'host',
234     'rpmlint',
235     'recency',
236     'queue_recency',
237     ],
238     'actions' => [
239     'send',
240     'rpminfo',
241     'ulri',
242     ],
243     }
244    
245     # the list of checks, actions, posts for infra distros in youri-todo
246     $infra_youri_todo_targets = {
247     'checks' => [
248     'source',
249     'version',
250     'tag',
251     'acl',
252     'rpmlint',
253     'recency',
254     'queue_recency',
255     ],
256     'actions' => [
257     'send',
258     'rpminfo',
259     'ulri',
260     ],
261     }
262    
263     # rpmlint check options for mageia <= 2
264     $mga2_rpmlint = {
265     'config' => '/usr/share/rpmlint/config.mga2',
266     'path' => '/usr/bin/mga2-rpmlint',
267     }
268    
269     # rpmlint check options for cauldron
270     $cauldron_rpmlint = {
271     'config' => '/usr/share/rpmlint/config',
272     'path' => '/usr/bin/rpmlint',
273     'results' => [
274     'buildprereq-use',
275     'no-description-tag',
276     'no-summary-tag',
277     'non-standard-group',
278     'non-xdg-migrated-menu',
279     'percent-in-conflicts',
280     'percent-in-dependency',
281     'percent-in-obsoletes',
282     'percent-in-provides',
283     'summary-ended-with-dot',
284     'unexpanded-macro',
285     'unknown-lsb-keyword',
286     'malformed-line-in-lsb-comment-block',
287     'empty-%postun',
288     'empty-%post',
289     'invalid-desktopfile',
290     'standard-dir-owned-by-package',
291     'use-tmp-in-%postun',
292     'bogus-variable-use-in-%posttrans',
293     'dir-or-file-in-usr-local',
294     'dir-or-file-in-tmp',
295     'dir-or-file-in-mnt',
296     'dir-or-file-in-opt',
297     'dir-or-file-in-home',
298     'dir-or-file-in-var-local',
299     'tmpfiles-conf-in-etc',
300     'non-ghost-in-run',
301     'non-ghost-in-var-run',
302     'non-ghost-in-var-lock',
303     'systemd-unit-in-etc',
304     'udev-rule-in-etc',
305     ],
306     }
307    
308     # list of users allowed to submit packages when cauldron is frozen
309     $cauldron_authorized_users = str_join(group_members('mga-release_managers'), '|')
310     $cauldron_version_check = {
311     'authorized_sections' => '^[a-z]+/updates_testing$',
312     'authorized_packages' => '^$',
313     'authorized_arches' => 'none',
314     'authorized_users' => "^${cauldron_authorized_users}\$",
315     #'mode' => 'normal',
316     'mode' => 'version_freeze',
317     #'mode' => 'freeze',
318     }
319    
320     # for EOL distributions
321     $frozen_version_check = {
322     'authorized_packages' => 'none_package_authorized',
323     'authorized_sections' => 'none_section_authorized',
324     'authorized_arches' => 'none',
325     'mode' => 'freeze',
326     }
327    
328     # for supported stable distributions
329     $std_version_check = {
330     'authorized_packages' => 'none_package_authorized',
331     'authorized_sections' => '^(core|nonfree|tainted)/(updates_testing|backports_testing)$',
332     'authorized_arches' => 'none',
333     'mode' => 'freeze',
334     }
335    
336     $infra_authorized_users = str_join(group_members('mga-sysadmin'), '|')
337     $infra_version_check = {
338     'authorized_users' => "^${infra_authorized_users}\$",
339     'mode' => 'freeze',
340     }
341    
342 boklm 3127 class { 'buildsystem::var::distros':
343 boklm 3138 default_distro => 'cauldron',
344 boklm 3127 distros => {
345     'cauldron' => {
346 boklm 3134 'arch' => $std_arch,
347 boklm 3127 'medias' => $std_medias,
348 boklm 3131 'base_media' => $std_base_media,
349 boklm 3137 'branch' => 'Devel',
350     'version' => '3',
351 boklm 3141 'submit_allowed' => "${svn_root_packages}/cauldron",
352     'macros' => $std_macros,
353 boklm 3147 'repo_allow_from' => $repo_allow_from,
354 boklm 3162 'youri' => {
355     'upload' => {
356     'targets' => $cauldron_youri_upload_targets,
357     'checks' => {
358     'rpmlint' => $cauldron_rpmlint,
359     },
360     },
361     'todo' => {
362     'targets' => $cauldron_youri_todo_targets,
363     'checks' => {
364     'rpmlint' => $cauldron_rpmlint,
365     'version' => $cauldron_version_check,
366     },
367     },
368     },
369 boklm 3127 },
370    
371     '1' => {
372 boklm 3134 'arch' => $std_arch,
373 boklm 3127 'medias' => $std_medias,
374 boklm 3131 'base_media' => $std_base_media,
375 boklm 3137 'branch' => 'Official',
376     'version' => '1',
377 boklm 3141 'submit_allowed' => "${svn_root_packages}/updates/1",
378     'macros' => $std_macros,
379 boklm 3147 'repo_allow_from' => $repo_allow_from,
380 boklm 3162 'youri' => {
381     'upload' => {
382     'targets' => $std_youri_upload_targets,
383     'checks' => {
384     'rpmlint' => $mga2_rpmlint,
385     },
386     },
387     'todo' => {
388     'targets' => $std_youri_todo_targets,
389     'checks' => {
390     'rpmlint' => $mga2_rpmlint,
391     'version' => $frozen_version_check,
392     },
393     },
394     },
395 boklm 3127 },
396    
397     '2' => {
398 boklm 3134 'arch' => $std_arch,
399 boklm 3127 'medias' => $std_medias,
400 boklm 3131 'base_media' => $std_base_media,
401 boklm 3137 'branch' => 'Official',
402     'version' => '2',
403 boklm 3141 'submit_allowed' => "${svn_root_packages}/updates/2",
404     'macros' => $std_macros,
405 boklm 3147 'repo_allow_from' => $repo_allow_from,
406 boklm 3162 'youri' => {
407     'upload' => {
408     'targets' => $std_youri_upload_targets,
409     'checks' => {
410     'rpmlint' => $mga2_rpmlint,
411     },
412     },
413     'todo' => {
414     'targets' => $std_youri_todo_targets,
415     'checks' => {
416     'rpmlint' => $mga2_rpmlint,
417     'version' => $std_version_check,
418     },
419     },
420     },
421 boklm 3127 },
422    
423     'infra_1' => {
424 boklm 3134 'arch' => $std_arch,
425 boklm 3127 'medias' => $infra_medias,
426 boklm 3131 'base_media' => $std_base_media,
427 boklm 3137 'branch' => 'Official',
428     'version' => '1',
429 boklm 3141 'submit_allowed' => $svn_root_packages,
430     'macros' => $std_macros,
431 boklm 3148 'based_on' => {
432     '1' => {
433     'core' => [ 'release', 'updates' ],
434     },
435     },
436 boklm 3162 'youri' => {
437     'upload' => {
438     'targets' => $infra_youri_upload_targets,
439     'checks' => {
440     'rpmlint' => $mga2_rpmlint,
441     },
442     },
443     'todo' => {
444     'targets' => $infra_youri_todo_targets,
445     'checks' => {
446     'rpmlint' => $mga2_rpmlint,
447     'version' => $infra_version_check,
448     },
449     },
450     },
451 boklm 3127 },
452    
453     'infra_2' => {
454 boklm 3134 'arch' => $std_arch,
455 boklm 3127 'medias' => $infra_medias,
456 boklm 3131 'base_media' => $std_base_media,
457 boklm 3137 'branch' => 'Official',
458     'version' => '2',
459 boklm 3141 'submit_allowed' => $svn_root_packages,
460     'macros' => $std_macros,
461 boklm 3148 'based_on' => {
462     '2' => {
463     'core' => [ 'release', 'updates' ],
464     },
465     },
466 boklm 3162 'youri' => {
467     'upload' => {
468     'targets' => $infra_youri_upload_targets,
469     'checks' => {
470     'rpmlint' => $mga2_rpmlint,
471     },
472     },
473     'todo' => {
474     'targets' => $infra_youri_todo_targets,
475     'checks' => {
476     'rpmlint' => $mga2_rpmlint,
477     'version' => $infra_version_check,
478     },
479     },
480     },
481 boklm 3127 },
482     }
483     }
484 boklm 3162 $checks_tag_options = {
485     'tags' => {
486     'release' => inline_template("<%= std_macros['distsuffix'] %>\\d+"),
487     'distribution' => inline_template("^<%= std_macros['distribution'] %>"),
488     'vendor' => inline_template("^<%= std_macros['vendor'] %>$"),
489     },
490     }
491     class { 'buildsystem::var::youri':
492     packages_archivedir => "${buildsystem::var::scheduler::homedir}/old",
493     youri_conf => {
494     'upload' => {
495     'checks' => {
496     'tag' => {
497     'options' => $checks_tag_options,
498     },
499     'rpmlint' => {
500     'options' => {
501     'results' => [
502     'buildprereq-use',
503     'no-description-tag',
504     'no-summary-tag',
505     'non-standard-group',
506     'non-xdg-migrated-menu',
507     'percent-in-conflicts',
508     'percent-in-dependency',
509     'percent-in-obsoletes',
510     'percent-in-provides',
511     'summary-ended-with-dot',
512     'unexpanded-macro',
513     'unknown-lsb-keyword',
514     'malformed-line-in-lsb-comment-block',
515     'empty-%postun',
516     'empty-%post',
517     'invalid-desktopfile',
518     'standard-dir-owned-by-package',
519     'use-tmp-in-%postun',
520     'bogus-variable-use-in-%posttrans',
521     'dir-or-file-in-usr-local',
522     'dir-or-file-in-tmp',
523     'dir-or-file-in-mnt',
524     'dir-or-file-in-opt',
525     'dir-or-file-in-home',
526     'dir-or-file-in-var-local',
527     ],
528     },
529     },
530     },
531     'actions' => {
532     'mail' => {
533     'options' => {
534     'to' => "changelog@ml.${::domain}",
535     'reply_to' => "mageia-dev@${::domain}",
536     'from' => "buildsystem-daemon@${::domain}",
537     'prefix' => 'RPM',
538     },
539     },
540     },
541     },
542     'todo' => {
543     'checks' => {
544     'tag' => {
545     'options' => $checks_tag_options,
546     },
547     },
548     },
549     }
550     }
551 boklm 2914 }

  ViewVC Help
Powered by ViewVC 1.1.30