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 12:36 AM, Paul Guyot wrote:

> There is a little misunderstanding here.
> I mentioned testing base/, not testing in general. The 1.3.x fiascos  
> were caused by the lack of testing of HEAD base/ code.

OK, sorry I misunderstood the scope of what your suggestions were  
aimed at.

> Nevertheless, I wholeheartedly agree with your point about testing  
> the ports: we need a real infrastructure. In case you didn't notice,  
> the recent changes to the trace option are exactly intended for that  
> purpose. With the -t option, you no longer need to use the union  
> disk image trick you (?) came up with when you tried to automate the  
> process. Ports cannot write outside the sandbox at run time. If -t  
> is always used, /opt/local only contain files copied during the  
> activation phase.

That's a great step along the road, and certainly lighter weight than  
the union disk image tricks I was playing with (and probably more  
reliable, given some of the weird interactions between devfs/volfs and  
chroot environments I've run into).  However, I hope that you're not  
just trying to trap writes outside the sandbox, but also reads.  It's  
only half the problem to make sure that a port is confining itself to / 
opt/local, we also need to be able to sandbox port builds such that  
they only find things we've expressly allowed them to find.  Given the  
presence of, say, libjpeg.dylib, you only want a graphics program to  
grow jpeg capabilities if it explicitly calls out for libjpeg  
(possibly in a variant) vs having its configure script stumble across  
it and say "Hey, I can use that..."

> Combined with the automatic detection of dependencies (still option - 
> t), the (almost) full test of all ports can be done in a much  
> simpler and less expensive way. There are a couple of additional  
> structural changes to get this working completely (for example to  
> drop the bin: and the lib: dependencies in favor of the port:  
> dependency, or include a conflict key to portfiles as you mentioned  
> recently), but we've never been that close to the goal software-wise  
> (which is as much I can do as a base/ committer).

Actually, it sounds like both of those goals are achievable by any  
committer - I wouldn't sell yourself short there.  Even the often- 
quoted "lack of infrastructure" can be dealt with if we have something  
worth actually running over the entire ports collection.

- 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.