diff options
Diffstat (limited to 'os-plugins/plugins/syslog/OpenSLX/Distro')
| -rw-r--r-- | os-plugins/plugins/syslog/OpenSLX/Distro/Base.pm | 63 | ||||
| -rw-r--r-- | os-plugins/plugins/syslog/OpenSLX/Distro/Suse.pm | 41 |
2 files changed, 104 insertions, 0 deletions
diff --git a/os-plugins/plugins/syslog/OpenSLX/Distro/Base.pm b/os-plugins/plugins/syslog/OpenSLX/Distro/Base.pm new file mode 100644 index 00000000..dd599404 --- /dev/null +++ b/os-plugins/plugins/syslog/OpenSLX/Distro/Base.pm @@ -0,0 +1,63 @@ +# Copyright (c) 2008 - OpenSLX GmbH +# +# This program is free software distributed under the GPL version 2. +# See http://openslx.org/COPYING +# +# If you have any feedback please consult http://openslx.org/feedback and +# send your suggestions, praise, or complaints to feedback@openslx.org +# +# General information about OpenSLX can be found at http://openslx.org/ +# ----------------------------------------------------------------------------- +# syslog/OpenSLX/Distro/Base.pm +# - provides base implementation of the Distro API for the syslog plugin. +# ----------------------------------------------------------------------------- +package syslog::OpenSLX::Distro::Base; + +use strict; +use warnings; + +our $VERSION = 1.01; # API-version . implementation-version + +use OpenSLX::Basics; +use OpenSLX::Utils; + +################################################################################ +### interface methods +################################################################################ +sub new +{ + my $class = shift; + my $self = {}; + return bless $self, $class; +} + +sub initialize +{ + my $self = shift; + $self->{engine} = shift; + + return 1; +} + +sub runlevelInfo +{ + my $self = shift; + my $attrs = shift; + + # most distros (well: Debian & Ubuntu) use a different initscript depending + # on which version of syslog is installed ('syslogd' or 'syslog-ng') + my $kind = lc($attrs->{'syslog::kind'}); + my %nameMap = ( + 'syslogd' => 'sysklogd', + 'syslog-ng' => 'syslog-ng', + ); + my $rlInfo = { + scriptName => $nameMap{$kind}, + startAt => 2, + stopAt => 15, + }; + + return $rlInfo; +} + +1; diff --git a/os-plugins/plugins/syslog/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/syslog/OpenSLX/Distro/Suse.pm new file mode 100644 index 00000000..7255d6f5 --- /dev/null +++ b/os-plugins/plugins/syslog/OpenSLX/Distro/Suse.pm @@ -0,0 +1,41 @@ +# Copyright (c) 2006, 2007 - OpenSLX GmbH +# +# This program is free software distributed under the GPL version 2. +# See http://openslx.org/COPYING +# +# If you have any feedback please consult http://openslx.org/feedback and +# send your suggestions, praise, or complaints to feedback@openslx.org +# +# General information about OpenSLX can be found at http://openslx.org/ +# ----------------------------------------------------------------------------- +# syslog/OpenSLX/Distro/Suse.pm +# - provides SUSE-specific overrides of the Distro API for the syslog plugin. +# ----------------------------------------------------------------------------- +package syslog::OpenSLX::Distro::Suse; + +use strict; +use warnings; + +use base qw(syslog::OpenSLX::Distro::Base); + +use OpenSLX::Basics; + +################################################################################ +### interface methods +################################################################################ + +sub runlevelInfo +{ + my $self = shift; + my $attrs = shift; + + my $rlInfo = $self->SUPER::runlevelInfo($attrs); + + # SUSE uses a script named 'syslog', no matter if syslogd or syslog-ng + # is installed + $rlInfo->{scriptName} = 'syslog'; + + return $rlInfo; +} + +1; |
