Index: src/port1.0/portextract.tcl
===================================================================
--- src/port1.0/portextract.tcl	(revision 63180)
+++ src/port1.0/portextract.tcl	(working copy)
@@ -74,7 +74,7 @@
 }
 
 proc portextract::extract_init {args} {
-    global extract.only extract.dir extract.cmd extract.pre_args extract.post_args extract.mkdir distfiles use_bzip2 use_lzma use_xz use_zip use_7z use_dmg workpath
+    global extract.only extract.dir extract.cmd extract.pre_args extract.post_args extract.mkdir use_bzip2 use_lzma use_xz use_zip use_7z use_dmg
 
     # should the distfiles be extracted to worksrcpath instead?
     if {[tbool extract.mkdir]} {
@@ -99,13 +99,11 @@
         option extract.pre_args x
         option extract.post_args ""
     } elseif {[tbool use_dmg]} {
-        global worksrcdir
-        set dmg_tmp_dir [mkdtemp "/tmp/mports.XXXXXXXX"]
-        set dmg_mount ${dmg_tmp_dir}/${worksrcdir}
-        file mkdir ${dmg_mount}
+        global distname
+        set dmg_mount [mkdtemp "/tmp/mports.XXXXXXXX"]
         option extract.cmd [findBinary hdiutil ${portutil::autoconf::hdiutil_path}]
         option extract.pre_args attach
-        option extract.post_args "-private -readonly -nobrowse -mountpoint ${dmg_mount} && [findBinary cp  ${portutil::autoconf::cp_path}] -Rp ${dmg_mount} ${extract.dir} && ${extract.cmd} detach ${dmg_mount} && [findBinary rmdir  ${portutil::autoconf::rmdir_path}] ${dmg_mount} ${dmg_tmp_dir}"
+        option extract.post_args "-private -readonly -nobrowse -mountpoint \"${dmg_mount}\" && [findBinary cp ${portutil::autoconf::cp_path}] -Rp \"${dmg_mount}\" \"${extract.dir}/${distname}\" && ${extract.cmd} detach \"${dmg_mount}\" && [findBinary rmdir ${portutil::autoconf::rmdir_path}] \"${dmg_mount}\""
     }
 }
 
Index: src/port1.0/portutil.tcl
===================================================================
--- src/port1.0/portutil.tcl	(revision 63180)
+++ src/port1.0/portutil.tcl	(working copy)
@@ -303,18 +303,14 @@
     }
 
     if {[info exists ${command}.cmd]} {
-        foreach string [set ${command}.cmd] {
-            append cmdstring " $string"
-        }
+        append cmdstring " " [set ${command}.cmd]
     } else {
-        append cmdstring " ${command}"
+        append cmdstring " " ${command}
     }
 
     foreach var "${command}.pre_args ${command}.args ${command}.post_args" {
         if {[info exists $var]} {
-            foreach string [set ${var}] {
-                append cmdstring " ${string}"
-            }
+            append cmdstring " " [set ${var}]
         }
     }
 
