<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository mpbb.
</pre>
<p><a href="https://github.com/macports/mpbb/commit/739ab9913be521ae8b4283d62f2072c197331418">https://github.com/macports/mpbb/commit/739ab9913be521ae8b4283d62f2072c197331418</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 739ab99 Handle upcoming port image changes
</span>739ab99 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 739ab9913be521ae8b4283d62f2072c197331418
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Wed Jun 26 06:49:07 2024 +1000
<span style='display:block; white-space:pre;color:#404040;'> Handle upcoming port image changes
</span>---
tools/gather-archives.tcl | 51 +++++++++++++++++++++++++++++++++++++++--------
1 file changed, 43 insertions(+), 8 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/tools/gather-archives.tcl b/tools/gather-archives.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 79b3ee3..1ccee5a 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/tools/gather-archives.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tools/gather-archives.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -58,6 +58,8 @@ if {$license_db_dir ne ""} {
</span> init_license_db $license_db_dir
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set tarcmd "$macports::autoconf::tar_path [macports::get_tar_flags .${macports::portarchivetype}]cvf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> file stat $staging_dir stat_array
set staging_device $stat_array(dev)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -91,7 +93,28 @@ while {[gets $infd line] >= 0} {
</span> set archive_type private
set archive_site $archive_site_private
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set archive_path [$e location]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set portimage_path [$e location]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Port image may sometimes be a directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file isfile $portimage_path]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set archive_path $portimage_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set staging_operation copy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set archive_path ${portimage_path}.${macports::portarchivetype}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Check if an archive also exists
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file isfile $archive_path]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # The archive is not the image, so it can be safely
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # deleted after staging.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set staging_operation move
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {[file isdirectory $portimage_path]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # The archive was either somehow never created, or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # has since been deleted. Recreate it if needed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set staging_operation create
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # No portimage at all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts "Image for [$e name] @[$e version]_[$e revision][$e variants] seems to be missing"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ continue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> set archive_basename [file tail $archive_path]
set archive_name_encoded [portfetch::percent_encode $archive_basename]
if {![catch {curl getsize ${archive_site}/[$e name]/${archive_name_encoded}} size] && $size > 0} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -102,13 +125,25 @@ while {[gets $infd line] >= 0} {
</span> puts "Staging ${archive_type} archive for upload: ${archive_basename}"
set archive_staging_dir [file join ${staging_dir} ${archive_type} [$e name]]
file mkdir $archive_staging_dir
<span style='display:block; white-space:pre;background:#ffe0e0;'>- file stat $archive_path stat_array
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {$stat_array(dev) == $staging_device} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts "creating hardlink to $archive_path at [file join $archive_staging_dir $archive_basename]"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file link -hard [file join $archive_staging_dir $archive_basename] $archive_path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts "copying $archive_path to $archive_staging_dir"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file copy -force -- $archive_path $archive_staging_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch $staging_operation {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file stat $archive_path stat_array
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$stat_array(dev) == $staging_device} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts "creating hardlink to $archive_path in $archive_staging_dir"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file link -hard [file join $archive_staging_dir $archive_basename] $archive_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts "copying $archive_path to $archive_staging_dir"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file copy -force -- $archive_path $archive_staging_dir
</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;'>+ create {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts "creating $archive_basename from $portimage_path"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W $portimage_path "$tarcmd [file join $archive_staging_dir $archive_basename] ."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts "moving $archive_path to $archive_staging_dir"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file rename -force -- $archive_path $archive_staging_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
}
}
</pre><pre style='margin:0'>
</pre>