<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/be8873fd715548b58d4100b131a161ff290538b6">https://github.com/macports/macports-base/commit/be8873fd715548b58d4100b131a161ff290538b6</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit be8873fd715548b58d4100b131a161ff290538b6
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Tue Mar 5 02:22:28 2024 +1100

<span style='display:block; white-space:pre;color:#404040;'>    package1.0: global cleanup
</span>---
 src/package1.0/portarchivefetch.tcl        | 45 +++++++++++++++---------------
 src/package1.0/portdmg.tcl                 |  4 +--
 src/package1.0/portmpkg.tcl                | 38 +++++++++++++++----------
 src/package1.0/portpkg.tcl                 | 22 +++++++++------
 src/package1.0/portunarchive.tcl           |  6 ++--
 src/package1.0/tests/portarchivefetch.test |  6 ++--
 src/package1.0/tests/portpkg.test          |  6 ++--
 src/port1.0/portdestroot.tcl               | 11 ++++----
 8 files changed, 77 insertions(+), 61 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/package1.0/portarchivefetch.tcl b/src/package1.0/portarchivefetch.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 3eb791cca..ea1df4f32 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/package1.0/portarchivefetch.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/package1.0/portarchivefetch.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -85,10 +85,10 @@ proc portarchivefetch::filter_sites {} {
</span>     }
 
     set ret [list]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach site [array names portfetch::mirror_sites::archive_prefix] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach site [array names archive_prefix] {
</span>         set missing 0
         foreach var {archive_frameworks_dir archive_applications_dir archive_type archive_cxx_stdlib archive_delete_la_files} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {![info exists portfetch::mirror_sites::${var}($site)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {![info exists ${var}($site)]} {
</span>                 ui_warn "no $var configured for site '$site'"
                 set missing 1
             }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -99,19 +99,19 @@ proc portarchivefetch::filter_sites {} {
</span>         # The paths in the portfile vars are fully resolved, so resolve
         # these too before comparing them.
         foreach var {archive_prefix archive_frameworks_dir archive_applications_dir} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[catch {set ${var}_norm [realpath [set portfetch::mirror_sites::${var}($site)]]}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                set ${var}_norm [file normalize [set portfetch::mirror_sites::${var}($site)]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[catch {set ${var}_norm [realpath [set ${var}($site)]]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set ${var}_norm [file normalize [set ${var}($site)]]
</span>             }
         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {$portfetch::mirror_sites::sites($site) ne {} &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {$sites($site) ne {} &&
</span>             $archive_prefix_norm eq $prefix_frozen &&
             $archive_frameworks_dir_norm eq $frameworks_dir_frozen &&
             $archive_applications_dir_norm eq $applications_dir_frozen &&
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            $portfetch::mirror_sites::archive_cxx_stdlib($site) eq $cxx_stdlib &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            $portfetch::mirror_sites::archive_delete_la_files($site) eq $delete_la_files &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ![catch {archiveTypeIsSupported $portfetch::mirror_sites::archive_type($site)}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            $archive_cxx_stdlib($site) eq $cxx_stdlib &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            $archive_delete_la_files($site) eq $delete_la_files &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ![catch {archiveTypeIsSupported $archive_type($site)}]} {
</span>             # using the archive type as a tag
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            lappend ret ${site}::$portfetch::mirror_sites::archive_type($site)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend ret ${site}::$archive_type($site)
</span>         }
     }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -127,14 +127,14 @@ set_ui_prefix
</span> 
 # Checks possible archive files to assemble url lists for later fetching
 proc portarchivefetch::checkarchivefiles {urls} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global all_archive_files archivefetch.fulldestpath archive_sites
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global all_archive_files archivefetch.fulldestpath archive_sites portdbpath
</span>     upvar $urls fetch_urls
 
     # Define archive directory path
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archivefetch.fulldestpath [file join [option portdbpath] incoming/verified]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set archivefetch.fulldestpath [file join ${portdbpath} incoming/verified]
</span>     set archive.rootname [file rootname [get_portimage_name]]
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach entry [option archive_sites] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach entry ${archive_sites} {
</span>         # the archive type is used as a tag
         set type [lindex [split $entry :] end]
         if {![info exists seen($type)]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -167,10 +167,10 @@ proc portarchivefetch::checkfiles {urls} {
</span> # Perform a standard fetch, assembling fetch urls from
 # the listed url variable and associated archive file
 proc portarchivefetch::fetchfiles {args} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global archivefetch.fulldestpath UI_PREFIX \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global UI_PREFIX archivefetch.fulldestpath \
</span>            archivefetch.user archivefetch.password archivefetch.use_epsv \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-           archivefetch.ignore_sslcert \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           portverbose ports_binary_only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           archivefetch.ignore_sslcert archive.subdir \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           portverbose ports_binary_only portdbpath
</span>     variable archivefetch_urls
     variable ::portfetch::urlmap
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -183,7 +183,7 @@ proc portarchivefetch::fetchfiles {args} {
</span>             }
         }
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set incoming_path [file join [option portdbpath] incoming]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set incoming_path [file join ${portdbpath} incoming]
</span>     chownAsRoot $incoming_path
     if {[info exists elevated] && $elevated eq "yes"} {
         dropPrivileges
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -236,10 +236,9 @@ proc portarchivefetch::fetchfiles {args} {
</span>             set sig_fetched 0
             foreach site $urlmap($url_var) {
                 if {[string index $site end] ne "/"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    append site "/[option archive.subdir]"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    append site [option archive.subdir]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    append site /
</span>                 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                append site ${archive.subdir}
</span>                 set file_url [portfetch::assemble_url $site $archive]
                 # fetch archive
                 if {!$archive_fetched} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -290,7 +289,8 @@ proc portarchivefetch::fetchfiles {args} {
</span>             if {$archive_fetched && $sig_fetched} {
                 set openssl [findBinary openssl $portutil::autoconf::openssl_path]
                 set verified 0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                foreach pubkey [option archivefetch.pubkeys] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                global archivefetch.pubkeys
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                foreach pubkey ${archivefetch.pubkeys} {
</span>                     if {![catch {exec $openssl dgst -ripemd160 -verify $pubkey -signature $signature "${incoming_path}/${archive}.TMP"} result]} {
                         set verified 1
                         break
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -326,10 +326,11 @@ proc portarchivefetch::fetchfiles {args} {
</span>         return 0
     }
     if {([info exists ports_binary_only] && $ports_binary_only eq "yes") || [_archive_available]} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        global version revision portvariants
</span>         if {[info exists lastError] && $lastError ne ""} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            error [msgcat::mc "version @[option version]_[option revision][option portvariants]: %s" $lastError]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            error [msgcat::mc "version @${version}_${revision}${portvariants}: %s" $lastError]
</span>         } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            error "version @[option version]_[option revision][option portvariants]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            error "version @${version}_${revision}${portvariants}"
</span>         }
     } else {
         return 0
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/package1.0/portdmg.tcl b/src/package1.0/portdmg.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index fa5a5bd1d..39ae1470a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/package1.0/portdmg.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/package1.0/portdmg.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -44,7 +44,7 @@ namespace eval portdmg {
</span> set_ui_prefix
 
 proc portdmg::dmg_main {args} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global subport version revision package.destpath UI_PREFIX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global subport version revision UI_PREFIX
</span> 
     ui_msg "$UI_PREFIX [format [msgcat::mc "Creating disk image for %s-%s"] ${subport} ${version}_${revision}]"
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -57,7 +57,7 @@ proc portdmg::dmg_main {args} {
</span> 
 proc portdmg::package_dmg {portname portversion portrevision} {
     global UI_PREFIX package.destpath portpath \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-           os.platform os.arch os.version os.major
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           os.arch os.major
</span> 
     set imagename [portpkg::image_name ${portname} ${portversion} ${portrevision}]
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/package1.0/portmpkg.tcl b/src/package1.0/portmpkg.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index e5e88e564..1fc08ff2f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/package1.0/portmpkg.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/package1.0/portmpkg.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,15 +47,17 @@ options package.destpath package.flat
</span> set_ui_prefix
 
 proc portmpkg::mpkg_main {args} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {!${::package.flat} || ${::os.major} < 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global package.flat os.major package.destpath subport epoch version revision
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {!${package.flat} || ${os.major} < 10} {
</span>         # Make sure the destination path exists.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        file mkdir ${::package.destpath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${package.destpath}
</span>     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    return [package_mpkg $::subport $::epoch $::version $::revision]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return [package_mpkg $subport $epoch $version $revision]
</span> }
 
 proc portmpkg::make_dependency_list {portname destination} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    global prefix package.flat requested_variations
</span>     set result [list]
     if {[catch {set res [mport_lookup $portname]} error]} {
         ui_debug $::errorInfo
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -68,11 +70,12 @@ proc portmpkg::make_dependency_list {portname destination} {
</span>         set deprivileged 1
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set mport [mport_open [dict get $portinfo porturl] [dict create prefix $::prefix package.destpath ${destination} package.flat ${::package.flat} subport $portname] [array get ::requested_variations]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set mport [mport_open [dict get $portinfo porturl] [dict create prefix $prefix package.destpath ${destination} package.flat ${package.flat} subport $portname] [array get requested_variations]]
</span> 
     if {[info exists deprivileged]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        setegid [uname_to_gid $::macportsuser]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        seteuid [name_to_uid $::macportsuser]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        global macportsuser
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        setegid [uname_to_gid $macportsuser]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        seteuid [name_to_uid $macportsuser]
</span>     }
 
     set portinfo [mport_info $mport]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -107,26 +110,29 @@ proc portmpkg::make_one_package {portname mport} {
</span>     }
 
     if {[info exists deprivileged]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        setegid [uname_to_gid $::macportsuser]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        seteuid [name_to_uid $::macportsuser]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        global macportsuser
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        setegid [uname_to_gid $macportsuser]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        seteuid [name_to_uid $macportsuser]
</span>     }
 }
 
 proc portmpkg::mpkg_path {portname portversion portrevision} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    return "${::package.destpath}/[portpkg::image_name ${portname} ${portversion} ${portrevision}].mpkg"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global package.destpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return ${package.destpath}/[portpkg::image_name ${portname} ${portversion} ${portrevision}].mpkg
</span> }
 
 proc portmpkg::package_mpkg {portname portepoch portversion portrevision} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global os.major workpath description package.flat long_description homepage
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global os.major workpath porturl description long_description homepage \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           package.flat package.destpath
</span> 
     set mpkgpath [portmpkg::mpkg_path $portname $portversion $portrevision]
 
     if {${package.flat} && ${os.major} >= 10} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set pkgpath ${::package.destpath}/[portpkg::image_name ${portname} ${portversion} ${portrevision}]-component.pkg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set pkgpath ${package.destpath}/[portpkg::image_name ${portname} ${portversion} ${portrevision}]-component.pkg
</span>         set packages_path ${workpath}/mpkg_packages
         set resources_path ${workpath}/mpkg_resources
     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set pkgpath ${::package.destpath}/[portpkg::image_name ${portname} ${portversion} ${portrevision}].pkg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set pkgpath ${package.destpath}/[portpkg::image_name ${portname} ${portversion} ${portrevision}].pkg
</span>         set packages_path ${mpkgpath}/Contents/Packages
         set resources_path ${mpkgpath}/Contents/Resources
     }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -162,8 +168,9 @@ proc portmpkg::package_mpkg {portname portepoch portversion portrevision} {
</span>     system "cp -PR [shellescape ${pkgpath}] [shellescape ${packages_path}]"
 
     if {!${package.flat} || ${os.major} < 10} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        global prefix
</span>         portpkg::write_PkgInfo ${mpkgpath}/Contents/PkgInfo
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        mpkg_write_info_plist ${mpkgpath}/Contents/Info.plist $portname $portversion $portrevision $::prefix $dependencies
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        mpkg_write_info_plist ${mpkgpath}/Contents/Info.plist $portname $portversion $portrevision $prefix $dependencies
</span>         portpkg::write_description_plist ${mpkgpath}/Contents/Resources/Description.plist $portname $portversion $description
         set resources_path ${mpkgpath}/Contents/Resources
     }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -176,7 +183,7 @@ proc portmpkg::package_mpkg {portname portepoch portversion portrevision} {
</span>         }
     }
     portpkg::write_welcome_html ${resources_path}/Welcome.html $portname $portversion $portrevision $pkg_long_description $pkg_description $pkg_homepage
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    file copy -force -- [getportresourcepath $::porturl "port1.0/package/background.tiff"] ${resources_path}/background.tiff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file copy -force -- [getportresourcepath $porturl "port1.0/package/background.tiff"] ${resources_path}/background.tiff
</span> 
     if {${package.flat} && ${os.major} >= 10} {
         write_distribution ${workpath}/Distribution $portname $dependencies
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -191,13 +198,14 @@ proc portmpkg::package_mpkg {portname portepoch portversion portrevision} {
</span> }
 
 proc portmpkg::write_distribution {dfile portname dependencies} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    global macosx_deployment_target
</span>     set portname [xml_escape $portname]
     set dfd [open $dfile w+]
     puts $dfd "<?xml version=\"1.0\" encoding=\"utf-8\"?>
 <installer-gui-script minSpecVersion=\"1\">
     <title>${portname}</title>
     <options customize=\"never\"/>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    <allowed-os-versions><os-version min=\"${::macosx_deployment_target}\"/></allowed-os-versions>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    <allowed-os-versions><os-version min=\"${macosx_deployment_target}\"/></allowed-os-versions>
</span>     <background file=\"background.tiff\" mime-type=\"image/tiff\" alignment=\"bottomleft\" scaling=\"none\"/>
     <welcome mime-type=\"text/html\" file=\"Welcome.html\"/>
     <choices-outline>
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/package1.0/portpkg.tcl b/src/package1.0/portpkg.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index a7b67a7cb..42691f932 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/package1.0/portpkg.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/package1.0/portpkg.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -57,11 +57,13 @@ default pkg.asroot no
</span> set_ui_prefix
 
 proc portpkg::pkg_start {args} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global packagemaker_path portpkg::packagemaker portpkg::pkgbuild \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           portpkg::language xcodeversion portpath porturl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global packagemaker_path xcodeversion porturl \
</span>            package.resources package.scripts package.flat \
            subport version revision description long_description \
            homepage workpath os.major
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    variable packagemaker
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variable pkgbuild
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variable language
</span> 
     if {[catch {findBinary pkgbuild /usr/bin/pkgbuild} pkgbuild]} {
         set pkgbuild ""
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -75,7 +77,8 @@ proc portpkg::pkg_start {args} {
</span>                     ui_warn "PackageMaker.app not found; you may need to install it or set packagemaker_path in macports.conf"
                 }
             } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                set packagemaker_path "[option developer_dir]/Applications/Utilities/PackageMaker.app"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                global developer_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set packagemaker_path ${developer_dir}/Applications/Utilities/PackageMaker.app
</span>             }
         }
         set packagemaker "${packagemaker_path}/Contents/MacOS/PackageMaker"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -104,7 +107,7 @@ proc portpkg::pkg_start {args} {
</span> }
 
 proc portpkg::pkg_main {args} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global subport epoch version revision UI_PREFIX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global subport epoch version revision
</span> 
     if {[getuid] == 0 && [geteuid] != 0} {
         elevateToRoot "pkg"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -114,10 +117,13 @@ proc portpkg::pkg_main {args} {
</span> }
 
 proc portpkg::package_pkg {portname portepoch portversion portrevision} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global UI_PREFIX portdbpath destpath workpath prefix description \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    package.flat package.destpath portpath os.version os.major \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    package.resources package.scripts portpkg::packagemaker \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    pkg_post_unarchive_deletions portpkg::language portpkg::pkgbuild
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global UI_PREFIX destpath workpath prefix description \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        package.flat package.destpath portpath os.major \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        package.resources package.scripts \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pkg_post_unarchive_deletions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variable packagemaker
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variable language
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variable pkgbuild
</span> 
     set pkgpath "${package.destpath}/[image_name $portname $portversion $portrevision].pkg"
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/package1.0/portunarchive.tcl b/src/package1.0/portunarchive.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index b4f15dcd2..a339ac058 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/package1.0/portunarchive.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/package1.0/portunarchive.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -125,7 +125,7 @@ proc portunarchive::unarchive_start {args} {
</span> proc portunarchive::unarchive_command_setup {args} {
     global unarchive.env unarchive.cmd unarchive.pre_args unarchive.args \
            unarchive.post_args unarchive.type unarchive.path \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-           unarchive.pipe_cmd os.platform os.version env
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           unarchive.pipe_cmd
</span> 
     # Define appropriate unarchive command and options
     set unarchive.env {}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -281,7 +281,7 @@ proc portunarchive::unarchive_main {args} {
</span> }
 
 proc portunarchive::unarchive_finish {args} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global UI_PREFIX target_state_fd unarchive.file subport workpath destpath unarchive.skip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global UI_PREFIX target_state_fd unarchive.file subport workpath portpath destpath unarchive.skip
</span> 
     if {${unarchive.skip}} {
         return 0
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -295,7 +295,7 @@ proc portunarchive::unarchive_finish {args} {
</span>         file copy -force $plus_state $statefile
         file mtime $statefile [clock seconds]
         chownAsRoot $statefile
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        update_statefile checksum [sha256 file [option portpath]/Portfile] $statefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        update_statefile checksum [sha256 file ${portpath}/Portfile] $statefile
</span>         set newstate 1
     } else {
         # fake it
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/package1.0/tests/portarchivefetch.test b/src/package1.0/tests/portarchivefetch.test
</span><span style='display:block; white-space:pre;color:#808080;'>index eb7963df5..402b4a10e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/package1.0/tests/portarchivefetch.test
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/package1.0/tests/portarchivefetch.test
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -88,13 +88,13 @@ test fetchfiles {
</span>     global os.platform os.subplatform os.major os.version os.arch destpath package.destpath \
         configure.build_arch subport version revision package.flat maintainers description \
         categories supported_archs name porturl portdbpath portpath workpath distname \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        filespath license platforms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        filespath license platforms portfetch::urlmap portarchivefetch::archivefetch_urls
</span>     env_init
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    array set ::portfetch::urlmap {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    array set urlmap {
</span>         db_select http://packages.macports.org/db_select/
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set portarchivefetch::archivefetch_urls {db_select db_select-0.1_3.darwin_14.noarch.tbz2}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set archivefetch_urls {db_select db_select-0.1_3.darwin_14.noarch.tbz2}
</span>     set target_state_fd [open $pwd/target w+]
 
     set mport [mportopen file://.]
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/package1.0/tests/portpkg.test b/src/package1.0/tests/portpkg.test
</span><span style='display:block; white-space:pre;color:#808080;'>index ff2c45c70..49aa9595f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/package1.0/tests/portpkg.test
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/package1.0/tests/portpkg.test
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -24,9 +24,9 @@ test pkg_main {
</span> } -constraints {
     root darwin
 } -setup {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global os.platform os.major os.arch destpath package.destpath configure.build_arch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    global subport version revision package.flat maintainers description categories
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    global supported_archs porturl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global os.platform os.major os.arch destpath package.destpath configure.build_arch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           subport version revision package.flat maintainers description categories \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           supported_archs porturl
</span>     env_init
 
     file mkdir $destpath
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/portdestroot.tcl b/src/port1.0/portdestroot.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 3114b22f4..111850da4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/portdestroot.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/portdestroot.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,14 +69,15 @@ default destroot.delete_la_files {${delete_la_files}}
</span> set_ui_prefix
 
 proc portdestroot::destroot_getargs {args} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {(([option build.type] eq "default" && [option os.platform] ne "freebsd") || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         ([option build.type] eq "gnu")) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        && [regexp "^(/\\S+/|)(g|gnu|)make(\\s+.*|)$" [option destroot.cmd]]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global build.type os.platform destroot.cmd destroot.target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {((${build.type} eq "default" && ${os.platform} ne "freebsd") ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         (${build.type} eq "gnu"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        && [regexp "^(/\\S+/|)(g|gnu|)make(\\s+.*|)$" ${destroot.cmd}]} {
</span>         # Print "Entering directory" lines for better log debugging
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        return "-w [option destroot.target]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return "-w ${destroot.target}"
</span>     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    return "[option destroot.target]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return ${destroot.target}
</span> }
 
 proc portdestroot::destroot_start {args} {
</pre><pre style='margin:0'>

</pre>