Pare Down Dependencies from Gnome
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
Still using IE? Get Firefox!
More information about the freebsd-ports