diff options
author | Sebastian Schmelzer | 2008-12-15 00:16:12 +0100 |
---|---|---|
committer | Sebastian Schmelzer | 2008-12-15 00:16:12 +0100 |
commit | 7606f85ee41a0e123e5e753f3a5b6a8ae31dc098 (patch) | |
tree | ca842313c73a906c5302fb8bda7b52ba7e7dcdda /lib/OpenSLX/DistroUtils/Engine.pm | |
parent | xserver plugin: * make installation less verbose (diff) | |
download | core-7606f85ee41a0e123e5e753f3a5b6a8ae31dc098.tar.gz core-7606f85ee41a0e123e5e753f3a5b6a8ae31dc098.tar.xz core-7606f85ee41a0e123e5e753f3a5b6a8ae31dc098.zip |
* first ideas of distro based utilities
* usage:
use OpenSLX::DistroUtils;
# get initfile object
my $initfile = newInitFile();
# modify the object
$initfile->addToBlock('head', 'set some variables');
# 3rd parameter is setting the priority of the entry
# default is 5
$initfile->addToBlock('head', 'set sth at the very beginning', 1);
$initfile->addToBlock('start', '/bin/startsomething');
$initfile->addToBlock('stop', '/bin/stopsomething');
$initfile->setName('foo');
..
# get generated content of initfile
$source = getInitFileForDistro($initfile, 'Ubuntu');
git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2405 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'lib/OpenSLX/DistroUtils/Engine.pm')
-rw-r--r-- | lib/OpenSLX/DistroUtils/Engine.pm | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/OpenSLX/DistroUtils/Engine.pm b/lib/OpenSLX/DistroUtils/Engine.pm new file mode 100644 index 00000000..5482f1d2 --- /dev/null +++ b/lib/OpenSLX/DistroUtils/Engine.pm @@ -0,0 +1,30 @@ +package OpenSLX::DistroUtils::Engine; + +use OpenSLX::Basics; + +sub new +{ + my $class = shift; + my $self = {}; + return bless $self, $class; +} + + +sub loadDistro { + my $self = shift; + my $distroName = shift; + + my $distro; + my $loaded = eval { + $distro = instantiateClass("OpenSLX::DistroUtils::${distroName}"); + return 0 if !$distro; # module does not exist, try next + 1; + }; + + if (!$loaded) { + $distro = instantiateClass("OpenSLX::DistroUtils::Base"); + } + return $distro; +} + +1;
\ No newline at end of file |