diff options
Diffstat (limited to 'installer/OpenSLX/OSExport/FileSystem/Base.pm')
-rw-r--r-- | installer/OpenSLX/OSExport/FileSystem/Base.pm | 148 |
1 files changed, 0 insertions, 148 deletions
diff --git a/installer/OpenSLX/OSExport/FileSystem/Base.pm b/installer/OpenSLX/OSExport/FileSystem/Base.pm deleted file mode 100644 index 05f3c6a0..00000000 --- a/installer/OpenSLX/OSExport/FileSystem/Base.pm +++ /dev/null @@ -1,148 +0,0 @@ -# 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/ -# ----------------------------------------------------------------------------- -# Base.pm -# - provides empty base of the OpenSLX OSExport::FileSystem API. -# ----------------------------------------------------------------------------- -package OpenSLX::OSExport::FileSystem::Base; - -use strict; -use warnings; - -our $VERSION = 1.01; # API-version . implementation-version - -use File::Basename; -use Scalar::Util qw( weaken ); - -use OpenSLX::Basics; -use OpenSLX::Utils; - -################################################################################ -### interface methods -################################################################################ -sub new -{ - confess "Creating OpenSLX::OSExport::FileSystem::Base-objects directly makes no sense!"; -} - -sub initialize -{ - my $self = shift; - my $engine = shift; - - $self->{'engine'} = $engine; - weaken($self->{'engine'}); - # avoid circular reference between file-system and its engine -} - -sub exportVendorOS -{ -} - -sub purgeExport -{ -} - -sub checkRequirements -{ - return 1; -} - -sub addExportToConfigDB -{ - my $self = shift; - my $export = shift; - my $openslxDB = shift; - - return $openslxDB->addExport($export); -} - -sub generateExportURI -{ -} - -sub requiredFSMods -{ -} - -sub requiredFSTools -{ -} - -sub showExportConfigInfo -{ -} - -################################################################################ -### implementation methods -################################################################################ -sub _pickKernelVersion -{ - my $self = shift; - my $vendorOSPath = shift; - - my $kernel = followLink("$vendorOSPath/boot/vmlinuz"); - if (!-e $kernel) { - # 'vmlinuz'-link doesn't exist, so we have to pick the kernel manually - my $osSetupEngine = instantiateClass("OpenSLX::OSSetup::Engine"); - $osSetupEngine->initialize($self->{engine}->{'vendor-os-name'}, 'none'); - $kernel = $osSetupEngine->pickKernelFile("$vendorOSPath/boot"); - } - my $kernelName = basename($kernel); - if ($kernelName !~ m[-(.+)$]) { - die _tr("unable to determine version of kernel '%s'!", $kernelName); - } - return $1; -} - -sub _locateKernelModule -{ - my $self = shift; - my $vendorOSPath = shift; - my $moduleName = shift; - my $defaultPaths = shift; - - vlog(1, _tr("locating kernel-module '%s'", $moduleName)); - # check default paths first: - foreach my $defPath (@$defaultPaths) { - vlog(2, "trying $defPath/$moduleName"); - my $target = followLink("$defPath/$moduleName", $vendorOSPath); - return $target unless !-e $target; - } - # use brute force to search for the newest incarnation of the module: - use File::Find; - my $location; - my $locationAge = 9999999; - vlog(2, "searching in $vendorOSPath/lib/modules"); - find sub { - return unless $_ eq $moduleName; - if (-M _ < $locationAge) { - $locationAge = -M _; - $location = $File::Find::name; - vlog(2, "located at $location (age=$locationAge days)"); - } - }, "$vendorOSPath/lib/modules"; - if (defined $location) { - return followLink($location, $vendorOSPath); - } - return; -} - -1; - -################################################################################ - -=pod - -=head1 NAME - -OpenSLX::OSExport::FileSystem::Base - the base class for all OSExport::FileSystems - -=cut |