summaryrefslogtreecommitdiffstats
path: root/initramfs/OpenSLX/MakeInitRamFS/Engine.pm
diff options
context:
space:
mode:
authorOliver Tappe2008-04-03 18:56:03 +0200
committerOliver Tappe2008-04-03 18:56:03 +0200
commitb66bca33f7fd4decf159e48c6cc87463d0a6d700 (patch)
tree2636ccb79c31e1d9f498a51286df3763c71519fa /initramfs/OpenSLX/MakeInitRamFS/Engine.pm
parent* finally corrected algorithm for merging attributes from default-system & ve... (diff)
downloadcore-b66bca33f7fd4decf159e48c6cc87463d0a6d700.tar.gz
core-b66bca33f7fd4decf159e48c6cc87463d0a6d700.tar.xz
core-b66bca33f7fd4decf159e48c6cc87463d0a6d700.zip
* Instead of passing all known attributes of the current system into each plugin,
we now create a hash containing only the attributes relating to that plugin. This should simplify checking the attributes in each plugin. git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@1720 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initramfs/OpenSLX/MakeInitRamFS/Engine.pm')
-rw-r--r--initramfs/OpenSLX/MakeInitRamFS/Engine.pm12
1 files changed, 11 insertions, 1 deletions
diff --git a/initramfs/OpenSLX/MakeInitRamFS/Engine.pm b/initramfs/OpenSLX/MakeInitRamFS/Engine.pm
index 482af6b2..43374e9e 100644
--- a/initramfs/OpenSLX/MakeInitRamFS/Engine.pm
+++ b/initramfs/OpenSLX/MakeInitRamFS/Engine.pm
@@ -750,7 +750,17 @@ sub _calloutToPlugins
foreach my $pluginName (@{$self->{'plugins'}}) {
my $plugin = OpenSLX::OSPlugin::Roster->getPlugin($pluginName);
next if !$plugin;
- $plugin->setupPluginInInitramfs($self->{attrs}, $self);
+
+ # create a hash only containing the attributes relating to the
+ # current plugin
+ my $allAttrs = $self->{attrs};
+ my %pluginAttrs;
+ for my $attrName (grep { $_ =~ m{^${pluginName}::} } keys %$allAttrs) {
+ $pluginAttrs{$attrName} = $allAttrs->{$attrName};
+ }
+
+ # let plugin setup itself in the initramfs
+ $plugin->setupPluginInInitramfs(\%pluginAttrs, $self);
}
return;
}