summaryrefslogtreecommitdiffstats
path: root/installer/OpenSLX/OSSetup/MetaPackager/Base.pm
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/Base.pm
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/Base.pm')
-rw-r--r--installer/OpenSLX/OSSetup/MetaPackager/Base.pm9
1 files changed, 8 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;