Moving some preparation code found at the top level of some binaries into a prepare() sub. --- bin/pvedaemon | 10 ++++++---- bin/pveproxy | 18 ++++++++++-------- bin/pvestatd | 18 +++++++++++------- bin/spiceproxy | 18 ++++++++++-------- 4 files changed, 37 insertions(+), 27 deletions(-)
diff --git a/bin/pvedaemon b/bin/pvedaemon index 75fe20d..5440a0c 100755 --- a/bin/pvedaemon +++ b/bin/pvedaemon @@ -34,11 +34,13 @@ my %daemon_options = ( leave_children_open_on_reload => 1, ); -# create dir for dtach sockets -mkdir "/var/run/dtach"; - my $daemon = __PACKAGE__->new('pvedaemon', $cmdline, %daemon_options); +sub prepare { + # create dir for dtach sockets + mkdir "/var/run/dtach"; +} + sub init { my ($self) = @_; @@ -83,7 +85,7 @@ my $cmddef = { my $cmd = shift; -PVE::CLIHandler::handle_cmd($cmddef, $0, $cmd, \@ARGV, undef, $0); +PVE::CLIHandler::handle_cmd($cmddef, $0, $cmd, \@ARGV, undef, $0, \&prepare); exit (0); diff --git a/bin/pveproxy b/bin/pveproxy index 3864444..df7eb10 100755 --- a/bin/pveproxy +++ b/bin/pveproxy @@ -51,15 +51,17 @@ my %daemon_options = ( pidfile => '/var/run/pveproxy/pveproxy.pid', ); -my $rundir="/var/run/pveproxy"; -if (mkdir($rundir, 0700)) { # only works at first start if we are root) - my $gid = getgrnam('www-data') || die "getgrnam failed - $!\n"; - my $uid = getpwnam('www-data') || die "getpwnam failed - $!\n"; - chown($uid, $gid, $rundir); +my $daemon = __PACKAGE__->new('pveproxy', $cmdline, %daemon_options); + +sub prepare { + my $rundir="/var/run/pveproxy"; + if (mkdir($rundir, 0700)) { # only works at first start if we are root) + my $gid = getgrnam('www-data') || die "getgrnam failed - $!\n"; + my $uid = getpwnam('www-data') || die "getpwnam failed - $!\n"; + chown($uid, $gid, $rundir); + } } -my $daemon = __PACKAGE__->new('pveproxy', $cmdline, %daemon_options); - sub add_dirs { my ($result_hash, $alias, $subdir) = @_; @@ -160,7 +162,7 @@ my $cmddef = { my $cmd = shift; -PVE::CLIHandler::handle_cmd($cmddef, $0, $cmd, \@ARGV, undef, $0); +PVE::CLIHandler::handle_cmd($cmddef, $0, $cmd, \@ARGV, undef, $0, \&prepare); exit (0); diff --git a/bin/pvestatd b/bin/pvestatd index 3a4e8f2..c8b3b98 100755 --- a/bin/pvestatd +++ b/bin/pvestatd @@ -27,15 +27,19 @@ my $cmdline = [$0, @ARGV]; my %daemon_options = (restart_on_error => 5, stop_wait_time => 5); my $daemon = __PACKAGE__->new('pvestatd', $cmdline, %daemon_options); +my $nodename; +my $restart_request; -my $rpcenv = PVE::RPCEnvironment->init('cli'); +sub prepare { + my $rpcenv = PVE::RPCEnvironment->init('cli'); -$rpcenv->init_request(); -$rpcenv->set_language($ENV{LANG}); -$rpcenv->set_user('root@pam'); + $rpcenv->init_request(); + $rpcenv->set_language($ENV{LANG}); + $rpcenv->set_user('root@pam'); -my $nodename = PVE::INotify::nodename(); -my $restart_request = 0; + $nodename = PVE::INotify::nodename(); + $restart_request = 0; +} sub init { my ($self) = @_; @@ -354,7 +358,7 @@ my $cmddef = { my $cmd = shift; -PVE::CLIHandler::handle_cmd($cmddef, $0, $cmd, \@ARGV, undef, $0); +PVE::CLIHandler::handle_cmd($cmddef, $0, $cmd, \@ARGV, undef, $0, \&prepare); exit (0); diff --git a/bin/spiceproxy b/bin/spiceproxy index 07acf32..7065ebd 100755 --- a/bin/spiceproxy +++ b/bin/spiceproxy @@ -40,15 +40,17 @@ my %daemon_options = ( pidfile => '/var/run/pveproxy/spiceproxy.pid', ); -my $rundir="/var/run/pveproxy"; -if (mkdir($rundir, 0700)) { # only works at first start if we are root) - my $gid = getgrnam('www-data') || die "getgrnam failed - $!\n"; - my $uid = getpwnam('www-data') || die "getpwnam failed - $!\n"; - chown($uid, $gid, $rundir); -} - my $daemon = __PACKAGE__->new('spiceproxy', $cmdline, %daemon_options); +sub prepare { + my $rundir="/var/run/pveproxy"; + if (mkdir($rundir, 0700)) { # only works at first start if we are root) + my $gid = getgrnam('www-data') || die "getgrnam failed - $!\n"; + my $uid = getpwnam('www-data') || die "getpwnam failed - $!\n"; + chown($uid, $gid, $rundir); + } +} + sub init { my ($self) = @_; @@ -101,7 +103,7 @@ my $cmddef = { my $cmd = shift; -PVE::CLIHandler::handle_cmd($cmddef, $0, $cmd, \@ARGV, undef, $0); +PVE::CLIHandler::handle_cmd($cmddef, $0, $cmd, \@ARGV, undef, $0, \&prepare); exit (0); -- 2.1.4 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel