<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>