MacPorts-MySQL Dictator wanted, prefer benevolent
Craig Treleaven
ctreleaven at macports.org
Wed Oct 1 06:45:52 PDT 2014
At 3:07 PM -0500 9/30/14, Ryan Schmidt wrote:
>On Sep 30, 2014, at 10:37 AM, Craig Treleaven wrote:
> > By way of background, my MythTV ports depend on p5.16-dbd-mysql,
>py27-mysql and php-5-mysql. Previously, all of these defaulted to
>the now-obsolete mysql5 variant. Now, py-mysql defaults to
>mariadb55. p516-dbd-mysql offers a "mariadb" variant; not
>"mariadb55". php5-mysql defaults to mysqlind ("MySQL native
>driver") and offers a "mariadb" variant; again not "mariadb55".
>p5.16-dbd-mysql still defaults to mysql5.
>>
>> The subtle variance in naming the variants creates confusion. The
>>range of defaults can lead to bloat and confusion.
>>
>> Initially, I found there was a ticket related to py-mysql database
>>variants [1] and I filed additional tickets for php5-mysql [2] and
>>p5-dbd-mysql [3]. Since then, I thought to search for other ports
>>that offer variants related to MySQL ('port echo
>>variant:mysql*')--a total of 89 ports, of which about 20 are
>>subports.
>>
I've refined my list a little and I've found 83 ports that offer
variants related to MySQL-compatible databases, see attached pdf.
The chart lists all the current variant names; a "1" indicates that a
particular port offers that a variant with that name.
> > The tickets have been open for 6 weeks or more with no movement.
>I've started to do some analysis on this (with another thread asking
>for help) to see if we can standardize on a list of MySQL-related
>variant names and maybe even agree on a common default.
> >
>> That's where the dictator comes in. At the moment, I would say
>>the obvious choices for a default MySQL variant would be mysql55,
>>mariadb55 or, maybe, mysql56. AFAICT there is no clear-cut,
>>compelling reason to choose one over the others (technical, legal,
>>religious, whatever). Other threads have touched on this issue,
>>recently, with no clear consensus developed. Nonetheless, I think
>>the MacPorts project would be better served by blessing one that
>>can hold us for a few years rather than have various ports going in
>>all different directions.
>>
>> Is this something that the PortMgr group could take the lead on?
>
>Indeed we have discussed this before, and it was proposed that the
>latest stable MariaDB version should be the default variant of ports
>that have MySQL support.
>
>I don't think we can or should select a default to last us for
>years. We don't want to stagnate like we did with the +mysql5
>variant. Rather, we should let the latest stable version be the
>default, and update ports as needed.
>
>Currently, the latest stable version of MariaDB is 10.0.
Really? Has MariaDB 10.0 really been sufficiently exercised in the
OS X environment to become the default? Currently, not a single port
that I've identified even offers mariadb-10.0 as a variant. Only 4
ports in my list currently default to mariadb or mariadb55:
Port Default Variant
akonadi mariadb55
amarok mariadb55
py24-mysql mariadb55
py25-mysql mariadb55
py26-mysql mariadb55
py27-mysql mariadb55
qore-mysql-module mariadb
>The question is what to name the variants. This has also been
>brought up for discussion before. My most recent thread on the topic
>from 2 weeks ago got no replies on the list; perhaps I was too wordy.
>
>My suggestion was that using dots in version numbers, but no
>underscores, would be the cleanest and most informative, which would
>make the complete list of proposed MySQL variant today: +mariadb5.5,
>+mariadb10.0, +mariadb10.1, +mysql5.1, +mysql5.5, +mysql5.6, and
>+percona5.6.
Adopting this format means renaming every variant of every affected port.
This may also break the upgrade path for existing installs, no? We
really should keep legacy-named variants for a period of time along
with the new standard which leads to an explosion of variants for
some ports. For example, apr-util currently has mariadb, mysql5,
mysql51, mysql55, mysql56, and percona variants related to db
selection. We'd have to keep those 6 and add at least 6 more (maybe
8 if maridb10.0 and mariadb10.1 are supported).
Perhaps we* could control the explosion of variants by creating a new
Portfile contruct: "legacy-variant". It might act just like the
current variant declaration except that it would be invisible to
'port info' and 'port variants'. Users wouldn't normally see the
legacy-variants thus reducing the temptation to keep using them. If
necessary, perhaps they could be displayed by passing the -v or -d
flags to port.
Craig
* By "we", I mean someone more clever than me!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MacPorts_MySQL_Variants_2014Oct1.xlsx.pdf
Type: application/octet-stream
Size: 48406 bytes
Desc: not available
URL: <https://lists.macosforge.org/pipermail/macports-dev/attachments/20141001/817ed432/attachment-0001.obj>
More information about the macports-dev
mailing list