On Feb 2, 2008, at 18:49, Rainer Müller wrote:
Ryan Schmidt wrote:
No port should depend on a -devel version of a port, unless it
will only work with the -devel version. Usually this will not be
the case. Usually, a port will work with the current version of a
port and the latest development version. A port wanting to
accommodate this situation should use a different syntax for
declaring the dependency. For example, php5 can use the MySQL
libraries, but works fine with either mysql5 or mysql5-devel.
Instead of declaring the dependency as "port:mysql5", php5 should
depend on a specific file installed by both mysql5 and mysql5-
devel, like this: "path:${prefix}/bin/mysql_config5:mysql5". This
says that php5 requires the file mysql_config5 to exist in the
MacPorts install prefix bin directory, and if it does not exist,
then install the mysql5 port. If the user wishes to use mysql5-
devel instead, he simply installs mysql5-devel beforehand, then
installs php5, and php5 will recognize that mysql5-devel satisfies
the dependency. (I know php5 does not do this yet; this is ticket
#13469.)
This is just not good behaviour. Instead of defining dependencies
on single files we should find a way to eventually support multiple
versions per port. With this, php5 could depend on port:mysql5 and
the mysql5 port provides stable or unstable. But it should not be
limitde to just a few hardcoded versions. It should be possible to
provide as many versions as needed for a single port.
Multiple port version could share some basics like name, homepage,
description, variants and so on in a single file.
In my opinion if a port provides the same files and installs the
same software (but in another version) it should be the same port.
Even more, we could extend the dependency syntax and allow
depending on versions.
Examples:
port:foo@>=1.0 (depend on any greater version)
port:[EMAIL PROTECTED] (depend exactly on a specific version)
port:foo@<2.0 (depend on an earlier version)
Basically, any of <, <=, =, >=, > should be possible. It could also
become possible to require specific variants with some syntax.
I know, there would be a lot of base work needed for something like
this to be fully usable, but I think it would be the best solution
for the future to solve all the problems with -devel ports.
In this thread, I am not looking to solve any problems that may exist
with -devel ports. Rather, I'm trying to find the right words to
describe the way that -devel ports currently work and should be used,
so that I can make a ticket that requests that this be added to the
guide. If any of what I wrote does not accurately describe the way -
devel ports work or should be used, please let me know.
_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo/macports-dev