Enabling trace mode by default

Clemens Lang cal at macports.org
Tue Dec 24 05:01:06 PST 2013


On Mon, Dec 23, 2013 at 11:58:30AM -0500, Landon Fuller wrote:
> > some ports, suchs as the go port, can not build with trace mode
> > enabled. they need DYLD_INSERT_LIBRARIES to be empty or rely on
> > other implementation details of the linker (such as not calling
> > malloc(3)).
> 
> Ah, right. AFAIK, Go also directly issues syscalls, which would
> end-run this implementation.

While go might do that, it probably does not in its build process, but
only when it is run.

In the long run, I think we should think of a way to allow Portfiles to
override trace mode restrictions on a by-phase basis (and probably
append custom paths to the sandbox).

I'm just not sure whether we should do that using
  default trace.phases {fetch patch configure build destroot}
or using something similar to
  default fetch.trace {auto}
  default patch.trace {auto}
  [...]

The latter seems more flexible to me, because we could leave it at
"auto" and default to what the user has chosen with the command line
flag (or an option in macports.conf), and additionally support "yes" to
force trace mode in any case and "no" to disable trace mode, even if the
user specifically requested it (such as for the build phase of the go
port).

Thoughts?

-- 
Clemens Lang



More information about the macports-users mailing list