From e335b2132f6c9508861c01cda50ce8734b872b4e Mon Sep 17 00:00:00 2001 From: Dirk von Suchodoletz Date: Wed, 17 Dec 2008 16:39:51 +0000 Subject: Trying to simplify stuff in plugins (checks if a certain package is installed and installing ...) git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2427 95ad53e4-c205-0410-b2fa-d234c58c8868 --- lib/OpenSLX/Utils.pm | 14 ++++++++++++++ os-plugins/plugins/desktop/OpenSLX/Distro/Base.pm | 18 ------------------ os-plugins/plugins/syslog/OpenSLX/OSPlugin/syslog.pm | 15 +++++++++++---- os-plugins/plugins/x11vnc/OpenSLX/Distro/Base.pm | 15 --------------- os-plugins/plugins/x11vnc/OpenSLX/OSPlugin/x11vnc.pm | 6 ++++-- 5 files changed, 29 insertions(+), 39 deletions(-) diff --git a/lib/OpenSLX/Utils.pm b/lib/OpenSLX/Utils.pm index dbc35270..9686a152 100644 --- a/lib/OpenSLX/Utils.pm +++ b/lib/OpenSLX/Utils.pm @@ -688,4 +688,18 @@ sub isInPath return $path ? 1 : 0; } +=item B + +Check whether a certain package is installed. Could be refined somehow to use +the package mechanism of the given distribution!? + +=cut + +sub isPackInstalled +{ + my $self = shift; + my $pack = shift; + return $self->isInPath($pack); +} + 1; diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Base.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Base.pm index 61e278cf..962fb3db 100644 --- a/os-plugins/plugins/desktop/OpenSLX/Distro/Base.pm +++ b/os-plugins/plugins/desktop/OpenSLX/Distro/Base.pm @@ -41,24 +41,6 @@ sub initialize return 1; } -sub pathOf -{ - my $self = shift; - my $binary = shift; - - return qx{which $binary 2>/dev/null}; -} - -sub isInPath -{ - my $self = shift; - my $binary = shift; - - my $path = $self->pathOf($binary); - - return $path ? 1 : 0; -} - sub getDefaultDesktopManager { my $self = shift; diff --git a/os-plugins/plugins/syslog/OpenSLX/OSPlugin/syslog.pm b/os-plugins/plugins/syslog/OpenSLX/OSPlugin/syslog.pm index f19fa00c..52b18032 100644 --- a/os-plugins/plugins/syslog/OpenSLX/OSPlugin/syslog.pm +++ b/os-plugins/plugins/syslog/OpenSLX/OSPlugin/syslog.pm @@ -126,11 +126,18 @@ sub installationPhase my $engine = $self->{'os-plugin-engine'}; - if ($self->{kind} eq 'syslog-ng' && !qx{which syslog-ng}) { - $engine->installPackages('syslog-ng'); + if ($self->{kind} eq 'syslog-ng' && + !$self->{distro}->isPackInstalled('syslog-ng')) { + $engine->installPackages( + $self->{engine}->getInstallablePackagesForSelection('syslog-ng') + ); } - if ($self->{kind} eq 'syslogd' && !qx{which syslogd}) { - $engine->installPackages('syslogd'); + # not sure if we ever should setup this service + if ($self->{kind} eq 'syslogd' && + !$self->{distro}->isPackInstalled('syslog')) { + $engine->installPackages( + $self->{engine}->getInstallablePackagesForSelection('syslog') + ); } if (!$self->{kind}) { diff --git a/os-plugins/plugins/x11vnc/OpenSLX/Distro/Base.pm b/os-plugins/plugins/x11vnc/OpenSLX/Distro/Base.pm index 93f1a3eb..e0ab45ae 100644 --- a/os-plugins/plugins/x11vnc/OpenSLX/Distro/Base.pm +++ b/os-plugins/plugins/x11vnc/OpenSLX/Distro/Base.pm @@ -89,19 +89,4 @@ sub fillRunlevelScript return $script; } -sub isX11vncInstalled -{ - my $self = shift; - return $self->isInPath('x11vnc'); -} - -sub installX11vnc -{ - my $self = shift; - $self->{engine}->installPackages( - $self->{engine}->getInstallablePackagesForSelection('x11vnc') - ); - return 1; -} - 1; diff --git a/os-plugins/plugins/x11vnc/OpenSLX/OSPlugin/x11vnc.pm b/os-plugins/plugins/x11vnc/OpenSLX/OSPlugin/x11vnc.pm index e73ea8a3..716cc3f7 100644 --- a/os-plugins/plugins/x11vnc/OpenSLX/OSPlugin/x11vnc.pm +++ b/os-plugins/plugins/x11vnc/OpenSLX/OSPlugin/x11vnc.pm @@ -189,8 +189,10 @@ sub installationPhase # should we distinguish between the two different packages!? # libvnc should be part of the xorg package!? (so no check needed) - if (!$self->{distro}->isX11vncInstalled()) { - $self->{distro}->installX11vnc(); + if (!$self->{distro}->isPackInstalled('x11vnc')) { + $self->{distro}->installPackages( + $self->{engine}->getInstallablePackagesForSelection('x11vnc') + ); } else { vlog(3, "x11vnc is already installed"); } -- cgit v1.2.3-55-g7522