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 updated this object.Nov 15 2015, 2:40 PM
brnrd added a reviewer: flo.
brnrd added a subscriber: feld.
brnrd added a comment.Nov 15 2015, 2:44 PM

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

antoine requested changes to this revision.
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.Nov 15 2015, 4:31 PM
brnrd updated this revision to Diff 10197.

Separate new ports from Uses refactor

brnrd edited edge metadata.Nov 15 2015, 4:32 PM
brnrd updated this revision to Diff 10198.

Add diffs for the correct MariaDB version

brnrd updated this object.Nov 15 2015, 4:32 PM
brnrd added a comment.Nov 15 2015, 4:49 PM

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

See D4166

koobs edited reviewers, added: feld; removed: vsevolod.Dec 24 2015, 12:35 PM
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.Dec 25 2015, 11:22 PM
brnrd updated this revision to Diff 11691.

Update patches to MariaDB 10.1.9

brnrd updated this revision to Diff 11841.Jan 1 2016, 11:51 AM

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 marked 3 inline comments as done.Jan 1 2016, 12:56 PM
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.Jan 1 2016, 12:59 PM
brnrd updated this revision to Diff 11842.

Fixes for the remaining comments

  • Use variables to construct INSTALL_CONFLICTS
  • Work around missing install/strip target in -client
brnrd updated this revision to Diff 11844.Jan 1 2016, 2:52 PM

Refactor and upstream jemalloc patch

brnrd added inline comments.Jan 1 2016, 8:08 PM
databases/mariadb101-client/files/patch-cmake_jemalloc.cmake
4–20 ↗(On Diff #9647)

Refactored patch and submitted it upstream

brnrd added a comment.Jan 2 2016, 10:19 AM

[[ https://mariadb.atlassian.net/browse/MDEV-9350 | [PATCH] Fix jemalloc detection for FreeBSD ]]

brnrd edited the test plan for this revision. (Show Details)Jan 2 2016, 10:23 AM
koobs updated this object.Jan 2 2016, 4:37 PM
koobs edited edge metadata.
koobs accepted this revision.

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.Jan 3 2016, 8:19 PM
feld accepted this revision.
brnrd edited edge metadata.Jan 3 2016, 8:45 PM
brnrd updated this revision to Diff 11885.

Fix OpenSSL and TokuDB options

  • Upstream has removed building without SSL
  • TokuDB wasn't building at all before
  • Make more storage modules configurable
brnrd updated this object.Jan 4 2016, 2:47 PM
brnrd edited edge metadata.
brnrd updated this object.Jan 5 2016, 7:52 PM
brnrd added a comment.Jan 5 2016, 8:08 PM

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 updated this object.Jan 5 2016, 9:00 PM
brnrd edited the test plan for this revision. (Show Details)
koobs edited edge metadata.Jan 7 2016, 1:42 PM
koobs requested changes to this revision.
  • 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.Jan 10 2016, 11:06 AM
brnrd updated this revision to Diff 12090.

Annotate patches, don't use bundled libs

brnrd edited edge metadata.Jan 14 2016, 9:04 PM
brnrd updated this revision to Diff 12329.

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

brnrd added a comment.Jan 14 2016, 9:06 PM

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

koobs added inline comments.Jan 18 2016, 9:16 AM
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.Feb 7 2016, 3:05 PM
brnrd updated this revision to Diff 13104.

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)
brnrd added inline comments.Feb 7 2016, 6:29 PM
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 edited edge metadata.Feb 13 2016, 11:41 AM
koobs requested changes to this revision.
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.Feb 13 2016, 11:52 AM
brnrd updated this revision to Diff 13261.

Fix LOCALBASE hard coding

brnrd marked an inline comment as done.Feb 13 2016, 11:56 AM
brnrd added inline comments.
databases/mariadb101-server/Makefile
32 ↗(On Diff #13104)

Added OPTIONS_DEFAULT= GSSAPI_BASE

brnrd marked 2 inline comments as done.Feb 13 2016, 11:59 AM
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.Feb 13 2016, 12:02 PM
brnrd edited edge metadata.
brnrd updated this revision to Diff 13262.

Set a default for GSSAPI libs

koobs edited edge metadata.Feb 13 2016, 12:09 PM
koobs accepted this revision.

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.Feb 13 2016, 3:59 PM
feld accepted this revision.

Builds for me, approved