mysql5 vs mysql devel
Bradley Giesbrecht
brad at pixilla.com
Thu Dec 24 08:40:56 PST 2009
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
More information about the macports-users
mailing list