Page MenuHomeFreeBSD

[NEW PORTS] databases/mariadb101-{server,client}: 10.1.10
ClosedPublic

Authored by brnrd on Oct 20 2015, 7:30 PM.

Details

Summary

Proposed commit log:

[NEW PORTS] databases/mariadb101-{server,client}: 10.1.10

MariaDB is one of the most popular database servers in the world. It’s made
by the original developers of MySQL and guaranteed to stay open source.
Notable users include Wikipedia, Facebook and Google.

MariaDB turns data into structured information in a wide array of
applications, ranging from banking to websites. It is an enhanced, drop-in
replacement for MySQL. MariaDB is used because it is fast, scalable and
robust, with a rich ecosystem of storage engines, plugins and many other
tools make it very versatile for a wide variety of use cases.

MariaDB is developed as open source software and as a relational database
it provides an SQL interface for accessing data. This latest versions of
MariaDB also include GIS and JSON features.

WWW: http://mariadb.org/

Reviewed_by:	koobs (mentor), feld (mentor)
Approved by:	
Differential_Revision:	D3953
Test Plan

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
brnrd added a reviewer: flo.
brnrd added a subscriber: feld.

This requires the removal of the MariaDB 5.3 ports before the new ports can be added.

antoine requested changes to this revision.Nov 15 2015, 3:07 PM
antoine added a reviewer: antoine.
antoine added a subscriber: antoine.

Please create seperate reviews for mariabd* addition and USES=mysql, those changes are orthogonal

This revision now requires changes to proceed.Nov 15 2015, 3:07 PM
brnrd edited edge metadata.

Separate new ports from Uses refactor

brnrd edited edge metadata.

Add diffs for the correct MariaDB version

Please create seperate reviews for mariabd* addition and USES=mysql, those changes are orthogonal

See D4166

koobs retitled this revision from databases/mariadb101: New -client and -server ports to [NEW PORTS] databases/mariadb101-{server,client}: 10.1.8.
koobs removed subscribers: antoine, feld.
brnrd retitled this revision from [NEW PORTS] databases/mariadb101-{server,client}: 10.1.8 to [NEW PORTS] databases/mariadb101-{server,client}: 10.1.9.Dec 25 2015, 11:06 PM
brnrd updated this object.
brnrd marked 2 inline comments as done.

Update patches to MariaDB 10.1.9

Update MariaDB 10.1 port

  • Update to latest version 10.1.10
  • Add upstream patch for json.cpp clang failure
  • Use regular strip target
