aboutsummaryrefslogtreecommitdiffstats
path: root/modules/spec-tree-reports/manifests/init.pp
blob: 5623090beecb3e39d67035b21bc95f16b974e1b5 (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
# spec-rpm-mismatch is a report that compares the versions of RPMs available
# in the repository versus the versions created by the latest spec files and
# shows those that don't match.

class spec-tree-reports(
    $report = '/var/www/bs/spec-rpm-mismatch.html',
    $srpms = 'file:///distrib/bootstrap/distrib/{version}/SRPMS/{media}/{section}/',
    $release = "mga${buildsystem::var::distros::distros['cauldron']['version']}",
) {
    $user = 'spec-tree-reports'
    $home = "/var/lib/${user}"
    $hour = 6
    $minute = 39

    user { $user:
        comment => 'spec-tree report generator',
        home => $home,
    }

    file { $home:
        ensure => directory,
        owner  => $user,
        mode   => '0755',
    }

    package { 'spec-tree':
        ensure => installed,
    }

    file { "${report}":
        ensure  => present,
        owner   => $user,
        mode    => '0644',
        replace => false,
        content => '*',
    }

    mga_common::local_script { 'generate-spec-rpm-mismatch-report':
        content => template('spec-tree-reports/generate-spec-rpm-mismatch-report'),
    }

    cron { "rpm_mismatch_report":
        command => "/usr/local/bin/generate-spec-rpm-mismatch-report | systemd-cat -t generate-spec-rpm-mismatch-report",
        hour    => $hour,
        minute  => $minute,
        user    => $user,
        environment => "MAILTO=root",
        require => User[$user],
    }
}