Re: Release process (was Re: DarwinPorts 1.3.1)

"Jordan K. Hubbard" <[email protected]>
Newsgroups gmane.os.opendarwin.darwinports
Message-ID <[email protected]>
On Aug 2, 2006, at 1:17 AM, Paul Guyot wrote:

> The trace mode doesn't prevent reads but it associates them with  
> ports the software being built may refer to. In other words, it  
> automatically detects dependencies (and then compares the result  
> with what is declared in the Portfile). Consequently, if a software  
> detects and chooses to use libjpeg from DP but the jpeg variant  
> isn't selected and therefore the port doesn't explicitly depends on  
> the jpeg port, then the trace mode will report it.

OK, I imagine a "trace report" could be turned into a hard error, but  
this still implies that the builder machine will have to be very  
carefully sanitized so that junk on the builder does not creep into  
the builds (or cause trace mode to report errors).  It would be better  
if you could simply use your dyld interposing to cause the open()s for  
things outside the declared dependency list to simply fail.  That is  
to say that if a Portfile has:

depends_port 	foo 1.0
depends_port	bar

Then the system should find manifests for foo and bar and add them to  
the "approved list" of opens.  Anything else (that's not also on the  
approved system base bits list) should simply fail.  If foo and bar  
aren't built yet, that's also obviously the trigger to go off and  
build those things first.

I truly believe that's the only way we're ever going to catch mis- 
specified Portfiles and also prevent updates to MacOSX from causing  
unanticipated behavior (at least, not until we decide we're now going  
to track MacOSX 10.x.y and update the manifests appropriately).  This  
happens all the time, such as when projects like libxml2 or zlib  
entered the system namespace and it was later determined that we'd be  
better off forcing various ports to depend on the DP versions rather  
than using the system versions.  If /usr/lib/libxml*.dylib weren't in  
the base system manifest in the scheme above, the open would fail and  
the dependency on DP's libxml2 would be forced (or found not to be in  
the Portfile, in which case that can be fixed).

> It's exactly what I meant. Committers don't have a box around on a  
> fast and reliable Internet connection having nothing better to do  
> than building all ports to test them all (at least I don't). I'm  
> glad to read that you would provide us with that if the software  
> part gets completed. Thanks.

That offer has been open for some time. :-)

- Jordan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.