From a0ce0340d0f95514008cfac751fe58748bbadd88 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Thu, 20 Mar 2008 00:04:16 +0000 Subject: * Switched indent used in Perl-code and settings files from tabs to 4 spaces. May need some manual corrections here and there, but should basically be ok. git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@1658 95ad53e4-c205-0410-b2fa-d234c58c8868 --- installer/OpenSLX/OSExport/FileSystem/NFS.pm | 212 +++++++++++++-------------- 1 file changed, 106 insertions(+), 106 deletions(-) (limited to 'installer/OpenSLX/OSExport/FileSystem/NFS.pm') diff --git a/installer/OpenSLX/OSExport/FileSystem/NFS.pm b/installer/OpenSLX/OSExport/FileSystem/NFS.pm index 9ab1ddfe..f14bc497 100644 --- a/installer/OpenSLX/OSExport/FileSystem/NFS.pm +++ b/installer/OpenSLX/OSExport/FileSystem/NFS.pm @@ -9,7 +9,7 @@ # General information about OpenSLX can be found at http://openslx.org/ # ----------------------------------------------------------------------------- # NFS.pm -# - provides NFS-specific overrides of the OpenSLX::OSExport::FileSystem API. +# - provides NFS-specific overrides of the OpenSLX::OSExport::FileSystem API. # ----------------------------------------------------------------------------- package OpenSLX::OSExport::FileSystem::NFS; @@ -28,107 +28,107 @@ use OpenSLX::Utils; ################################################################################ sub new { - my $class = shift; - my $self = { - 'name' => 'nfs', - }; - return bless $self, $class; + my $class = shift; + my $self = { + 'name' => 'nfs', + }; + return bless $self, $class; } sub initialize { - my $self = shift; - my $engine = shift; + my $self = shift; + my $engine = shift; - $self->{'engine'} = $engine; - my $exportBasePath = "$openslxConfig{'public-path'}/export"; - $self->{'export-path'} = "$exportBasePath/nfs/$engine->{'vendor-os-name'}"; - return; + $self->{'engine'} = $engine; + my $exportBasePath = "$openslxConfig{'public-path'}/export"; + $self->{'export-path'} = "$exportBasePath/nfs/$engine->{'vendor-os-name'}"; + return; } sub exportVendorOS { - my $self = shift; - my $source = shift; + my $self = shift; + my $source = shift; - my $target = $self->{'export-path'}; - $self->_copyViaRsync($source, $target); - return; + my $target = $self->{'export-path'}; + $self->_copyViaRsync($source, $target); + return; } sub purgeExport { - my $self = shift; - - my $target = $self->{'export-path'}; - if (system("rm -r $target")) { - vlog(0, _tr("unable to remove export '%s'!", $target)); - return 0; - } - return 1; + my $self = shift; + + my $target = $self->{'export-path'}; + if (system("rm -r $target")) { + vlog(0, _tr("unable to remove export '%s'!", $target)); + return 0; + } + return 1; } sub checkRequirements { - my $self = shift; - my $vendorOSPath = shift; - - # determine most appropriate kernel version ... - my $kernelVer = $self->_pickKernelVersion($vendorOSPath); - - # ... and check if that kernel-version provides all the required modules - my $nfsMod = $self->_locateKernelModule( - $vendorOSPath, - 'nfs.ko', - [ - "$vendorOSPath/lib/modules/$kernelVer/kernel/fs/nfs", - "$vendorOSPath/lib/modules/$kernelVer/kernel/fs" - ] - ); - if (!defined $nfsMod) { - warn _tr("unable to find nfs-module for kernel version '%s'.", - $kernelVer); - return; - } - return 1; + my $self = shift; + my $vendorOSPath = shift; + + # determine most appropriate kernel version ... + my $kernelVer = $self->_pickKernelVersion($vendorOSPath); + + # ... and check if that kernel-version provides all the required modules + my $nfsMod = $self->_locateKernelModule( + $vendorOSPath, + 'nfs.ko', + [ + "$vendorOSPath/lib/modules/$kernelVer/kernel/fs/nfs", + "$vendorOSPath/lib/modules/$kernelVer/kernel/fs" + ] + ); + if (!defined $nfsMod) { + warn _tr("unable to find nfs-module for kernel version '%s'.", + $kernelVer); + return; + } + return 1; } sub generateExportURI { - my $self = shift; - my $export = shift; - my $vendorOS = shift; - - my $serverIP = $export->{server_ip} || ''; - my $server - = length($serverIP) ? $serverIP : generatePlaceholderFor('serverip'); - my $port = $export->{port} || ''; - $server .= ":$port" if length($port); - - my $exportPath = "$openslxConfig{'public-path'}/export"; - return "nfs://$server$exportPath/nfs/$vendorOS->{name}"; + my $self = shift; + my $export = shift; + my $vendorOS = shift; + + my $serverIP = $export->{server_ip} || ''; + my $server + = length($serverIP) ? $serverIP : generatePlaceholderFor('serverip'); + my $port = $export->{port} || ''; + $server .= ":$port" if length($port); + + my $exportPath = "$openslxConfig{'public-path'}/export"; + return "nfs://$server$exportPath/nfs/$vendorOS->{name}"; } sub requiredFSMods { - my $self = shift; + my $self = shift; - return qw( nfs ); + return qw( nfs ); } sub showExportConfigInfo { - my $self = shift; - my $export = shift; + my $self = shift; + my $export = shift; - print (('#' x 80)."\n"); - print _tr("Please make sure the following line is contained in /etc/exports\nin order to activate the NFS-export of this vendor-OS:\n\t%s\n", - "$self->{'export-path'}\t*(ro,no_root_squash,async,no_subtree_check)"); - print (('#' x 80)."\n"); + print (('#' x 80)."\n"); + print _tr("Please make sure the following line is contained in /etc/exports\nin order to activate the NFS-export of this vendor-OS:\n\t%s\n", + "$self->{'export-path'}\t*(ro,no_root_squash,async,no_subtree_check)"); + print (('#' x 80)."\n"); # TODO : add something a bit more clever here... -# my $exports = slurpFile("/etc/exports"); - return; +# my $exports = slurpFile("/etc/exports"); + return; } ################################################################################ @@ -136,48 +136,48 @@ sub showExportConfigInfo ################################################################################ sub _copyViaRsync { - my $self = shift; - my $source = shift; - my $target = shift; - - if (system("mkdir -p $target")) { - die _tr("unable to create directory '%s', giving up! (%s)\n", - $target, $!); - } - my $includeExcludeList = $self->_determineIncludeExcludeList(); - vlog(1, _tr("using include-exclude-filter:\n%s\n", $includeExcludeList)); - my $rsyncFH; - my $additionalRsyncOptions = $ENV{SLX_RSYNC_OPTIONS} || ''; - my $rsyncCmd - = "rsync -av --delete-excluded --exclude-from=- $additionalRsyncOptions" - . " $source/ $target"; - vlog(2, "executing: $rsyncCmd\n"); - open($rsyncFH, '|-', $rsyncCmd) - or die _tr("unable to start rsync for source '%s', giving up! (%s)", - $source, $!); - print $rsyncFH $includeExcludeList; - close($rsyncFH) - or die _tr("unable to export to target '%s', giving up! (%s)", - $target, $!); - return; + my $self = shift; + my $source = shift; + my $target = shift; + + if (system("mkdir -p $target")) { + die _tr("unable to create directory '%s', giving up! (%s)\n", + $target, $!); + } + my $includeExcludeList = $self->_determineIncludeExcludeList(); + vlog(1, _tr("using include-exclude-filter:\n%s\n", $includeExcludeList)); + my $rsyncFH; + my $additionalRsyncOptions = $ENV{SLX_RSYNC_OPTIONS} || ''; + my $rsyncCmd + = "rsync -av --delete-excluded --exclude-from=- $additionalRsyncOptions" + . " $source/ $target"; + vlog(2, "executing: $rsyncCmd\n"); + open($rsyncFH, '|-', $rsyncCmd) + or die _tr("unable to start rsync for source '%s', giving up! (%s)", + $source, $!); + print $rsyncFH $includeExcludeList; + close($rsyncFH) + or die _tr("unable to export to target '%s', giving up! (%s)", + $target, $!); + return; } sub _determineIncludeExcludeList { - my $self = shift; - - # Rsync uses a first match strategy, so we mix the local specifications - # in front of the filterset given by the package (as the local filters - # should always overrule the vendor filters): - my $distroName = $self->{engine}->{'distro-name'}; - my $localFilterFile - = "$openslxConfig{'config-path'}/distro-info/$distroName/export-filter"; - my $includeExcludeList - = slurpFile($localFilterFile, { failIfMissing => 0 }); - $includeExcludeList .= $self->{engine}->{distro}->{'export-filter'}; - $includeExcludeList =~ s[^\s+][]igms; - # remove any leading whitespace, as rsync doesn't like it - return $includeExcludeList; + my $self = shift; + + # Rsync uses a first match strategy, so we mix the local specifications + # in front of the filterset given by the package (as the local filters + # should always overrule the vendor filters): + my $distroName = $self->{engine}->{'distro-name'}; + my $localFilterFile + = "$openslxConfig{'config-path'}/distro-info/$distroName/export-filter"; + my $includeExcludeList + = slurpFile($localFilterFile, { failIfMissing => 0 }); + $includeExcludeList .= $self->{engine}->{distro}->{'export-filter'}; + $includeExcludeList =~ s[^\s+][]igms; + # remove any leading whitespace, as rsync doesn't like it + return $includeExcludeList; } 1; -- cgit v1.2.3-55-g7522