grml2iso: use absolute path for working directory to not fail when user specified...
authorMichael Prokop <mika@grml.org>
Fri, 5 Oct 2012 10:29:31 +0000 (12:29 +0200)
committerMichael Prokop <mika@grml.org>
Fri, 5 Oct 2012 10:29:31 +0000 (12:29 +0200)
Otherwise using for example:

| # grml2iso -t builddir ...

fails with:

| isohybrid version supports --uefi option, enabling
| Creating dd-able ISO using isohybrid
| isohybrid: [snip]/image.iso: unable to find efi image

grml2iso

index 1dd2f6a..0addfb7 100755 (executable)
--- a/grml2iso
+++ b/grml2iso
@@ -95,6 +95,7 @@ Options:
       ?)   usage 2;;
     esac
   done
       ?)   usage 2;;
     esac
   done
+
   # test for specified URI
   if [ -n "$URI" ] ; then
     GRML2USB_OPTS+=(--bootoptions="fetch=$URI")
   # test for specified URI
   if [ -n "$URI" ] ; then
     GRML2USB_OPTS+=(--bootoptions="fetch=$URI")
@@ -162,10 +163,16 @@ Options:
 
 # move syslinux to isolinux {{{
   mv "$WRKDIR"/cddir/boot/syslinux "$WRKDIR"/cddir/boot/isolinux
 
 # move syslinux to isolinux {{{
   mv "$WRKDIR"/cddir/boot/syslinux "$WRKDIR"/cddir/boot/isolinux
+  echo "menu label ^Isolinux prompt" > "$WRKDIR"/cddir/boot/isolinux/promptname.cfg
+  echo "include hd.cfg" >> "$WRKDIR"/cddir/boot/isolinux/grmlmain.cfg
+# }}}
 
 
+# change to $WRKDIR {{{
+  # make sure $WRKDIR is an absolute path, otherwise accessing files
+  # in it will fail later in the code path if user provided a
+  # relative directory
+  WRKDIR=$(realpath $WRKDIR)
   cd "$WRKDIR/cddir"
   cd "$WRKDIR/cddir"
-  echo "menu label ^Isolinux prompt" > boot/isolinux/promptname.cfg
-  echo "include hd.cfg" >> boot/isolinux/grmlmain.cfg
 # }}}
 
 # efi boot {{{
 # }}}
 
 # efi boot {{{