diff options
Diffstat (limited to 'initramfs')
| -rw-r--r-- | initramfs/OpenSLX/MakeInitRamFS/Distro/Suse.pm (renamed from initramfs/OpenSLX/MakeInitRamFS/Distro/SUSE.pm) | 0 | ||||
| -rw-r--r-- | initramfs/OpenSLX/MakeInitRamFS/Engine.pm | 17 |
2 files changed, 7 insertions, 10 deletions
diff --git a/initramfs/OpenSLX/MakeInitRamFS/Distro/SUSE.pm b/initramfs/OpenSLX/MakeInitRamFS/Distro/Suse.pm index 991a2fd1..991a2fd1 100644 --- a/initramfs/OpenSLX/MakeInitRamFS/Distro/SUSE.pm +++ b/initramfs/OpenSLX/MakeInitRamFS/Distro/Suse.pm diff --git a/initramfs/OpenSLX/MakeInitRamFS/Engine.pm b/initramfs/OpenSLX/MakeInitRamFS/Engine.pm index 43374e9e..efa8d1de 100644 --- a/initramfs/OpenSLX/MakeInitRamFS/Engine.pm +++ b/initramfs/OpenSLX/MakeInitRamFS/Engine.pm @@ -58,18 +58,15 @@ sub new $self->{'system-name'} =~ m{^([^\-]+)-([^:\-]+)} or die "unable to extract distro-info from $self->{'system-name'}!"; - $self->{'distro-name'} = $1; + $self->{'distro-name'} = lc($1); $self->{'distro-ver'} = $2; - my %distroMap = ( - 'debian' => 'Debian', - 'suse' => 'SUSE', - 'ubuntu' => 'Ubuntu', - ); - my $distroModule = $distroMap{$self->{'distro-name'}} || 'Base'; - $self->{distro} = instantiateClass( - "OpenSLX::MakeInitRamFS::Distro::$distroModule" - ); + my $distroModule + = 'OpenSLX::MakeInitRamFS::Distro::' . ucfirst($self->{'distro-name'}); + if (!eval { $self->{distro} = instantiateClass($distroModule); }) { + $self->{distro} + = instantiateClass('OpenSLX::MakeInitRamFS::Distro::Base'); + } $self->{'lib-scanner'} = OpenSLX::LibScanner->new({ 'root-path' => $self->{'root-path'} }); |
