Pare Down Dependencies from Gnome

Mike Edenfield kutulu at kutulu.org
Sun Apr 2 23:31:54 UTC 2006


Jason C. Wells wrote:
> Tom McLaughlin wrote:
> 
>> (If someone is looking for something to do, trying working out an easy
>> way to handle all three versions of Kerberos in a uniform way within the
>> ports tree and avoids the hassles people often run into when using
>> versions from the ports tree.)
> 
> This is a specific case of a more general problem.  Try to work out an 
> easy way to handle port dependencies when disparate versions, 
> configurations, and implementations of a particular library or protocol 
> exist and have many to many relationships to independent ports 
> throughout the ports tree.  These relationships must maintain 
> consistency automagically without communication between various port 
> maintainers and users.

> Did I mention that I am not a hacker?  What I am proposing is to add a 
> level of indirection to the ports system.  Don't depend on a port. 
> Depend on an interface.

The best working example of this type of system I have seen 
is the Gentoo portage system.  Within portage there are a 
number of "virtual ports", things like "syslog" and 
"mailer", that other ports can depend on.  If you install 
any of the numerous Linux syslog daemons they have, it also 
registers itself as the "syslog" port; anything that relies 
on logging can depend on "syslog" and it will guarantee that 
ONE of the possible loggers is there.  (I beleive one port 
is marked as the default if none is installed).

This is also an easy way to handle conflicts: if you install 
metalog, for example, you can't install syslog-ng because 
both export the "syslog" virtual port.

Unfortunately, while portage is similar in spirit to ports, 
its obviously a significantly different implementation (it's 
in Python, for starters), so I don't know how readily that 
kind of system could be implemented in a pure-Makefile 
environment.

-- 
-- Mike

Still using IE? Get Firefox!
http://www.spreadfirefox.com/?q=affiliates&id=6492&t=1


More information about the freebsd-ports mailing list