aboutsummaryrefslogtreecommitdiffstats
path: root/modules/buildsystem/manifests/mgarepo.pp
blob: 86eaedd7f1dc40605eed459fd62662c4d17ab6bb (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
class buildsystem::mgarepo {
    include buildsystem::scheduler::var
    $sched_login = $buildsystem::scheduler::var::login
    $sched_home_dir = $buildsystem::scheduler::var::homedir

    package { ['mgarepo','rpm-build']: }

    file {
        '/etc/mgarepo.conf': content => template('buildsystem/mgarepo.conf');
        '/etc/repsys.conf':  content => template('buildsystem/mgarepo.conf');
    }

    file { "$sched_home_dir/repsys":
        ensure  => 'directory',
        owner   => $sched_login,
        require => File[$sched_home_dir],
    }

    file { ["$sched_home_dir/repsys/tmp", "$sched_home_dir/repsys/srpms"]:
        ensure  => 'directory',
        owner   => $sched_login,
        group   => $buildsystem::base::packagers_group,
        mode    => '1775',
        require => File["$sched_home_dir/repsys"],
    }

    # FIXME: disabled temporarly as upload dir is a symlink to /var/lib/repsys/uploads
    #file { "$sched_home_dir/uploads":
    #    ensure  => "directory",
    #    owner   => $sched_login,
    #    require => File[$sched_home_dir],
    #}

    #FIXME This config information should be moved out of this class
    $releases = {
        'cauldron' => {
            'core'    => ['release','updates_testing','backports_testing','backports','updates'],
            'nonfree' => ['release','updates_testing','backports_testing','backports','updates'],
            'tainted' => ['release','updates_testing','backports_testing','backports','updates'],
        },
        '1'        => {
            'core'    => ['release','updates_testing','backports_testing','backports','updates'],
            'nonfree' => ['release','updates_testing','backports_testing','backports','updates'],
            'tainted' => ['release','updates_testing','backports_testing','backports','updates'],
        },
        'infra_1'  => {
            'infra' => ['release']
        },
    }

    import 'create_upload_dir.rb'
    create_upload_dir { "$sched_home_dir/uploads":
        owner    => $sched_login,
        group    => $sched_login,
        releases => $releases,
    }

    tidy { "$sched_home_dir/uploads":
        type    => 'ctime',
        recurse => true,
        age     => '2w',
    }

}