Changes between Version 49 and Version 50 of PortfileRecipes


Ignore:
Timestamp:
Mar 6, 2013, 12:29:38 AM (11 years ago)
Author:
neverpanic (Clemens Lang)
Comment:

save WIP

Legend:

Unmodified
Added
Removed
Modified
  • PortfileRecipes

    v49 v50  
    465465}
    466466}}}
     467
     468 - `registry_active` takes a port name as argument and returns a list of matching active ports. It is defined in code:trunk/base/src/macports1.0/macports.tcl as an alias of `registry::active`. While it might seem odd that it returns a list, it makes sense if you know that it will return a list of all active ports when called with an empty argument.
     469 - `registry::active` is defined in code:trunk/base/src/registry2.0/registry.tcl. The only relevant case (since we're all using the SQLite registry by now) forwards the call to `receipt_sqlite::active` (in code:trunk/base/src/registry2.0/receipt_sqlite.tcl), where it queries all matching ports using `registry::entry installed $name` (which is defined as `entry_installed` in code:trunk/base/src/registry2.0/entry.c, if you want to dig in). It then converts the returned list of registry entry objects to a Tcl list using the following line of code (which is the reason why we've been digging through the code):
     470{{{
     471foreach port $ports {
     472    lappend rlist [list [$port name] [$port version] [$port revision] [$port variants] [string equal [$port state] "installed"] [$port epoch]]
     473}
     474}}}