diff options
author | Oliver Tappe | 2009-06-09 20:05:47 +0200 |
---|---|---|
committer | Oliver Tappe | 2009-06-09 20:05:47 +0200 |
commit | 4a683e74a6afd9896df3c32b9d9d334e4599f7d3 (patch) | |
tree | 1513b6f3aac3d803f22022401cc470d97d45d796 /installer/OpenSLX/OSSetup | |
parent | * fixed pretty stupid bug that involved mixed use of bufferd/non-buffered IO (diff) | |
download | core-4a683e74a6afd9896df3c32b9d9d334e4599f7d3.tar.gz core-4a683e74a6afd9896df3c32b9d9d334e4599f7d3.tar.xz core-4a683e74a6afd9896df3c32b9d9d334e4599f7d3.zip |
* fixed a whole lot of circular references which I found when researching #451
* some minor cleanups along the way
git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2944 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'installer/OpenSLX/OSSetup')
-rw-r--r-- | installer/OpenSLX/OSSetup/Distro/Base.pm | 4 | ||||
-rw-r--r-- | installer/OpenSLX/OSSetup/Engine.pm | 6 | ||||
-rw-r--r-- | installer/OpenSLX/OSSetup/MetaPackager/Base.pm | 5 | ||||
-rw-r--r-- | installer/OpenSLX/OSSetup/Packager/Base.pm | 5 |
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; } |