App-Munner

 view release on metacpan or  search on metacpan

lib/App/Munner/Runner.pm  view on Meta::CPAN

has sys_user_info => (
    is      => "ro",
    isa     => "HashRef",
    builder => "_build_sys_user_info",
);

sub _build_sys_user_info {
    my $self = shift;
    my $user = $self->user;
    my %info = ();
    @info{qw( username password uid gid )} = getpwnam( $self->user )
        or die "User ($user) is invalid\n";
    return \%info;
}

has sys_uid => (
    is      => "ro",
    isa     => "Int",
    builder => "_build_sys_uid",
);

sub _build_sys_uid {
    shift->sys_user_info->{uid};
}

has sys_gid => (
    is      => "ro",
    isa     => "Int",
    builder => "_build_sys_gid",
);

sub _build_sys_gid {
    shift->sys_user_info->{gid};
}

has log_dir => (
    is      => "ro",
    isa     => "Str",
    builder => "_build_log_dir",
);

sub _build_log_dir {
    my $self    = shift;

lib/App/Munner/Runner.pm  view on Meta::CPAN

            lsb_stop    => q{$syslog},
            lsb_sdesc   => $app,
            lsb_desc    => $app,
            directory   => $self->base_dir,
            program     => $cmd,
            pid_file    => $self->pid_file,
            stderr_file => $self->error_log,
            stdout_file => $self->access_log,
            fork        => $self->fork_mode,
            uid         => $info->{uid},
            gid         => $info->{gid},
        }
    );

    return $daemon;
}

sub run {
    my $self = shift;
    $self->_daemon->do_foreground;
}

lib/App/Munner/Runner.pm  view on Meta::CPAN

}

sub _set_file_permission {
    my $self = shift;
    my $file = shift
        or die "FIXME: Missing file name";
    die "FIXME: file is not found"
        if !-f $file;
    my $info = $self->sys_user_info;
    my $uid  = $info->{uid};
    my $gid  = $info->{gid};
    chown $uid, $gid, $file
        or die "Unable to chown $file\n";
    chmod 0700, $file
        or die "Unable to chown $file to 0700\n";
}

sub _touch {
    my $self = shift;
    my $file = shift;
    open my $FH, ">>", $file
        or die "Unable to touch file $file because $!\n";



( run in 0.875 second using v1.01-cache-2.11-cpan-ceb78f64989 )