[MacPorts] #47441: PortGroup file resolving.

MacPorts noreply at macports.org
Tue Apr 14 05:01:03 PDT 2015

#47441: PortGroup file resolving.
 Reporter:  rjvbertin@…  |      Owner:  macports-tickets@…
     Type:  defect       |     Status:  new
 Priority:  Normal       |  Milestone:
Component:  base         |    Version:
 Keywords:               |       Port:
 I think there's an issue with the way PortGroup files are searched
 Take a port tree configuration like mine (from sources.conf:

 file:///A [nosync]
 rsync://rsync.macports.org/release/ports/ [default]

 It seems that a statement `PortGroup qt4 1.0` from a Portfile under /A or
 /B makes "base" do a search for a file called `qt4-1.0.tcl` that looks
 first in `_resources/port1.0/group` under /A or /B respectively. If the
 file doesn't exist there, it is read from the default port tree.
 This also means that ports that have their Portfile under the default tree
 will not use the PortGroup file from /A but from their own tree instead.
 One thus cannot develop a new PortGroup file in a local repository like
 /A, instead, one has to copy it to the default tree after each selfupdate.

 I consider that a bug because Portfile resolving does not function the
 same way. Ports that exist in /A override identically named ports in the
 default tree, which override those in /B, and selfupdates do not interfere
 with this. I think PortGroup files should be resolved that same way. Note
 also that build failures that result from the selfupdate replacement of a
 PortGroup file with the current release version are not necessarily easy
 to debug, and that such a replacement can also lead to runtime errors
 instead of build time errors.

 I've asked about this on macports-devel, don't recall having ever had an
 answer, so I'm raising it as a ticket on here.

Ticket URL: <https://trac.macports.org/ticket/47441>
MacPorts <https://www.macports.org/>
Ports system for OS X

More information about the macports-tickets mailing list