<pre style='margin:0'>
Kurt Hindenburg (kurthindenburg) pushed a commit to branch master
in repository macports-base.
</pre>
<p><a href="https://github.com/macports/macports-base/commit/d08d261f93844cea87f602e1f295e8a0ddc83bde">https://github.com/macports/macports-base/commit/d08d261f93844cea87f602e1f295e8a0ddc83bde</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 d08d261 reclaim: separate removing build and ccache locations (#178)
</span>d08d261 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit d08d261f93844cea87f602e1f295e8a0ddc83bde
</span>Author: Kurt Hindenburg <kurt.hindenburg@gmail.com>
AuthorDate: Sat May 30 10:54:56 2020 -0400
<span style='display:block; white-space:pre;color:#404040;'> reclaim: separate removing build and ccache locations (#178)
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Do not actually remove the build and ccache locations, only the files
</span><span style='display:block; white-space:pre;color:#404040;'> and folders underneath.
</span><span style='display:block; white-space:pre;color:#404040;'> A followup to the discussions in (#175)
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> See https://trac.macports.org/ticket/60126
</span>---
src/macports1.0/reclaim.tcl | 70 ++++++++++++++++++++++++++++++++++++++-------
1 file changed, 60 insertions(+), 10 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/reclaim.tcl b/src/macports1.0/reclaim.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 7bb8a34..f06566c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/reclaim.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/reclaim.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -77,6 +77,7 @@ namespace eval reclaim {
</span> uninstall_inactive
remove_distfiles
remove_builds
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ remove_ccache
</span>
if {![macports::global_option_isset ports_dryrun]} {
set last_run_contents [read_last_run_file]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -106,28 +107,77 @@ namespace eval reclaim {
</span> }
proc remove_builds {} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # Delete portdbpath/build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Delete portdbpath/build directories
</span> global macports::portdbpath
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # The root build folder location
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # The root build directory location
</span> set root_build [file join ${macports::portdbpath} build]
ui_msg "$macports::ui_prefix Build location: ${root_build}"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[macports::global_option_isset ports_dryrun]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "Deleting... (dry run)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_info [msgcat::mc "Skipping deletion of all build directories under %s (dry run)" $root_build]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</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 builddirs [glob -nocomplain -directory $root_build *]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[llength $builddirs] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_info [msgcat::mc "No build directories to delete"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> set retval 0
if {[info exists macports::ui_options(questions_yesno)]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set retval [$macports::ui_options(questions_yesno) "" "" "" "y" 0 "Would you like to delete the entire build directory (including the default ccache location)?"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set retval [$macports::ui_options(questions_yesno) "" "" "" "y" 0 "Would you like to delete all the build directories?"]
</span> }
if {${retval} == 0} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_info [msgcat::mc "Deleting all build directories under %s" $root_build]
</span> try -pass_signal {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[macports::global_option_isset ports_dryrun]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "Deleting... (dry run)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_info [msgcat::mc "Skipping deletion of %s (dry run)" $root_build]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_info [msgcat::mc "Deleting %s" $root_build]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file delete -force $root_build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file delete -force -- {*}$builddirs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } catch {{*} eCode eMessage} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "$::errorInfo"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_error "$eMessage"
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ proc remove_ccache {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Delete everything under ccache directory - default is build/.ccache
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global macports::ccache_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![file exists ${macports::ccache_dir}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_info [msgcat::mc "Skipping deletion of ccache directory: %s does not exist." $macports::ccache_dir]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</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;'>+ ui_msg "$macports::ui_prefix ccache location: ${macports::ccache_dir}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[macports::global_option_isset ports_dryrun]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "Deleting... (dry run)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_info [msgcat::mc "Skipping deletion of everything under %s (dry run)" $macports::ccache_dir]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</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 ccachedirs [glob -nocomplain -directory $macports::ccache_dir *]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[llength $ccachedirs] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_info [msgcat::mc "No ccache directories to delete"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</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 retval 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[info exists macports::ui_options(questions_yesno)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set retval [$macports::ui_options(questions_yesno) "" "" "" "y" 0 "Would you like to delete everything under the ccache directory?"]
</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 {${retval} == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_info [msgcat::mc "Deleting everything under %s" $macports::ccache_dir]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ try -pass_signal {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file delete -force -- {*}$ccachedirs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } catch {{*} eCode eMessage} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "$::errorInfo"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_error "$eMessage"
</span> }
}
}
</pre><pre style='margin:0'>
</pre>