diff options
author | Oliver Tappe | 2007-04-29 16:27:28 +0200 |
---|---|---|
committer | Oliver Tappe | 2007-04-29 16:27:28 +0200 |
commit | 245bcbb23fd66d66e6fd62fefb2f0ab194c94c54 (patch) | |
tree | be397ca7256aef8ba8e636fda59534f107e75144 /installer | |
parent | Updated busybox.i586 and busybox.config to version 1.4.2. (diff) | |
download | core-245bcbb23fd66d66e6fd62fefb2f0ab194c94c54.tar.gz core-245bcbb23fd66d66e6fd62fefb2f0ab194c94c54.tar.xz core-245bcbb23fd66d66e6fd62fefb2f0ab194c94c54.zip |
* fixed bugs when setting up the resolver for 64-bit hosts.
Now we use the resolver libs with the same "bitness" as the
c-library and we copy those libs into the same target folder
as we have copied the c-library to.
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@954 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'installer')
-rw-r--r-- | installer/OpenSLX/OSSetup/Engine.pm | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/installer/OpenSLX/OSSetup/Engine.pm b/installer/OpenSLX/OSSetup/Engine.pm index de4e00ae..070aa7ee 100644 --- a/installer/OpenSLX/OSSetup/Engine.pm +++ b/installer/OpenSLX/OSSetup/Engine.pm @@ -444,7 +444,6 @@ sub setupStage1A } $self->stage1A_createBusyboxEnvironment(); - $self->stage1A_setupResolver(); $self->stage1A_copyPrerequiredFiles(); $self->stage1A_copyTrustedPackageKeys(); $self->stage1A_createRequiredFiles(); @@ -465,19 +464,26 @@ sub stage1A_createBusyboxEnvironment # determine all required libraries and copy those, too: vlog 1, _tr("calling slxldd for $busyboxName"); - my $slxlddCmd + my $slxlddCmd = "slxldd $openslxConfig{'share-path'}/busybox/$busyboxName"; vlog 2, "executing: $slxlddCmd"; my $requiredLibsStr = `$slxlddCmd`; if ($?) { - die _tr("slxldd couldn't determine the libs required by busybox! (%s)", $?); + die _tr("slxldd couldn't determine the libs required by busybox! (%s)", + $?); } chomp $requiredLibsStr; vlog 2, "slxldd results:\n$requiredLibsStr"; + my $libcFolder; foreach my $lib (split "\n", $requiredLibsStr) { vlog 3, "copying lib '$lib'"; my $libDir = dirname($lib); copyFile($lib, "$self->{stage1aDir}/$libDir"); + if ($lib =~ m[/libc.so.\d\s*$]) { + # note target folder of libc, as we need to copy the resolver libs + # into the same place: + $libcFolder = $libDir; + } } # create all needed links to busybox: @@ -492,15 +498,23 @@ sub stage1A_createBusyboxEnvironment if ($self->hostIs64Bit() && !-e "$self->{stage1aDir}/usr/lib64") { linkFile('/usr/lib', "$self->{stage1aDir}/usr/lib64"); } + + $self->stage1A_setupResolver($libcFolder); } sub stage1A_setupResolver { my $self = shift; + my $libcFolder = shift; + + if (!defined $libcFolder) { + warn _tr("unable to determine libc-target-folder, will use /lib!"); + $libcFolder = 'lib'; + } copyFile('/etc/resolv.conf', "$self->{stage1aDir}/etc"); - copyFile('/lib/libresolv*', "$self->{stage1aDir}/lib"); - copyFile('/lib/libnss_dns*', "$self->{stage1aDir}/lib"); + copyFile("/$libcFolder/libresolv*", "$self->{stage1aDir}/$libcFolder"); + copyFile("/$libcFolder/libnss_dns*", "$self->{stage1aDir}/$libcFolder"); my $stage1cDir = "$self->{'stage1aDir'}/$self->{'stage1bSubdir'}/$self->{'stage1cSubdir'}"; |