brnrd retitled this revision from [NEW PORTS] databases/mariadb101-{server,client}: 10.1.9 to [NEW PORTS] databases/mariadb101-{server,client}: 10.1.10.Jan 1 2016, 11:53 AM
brnrd edited the test plan for this revision. (Show Details)
brnrd added inline comments.
databases/mariadb101-client/Makefile
15 ↗(On Diff #10198)

That's the intention. Adding portname[0-9]* for all ports as this quenches portlint warnings.

databases/mariadb101-client/files/patch-cmake_jemalloc.cmake
5–21 ↗(On Diff #11691)

Not at the moment. jemalloc is in base in FreeBSD and the MariaDB doesn't detect that correctly

brnrd marked an inline comment as done.

Fixes for the remaining comments

  • Use variables to construct INSTALL_CONFLICTS
  • Work around missing install/strip target in -client

Refactor and upstream jemalloc patch

databases/mariadb101-client/files/patch-cmake_jemalloc.cmake
4–20 ↗(On Diff #9647)

Refactored patch and submitted it upstream

koobs updated this object.
koobs edited edge metadata.

Hmm, am not a fan of negative options, in this case WITHOUT_SSL.

OPTIONS_RADIO allows for none, one or more options to be selected (contrary to what it's name might imply) and having grepped the ports tree for other references to WITHOUT_SSL, none are used in the context of OPTIONS in the same way, other than other mysql/mariadb ports.

Other ports solve this as follows:

./ftp/vsftpd-ext/Makefile:.if ${PORT_OPTIONS:MVSFTPD_SSL} && !defined(WITHOUT_SSL)

Unfortunately this also precludes the use of OPTIONS helpers, which isn't by itself a warrant for a WITHOUT_SSL option.

Having said that because the other mysql/mariadb ports already use this construct, im happy for it to proceed for now, but I would encourage you to refactor these ports to remove the need for WITHOUT_SSL as an option, while retaining support for users turning SSL support off via WITHOUT_SSL

feld edited edge metadata.
brnrd edited edge metadata.

Fix OpenSSL and TokuDB options

  • Upstream has removed building without SSL
  • TokuDB wasn't building at all before
  • Make more storage modules configurable
brnrd edited edge metadata.

Replaced the proposed commit message, the one that was there was no longer accurate. Replaced with http://mariadb.org/about/ and replaced The latest with This latest.

svn rm-ed the whole thing, then repo-copied mariadb100- dirs and fixed remaining renames in files/patch*. Just ran both though poudriere testport and they are OK still.

brnrd edited the test plan for this revision. (Show Details)
koobs requested changes to this revision.Jan 7 2016, 1:42 PM
koobs edited edge metadata.
  • All patches need what/why breadcrumbs (comments) with upstream references/links if available (mailing lists, issues, commits)
  • We (project, not royal) strongly prefer not to use bundled libraries. I would prefer to see WOLFSSL as an OPTION{_DEFAULT} with SSL (OPEN) as an alternative option, in an OPTIONS_SINGLE group
This revision now requires changes to proceed.Jan 7 2016, 1:42 PM
brnrd edited edge metadata.

Annotate patches, don't use bundled libs

brnrd edited edge metadata.

Annotate patches, don't use bundled libs, work around arc failure

To get the patch in using arc after repocopy I had to create 2 empty patches
databases/mariadb101-server/files/patch-extra_yassl_taocrypt_src_integer.cpp
databases/mariadb101-server/files/patch-scripts_CMakeLists.txt

databases/mariadb101-client/files/patch-scripts_mysql_config.sh
7–9 ↗(On Diff #12329)

Can't these be passed into CMAKE_* ?

What is the root cause for incorrect/missing in the first place?

brnrd marked an inline comment as done.

Update patch for MariaDB 10.1.11

  • Patch for CyaSSL no longer required
  • Patch for json included upstream
  • Add gssapi auth plugin (with upstream fix)
databases/mariadb101-client/files/patch-scripts_mysql_config.sh
7–9 ↗(On Diff #12329)

$pkglibdir is dir to MariaDB's libs (default /usr/local/lib/mysql)
LIBS_FOR_CLIENTS is the libraries themselves, so I can't see a way to fix this.
There's an error here though: /usr/local -> %%LOCALBASE%%

koobs requested changes to this revision.Feb 13 2016, 11:41 AM
koobs edited edge metadata.
koobs added inline comments.
databases/mariadb101-client/files/patch-scripts_mysql_config.sh
7 ↗(On Diff #13104)

Was changing this from:

+libs="$libs -L%%LOCALBASE%%/lib"
+libs_r="$libs_r -L%%LOCALBASE%%/lib"
+embedded_libs="$embedded_libs -L%%LOCALBASE%%/lib"

intentional?

databases/mariadb101-server/Makefile
32 ↗(On Diff #13104)

No default?

This revision now requires changes to proceed.Feb 13 2016, 11:41 AM
brnrd edited edge metadata.

Fix LOCALBASE hard coding

brnrd added inline comments.
databases/mariadb101-server/Makefile
32 ↗(On Diff #13104)

Added OPTIONS_DEFAULT= GSSAPI_BASE

brnrd added inline comments.
databases/mariadb101-client/files/patch-scripts_mysql_config.sh
12 ↗(On Diff #13261)

Fixed

brnrd marked an inline comment as done.
brnrd edited edge metadata.

Set a default for GSSAPI libs

koobs edited edge metadata.

Pending review by @feld, which I recommend given at least the size of this port.

I note that the replacement of hardcoded /usr/local paths in patches will be deferred to post-initial commit.

feld edited edge metadata.

Builds for me, approved