|Summary:||[NEW PORT] databases/mariadb100-server, databases/mariadb100-client: MariaDB 10.0 (Client and Server)|
|Product:||Ports & Packages||Reporter:||Bernard Spil <brnrd>|
|Component:||Individual Port(s)||Assignee:||John Marino <marino>|
|Severity:||Affects Many People||CC:||danger, koobs, marino|
Description Bernard Spil 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 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 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 2014-09-14 15:16:52 UTC
Created attachment 147316 [details] Build log of mariadb100-client
Comment 4 Bernard Spil 2014-09-14 15:17:25 UTC
Created attachment 147317 [details] Build log of mariadb100-server
Comment 5 Bernard Spil 2014-09-21 08:55:26 UTC
Created attachment 147518 [details] Patch to include the ports in databases/Makefile
Comment 6 Bernard Spil 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 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 2014-09-27 10:33:08 UTC
Created attachment 147720 [details] Build log mariadb100-client_10.0.14
Comment 9 Bernard Spil 2014-09-27 10:33:45 UTC
Created attachment 147721 [details] Build log mariadb100-server 10.0.14
Comment 10 Bernard Spil 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 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 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 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 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 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 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 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 (firstname.lastname@example.org). 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 2014-11-04 08:00:26 UTC
Hi John, I didn't necessarily mean to make myself or email@example.com 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 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 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 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 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 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 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 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.