On Dec 23, 2009, at 1:52 PM, Ryan Schmidt wrote:
On Dec 23, 2009, at 11:52, Bradley Giesbrecht wrote:
The ports I work on that have mysql deps I use this:
depends_lib-append path:${prefix}/bin/mysql_config5:mysql5
Both mysql5 and mysql5-devel seem to park this here but I haven't
checked in a long time.
Yes, they do. FYI, you can omit "${prefix}/" from that path
specification; it's implied.
If mysql_config5 does move around based on the mysql port installed
maybe this would work for you.
mysql_config5 does not move around, neither does libmysqld.a; the
dependency specification was simply entered incorrectly into the
portfile and has now been corrected.
Mysql 6 will undoubtedly break this which is why I wish we would
just do away with this package versioning "feature" and just
install things with the names most of the rest of the world expect.
Changing prefix is mostly support by packages but changing
executable names just makes for a lot more more work in my opinion.
Now where else have I typed mysql4 or mysql5, it's always mysql.
mysqldump5, nope, mysqldump.
Sure, add some simlinks but what are we gaining from this feature?
As Daniel mentioned, one purpose of this is to allow simultaneous
installation of the different versions. Unfortunately in this case
that goal is not met:
http://trac.macports.org/ticket/4115
What if we had the current mysql use mysql and older version get
the mysql4 tag?
When mysql gets updated to v6 it get's mysql and mysql v5 gets
mysql5.
What you describe is how most ports work in MySQL, but we handle
database ports (like MySQL (mysql4, mysql5), PostgreSQL
(postgresql82, postgresql83, postgresql84, etc.) BerkeleyDB (db44,
db45, db46, db47, etc.) differently because they come with
associated user data (the user's databases) which typically need to
be upgraded in some way as well, and usually once you've upgraded,
you can't downgrade. A new version of the database program may also
come with new features (and new bugs) and the user may have good
reason for wanting to remain with an older version for awhile. This
is why we give the user separate ports, to give them the choice to
upgrade when they're ready for it.
Actually, it's not just databases we handle that way; languages (I'm
thinking of PHP -- php4, php52, php5 -- and GCC -- gcc40, gcc41,
gcc42, gcc43, etc.) can have the same issue.
What if we suffixed $major (current practice) to all these packages
that need multiple versions available and when we do we add a port
called, for example, mysql-default that has variants +3, +4, +5 etc
and it installs simlinks for all the files and dirs to locations
$prefix/lib ./bin ./share ./etc .....
Wouldn't these simlinks make a lot of ports that depend on these
packages build with little or no modification?
I'm sending this email in the hopes I'm not being stupid. It's to
early and I haven't had enough coffee.
// Brad
_______________________________________________
macports-users mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users