Bug 193539 - [NEW PORT] databases/mariadb100-server, databases/mariadb100-client: MariaDB 10.0 (Client and Server)
Summary: [NEW PORT] databases/mariadb100-server, databases/mariadb100-client: MariaDB ...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Many People
Assignee: John Marino
URL:
Keywords: feature, patch
Depends on:
Blocks:
 
Reported: 2014-09-10 19:27 UTC by Bernard Spil
Modified: 2014-11-26 12:42 UTC (History)
3 users (show)

See Also:


Attachments
New databases/mariadb100-client and -server ports and bsd.databases.mk patch (90.50 KB, application/x-tar)
2014-09-10 19:27 UTC, Bernard Spil
no flags Details
shar containing mariadb100-client and -server ports and Mk/bsd.databases.mk patch (70.83 KB, text/plain)
2014-09-12 15:03 UTC, Bernard Spil
no flags Details
Build log of mariadb100-client (8.98 KB, application/octet-stream)
2014-09-14 15:16 UTC, Bernard Spil
no flags Details
Build log of mariadb100-server (89.65 KB, application/octet-stream)
2014-09-14 15:17 UTC, Bernard Spil
no flags Details
Patch to include the ports in databases/Makefile (392 bytes, patch)
2014-09-21 08:55 UTC, Bernard Spil
no flags Details | Diff
Patch to upgrade -client port from 10.0.13 to 10.0.14 (3.07 KB, patch)
2014-09-27 10:30 UTC, Bernard Spil
no flags Details | Diff
Patch to upgrade -server port from 10.0.13 to 10.0.14 (6.12 KB, patch)
2014-09-27 10:32 UTC, Bernard Spil
no flags Details | Diff
Build log mariadb100-client_10.0.14 (9.31 KB, application/x-gzip)
2014-09-27 10:33 UTC, Bernard Spil
no flags Details
Build log mariadb100-server 10.0.14 (97.31 KB, application/x-gzip)
2014-09-27 10:33 UTC, Bernard Spil
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bernard Spil freebsd_committer 2014-09-10 19:27:50 UTC
Created attachment 147194 [details]
New databases/mariadb100-client and -server ports and bsd.databases.mk patch

Hi,

I've created ports (client and server) for MariaDB 10.0 which was released end of March 2014. This also requires changes to Mk/bsd.databases.mk.
I'll be creating/attaching separate patch files to update the CONFLICTS lines of all MySQL, PerconaDB and MariaDB as well.

Patch contains
bsd.database.mk patch
databases/mariadb100-client port
databases/mariadb100-server port

Based mostly on the existing mariadb55 ports, modified the patches for the new version. Borrowed some info from the mysql56 ports (what binary goes where) for the plist.

Tested on 2 machines, hope it works for everyone!
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2014-09-11 12:01:46 UTC
Great work Bernard!

As discussed on IRC:

* Attach successful build logs (poudriere or redports, might be worth doing both)
* Attach portlint -AC output (after addressing any issues)
* A single patch containing all changes (rather than split, or a tarball)
Comment 2 Bernard Spil freebsd_committer 2014-09-12 15:03:13 UTC
Created attachment 147249 [details]
shar containing mariadb100-client and -server ports and Mk/bsd.databases.mk patch

As per request, added a shar version of the ports and patch
Comment 3 Bernard Spil freebsd_committer 2014-09-14 15:16:52 UTC
Created attachment 147316 [details]
Build log of mariadb100-client
Comment 4 Bernard Spil freebsd_committer 2014-09-14 15:17:25 UTC
Created attachment 147317 [details]
Build log of mariadb100-server
Comment 5 Bernard Spil freebsd_committer 2014-09-21 08:55:26 UTC
Created attachment 147518 [details]
Patch to include the ports in databases/Makefile
Comment 6 Bernard Spil freebsd_committer 2014-09-27 10:30:41 UTC
Created attachment 147718 [details]
Patch to upgrade -client port from 10.0.13 to 10.0.14
Comment 7 Bernard Spil freebsd_committer 2014-09-27 10:32:24 UTC
Created attachment 147719 [details]
Patch to upgrade -server port from 10.0.13 to 10.0.14

