Re: MacPorts-MySQL Dictator wanted, prefer benevolent

2014-10-01 Thread Craig Treleaven

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:


PortDefault 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!

MacPorts_MySQL_Variants_2014Oct1.xlsx.pdf
Description: Binary data
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: MacPorts-MySQL Dictator wanted, prefer benevolent

2014-10-01 Thread Bradley Giesbrecht

On Oct 1, 2014, at 6:45 AM, Craig Treleaven ctrelea...@macports.org wrote:

 At 3:07 PM -0500 9/30/14, Ryan Schmidt wrote:
 Currently, the latest stable version of MariaDB is 10.0.
 
 Really?

Yes, in that MariaDB 10.0 is the latest release version.

 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:
 
 PortDefault Variant
 akonadi mariadb55
 amarok  mariadb55
 py24-mysql  mariadb55
 py25-mysql  mariadb55
 py26-mysql  mariadb55
 py27-mysql  mariadb55
 qore-mysql-module   mariadb

As soon as the variant naming is settled there will be mariadb-10.{0,1} 
variants.

 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.

I think it is common to add something like this for a time (1 year):
if [variant_isset ${legacy-variant}] {
default_variants-append +${replacement-variant}
}

 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).

Similar to recent discussions regarding removing old versions of perl and 
python, we should consider removing/replacing older versions of mysql like 
mysql4 and mysql5 and probably mysql51.

I believe it would be an improvement if we settled on these ports for now and 
removed/replace all others:
mariadb-5.5 // MariaDB has long term support contract with Redhat for this 5.5
mariadb-10.0 // Newest stable release
mariadb-10.1 // Alpha release
mysql-5.5
mysql-5.6 // Generally Available (GA) Release
mysql-5.7 // Development Release
percona-5.5
percona-5.6

https://downloads.mariadb.org/mariadb/+releases/
http://dev.mysql.com/downloads/mysql/
http://www.percona.com/downloads/


Regards,
Bradley Giesbrecht (pixilla)



signature.asc
Description: Message signed with OpenPGP using GPGMail
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


MacPorts-MySQL Dictator wanted, prefer benevolent

2014-09-30 Thread Craig Treleaven
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.


[1] https://trac.macports.org/ticket/39068
[2] https://trac.macports.org/ticket/44481
[3] https://trac.macports.org/ticket/44484

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?

Craig
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: MacPorts-MySQL Dictator wanted, prefer benevolent

2014-09-30 Thread Ryan Schmidt

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.
 
 [1] https://trac.macports.org/ticket/39068
 [2] https://trac.macports.org/ticket/44481
 [3] https://trac.macports.org/ticket/44484
 
 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.

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.

Currently, port lint says that a dot is not a valid character in a variant 
name, but I suspect lint is just being overly cautious, and perhaps someone 
with a little time could do some tests and see if variant names containing dots 
do in fact work correctly.


___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: MacPorts-MySQL Dictator wanted, prefer benevolent

2014-09-30 Thread Bradley Giesbrecht

On Sep 30, 2014, at 8:37 AM, Craig Treleaven ctrelea...@macports.org 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.
 
 [1] https://trac.macports.org/ticket/39068
 [2] https://trac.macports.org/ticket/44481
 [3] https://trac.macports.org/ticket/44484
 
 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).

Momentum appears to be on the side of MariaDB
MariaDB 10.0 is the current release branch and is tracked by the mariadb-10.0 
port.


Regards,
Bradley Giesbrecht (pixilla)



signature.asc
Description: Message signed with OpenPGP using GPGMail
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: MacPorts-MySQL Dictator wanted, prefer benevolent

2014-09-30 Thread Brandon Allbery
On Tue, Sep 30, 2014 at 5:02 PM, Bradley Giesbrecht pixi...@macports.org
wrote:

  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).

 Momentum appears to be on the side of MariaDB


Agreed. In particular, most Linux distributions have adopted MariaDB as
their standard. (No doubt to the annoyance of the Percona adherents)

-- 
brandon s allbery kf8nh   sine nomine associates
allber...@gmail.com  ballb...@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonadhttp://sinenomine.net
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev