From 0a9992267cc98af68bd990fa455dc1363ab24a49 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 (#1144140) 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. (cherry picked from commit b3e80b75641f5f357ace0a6fa6d2e80802514960) Related: rhbz#1144140 --- 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 b9f815a9..6301d4c5 100755 --- a/src/sbin/livemedia-creator +++ b/src/sbin/livemedia-creator @@ -665,8 +665,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"))