1 |
class buildsystem::mgarepo { |
2 |
$sched_home_dir = $buildsystem::base::sched_home_dir |
3 |
$sched_login = $buildsystem::base::sched_login |
4 |
$packages_archivedir = $buildsystem::base::packages_archivedir |
5 |
|
6 |
package { ['mgarepo','rpm-build']: } |
7 |
|
8 |
file { |
9 |
'/etc/mgarepo.conf': content => template('buildsystem/mgarepo.conf'); |
10 |
'/etc/repsys.conf': content => template('buildsystem/mgarepo.conf'); |
11 |
} |
12 |
|
13 |
file { $packages_archivedir: |
14 |
ensure => 'directory', |
15 |
owner => $sched_login, |
16 |
require => File[$sched_home_dir], |
17 |
} |
18 |
|
19 |
file { "$sched_home_dir/repsys": |
20 |
ensure => 'directory', |
21 |
owner => $sched_login, |
22 |
require => File[$sched_home_dir], |
23 |
} |
24 |
|
25 |
file { ["$sched_home_dir/repsys/tmp", "$sched_home_dir/repsys/srpms"]: |
26 |
ensure => 'directory', |
27 |
owner => $sched_login, |
28 |
group => 'mga-packagers', |
29 |
mode => '1775', |
30 |
require => File["$sched_home_dir/repsys"], |
31 |
} |
32 |
|
33 |
# FIXME: disabled temporarly as upload dir is a symlink to /var/lib/repsys/uploads |
34 |
#file { "$sched_home_dir/uploads": |
35 |
# ensure => "directory", |
36 |
# owner => $sched_login, |
37 |
# require => File[$sched_home_dir], |
38 |
#} |
39 |
|
40 |
#FIXME This config information should be moved out of this class |
41 |
$releases = { |
42 |
'cauldron' => { |
43 |
'core' => ['release','updates_testing','backports_testing','backports','updates'], |
44 |
'nonfree' => ['release','updates_testing','backports_testing','backports','updates'], |
45 |
'tainted' => ['release','updates_testing','backports_testing','backports','updates'], |
46 |
}, |
47 |
'1' => { |
48 |
'core' => ['release','updates_testing','backports_testing','backports','updates'], |
49 |
'nonfree' => ['release','updates_testing','backports_testing','backports','updates'], |
50 |
'tainted' => ['release','updates_testing','backports_testing','backports','updates'], |
51 |
}, |
52 |
'infra_1' => { |
53 |
'infra' => ['release'] |
54 |
}, |
55 |
} |
56 |
|
57 |
import 'create_upload_dir.rb' |
58 |
create_upload_dir { "$sched_home_dir/uploads": |
59 |
owner => $sched_login, |
60 |
group => $sched_login, |
61 |
releases => $releases, |
62 |
} |
63 |
|
64 |
Tidy { |
65 |
recurse => true, |
66 |
type => 'ctime', |
67 |
} |
68 |
|
69 |
tidy { "$sched_home_dir/uploads": |
70 |
age => '2w', |
71 |
} |
72 |
|
73 |
tidy { $packages_archivedir: |
74 |
age => '1w', |
75 |
matches => '*.rpm', |
76 |
} |
77 |
} |