<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/0915e9eb1c1e44bba0edbb9cedc9682471c393fb">https://github.com/macports/macports-base/commit/0915e9eb1c1e44bba0edbb9cedc9682471c393fb</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 0915e9eb1 Enable hfs compression for tarball sync and selfupdate
</span>0915e9eb1 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 0915e9eb1c1e44bba0edbb9cedc9682471c393fb
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Mon Nov 20 19:50:38 2023 +1100

<span style='display:block; white-space:pre;color:#404040;'>    Enable hfs compression for tarball sync and selfupdate
</span>---
 src/macports1.0/macports.tcl   | 11 +++++++++--
 src/macports1.0/selfupdate.tcl | 11 +++++++++--
 2 files changed, 18 insertions(+), 4 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/macports.tcl b/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 50964c47b..45913ba8d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2925,7 +2925,7 @@ proc mportsync {{optionslist {}}} {
</span> 
                 if {$is_tarball} {
                     # verify signature for tarball
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    global macports::archivefetch_pubkeys
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    global macports::archivefetch_pubkeys macports::hfscompression
</span>                     set tarball ${destdir}/[file tail $source]
                     set signature ${tarball}.rmd160
                     set openssl [macports::findBinary openssl $macports::autoconf::openssl_path]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2947,8 +2947,15 @@ proc mportsync {{optionslist {}}} {
</span>                         continue
                     }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {${macports::hfscompression} && [getuid] == 0 &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            ![catch {macports::binaryInPath bsdtar}] &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            ![catch {exec bsdtar -x --hfsCompression < /dev/null >& /dev/null}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ui_debug "Using bsdtar with HFS+ compression (if valid)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        set tar "bsdtar --hfsCompression"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        set tar [macports::findBinary tar $macports::autoconf::tar_path]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    }
</span>                     # extract tarball and move into place
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    set tar [macports::findBinary tar $macports::autoconf::tar_path]
</span>                     file mkdir ${destdir}/tmp
                     set tar_cmd "$tar -C ${destdir}/tmp -xf $tarball"
                     macports_try -pass_signal {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/selfupdate.tcl b/src/macports1.0/selfupdate.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 766e5d1aa..6fbf54324 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/selfupdate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/selfupdate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -83,7 +83,7 @@ proc selfupdate::main {{optionslist {}} {updatestatusvar {}}} {
</span> 
     if {$is_tarball} {
         # verify signature for tarball
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        global macports::archivefetch_pubkeys
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        global macports::archivefetch_pubkeys macports::hfscompression
</span>         set openssl [macports::findBinary openssl $macports::autoconf::openssl_path]
         set tarball ${mp_source_path}/${tarfile}
         set signature ${tarball}.rmd160
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -103,8 +103,15 @@ proc selfupdate::main {{optionslist {}} {updatestatusvar {}}} {
</span>             return -code error "Failed to verify signature for MacPorts source!"
         }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${macports::hfscompression} && [getuid] == 0 &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ![catch {macports::binaryInPath bsdtar}] &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ![catch {exec bsdtar -x --hfsCompression < /dev/null >& /dev/null}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_debug "Using bsdtar with HFS+ compression (if valid)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set tar "bsdtar --hfsCompression"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set tar [macports::findBinary tar $macports::autoconf::tar_path]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>         # extract tarball and move into place
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set tar [macports::findBinary tar $macports::autoconf::tar_path]
</span>         file mkdir ${mp_source_path}/tmp
         set tar_cmd "$tar -C [macports::shellescape ${mp_source_path}/tmp] -xf [macports::shellescape $tarball]"
         macports_try -pass_signal {
</pre><pre style='margin:0'>

</pre>