[MacPorts] #43431: Ports with a mysql4 or mysql5 variants and/or dependencies should switch to using mysql56 or possibly mariadb.

MacPorts noreply at macports.org
Thu Aug 30 06:44:59 UTC 2018


#43431: Ports with a mysql4 or mysql5 variants and/or dependencies should switch to
using mysql56 or possibly mariadb.
-------------------------------------------------+-------------------------
  Reporter:  pixilla                             |      Owner:  macports-
                                                 |  tickets@…
      Type:  enhancement                         |     Status:  new
  Priority:  Normal                              |  Milestone:
 Component:  ports                               |    Version:
Resolution:                                      |   Keywords:
      Port:  amarok-devel apr-util bugzilla      |
  dovecot dovecot2 drupal5 drupal6 dspam exim    |
  flow-tools freeradius gdal grass hydra         |
  libdbi-drivers libgda libgda4 libgda5          |
  lighttpd lighttpd-devel mediatomb mnogosearch  |
  mysql-connector-odbc mysql5 mysql55            |
  -connector-cpp mysql55-lib_mysqludf_json       |
  mysqlxx nagios-plugins neko ocaml-mysql p5     |
  -dbd-mysql pennmush php php4 php5-mysql php52  |
  postfix proftpd pure-ftpd py-oursql qore-      |
  mysql-module qt3-mac qt4-mac-mysql55-plugin    |
  radlib rb-mysql rb19-mysql redland restund     |
  snort soci sphinx vpopmail vtk-devel           |
  wikkawiki zabbix zabbix2                       |
-------------------------------------------------+-------------------------

Comment (by ryandesign):

 It would be great if the names of the variants were consistent in all
 ports. Until the introduction of the mariadb-10.0 port, that was easy: we
 just made the variant name the same as the name of the port that the
 variant depended on (e.g. "mysql5" or "mysql57"). But we can't name a
 variant "mariadb-10.0" because "-" and "+" are illegal characters in
 variant names, because MacPorts uses "-" and "+" to indicate disabling and
 enabling variants, respectively.

 "." was an illegal character in variant names too, but we couldn't figure
 out a reason why, so as of MacPorts 2.4.4 that's no longer illegal. See
 #46807.

 So we need to make a decision on what the variant names should be. For
 ports like mariadb-10.0, the obvious variant name choices are
 "mariadb10.0" and "mariadb100". The former avoids ambiguity and is
 probably the better choice. Avoiding ambiguity is probably why Bradley
 chose to name the port "mariadb-10.0" instead of "mariadb100". I think
 using the dot in the variant name is what we wanted to do awhile back, but
 couldn't do until the unnecessary variant name restriction in base was
 relaxed.

 We might also ask whether anything should be done about the older ports
 mariadb, mysql51, mysql55, mysql56, mysql57. Should they be renamed to
 mariadb-5.5, mysql-5.1, mysql-5.5, mysql-5.6, mysql-5.7, or left alone?
 Should variants that use those ports be renamed to mariadb5.5, mysql5.1,
 mysql5.5, mysql5.6, mysql5.7, or left alone? It would be good to make that
 decision before adding variants to a lot of ports, so that we don't have
 to rename them all again later. Renaming them would be good for
 consistency, but might be a lot of work, especially if we want to add
 automatic upgrade paths that keep the old variant names around for awhile.

 Existing variants for other versioned ports—like gcc, clang, php, python,
 perl, ruby—don't use a dot in the variant name. But none of them have
 reached a major version number of 10 or greater yet. gcc is close, since
 they're developing version 9 now, but back in version 5 they changed their
 version numbering scheme so that the major version was only the first
 number of the version, not the first two numbers. So we used to have
 variants gcc48 and gcc49, but now we have variants gcc5 and gcc6. Even
 when gcc reaches version 10, we'll just name the variant gcc10; no need
 for a dot. PostgreSQL made the same version numbering change when they
 release version 10. MySQL has skipped from version 5.7 to version 8; not
 sure what their versioning strategy is going forward. Percona seems to
 express their version number is a modifier of the MySQL version number, so
 I don't know if we should be offering separate Percona ports for each
 MySQL version.

 Once we decide variant names, we can propose code that creates those
 variants. So far, most of the mysql variants I've seen have been manually
 created. This can become inconvenient when each variant has to duplicate
 similar code that varies only by version number or include paths. Python
 variants are often created programmatically, using a loop, so that the
 code unique to the port that tells the build system where MySQL is doesn't
 have to be duplicated. We can probably adapt the Python-variant-generating
 code for MySQL.

-- 
Ticket URL: <https://trac.macports.org/ticket/43431#comment:32>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list