aboutsummaryrefslogtreecommitdiffstats
path: root/modules/buildsystem/manifests/var/distros.pp
blob: 0299c87c713258bdaad442376fd961084fe65981 (plain)
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,
) { }