aboutsummaryrefslogtreecommitdiffstats
path: root/modules/buildsystem/templates/youri/submit-upload.conf
blob: 095f3ac807cab3af7c5230114536ba82b202f873 (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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
<% 
Puppet::Parser::Functions.autoloader.loadall
escaped_domain = domain.gsub('.','\.')
%>

home: <%= sched_home_dir %>

# repository declaration
repository:
    class: Youri::Repository::Mageia
    options:
        install_root: <%= repository_root %>/distrib
        upload_root: ${home}/uploads/
        archive_root: <%= packages_archivedir %>
        upload_state: queue
        queue: queue
        noarch: i586
        svn: svn+ssh://svn.<%= domain %>/svn/packages/cauldron/
        2:
            arch: i586 x86_64
        1:
            arch: i586 x86_64
        infra_1:
            arch: i586 x86_64
        infra_2:
            arch: i586 x86_64
        cauldron:
            arch: i586 x86_64

# targets definition
targets:
    cauldron:
        checks:
            - version
            - tag
            - acl
            - rpmlint
            - recency
        actions:
            - markrelease
            - sign
            - install
            - link
            - unpack_release_notes
            - unpack_gfxboot_theme
            - unpack_meta_task
            - unpack_installer_images
            - unpack_installer_images_nonfree
            - unpack_installer_stage2
            - unpack_installer_advertising
            - unpack_installer_rescue
#            - dkms_module_info
            - archive
            - mail
            - maintdb
        posts:
            - genhdlist2
            - clean_rpmsrate    
            - mirror

    1:
        checks:
            - version
            - tag
            - acl
            - rpmlint
            - recency
        actions:
#            - markrelease
            - sign
            - install
            - link
#            - unpack_release_notes
#            - unpack_gfxboot_theme
#            - unpack_meta_task
#            - unpack_installer_images
#            - unpack_installer_stage2
#            - unpack_installer_advertising
#            - unpack_installer_rescue
#            - dkms_module_info
            - archive
            - mail
#            - maintdb
        posts:
            - genhdlist2
            - clean_rpmsrate    
            - mirror

    2:
        checks:
            - version
            - tag
            - acl
            - rpmlint
            - recency
        actions:
#            - markrelease
            - sign
            - install
            - link
#            - unpack_release_notes
#            - unpack_gfxboot_theme
#            - unpack_meta_task
#            - unpack_installer_images
#            - unpack_installer_stage2
#            - unpack_installer_advertising
#            - unpack_installer_rescue
#            - dkms_module_info
            - archive
            - mail
#            - maintdb
        posts:
            - genhdlist2
            - clean_rpmsrate    
            - mirror

    infra_1:
        checks:
            - version
            - tag
            - acl
            - rpmlint
            - recency
        actions:
            - sign
            - install
            - link
            - archive
        posts:
            - genhdlist2

    infra_2:
        checks:
            - version
            - tag
            - acl
            - rpmlint
            - recency
        actions:
            - sign
            - install
            - link
            - archive
        posts:
            - genhdlist2

# checks definition
checks:
    tag:
        class: Youri::Submit::Check::Tag
        options:
            tags:
                release: 'mga\d+'
              #  packager: '<\S+@<%= escaped_domain %>>$'
                distribution: '^Mageia'
                vendor: '^Mageia.Org$'

    recency:
        class: Youri::Submit::Check::Recency

    queue_recency:
        class: Youri::Submit::Check::Queue_recency

    host:
        class: Youri::Submit::Check::Host
        options:
                   host_file:  /etc/youri/host.conf

    section:
        class: Youri::Submit::Check::Section

    rpmlint:
        class: Youri::Submit::Check::Rpmlint
        options:
            results:
                - buildprereq-use
                - no-description-tag
                - no-summary-tag
                - non-standard-group
                - non-xdg-migrated-menu
                # it breaks dbus
                #- patch-not-applied
                - percent-in-conflicts
                - percent-in-dependency
                - percent-in-obsoletes
                - percent-in-provides
                - summary-ended-with-dot
                - unexpanded-macro
                - unknown-lsb-keyword
                - malformed-line-in-lsb-comment-block
                - empty-%postun
                - empty-%post
                - invalid-desktopfile
                - standard-dir-owned-by-package
                - use-tmp-in-%postun
                - bogus-variable-use-in-%posttrans
                - dir-or-file-in-usr-local 
                - dir-or-file-in-tmp
                - dir-or-file-in-mnt
                - dir-or-file-in-opt 
                - dir-or-file-in-home 
                - dir-or-file-in-var-local
            cauldron:
                config: /usr/share/rpmlint/config
                path:   /usr/bin/rpmlint
            1:
                config: /usr/share/rpmlint/config.mga2
                path:   /usr/bin/mga2-rpmlint
            2:
                config: /usr/share/rpmlint/config.mga2
                path:   /usr/bin/mga2-rpmlint
            infra_1:
                config: /usr/share/rpmlint/config.mga2
                path:   /usr/bin/mga2-rpmlint
            infra_2:
                config: /usr/share/rpmlint/config.mga2
                path:   /usr/bin/mga2-rpmlint
    svn:
        class: Youri::Submit::Check::SVN

    acl:
        class: Youri::Submit::Check::ACL
        options:
            acl_file: /etc/youri/acl.conf

    history:
        class: Youri::Submit::Check::History

    source:
        class: Youri::Submit::Check::Source

    precedence:
        class: Youri::Submit::Check::Precedence
        options:        
            target: cauldron

    version:
        class: Youri::Submit::Check::Version
        options:
           2:
               authorized_packages: none_package_authorized
               authorized_sections: ^(debug/)?(core|nonfree|tainted)/(updates_testing|backports_testing)$
               authorized_arches: none
               mode: freeze

           1:
               authorized_packages: none_package_authorized
               authorized_sections: ^(debug/)?(core|nonfree|tainted)/(updates_testing|backports_testing)$
               authorized_arches: none
               mode: freeze

           infra_1:
               authorized_users: ^<%= scope.function_group_members(['mga-sysadmin']).join('|') %>$
               mode: freeze

           infra_2:
               authorized_users: ^<%= scope.function_group_members(['mga-sysadmin']).join('|') %>$
               mode: freeze

           cauldron:
# <mrl> Prior freeze
               mode: normal
## <blino> Version freeze
#               authorized_packages: ^$
#               authorized_sections: ^(debug/)?(core|nonfree|tainted)/updates_testing$
#               authorized_arches: ^$
#               authorized_users: ^blino|ennael|nvigier$
#               mode: version_freeze
# <mrl> Freeze config
#               authorized_packages: ^mdkonline|drakxtools|urpmi|ia_ora-gnome|ldetect|ldetect-lst|rpm-mageia-setup|perl-MDK-Common$
#               authorized_packages: none_package_authorized
#               authorized_sections: ^restricted/release|main/updates_testing|contrib/updates_testing$
#               authorized_arches: none
#               authorized_users: ^blino|ennael|nvigier$
#               mode: freeze

# actions definitions
actions:
    install:
        class: Youri::Submit::Action::Install

    markrelease:
        class: Youri::Submit::Action::Markrelease

    link:
        class: Youri::Submit::Action::Link

    archive:
        class: Youri::Submit::Action::Archive

    clean:
        class: Youri::Submit::Action::Clean

    sign:
        class: Youri::Submit::Action::Sign
        options:
            signuser: <%= scope.lookupvar('buildsystem::signbot::login') %>
            path: <%= scope.lookupvar('buildsystem::signbot::sign_keydir') %>
            name: <%= scope.lookupvar('buildsystem::signbot::keyid') %>
            signscript: /usr/local/bin/sign-check-package

    unpack_gfxboot_theme:
        class: Youri::Submit::Action::Unpack
        options:
            name: mageia-gfxboot-theme
            source_subdir: /usr/share/gfxboot/themes/Mageia/install/
            dest_directory: isolinux
            unpack_inside_distribution_root: 1

    unpack_meta_task:
        class: Youri::Submit::Action::Unpack
        options:
            name: meta-task
            source_subdir: /usr/share/meta-task
            dest_directory: media/media_info
            unpack_inside_distribution_root: 1

    unpack_installer_images:
        class: Youri::Submit::Action::Unpack
        options:
            name: drakx-installer-images
            source_subdir: /usr/lib*/drakx-installer-images
            dest_directory: .
            preclean_directory: install/images/alternatives
            unpack_inside_distribution_root: 1

    unpack_installer_images_nonfree:
        class: Youri::Submit::Action::Unpack
        options:
            name: drakx-installer-images-nonfree
            source_subdir: /usr/lib*/drakx-installer-images
            dest_directory: .
            unpack_inside_distribution_root: 1

    unpack_installer_stage2:
        class: Youri::Submit::Action::Unpack
        options:
            name: drakx-installer-stage2
            source_subdir: /usr/lib*/drakx-installer-stage2
            dest_directory: .
            unpack_inside_distribution_root: 1

    unpack_installer_advertising:
        class: Youri::Submit::Action::Unpack
        options:
            name: drakx-installer-advertising
            source_subdir: /usr/share/drakx-installer-advertising
            dest_directory: .
            unpack_inside_distribution_root: 1

    unpack_installer_rescue:
        class: Youri::Submit::Action::Unpack
        options:
            name: drakx-installer-rescue
            source_subdir: /usr/lib*/drakx-installer-rescue
            dest_directory: install/stage2
            unpack_inside_distribution_root: 1

    unpack_release_notes:
        class: Youri::Submit::Action::Unpack
        options:
            name: mageia-release-common
            source_subdir: /usr/share/doc/mageia-release-common
            grep_files: release-notes.*
            dest_directory: .
            unpack_inside_distribution_root: 1

    mail:
        class: Youri::Submit::Action::Mail
        options:
            mta: /usr/sbin/sendmail
            to: changelog@ml.<%= domain %>
            reply_to: mageia-dev@<%= domain %>
            from: buildsystem-daemon@<%= domain %>
            prefix: RPM

    maintdb:
        class: Youri::Submit::Action::UpdateMaintDb
        options:

posts:
    genhdlist2:
        class: Youri::Submit::Post::Genhdlist2
        options:
            command: /usr/bin/genhdlist2
    clean_rpmsrate:
        class: Youri::Submit::Post::CleanRpmsrate
    mirror:
        class: Youri::Submit::Post::Mirror
        options:
            destination: /distrib/mirror/distrib 

# vim:ft=yaml:et:sw=4