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
|
# $default_distro:
# the name of the default distribution
# $repo_allow_from_ips:
# $repo_allow_from_domains:
# list of IP or domains allowed to access the repository. If you don't want to
# filter allowed IPs, don't those values.
# $distros:
# a hash variable containing distributions informations indexed by
# distribution name. Each distribution is itself an hash containing
# the following infos:
# {
# # the 'cauldron' distribution
# 'cauldron' => {
# # list of arch supported by 'cauldron'
# 'arch' => [ 'i586', 'x86_64' ],
# # Set this if you don't want media.cfg to be generated
# 'no_media_cfg_update' => true,
# 'medias' => {
# # the 'core' media
# 'core' => {
# 'repos' => {
# # the 'release' repo in the 'core' media
# 'release' => {
# 'media_type' => [ 'release' ],
# 'noauto' => '1',
# # the 'release' repo should be listed first in media.cfg
# 'order' => 0,
# },
# # the 'updates' repo
# 'updates' => {
# 'media_type' => [ 'updates' ],
# 'noauto' => '1',
# # the 'updates' repo requires the 'release' repo
# 'requires' => [ 'release' ],
# # the 'updates' repo should be listed after 'release' in media.cfg
# 'order' => 1,
# },
# },
# # media_type for media.cfg
# 'media_type' => [ 'official', 'free' ],
# # if noauto is set to '1' either in medias or repos,
# # the option will be added to media.cfg
# 'noauto' => '1',
# # list 'core' first in media.cfg
# 'order' => 0,
# },
# # the 'non-free' media
# 'non-free' => {
# 'repos' => {
# ...
# },
# 'media_type' => [ 'official', 'non-free' ],
# # the 'non-free' media requires the 'core' media
# 'requires' => [ 'core' ],
# # list 'non-free' second
# 'order' => 1,
# }
# },
# # the list of media used by iurt to build the chroots
# 'base_medias' => [ 'core/release' ],
# # optionally, a media.cfg template file can be specified, if
# # the default one should not be used
# 'tmpl_media.cfg' => 'buildsystem/something',
# # branch is Devel or Official. Used in media.cfg.
# 'branch' => 'Devel',
# # Version of the distribution
# 'version' => '3',
# # SVN Urls allowed to submit
# 'submit_allowed' => 'svn://svn.something/svn/packages/cauldron',
# # rpm macros to set when build source package
# 'macros' => {
# 'distsuffix' => '.mga',
# 'distribution' => 'Mageia',
# 'vendor' => 'Mageia.Org',
# },
# # set this if the distro is not mirrored. This is used to add
# # an Alias in the vhost.
# 'no_mirror' => true,
# Optionally, the distribution can be based on the repos from an other
# distribution. In this example we're saying that the distribution is
# based on 2/core/release and 2/core/updates.
# 'based_on' => {
# '2' => {
# 'core' => [ 'release', 'updates' ],
# },
# },
# 'youri' => {
# # Configuration for youri-upload
# 'upload' => {
# # list of enabled checks, actions and posts
# 'targets' => {
# 'checks' => [
# ...
# ],
# 'actions' => [
# ...
# ],
# 'posts' => [
# ...
# ],
# },
# 'checks' => {
# # rpmlint checks options
# 'rpmlint' => {
# 'config' => '/usr/share/rpmlint/config',
# 'path' => ''/usr/bin/rpmlint',
# },
# },
# # options for actions
# 'actions' => {
# ...
# },
# },
# # Configuration for youri-todo
# 'todo' => {
# ...
# },
# },
# },
# }
class buildsystem::var::distros(
$default_distro,
$repo_allow_from_ips,
$repo_allow_from_domains,
$distros,
) { }
|