[patch] Volume ID in x86 mkisofs call incorrectly quoted

Post there if you plan to contribute to this SystemCd
Msquared
Posts: 2
Joined: 03 Jul 2008, 07:43

[patch] Volume ID in x86 mkisofs call incorrectly quoted

Postby Msquared » 28 Jun 2011, 05:39

Hi!

While using sysresccd-custom I noticed that the ISO Volume ID is set incorrectly. If I do this:

Code: Select all

sysresccd-custom isogen my_rescue

the Volume ID ends up as "my_rescue" (including the quotes!).

I assume that the quotes are part of a mechanism that prevents spaces in the volume ID from causing problems, but this mechansim doesn't work.

If I try using a space instead of an underscore, this is what happens:

Code: Select all

[email protected] /root % sysresccd-custom isogen 'my rescue'
/mnt/custom is mounted -> ok
there is enough estimated free space here (5031 MB) -> ok
Volume name of the CDRom: my rescue
Warning: creating filesystem with (nonstandard) Joliet extensions
         but without (standard) Rock Ridge extensions.
         It is highly recommended to add Rock Ridge
mkisofs: No such file or directory. Invalid node - 'rescue"'.
mkisofs -J -l -o /mnt/custom/customcd/isofile/sysresccd-20110628-0535.iso               -b isolinux/isolinux.bin -c isolinux/boot.cat -input-charset utf-8              -no-emul-boot -boot-load-size 4 -boot-info-table                -V "my rescue" /mnt/custom/customcd/isoroot --> 2
/usr/sbin/sysresccd-custom: error: mkisofs failed
[email protected] /root %

The important part of that output is this line:

Code: Select all

mkisofs: No such file or directory. Invalid node - 'rescue"'.


Here's a patch to fix this problem...

Code: Select all

diff --git a/portage-overlay/sys-apps/sysresccd-scripts/files/sysresccd-custom b/portage-overlay/sys-apps/sysresccd-scripts/files/sysresccd-custom
index 2410249..472963c 100755
--- a/portage-overlay/sys-apps/sysresccd-scripts/files/sysresccd-custom
+++ b/portage-overlay/sys-apps/sysresccd-scripts/files/sysresccd-custom
@@ -237,9 +237,8 @@ do_isogen()
 
        cmd="mkisofs -J -l -o /mnt/custom/customcd/isofile/sysresccd-${curtime}.iso \
                -b isolinux/isolinux.bin -c isolinux/boot.cat -input-charset utf-8 \
-               -no-emul-boot -boot-load-size 4 -boot-info-table \
-               -V \"${ISO_VOLUME}\" /mnt/custom/customcd/isoroot"
-       ${cmd}
+               -no-emul-boot -boot-load-size 4 -boot-info-table"
+       ${cmd} -V "${ISO_VOLUME}" /mnt/custom/customcd/isoroot
        res="$?"
        echo "${cmd} --> $res"
        if [ "${res}" != '0' ]

All I've done is taken the '-V' option out of the cmd variable and put it in the invocation line, since invoking a command using ${cmd} doesn't seem to do what you might expect with quoted arguments.

admin
Site Admin
Posts: 2715
Joined: 17 Jul 2003, 09:44

Re: [patch] Volume ID in x86 mkisofs call incorrectly quoted

Postby admin » 17 Jul 2011, 14:21

Thanks, can you confirm it works in sysresccd-2.3.0-beta001 ?


Return to “Contributions”

Who is online

Users browsing this forum: Google [Bot] and 1 guest