[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH 3/3] transform link targets so they work *after* the mount was moved



From: Evgeni Golov <evgeni@grml.org>

Closes: #702421
---
 scripts/boot/9990-misc-helpers.sh |   14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/scripts/boot/9990-misc-helpers.sh b/scripts/boot/9990-misc-helpers.sh
index 6fda056..d775181 100755
--- a/scripts/boot/9990-misc-helpers.sh
+++ b/scripts/boot/9990-misc-helpers.sh
@@ -1149,12 +1149,12 @@ link_files ()
 	# is non-empty, remove mask from all source paths when
 	# creating links (will be necessary if we change root, which
 	# live-boot normally does (into $rootmnt)).
-	local src_dir dest_dir src_mask
+	local src_dir dest_dir src_transform
 
 	# remove multiple /:s and ensure ending on /
 	src_dir="$(trim_path ${1})/"
 	dest_dir="$(trim_path ${2})/"
-	src_mask="${3}"
+	src_transform="${3}"
 
 	# This check can only trigger on the inital, non-recursive call since
 	# we create the destination before recursive calls
@@ -1181,12 +1181,12 @@ link_files ()
 				chown_ref "${src}" "${dest}"
 				chmod_ref "${src}" "${dest}"
 			fi
-			link_files "${src}" "${dest}" "${src_mask}"
+			link_files "${src}" "${dest}" "${src_transform}"
 		else
 			final_src=${src}
-			if [ -n "${src_mask}" ]
+			if [ -n "${src_transform}" ]
 			then
-				final_src="$(echo ${final_src} | sed "s|^${src_mask}||")"
+				final_src="$(echo ${final_src} | sed "${src_transform}")"
 			fi
 			rm -rf "${dest}" 2> /dev/null
 			ln -s "${final_src}" "${dest}"
@@ -1511,7 +1511,7 @@ activate_custom_mounts ()
 		local cow_dir links_source
 		if [ -n "${opt_link}" ] && [ -z "${PERSISTENCE_READONLY}" ]
 		then
-			link_files ${source} ${dest} ${rootmnt}
+			link_files ${source} ${dest} "s|^/live/|/lib/live/mount/|"
 		elif [ -n "${opt_link}" ] && [ -n "${PERSISTENCE_READONLY}" ]
 		then
 			mkdir -p ${rootmnt}/lib/live/mount/persistence
@@ -1528,7 +1528,7 @@ activate_custom_mounts ()
 			chown_ref "${source}" "${cow_dir}"
 			chmod_ref "${source}" "${cow_dir}"
 			do_union ${links_source} ${cow_dir} ${source} ${rootfs_dest_backing}
-			link_files ${links_source} ${dest} ${rootmnt}
+			link_files ${links_source} ${dest} "s|^${rootmnt}||"
 		elif [ -n "${opt_union}" ] && [ -z "${PERSISTENCE_READONLY}" ]
 		then
 			do_union ${dest} ${source} ${rootfs_dest_backing}
-- 
1.7.10.4


Reply to: