summaryrefslogtreecommitdiffstats
path: root/installer/OpenSLX/OSSetup/MetaPackager
diff options
context:
space:
mode:
authorOliver Tappe2007-05-11 22:47:04 +0200
committerOliver Tappe2007-05-11 22:47:04 +0200
commit0ac467e31fe703a572fa0ba4ae9458ef8e9861d1 (patch)
tree215cbb848c5938bf4541577c7031ca2f7b589b96 /installer/OpenSLX/OSSetup/MetaPackager
parent* implemented a simple registration mechanism for cleanup functions in order to (diff)
downloadcore-0ac467e31fe703a572fa0ba4ae9458ef8e9861d1.tar.gz
core-0ac467e31fe703a572fa0ba4ae9458ef8e9861d1.tar.xz
core-0ac467e31fe703a572fa0ba4ae9458ef8e9861d1.zip
* improved reliability in case of user interrupts
* added support for specifying excludes, doesn't work properly yet, though git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1049 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'installer/OpenSLX/OSSetup/MetaPackager')
-rw-r--r--installer/OpenSLX/OSSetup/MetaPackager/Base.pm9
-rw-r--r--installer/OpenSLX/OSSetup/MetaPackager/yum.pm2
2 files changed, 10 insertions, 1 deletions
diff --git a/installer/OpenSLX/OSSetup/MetaPackager/Base.pm b/installer/OpenSLX/OSSetup/MetaPackager/Base.pm
index 313460f6..218dd131 100644
--- a/installer/OpenSLX/OSSetup/MetaPackager/Base.pm
+++ b/installer/OpenSLX/OSSetup/MetaPackager/Base.pm
@@ -17,7 +17,9 @@ use vars qw($VERSION);
$VERSION = 1.01; # API-version . implementation-version
use strict;
+
use Carp;
+use OpenSLX::Basics;
################################################################################
### interface methods
@@ -54,6 +56,9 @@ sub installSelection
sub startSession
{
my $self = shift;
+
+ addCleanupFunction('slxos-setup::meta-packager',
+ sub { $self->finishSession(); } );
system('mount -t proc proc /proc 2>/dev/null');
@@ -64,11 +69,13 @@ sub startSession
sub finishSession
{
my $self = shift;
-
+
$self->{engine}->{distro}->finishSession();
# allow vendor specific extensions
system('umount /proc 2>/dev/null');
+
+ removeCleanupFunction('slxos-setup::meta-packager');
}
1;
diff --git a/installer/OpenSLX/OSSetup/MetaPackager/yum.pm b/installer/OpenSLX/OSSetup/MetaPackager/yum.pm
index 62a9806a..a6011f67 100644
--- a/installer/OpenSLX/OSSetup/MetaPackager/yum.pm
+++ b/installer/OpenSLX/OSSetup/MetaPackager/yum.pm
@@ -56,6 +56,7 @@ sub setupPackageSource
my $self = shift;
my $repoName = shift;
my $repoInfo = shift;
+ my $excludeList = shift;
my $repoURL = $self->{engine}->selectBaseURL($repoInfo);
if (length($repoInfo->{'repo-subdir'})) {
@@ -67,6 +68,7 @@ sub setupPackageSource
open(REPO, "> $repoFile")
or die _tr("unable to create repo-file <%s> (%s)\n", $repoFile, $1);
print REPO $repoDescr;
+ print REPO "\nexclude=$excludeList\n";
close(REPO);
}