diff options
author | Oliver Tappe | 2007-07-31 21:02:23 +0200 |
---|---|---|
committer | Oliver Tappe | 2007-07-31 21:02:23 +0200 |
commit | 91d09dd1b452b5cb3883a2c050e261835171e738 (patch) | |
tree | f77f1138d545905b10f342f9eb44df93d82b44b8 /installer/OpenSLX/OSSetup/Distro/Gentoo.pm | |
parent | Renaming of nbd* variables to reflect a more general blockdevice (base (diff) | |
download | core-91d09dd1b452b5cb3883a2c050e261835171e738.tar.gz core-91d09dd1b452b5cb3883a2c050e261835171e738.tar.xz core-91d09dd1b452b5cb3883a2c050e261835171e738.zip |
* fixed problem reported by Bastian about pickKernelFile not correctly being
used (turned out to be a problem when loading the distro-module for
clone-only distributions)
* cleaned up the distro module structure while looking at it
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1293 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'installer/OpenSLX/OSSetup/Distro/Gentoo.pm')
-rw-r--r-- | installer/OpenSLX/OSSetup/Distro/Gentoo.pm | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/installer/OpenSLX/OSSetup/Distro/Gentoo.pm b/installer/OpenSLX/OSSetup/Distro/Gentoo.pm new file mode 100644 index 00000000..4d1032f7 --- /dev/null +++ b/installer/OpenSLX/OSSetup/Distro/Gentoo.pm @@ -0,0 +1,58 @@ +# 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/ +# ----------------------------------------------------------------------------- +# SUSE.pm +# - provides SUSE-specific overrides of the OpenSLX OSSetup API. +# ----------------------------------------------------------------------------- +package OpenSLX::OSSetup::Distro::Gentoo; + +use strict; +use warnings; + +use base qw(OpenSLX::OSSetup::Distro::Base); + +use OpenSLX::Basics; + +################################################################################ +### interface methods +################################################################################ +sub new +{ + my $class = shift; + my $self = {}; + return bless $self, $class; +} + +sub pickKernelFile +{ + my $self = shift; + my $kernelPath = shift; + + my $newestKernelFile; + my $newestKernelFileSortKey = ''; + foreach my $kernelFile (glob("$kernelPath/kernel-genkernel-x86-*")) { + next unless $kernelFile =~ m{ + x86-(\d+)\.(\d+)\.(\d+)(?:\.(\d+))?-(\d+(?:\.\d+)?) + }x; + my $sortKey + = sprintf("%02d.%02d.%02d.%02d-%2.1f", $1, $2, $3, $4||0, $5); + if ($newestKernelFileSortKey lt $sortKey) { + $newestKernelFile = $kernelFile; + $newestKernelFileSortKey = $sortKey; + } + } + + if (!defined $newestKernelFile) { + die _tr("unable to pick a kernel-file from path '%s'!", $kernelPath); + } + return $newestKernelFile; +} + +1; |