From b3e80b75641f5f357ace0a6fa6d2e80802514960 Mon Sep 17 00:00:00 2001 From: "Brian C. Lane" Date: Fri, 25 Apr 2014 09:11:54 -0700 Subject: [PATCH] livemedia-creator: Copy fsimage if hardlink fails If the user supplies a fsimage to use for the iso it may not be on the same filesystem as the working directory. Try to hardlink first, but if that fails copy the image. --- src/sbin/livemedia-creator | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/sbin/livemedia-creator b/src/sbin/livemedia-creator index 61edc8a8..75198f03 100755 --- a/src/sbin/livemedia-creator +++ b/src/sbin/livemedia-creator @@ -701,8 +701,11 @@ def make_squashfs(disk_img, work_dir, compression="xz"): liveos_dir = joinpaths(work_dir, "runtime/LiveOS") os.makedirs(liveos_dir) os.makedirs(os.path.dirname(joinpaths(work_dir, RUNTIME))) - execWithRedirect("/bin/ln", [disk_img, - joinpaths(liveos_dir, "rootfs.img")]) + + rc = execWithRedirect("/bin/ln", [disk_img, joinpaths(liveos_dir, "rootfs.img")]) + if rc != 0: + shutil.copy2(disk_img, joinpaths(liveos_dir, "rootfs.img")) + mksquashfs(joinpaths(work_dir, "runtime"), joinpaths(work_dir, RUNTIME), compression) remove(joinpaths(work_dir, "runtime"))