diff options
author | Oliver Tappe | 2008-04-03 18:56:03 +0200 |
---|---|---|
committer | Oliver Tappe | 2008-04-03 18:56:03 +0200 |
commit | b66bca33f7fd4decf159e48c6cc87463d0a6d700 (patch) | |
tree | 2636ccb79c31e1d9f498a51286df3763c71519fa /initramfs/OpenSLX/MakeInitRamFS/Engine.pm | |
parent | * finally corrected algorithm for merging attributes from default-system & ve... (diff) | |
download | core-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.pm | 12 |
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; } |