From 18a5572ee8e3850f1d1f928d43d2e1799594dbd9 Mon Sep 17 00:00:00 2001 From: Francois Pons Date: Mon, 12 Mar 2001 15:18:34 +0000 Subject: fixed live update between GLIBC 2.1 and GLIBC 2.2. should work for other combination but not tested. fixed locale usage and gtk environment interaction (added LOCPATH, GCONV_PATH and GTK_EXE_PREFIX). created LD_LOADER environment variable to keep track of right ELF loader to be used for the GLIBC used by the live update. added internal PATH to LD_LIBRARY_PATH as ELF loader only check this one and not PATH. --- perl-install/live_install2 | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'perl-install/live_install2') diff --git a/perl-install/live_install2 b/perl-install/live_install2 index 6c0cb9ef5..6e4486e48 100755 --- a/perl-install/live_install2 +++ b/perl-install/live_install2 @@ -4,14 +4,30 @@ my $dir = `pwd`; chomp $dir; $dir .= "/../../.."; +#- keep it mind the ELF loader to use. +$ENV{LD_LOADER} = "$dir/lib/ld-linux.so.2"; + +$ENV{LOCPATH}="$dir/usr/share/locale"; +$ENV{GCONV_PATH}="$dir/usr/lib/gconv"; $ENV{PERL5LIB} = join ":", map { "$dir/$_" } @INC; -$ENV{LD_LIBRARY_PATH} = "$dir/lib:$dir/usr/lib:$dir/usr/lib/perl5/5.6.0/i386-linux/CORE"; +$ENV{LD_LIBRARY_PATH} = "$dir/usr/bin:$dir/bin:$dir/sbin:$dir/usr/sbin:$dir/usr/X11R6/bin:$dir/lib:$dir/usr/lib:$dir/usr/lib/perl5/5.6.0/i386-linux/CORE"; $ENV{PATH} = join(":", map { "$dir/$_" } split ":", "/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin") . ":$ENV{PATH}"; $ENV{SHARE_PATH} = "$dir/usr/share"; $ENV{RPMRC_FILE} = "$dir/usr/lib/rpm/rpmrc"; +$ENV{GTK_EXE_PREFIX} = "$dir/usr"; + +system $ENV{LD_LOADER}, "../perl", "-i", "-pe", "s,^(.*macrofiles[^/]*)(.*),\$1$dir/usr/lib/rpm/macros:\$2,", $ENV{RPMRC_FILE}; +system $ENV{LD_LOADER}, "../perl", "./install2", "--live", @ARGV; -system "../../../lib/ld-linux.so.2", "../perl", "-i", "-pe", "s,(macrofiles:\\s*)(.*),$1$dir/usr/lib/rpm/macros:$2,", $ENV{RPMRC_FILE}; -system "../../../lib/ld-linux.so.2", "../perl", "./install2", "--live", @ARGV; +#- at this point, unwind above else they will not run correctly (wrong ld-linux.so.2) +delete $ENV{GTK_EXE_PREFIX}; +delete $ENV{RPMRC_FILE}; +delete $ENV{LOCPATH}; +delete $ENV{SHARE_PATH}; +delete $ENV{PATH}; +delete $ENV{LD_LIBRARY_PATH}; +delete $ENV{PERL5LIB}; +delete $ENV{LD_LOADER}; $ENV{DISPLAY} and system "xset", "-fp", "/tmp/drakx/mdkinst/usr/X11R6/lib/X11/fonts/"; foreach (qw(misc PEX Speedo Type1 mdk 75dpi 100dpi cyrillic)) { -- cgit v1.2.1