#!/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