summaryrefslogtreecommitdiffstats
path: root/perl-install/live_install
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/live_install')
-rwxr-xr-xperl-install/live_install93
1 files changed, 65 insertions, 28 deletions
diff --git a/perl-install/live_install b/perl-install/live_install
index 4f519f0fc..de92f054f 100755
--- a/perl-install/live_install
+++ b/perl-install/live_install
@@ -1,28 +1,65 @@
-#!../perl
-
-my $dir = `pwd`;
-chomp $dir;
-$dir .= "/../../..";
-
-#- update /tmp/rhimage which points to top dir of Mandrake CD.
-system "/bin/rm", "-rf", "/tmp/rhimage";
-mkdir "/tmp/rhimage", 0700 or die "cannot create directory /tmp/rhimage";
-system "/bin/rm", "-rf", "/tmp/drakx";
-mkdir "/tmp/drakx", 0700 or die "cannot create directory /tmp/drakx\n";
-
-#- copy whole set of mdkinst tree and symlink to the CD.
-foreach (qw(Mandrake RPMS misc boot images)) {
- symlink "$dir/../../$_", "/tmp/rhimage/$_";
-}
-system "/bin/cp", "-a", "$dir/../../Mandrake/mdkinst", "/tmp/drakx";
-
-#- start the true live_install.
-if (-x "/tmp/drakx/mdkinst/usr/bin/perl-install/live_install2") {
- chdir "/tmp/drakx/mdkinst/usr/bin/perl-install2";
- system "/tmp/drakx/mdkinst/usr/bin/perl-install/live_install2";
-} else {
- print STDERR "unable to get a working live system to start, check your working directory";
-}
-
-system "/bin/rm", "-rf", "/tmp/drakx";
-system "/bin/rm", "-rf", "/tmp/rhimage";
+#!/bin/sh
+
+if [ "$UID" -ne 0 ]; then
+ echo >&2 "you need to be root to start live install"
+ exit 3
+fi
+
+if [ -x ./Mandrake/mdkinst/usr/bin/perl-install/live_install2 ]; then
+ dir=`pwd`/Mandrake/mdkinst
+elif [ -x ../../../../../Mandrake/mdkinst/usr/bin/perl-install/live_install2 ]; then
+ dir=`pwd`/../../..
+else
+ echo >&2 "unable to get a working live system to start, check your working directory"
+ exit 2
+fi
+
+/bin/rm -rf /tmp/rhimage
+/bin/mkdir -m 0700 /tmp/rhimage || exit 1
+/bin/rm -rf /tmp/drakx
+/bin/mkdir -m 0700 /tmp/drakx || exit 2
+
+for i in Mandrake RPMS misc boot images VERSION
+do
+ /bin/ln -sf "$dir/../../$i" "/tmp/rhimage/$i"
+done
+
+/bin/cp -a "$dir/../../Mandrake/mdkinst" "/tmp/drakx"
+
+if [ -x "/tmp/drakx/mdkinst/usr/bin/perl-install/live_install2" ]; then
+ perlcoredir=/usr/lib/perl5/5.6.0/i386-linux/CORE
+ cd /tmp/drakx/mdkinst/usr/bin/perl-install
+ if [ -x $perlcoredir/libperl.so ]; then
+ /bin/mv $perlcoredir/libperl.so /tmp/drakx/mdkinst
+ fi
+ /bin/mkdir -p $perlcoredir
+ /bin/cp -a /tmp/drakx/mdkinst/$perlcoredir/libperl.so $perlcoredir/libperl.so
+
+ if [ -x /usr/bin/packdrake ]; then
+ /bin/mv /usr/bin/packdrake /tmp/drakx/mdkinst
+ fi
+ /bin/cp -a /tmp/drakx/mdkinst/usr/bin/packdrake /usr/bin/packdrake
+
+ for i in MonitorsDB CardsNames Cards+
+ do
+ if [ -e /usr/X11R6/lib/X11/$i ]; then
+ /bin/mv /usr/X11R6/lib/X11/$i /tmp/drakx/mdkinst
+ fi
+ /bin/cp -a /tmp/drakx/mdkinst/usr/X11R6/lib/X11/$i /usr/X11R6/lib/X11/$i
+ done
+
+ # gtk ressource for live.
+ export GTK_DATA_PREFIX=/tmp/drakx/mdkinst/usr
+
+ # get correct fonts for DrakX.
+ if [ -n "$DISPLAY" ]; then
+ xset +fp /tmp/drakx/mdkinst/usr/X11R6/lib/X11/fonts/
+ xset fp rehash
+ fi
+
+ # start DrakX, do not keep shell script in background else the CD is locked by it!!!
+ exec ../../../lib/ld-linux.so.2 ../perl ./live_install2
+fi
+
+echo >&2 "unable to get a working live system to start, check your working directory"
+exit 2