On Oct 2, 2006, at 7:02 AM, Piet van Oostrum wrote:
Vincent Lefevre <vincent-opdarw@vinc17.org> (VL) wrote:
VL> On 2006-09-25 17:06:02 -0400, David Glasser wrote:
Maybe portfiles can contain a flag that says "rebuild my dependents when you install me"?
VL> This may be nice in some cases, but won't solve the real problem, VL> which is that a library should never be removed by an upgrade VL> (replaced by a compatible version, with the same name OK, but VL> not removed just because there exists a different, incompatible VL> version). Indeed, for various reasons (e.g. bugs), rebuilding VL> some ports may fail. Ditto for other programs compiled/installed VL> directly by the user (i.e. not via MacPorts).
VL> Some files could be flagged to prevent their removal (while still VL> allowing their replacement), except when the removal is explicitly VL> requested by the user.
I think the dependency systems should be much more sophisticated. Preferably with automatic garbage collection to prevent libraries from disappearing when they are still needed. I think MacPorts would be a good candidate for NiX: <http://www.cs.uu.nl/wiki/Trace/Nix> and if people are interested I can see if we can start a research project to develop a NiX version of MacPorts.
I agree that the dependency system should be more sophisticated. I'd like to help with this issue because I've spent a lot of time recently trying to sort out these library dependency issues on my macports systems. It's difficult to tell anything about the stability of the NiX project from their webpage. Their subversion repository does have some recent activity, but it is all one developer. Do you have a good idea of the stability and activity on the project? I think it would be useful to gain a good understanding of the implementation and limitations of the current package management system, and also to objectively compare other package management systems we could use. The core macports folks would have to weigh in on these issues since they'd be the ones merging in any changes. There's a mention in /opt/local/etc/ports.conf about an sqlite db format; it might be worthwhile to find out more about the status of that effort. -- Frank McPherson