diff options
| author | Oliver Tappe | 2007-05-11 22:47:04 +0200 |
|---|---|---|
| committer | Oliver Tappe | 2007-05-11 22:47:04 +0200 |
| commit | 0ac467e31fe703a572fa0ba4ae9458ef8e9861d1 (patch) | |
| tree | 215cbb848c5938bf4541577c7031ca2f7b589b96 /installer/OpenSLX/OSSetup/MetaPackager | |
| parent | * implemented a simple registration mechanism for cleanup functions in order to (diff) | |
| download | core-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.pm | 9 | ||||
| -rw-r--r-- | installer/OpenSLX/OSSetup/MetaPackager/yum.pm | 2 |
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); } |
