summaryrefslogtreecommitdiffstats
path: root/installer/OpenSLX/OSSetup
diff options
context:
space:
mode:
Diffstat (limited to 'installer/OpenSLX/OSSetup')
-rw-r--r--installer/OpenSLX/OSSetup/Distro/Base.pm4
-rw-r--r--installer/OpenSLX/OSSetup/Engine.pm6
-rw-r--r--installer/OpenSLX/OSSetup/MetaPackager/Base.pm5
-rw-r--r--installer/OpenSLX/OSSetup/Packager/Base.pm5
4 files changed, 18 insertions, 2 deletions
diff --git a/installer/OpenSLX/OSSetup/Distro/Base.pm b/installer/OpenSLX/OSSetup/Distro/Base.pm
index 75979ac6..075c0818 100644
--- a/installer/OpenSLX/OSSetup/Distro/Base.pm
+++ b/installer/OpenSLX/OSSetup/Distro/Base.pm
@@ -21,6 +21,8 @@ our $VERSION = 1.01; # API-version . implementation-version
use Fcntl qw(:DEFAULT :flock);
use File::Basename;
use File::Path;
+use Scalar::Util qw( weaken );
+
use OpenSLX::Basics;
use OpenSLX::Utils;
@@ -38,6 +40,8 @@ sub initialize
my $engine = shift;
$self->{'engine'} = $engine;
+ weaken($self->{'engine'});
+ # avoid circular reference between distro and its engine
if ($engine->{'distro-name'} =~ m[x86_64]) {
# be careful to only try installing 64-bit systems if actually
diff --git a/installer/OpenSLX/OSSetup/Engine.pm b/installer/OpenSLX/OSSetup/Engine.pm
index 74a5ed7e..6a2697d2 100644
--- a/installer/OpenSLX/OSSetup/Engine.pm
+++ b/installer/OpenSLX/OSSetup/Engine.pm
@@ -411,7 +411,6 @@ sub startChrootedShellForVendorOS
}
);
- $self->_touchVendorOS();
vlog(
0,
_tr(
@@ -419,6 +418,8 @@ sub startChrootedShellForVendorOS
$self->{'vendor-os-name'}
)
);
+ $self->_touchVendorOS();
+
return;
}
@@ -457,7 +458,6 @@ sub callChrootedFunctionForVendorOS
}
);
- $self->_touchVendorOS();
vlog(
1,
_tr(
@@ -465,6 +465,8 @@ sub callChrootedFunctionForVendorOS
$self->{'vendor-os-name'}
)
);
+ $self->_touchVendorOS();
+
return 1;
}
diff --git a/installer/OpenSLX/OSSetup/MetaPackager/Base.pm b/installer/OpenSLX/OSSetup/MetaPackager/Base.pm
index af789888..f149d0f5 100644
--- a/installer/OpenSLX/OSSetup/MetaPackager/Base.pm
+++ b/installer/OpenSLX/OSSetup/MetaPackager/Base.pm
@@ -18,6 +18,8 @@ use warnings;
our $VERSION = 1.01; # API-version . implementation-version
+use Scalar::Util qw( weaken );
+
use OpenSLX::Basics;
################################################################################
@@ -34,6 +36,9 @@ sub initialize
my $engine = shift;
$self->{'engine'} = $engine;
+ weaken($self->{'engine'});
+ # avoid circular reference between meta-packager and its engine
+
return;
}
diff --git a/installer/OpenSLX/OSSetup/Packager/Base.pm b/installer/OpenSLX/OSSetup/Packager/Base.pm
index 747ba7e4..af600b8b 100644
--- a/installer/OpenSLX/OSSetup/Packager/Base.pm
+++ b/installer/OpenSLX/OSSetup/Packager/Base.pm
@@ -18,6 +18,8 @@ use warnings;
our $VERSION = 1.01; # API-version . implementation-version
+use Scalar::Util qw( weaken );
+
use OpenSLX::Basics;
################################################################################
@@ -34,6 +36,9 @@ sub initialize
my $engine = shift;
$self->{'engine'} = $engine;
+ weaken($self->{'engine'});
+ # avoid circular reference between packager and its engine
+
return;
}