1 |
class websites::pkgcpan { |
2 |
include websites::base |
3 |
$vhost = "pkgcpan.$::domain" |
4 |
$vhostdir = "$websites::base::webdatadir/$vhost" |
5 |
$statsdir = "${vhostdir}/stats" |
6 |
$login = 'pkgcpan' |
7 |
$homedir = "/var/lib/$login" |
8 |
|
9 |
user { $login: |
10 |
managehome => true, |
11 |
home => $homedir, |
12 |
} |
13 |
|
14 |
apache::vhost::base { $vhost: |
15 |
location => $vhostdir, |
16 |
options => [ 'Indexes' ], |
17 |
} |
18 |
|
19 |
file { $vhostdir: |
20 |
ensure => directory, |
21 |
owner => $login, |
22 |
group => $login, |
23 |
} |
24 |
|
25 |
package { ['perl-Module-Packaged-Generator', 'magpie']: } |
26 |
|
27 |
cron { 'update cpanpkg': |
28 |
hour => 23, |
29 |
minute => 0, |
30 |
require => Package['perl-Module-Packaged-Generator'], |
31 |
command => "pkgcpan -q -f $vhostdir/cpan_Mageia.db -d Mageia", |
32 |
user => $login, |
33 |
} |
34 |
|
35 |
file { "$vhostdir/cpan_Mageia.db": |
36 |
owner => $login, |
37 |
group => $login, |
38 |
} |
39 |
|
40 |
file { $statsdir: |
41 |
ensure => directory, |
42 |
owner => $login, |
43 |
group => $login, |
44 |
} |
45 |
|
46 |
# http://www.mageia.org/pipermail/mageia-sysadm/2012-March/004337.html |
47 |
cron { 'update pkgcpan stats': |
48 |
hour => 23, |
49 |
minute => 30, |
50 |
require => [ Package['magpie'], File[$statsdir] ], |
51 |
command => "magpie webstatic -qq -d $statsdir", |
52 |
user => $login, |
53 |
} |
54 |
} |