diff options
-rwxr-xr-x | initrd/mkdxsinitrd | 36 | ||||
-rwxr-xr-x | installer/ld4-inst | 39 |
2 files changed, 74 insertions, 1 deletions
diff --git a/initrd/mkdxsinitrd b/initrd/mkdxsinitrd index 5f556170..815298e0 100755 --- a/initrd/mkdxsinitrd +++ b/initrd/mkdxsinitrd @@ -5,6 +5,7 @@ # # Author(s): Dirk von Suchodoletz <dirk@goe.net>, 03-04-2006 # Nico Dietrich +# Felix Endres # # Version: 0.3.1g # @@ -159,6 +160,38 @@ copy_distro_stuff() { -regex ".*/\..*" -exec rm -rf {} 2>/dev/null \; } +# This function makes the directory of this script to the present working directory +# Does also work when called by a link. FIXME: Breaks when called by a link to a link +goto_script_dir() +{ + [ $DEBUG -ge 2 ] && echo "Aufgerufen wurde $0, checking if it is a link" + calleddetails=`ls -l $0` # get the file flags (e.g. lrwxrwxrwx) + [ $DEBUG -ge 2 ] && echo $calleddetails + index=`expr index "$calleddetails" "l"` + + calleddir=${0%/*} # Strip the filename from path + [ $DEBUG -ge 2 ] && echo "Wechsele ins Verzeichnis des aufgerufenen scripts/links ($calleddir)" + cd $calleddir + + + if [ $index -eq 1 ]; then + [ $DEBUG -ge 2 ] && echo "It is a link" + + script=`echo $calleddetails | awk '{print $NF}'` + [ $DEBUG -ge 2 ] && echo "The script is: $script" + hasslash=`expr index "$script" "/"` + if [ $hasslash -ne 0 ]; then + scriptdir=${script%/*} + [ $DEBUG -ge 2 ] && echo "Following link to $scriptdir" + cd $scriptdir + else + [ $DEBUG -ge 2 ] && echo "It is in the same directory as the link" + fi + fi + [ $DEBUG -ge 2 ] && pwd + +} + ######################################################################### # End of function declaration @@ -208,6 +241,9 @@ shift $(expr $OPTIND - 1) ######################################################################### # End of parameter, argument interpretation +#Change to the directory this script is located in +goto_script_dir + if [ -z "$INSTDIR" ] ; then INSTDIR=/tmp/dxs-instrd fi diff --git a/installer/ld4-inst b/installer/ld4-inst index 94b2265d..e30334f8 100755 --- a/installer/ld4-inst +++ b/installer/ld4-inst @@ -9,6 +9,7 @@ # Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg # # Version: 0.2.0d +DEBUG=2 header() { echo @@ -16,6 +17,39 @@ header() { echo } +# This function makes the directory of this script to the present working directory +# It is called within precheck() +# Does also work when called by a link. FIXME: Breaks when called by a link to a link +goto_script_dir() +{ + [ $DEBUG -ge 2 ] && echo "Aufgerufen wurde $0, checking if it is a link" + calleddetails=`ls -l $0` # get the file flags (e.g. lrwxrwxrwx) + [ $DEBUG -ge 2 ] && echo $calleddetails + index=`expr index "$calleddetails" "l"` + + calleddir=${0%/*} # Strip the filename from path + [ $DEBUG -ge 2 ] && echo "Wechsele ins Verzeichnis des aufgerufenen scripts/links ($calleddir)" + cd $calleddir + + + if [ $index -eq 1 ]; then + [ $DEBUG -ge 2 ] && echo "It is a link" + + script=`echo $calleddetails | awk '{print $NF}'` + [ $DEBUG -ge 2 ] && echo "The script is: $script" + hasslash=`expr index "$script" "/"` + if [ $hasslash -ne 0 ]; then + scriptdir=${script%/*} + [ $DEBUG -ge 2 ] && echo "Following link to $scriptdir" + cd $scriptdir + else + [ $DEBUG -ge 2 ] && echo "It is in the same directory as the link" + fi + fi + [ $DEBUG -ge 2 ] && pwd + +} + # check needed things for installation precheck() { @@ -24,7 +58,10 @@ precheck() { echo -e "\nYou don't have the needed permission. Please rerun as root user!\n" exit 1 fi - + + # switch pwd to this scripts location + goto_script_dir + # check for existing programs: # rsync (server-side) which rsync >/dev/null |