[MacPorts] #70556: "base" seemingly locking up for sometimes very long

MacPorts noreply at macports.org
Thu Aug 15 13:56:13 UTC 2024


#70556: "base" seemingly locking up for sometimes very long
--------------------------+--------------------
  Reporter:  RJVB         |      Owner:  (none)
      Type:  enhancement  |     Status:  new
  Priority:  Normal       |  Milestone:
 Component:  base         |    Version:
Resolution:               |   Keywords:
      Port:               |
--------------------------+--------------------

Comment (by RJVB):

 I think this is about the only possible DB maintenance we can trigger with
 only routines from "base": a forced VACUUM.

 It does seem to clean up lingering `-wal` files.

 `port-vacuum.tcl`
 {{{
 #!/usr/bin/env port-tclsh

 package require macports 1.0
 package require registry 1.0

 array set ui_options        {}
 array set global_options    {}
 array set global_variations {}

 set ui_options(ports_debug) yes
 set ui_options(ports_verbose) yes

 ### init
 puts -nonewline "Initialising MacPorts ..."
 flush stdout
 mportinit ui_options global_options global_variations
 puts " done"

 ui_msg "MacPorts version [macports::version], registry version
 [registry::metadata get version]"

 set maybe ""
 if {[catch {registry::set_needs_vacuum}]} {
         ui_warn "Your MacPorts version doesn't allow to program a registry
 VACUUM operation"
         set maybe "maybe "
 } else {
         ui_msg "Called registry::set_needs_vacuum"
 }

 puts -nonewline "Closing registry and ${maybe}performing vacuum ..."
 flush stdout
 mportshutdown
 puts " done"
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/70556#comment:4>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list