Needs proper review. Some new code was added with improper handling of casts and pointers (int vs uintptr_t and (int) vs *(int*)) in the patch-storage-connect patches.
Comment 8 Bernard Spil freebsd_committer 2014-09-27 10:33:08 UTC
Created attachment 147720 [details]
Build log mariadb100-client_10.0.14
Comment 9 Bernard Spil freebsd_committer 2014-09-27 10:33:45 UTC
Created attachment 147721 [details]
Build log mariadb100-server 10.0.14
Comment 10 Bernard Spil freebsd_committer 2014-09-27 10:34:43 UTC
The patches for the server to compile on amd64 clang 3.3 have been submitted upstream as well https://mariadb.atlassian.net/browse/MDEV-6802
Comment 11 John Marino freebsd_committer 2014-11-03 20:39:15 UTC
This has been sitting here for 5 weeks.  I guess I'll take this out of pity.
Comment 12 John Marino freebsd_committer 2014-11-03 21:21:03 UTC
(In reply to spil.oss from comment #5)
> Created attachment 147518 [details]
> Patch to include the ports in databases/Makefile

FYI, this patch is unnecessary.  the committer will normally do this (you can assume he/she will)
Comment 13 John Marino freebsd_committer 2014-11-03 21:22:37 UTC
(In reply to spil.oss from comment #6)
> Created attachment 147718 [details]
> Patch to upgrade -client port from 10.0.13 to 10.0.14

This is not good.
If you want to update a new port after you submit it, you need to upload an entire new shar.  Nobody wants to extract and then apply patches.
Comment 14 John Marino freebsd_committer 2014-11-03 21:24:18 UTC
(In reply to spil.oss from comment #8)
> Created attachment 147720 [details]
> Build log mariadb100-client_10.0.14

This is gzipped unnecessarily.  Now I can't read it from a browser.   So in the future, if the log is < 1 Mb, upload it as plain uncompressed text.
Comment 15 John Marino freebsd_committer 2014-11-03 21:25:24 UTC
Comment on attachment 147316 [details]
Build log of mariadb100-client

old log wasn't set to obsolete, doing it now.
Comment 16 John Marino freebsd_committer 2014-11-03 23:07:23 UTC
it appears that the pkg-plist on the server wasn't checked at all, e.g. it was copied from another port and not modified.  There are several orphaned files and it installs like a 12,000 line testsuite in stage dir.
Comment 17 John Marino freebsd_committer 2014-11-04 02:12:55 UTC
I've found a few issues and added my own tweaks, but I just noticed that you assigned a third-party as the maintainer (never@nevermind.kiev.ua).  That is not permitted for obvious reasons.  New ports also have to be maintained (ports@FreeBSD.org) is not allowed either)

Did you mean to put yourself as maintainer?

If no, I just wasted several hours of my time.  These ports are ready to commit.
Comment 18 Bernard Spil freebsd_committer 2014-11-04 08:00:26 UTC
Hi John,

I didn't necessarily mean to make myself or never@nevermind.kiev.ua the maintainer but would not mind being the maintainer. Seems that I'm up for maintainer for mariadb-server -client and -scripts (5.3) as well. You have correctly noticed that I've taken the mariadb55 ports as a starting point.

Sorry to have wasted so much of your time, I'd gladly have done the work myself if you had pointed out the mistakes I made, it is a learning effort for me.

Thanks for all your comments, taking heed for next porting efforts!

Bernard.
Comment 19 commit-hook freebsd_committer 2014-11-04 08:22:52 UTC
A commit references this bug:

Author: marino
Date: Tue Nov  4 08:22:02 UTC 2014
New revision: 372136
URL: https://svnweb.freebsd.org/changeset/ports/372136

Log:
  Add new ports databases/mariadb100-server and -client (version 10.0)

  PR:		193539
  Submitted by:	spil.oss (gmail)

  MariaDB is a database server that offers drop-in replacement functionality
  for MySQL. MariaDB is built by some of the original authors of MySQL, with
  assistance from the broader community of Free and open source software
  developers. In addition to the core functionality of MySQL, MariaDB offers
  a rich set of feature enhancements including alternate storage engines,
  server optimizations, and patches.

Changes:
  head/Mk/bsd.database.mk
  head/databases/Makefile
  head/databases/mariadb100-client/
  head/databases/mariadb100-client/Makefile
  head/databases/mariadb100-client/files/
  head/databases/mariadb100-client/files/patch-CMakeLists.txt
  head/databases/mariadb100-client/files/patch-client_CMakeLists.txt
  head/databases/mariadb100-client/files/patch-cmake__jemalloc.cmake
  head/databases/mariadb100-client/files/patch-extra_CMakeLists.txt
  head/databases/mariadb100-client/files/patch-extra_yassl_taocrypt_src_integer.cpp
  head/databases/mariadb100-client/files/patch-include_CMakeLists.txt
  head/databases/mariadb100-client/files/patch-include_my_compare.h
  head/databases/mariadb100-client/files/patch-libmysql_CMakeLists.txt
  head/databases/mariadb100-client/files/patch-libservices_CMakeLists.txt
  head/databases/mariadb100-client/files/patch-man_CMakeLists.txt
  head/databases/mariadb100-client/files/patch-mysys_my_default.c
  head/databases/mariadb100-client/files/patch-pcre_CMakeLists.txt
  head/databases/mariadb100-client/files/patch-scripts_CMakeLists.txt
  head/databases/mariadb100-client/files/patch-scripts_mysql_config.sh
  head/databases/mariadb100-client/files/patch-sql_CMakeLists.txt
  head/databases/mariadb100-client/files/patch-support-files_CMakeLists.txt
  head/databases/mariadb100-client/files/pkg-message.in
  head/databases/mariadb100-client/pkg-plist
  head/databases/mariadb100-server/
  head/databases/mariadb100-server/Makefile
  head/databases/mariadb100-server/distinfo
  head/databases/mariadb100-server/files/
  head/databases/mariadb100-server/files/extra-patch-include_my_compare.h
  head/databases/mariadb100-server/files/mysql-server.in
  head/databases/mariadb100-server/files/patch-CMakeLists.txt
  head/databases/mariadb100-server/files/patch-client_CMakeLists.txt
  head/databases/mariadb100-server/files/patch-cmake__jemalloc.cmake
  head/databases/mariadb100-server/files/patch-extra_CMakeLists.txt
  head/databases/mariadb100-server/files/patch-extra_yassl_taocrypt_src_integer.cpp
  head/databases/mariadb100-server/files/patch-include_CMakeLists.txt
  head/databases/mariadb100-server/files/patch-libmysql_CMakeLists.txt
  head/databases/mariadb100-server/files/patch-libservices_CMakeLists.txt
  head/databases/mariadb100-server/files/patch-man_CMakeLists.txt
  head/databases/mariadb100-server/files/patch-mysys_my_default.c
  head/databases/mariadb100-server/files/patch-pcre_CMakeLists.txt
  head/databases/mariadb100-server/files/patch-scripts_CMakeLists.txt
  head/databases/mariadb100-server/files/patch-scripts_mysql_config.sh
  head/databases/mariadb100-server/files/patch-scripts_mysqld_safe.sh
  head/databases/mariadb100-server/files/patch-sql_CMakeLists.txt
  head/databases/mariadb100-server/files/patch-sql_sql_trigger.cc
  head/databases/mariadb100-server/files/patch-sql_sql_view.cc
  head/databases/mariadb100-server/files/patch-sql_sys_vars.cc
  head/databases/mariadb100-server/files/patch-storage_connect_array.cpp
  head/databases/mariadb100-server/files/patch-storage_connect_filamap.cpp
  head/databases/mariadb100-server/files/patch-storage_connect_filamap.h
  head/databases/mariadb100-server/files/patch-storage_tokudb_ft-index_cmake__modules_TokuFeatureDetection.cmake
  head/databases/mariadb100-server/files/patch-storage_tokudb_ft-index_portability_memory.cc
  head/databases/mariadb100-server/files/patch-support-files_CMakeLists.txt
  head/databases/mariadb100-server/files/pkg-message.in
  head/databases/mariadb100-server/pkg-descr
  head/databases/mariadb100-server/pkg-plist
Comment 20 John Marino freebsd_committer 2014-11-04 08:47:27 UTC
(In reply to spil.oss from comment #18)
> Seems that I'm up for maintainer for mariadb-server -client and -scripts (5.3) as well. 

Hmm, those ports are currently maintained so I can't assign them to you without the current maintainer agreeing (or not being reachable / responsive)
Comment 21 John Marino freebsd_committer 2014-11-04 08:49:02 UTC
Okay, I've made a few fixes and I've mades some minor changes on my own to support DragonFly withhout patches.  These build; I tested them without poudriere against 10.0 jails and 8.4 jails.

I didn't verify how well they run.  I leave that up to you.  Enjoy your ports!
Comment 22 Daniel Gerzo freebsd_committer 2014-11-23 22:47:45 UTC
I tried to install databases/mytop with pkg, which in turn tried to remove mariadb100-server. It turns out mariadb100-server already installs /usr/local/bin/mytop which is kind of strange, given that it does not depend on perl and other modules mytop requires to run. This should be cleaned up...
Comment 23 Bernard Spil freebsd_committer 2014-11-26 09:06:41 UTC
Hi Daniel,

I did notice the mytop conflict. Yet I left it as is as this is how other mysql (fork) ports have implemented it as well. Some ports specifically conflict(ed?) with mytop for that purpose.
Adding a dependency on perl did not seem the right thing to do for a server-only application. Should be in the client portion? But in the client would not need mytop for most users either.

Bernard.
Comment 24 Daniel Gerzo freebsd_committer 2014-11-26 10:30:06 UTC
Hello Bernard,

I am opposed against adding perl dependencies to -server and I also don't like it adding to -client...

I noticed there is databases/mariadb-scripts and I think this this solution is best, and could be made for mariadb100 as well and move mytop and other stuff there.
Comment 25 Bernard Spil freebsd_committer 2014-11-26 12:42:41 UTC
Did a bit of research here...
There's a port databases/mytop which has been on 1.6 for a very long time, this port refers to the original author's site http://jeremy.zawodny.com/mysql/mytop/
Obviously Jeremy has since moved to github where he released version 1.7 (AKA, databases/mytop needs an update) see https://github.com/jzawodn/mytop

The blob in MariaDB has a version 1.91 by mgrennan which I've tracked back to here http://www.mysqlfanboy.com/mytop-3 which is a modified fork of the original code. The bit that says "FreeBSD users can find mytop in the ports collection. The maintainer seems to keep it relatively current." is misleading...

Propose to update the databases/mytop port and remove mytop from the MariaDB pkg-plist.