<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/3c9f688142c1e5032484b0da86bc9ccd7d91efc1">https://github.com/macports/macports-base/commit/3c9f688142c1e5032484b0da86bc9ccd7d91efc1</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 3c9f68814 Record more information about build environment
</span>3c9f68814 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 3c9f688142c1e5032484b0da86bc9ccd7d91efc1
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Mon May 12 23:14:44 2025 +1000
<span style='display:block; white-space:pre;color:#404040;'> Record more information about build environment
</span>---
src/port1.0/portinstall.tcl | 66 ++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 65 insertions(+), 1 deletion(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/portinstall.tcl b/src/port1.0/portinstall.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 34c95c43b..0a7e9ca23 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/portinstall.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/portinstall.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -52,6 +52,45 @@ default install.asroot no
</span>
set_ui_prefix
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# If the given path is in a git checkout, return the currently checked
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# out commit. If not, return an empty string.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc portinstall::get_path_commit {path} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set result ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![catch {findBinary git} git] && ![catch {file type $path} ftype]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$ftype ne "directory"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set path [file dirname $path]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Recent git refuses to run if the current user doesn't own
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # the checkout.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[getuid] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ macports_try -pass_signal {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set prev_euid [geteuid]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set prev_egid [getegid]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[geteuid] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ seteuid 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Must change egid before dropping root euid.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ setegid [name_to_gid [file attributes $path -group]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ seteuid [name_to_uid [file attributes $path -owner]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } on error {err} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "get_path_commit: dropping privileges failed: $err"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[catch {exec -ignorestderr $git -C $path rev-parse HEAD 2> /dev/null} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "get_path_commit: git rev-parse failed: $result"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set result ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[info exists prev_euid]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ seteuid 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[info exists prev_egid]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ setegid $prev_egid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ seteuid $prev_euid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return $result
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc portinstall::install_start {args} {
global UI_PREFIX subport version revision portvariants \
prefix_frozen
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -75,7 +114,8 @@ proc portinstall::create_archive {location archive.type} {
</span> epoch configure.cxx_stdlib cxx_stdlib PortInfo \
archive.env archive.cmd archive.pre_args archive.args \
archive.post_args archive.dir depends_lib depends_run \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- portarchive_hfscompression
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ portarchive_hfscompression xcodeversion xcodecltversion use_xcode \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os.subplatform os.version macos_version source_date_epoch
</span> set archive.env {}
set archive.cmd {}
set archive.pre_args {}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -290,6 +330,30 @@ proc portinstall::create_archive {location archive.type} {
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts $fd "@macports_version [macports_version]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lassign [_get_compatible_platform] compat_platform compat_major
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$compat_platform ne "any"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.subplatform} ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts $fd "@os.subplatform ${os.subplatform}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$compat_major ne "any"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts $fd "@os.version ${os.version}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$macos_version ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts $fd "@macos_version $macos_version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$use_xcode && $xcodeversion ni {"" none}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts $fd "@xcodeversion $xcodeversion"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {$xcodecltversion ni {"" none}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts $fd "@xcodecltversion $xcodecltversion"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set ports_commit [get_path_commit $portpath]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$ports_commit ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts $fd "@ports_commit $ports_commit"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts $fd "@source_date_epoch $source_date_epoch"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> set have_fileIsBinary [expr {[option os.platform] eq "darwin"}]
set binary_files [list]
variable file_is_binary [dict create]
</pre><pre style='margin:0'>
</pre>