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

Bug#507300: debian-cd: [hppa] command line parameter passed with incorrect quoting



On Saturday 29 November 2008, Frans Pop wrote:
> During interaction with the HPPA bootloader this results in the
> following being displayed:
> '0/vmlinux root=/dev/ram initrd=0/ramdisk ramdisk_size=13890'
> console=ttyS0 TERM=vt102 0: '0/vmlinux
>  1: root=/dev/ram
>  2: initrd=0/ramdisk
>  3: ramdisk_size=13890'
>  4: console=ttyS0
>  5: TERM=vt102

The attached patch seems to fix this. Tested for hppa; needs wider 
testing. If I don't see any problems with my multi-desktop tests over the 
next few days and if there are no objections I'll just commit this.

make_image: ensure correct quoting of variables when calling genisoimage
    
By first assembling the command in a variable and then using eval to execute it
we avoid both duplication and errors passing quoted options in $MKISOFS_OPTS.

diff --git a/tools/make_image b/tools/make_image
index 85732c7..19decce 100755
--- a/tools/make_image
+++ b/tools/make_image
@@ -85,63 +85,39 @@ do
 	# here... :-(
     if [ $JIGDO_WANTED = 0 ] && [ $ISO_WANTED = 1 ] ; then
 
-        echo $MKISOFS $MKISOFS_OPTS -V "$volid" -o $OUT/$OUTFILE.iso $opts $dirs CD$n
-        echo $MKISOFS $MKISOFS_OPTS -V "$volid" -o $OUT/$OUTFILE.iso $opts $dirs CD$n > CD$n/.disk/mkisofs
-        $MKISOFS $MKISOFS_OPTS -V "$volid" -o $OUT/$OUTFILE.iso $opts $dirs CD$n
+        CMD="$MKISOFS $MKISOFS_OPTS -V '$volid' \
+            -o $OUT/$OUTFILE.iso $opts $dirs CD$n"
+        echo $CMD
+        echo $CMD > CD$n/.disk/mkisofs
+        eval "$CMD"
 
     elif [ $JIGDO_WANTED = 1 ] && [ $ISO_WANTED = 1 ] ; then
 
-        echo $MKISOFS $MKISOFS_OPTS -V "$volid" \
+        CMD="$MKISOFS $MKISOFS_OPTS -V '$volid' \
             -o $OUT/$OUTFILE.iso \
             -jigdo-jigdo $OUT/$OUTFILE.jigdo \
             -jigdo-template $OUT/$OUTFILE.template \
             -jigdo-map Debian=$MIRROR/ \
             -jigdo-exclude boot$n \
             -md5-list $DIR/md5-check \
-            $JIGDO_OPTS $opts $dirs CD$n
-        echo $MKISOFS $MKISOFS_OPTS -V "$volid" \
-            -o $OUT/$OUTFILE.iso \
-            -jigdo-jigdo $OUT/$OUTFILE.jigdo \
-            -jigdo-template $OUT/$OUTFILE.template \
-            -jigdo-map Debian=$MIRROR/ \
-            -jigdo-exclude boot$n \
-            -md5-list $DIR/md5-check \
-            $JIGDO_OPTS $opts $dirs CD$n > CD$n/.disk/mkisofs
-        $MKISOFS $MKISOFS_OPTS -V "$volid" \
-            -o $OUT/$OUTFILE.iso \
-            -jigdo-jigdo $OUT/$OUTFILE.jigdo \
-            -jigdo-template $OUT/$OUTFILE.template \
-            -jigdo-map Debian=$MIRROR/ \
-            -jigdo-exclude boot$n \
-            -md5-list $DIR/md5-check \
-            $JIGDO_OPTS $opts $dirs CD$n
+            $JIGDO_OPTS $opts $dirs CD$n"
+        echo $CMD
+        echo $CMD > CD$n/.disk/mkisofs
+        eval "$CMD"
 
     elif [ $JIGDO_WANTED = 1 ] && [ $ISO_WANTED = 0 ] ; then
 
-        echo $MKISOFS $MKISOFS_OPTS -V "$volid" \
-            -o /dev/null \
-            -jigdo-jigdo $OUT/$OUTFILE.jigdo \
-            -jigdo-template $OUT/$OUTFILE.template \
-            -jigdo-map Debian=$MIRROR/ \
-            -jigdo-exclude boot$n \
-            -md5-list $DIR/md5-check \
-            $JIGDO_OPTS $opts $dirs CD$n
-        echo $MKISOFS $MKISOFS_OPTS -V "$volid" \
-            -o /dev/null \
-            -jigdo-jigdo $OUT/$OUTFILE.jigdo \
-            -jigdo-template $OUT/$OUTFILE.template \
-            -jigdo-map Debian=$MIRROR/ \
-            -jigdo-exclude boot$n \
-            -md5-list $DIR/md5-check \
-            $JIGDO_OPTS $opts $dirs CD$n > CD$n/.disk/mkisofs
-        $MKISOFS $MKISOFS_OPTS -V "$volid" \
+        CMD="$MKISOFS $MKISOFS_OPTS -V '$volid' \
             -o /dev/null \
             -jigdo-jigdo $OUT/$OUTFILE.jigdo \
             -jigdo-template $OUT/$OUTFILE.template \
             -jigdo-map Debian=$MIRROR/ \
             -jigdo-exclude boot$n \
             -md5-list $DIR/md5-check \
-            $JIGDO_OPTS $opts $dirs CD$n
+            $JIGDO_OPTS $opts $dirs CD$n"
+        echo $CMD
+        echo $CMD > CD$n/.disk/mkisofs
+        eval "$CMD"
 
     else
         echo "Neither jigdo nor iso wanted for CD$n"

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: