Date: Sun, 02 Apr 2006 19:37:49 -0400 From: Mike Edenfield <kutulu@kutulu.org> To: "Jason C. Wells" <jcw@highperformance.net> Cc: Tom McLaughlin <tmclaugh@sdf.lonestar.org>, pav@freebsd.org, Thomas-Martin Seck <tmseck-lists@netcologne.de>, freebsd-ports@freebsd.org Subject: Re: Pare Down Dependencies from Gnome Message-ID: <4430604D.7030404@kutulu.org> In-Reply-To: <44304219.5070300@highperformance.net> References: <200604021324.k32DOU5E077448@hardy.tmseck.homedns.org> <1144009291.1978.105.camel@bofh> <44304219.5070300@highperformance.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4430604D.7030404>