livecd: remaster/livecd_create - count "../" while making relative...

havner havner at pld-linux.org
Tue Jul 4 13:02:26 CEST 2006


Author: havner                       Date: Tue Jul  4 11:02:26 2006 GMT
Module: livecd                        Tag: HEAD
---- Log message:
- count "../" while making relative symlinks

---- Files affected:
livecd/remaster:
   livecd_create (1.1 -> 1.2) 

---- Diffs:

================================================================
Index: livecd/remaster/livecd_create
diff -u livecd/remaster/livecd_create:1.1 livecd/remaster/livecd_create:1.2
--- livecd/remaster/livecd_create:1.1	Fri Jan 27 01:12:30 2006
+++ livecd/remaster/livecd_create	Tue Jul  4 13:02:21 2006
@@ -17,10 +17,16 @@
 cd $ROOTFS
 
 for I in $SYMLINKS; do
-#	echo $I
-	if [ -e ".$I" ] && [ ! -h ".$I" ] && [ ! -f "live$I" ]; then
-		mkdir -p "live`dirname $I`"
-		mv ".$I" "live`dirname $I`"
-		ln -s "../live$I" ".$I"
+	if [ -e ".$I" -a ! -h ".$I" -a ! -f "live$I" ]; then
+		DIR=`dirname $I`
+		FIL=`basename $I`
+		DEEP=`echo $DIR | sed "s/[^\/]//g" | wc -c`
+		mkdir -p "live$DIR"
+		mv ".$I" "live$DIR"
+		RECURSE=""
+		while [ "$((--DEEP))" != "0" ]; do
+			RECURSE="../$RECURSE"
+		done
+		echo ln -s "${RECURSE}live${I}" ".$I"
 	fi
 done
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/livecd/remaster/livecd_create?r1=1.1&r2=1.2&f=u



More information about the pld-cvs-commit mailing list