|
6 | 6 | use warnings;
|
7 | 7 |
|
8 | 8 | use Daemon::Control;
|
9 |
| -use Sys::Hostname qw( hostname ); |
10 |
| - |
11 |
| -my $name = 'metacpan-www'; |
12 |
| -my $user = 'metacpan'; |
13 |
| -my $home = '/home/metacpan/metacpan.org'; |
| 9 | +use File::Path 2.06 (); # core |
| 10 | + |
| 11 | +my $name = 'metacpan-www'; |
| 12 | +my $user = 'metacpan'; |
| 13 | +my $root = '/home/metacpan'; |
| 14 | +my $home = "$root/metacpan.org"; |
| 15 | +my %dirs = ( |
| 16 | + pid => "$home/var/run", |
| 17 | + log => "$home/var/log", |
| 18 | +); |
14 | 19 | my $carton = '/usr/local/perlbrew/perls/perl-5.16.2/bin/carton';
|
15 | 20 | my $workers = 7;
|
16 | 21 |
|
17 |
| -if ( hostname() eq 'debian' ) { |
| 22 | +# If running in the development vm change the user to avoid permission problems. |
| 23 | +if ( -d '/vagrant' ) { |
18 | 24 | $user = 'vagrant';
|
19 | 25 | $workers = 3;
|
20 | 26 | }
|
|
29 | 35 | '-s', => 'Starman',
|
30 | 36 | );
|
31 | 37 |
|
| 38 | +File::Path::make_path( values %dirs ); |
| 39 | + |
32 | 40 | # Notes on unused args
|
33 | 41 | # scan_name: seems to be just 'starman master' (not useful)
|
34 | 42 | # stdout_file: always seems to be just empty
|
|
37 | 45 | directory => $home,
|
38 | 46 | fork => 2,
|
39 | 47 | group => $user,
|
40 |
| - init_config => "$home/.metacpanrc", |
| 48 | + init_config => "$root/.metacpanrc", |
41 | 49 | lsb_desc => "Starts $name",
|
42 | 50 | lsb_sdesc => "Starts $name",
|
43 | 51 | name => $name,
|
44 | 52 | path => "$home/bin/daemon-control.pl",
|
45 |
| - pid_file => "$home/var/run/$name.pid", |
| 53 | + pid_file => "$dirs{pid}/$name.pid", |
46 | 54 | program => $carton,
|
47 | 55 | program_args => \@program_args,
|
48 |
| - stderr_file => "$home/var/logs/starman_error.log", |
| 56 | + stderr_file => "$dirs{log}/starman_error.log", |
49 | 57 | user => $user,
|
50 | 58 | };
|
51 | 59 |
|
|
0 commit comments