summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xinitrd/mkdxsinitrd36
-rwxr-xr-xinstaller/ld4-inst39
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