I've opened this new PR to start submitting MySQL 5.7 port. It's currently in per-alpha (!!!) state! [mysql57-client is usable itself, but mysql57-server still has porting issues]
Created attachment 163206 [details] mysql57-client shar file (it works !)
Created attachment 163207 [details] mysql57-server shar file (it has porting issue!)
Hi Mokhi, The MySQL release notes mention it now depends on Boost yet does not mention the version required (http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-5.html). Have you tested if it will build and run when you use the currently available 1.55 port? Boost contains the Geometry libs since 1.47 (http://www.boost.org/doc/libs/1_55_0/libs/geometry/doc/html/geometry/release_notes.html). MariaDB contains the same features it seems yet doesn't require a later Boost version (I have not tested this at runtime). Regarding the porting issue for mysql57-server, what issue are you encountering? You're welcome to join us on IRC (#bsdports on EFnet or #freebsd-ports on Freenode) to discuss. We're there to help! Thanks for all the work! Bernard.
Hi Mahdi, Tried this a bit. First of all I noticed that MySQL 5.7 is now GA as of 5.7.9 so I updated the port and ran into the Boost issue immediately -- BOOST_VERSION_NUMBER is #define BOOST_VERSION 105800 CMake Warning at cmake/boost.cmake:256 (MESSAGE): Boost minor version found is 58 we need 59 Call Stack (most recent call first): CMakeLists.txt:435 (INCLUDE) Hacking cmake/boost.cmake to allow 1.55 I immediately ran into issues with Boost. Now I added bits to the server Makefile so it now uses its own boost (ports probably won't be able to keep up when MySQL 5.7 requires newer versions of boost for every update). Now I have a building mysql57-client again, please check https://github.com/Sp1l/ports/tree/master/databases/mysql57-client https://github.com/Sp1l/ports/tree/master/databases/mysql57-server This also requires a refactored Mk/bsd.databases.Mk and Mk/Uses/mysql.mk https://github.com/Sp1l/ports/tree/master/Mk/bsd.databases.mk https://github.com/Sp1l/ports/tree/master/Mk/Uses/mysql.mk (or the current patch from https://reviews.freebsd.org/D4166 Currently stuck with -client not actually "installing" to the work/stage dir Hope you can give this a whirl and let me know if this works for you! Thanks, Bernard.
(In reply to Bernard Spil from comment #4) Hi(In reply to Bernard Spil from comment #4) Ok. I'll test. Regards, mokhi.
@Don could you add some additional explanation for the removal of bug 204606 as a blocker? (I cant see a comment)
@Don, Ignore last comment. Bug 204606 was closed a duplicate of (superseded by) bug 199601
Created attachment 163542 [details] MySQL57-client shar file (it compiled and installed successfully) Hi. MySQL57-client attached! It successfully compiled and installed! Regards, Mokhi
Created attachment 163543 [details] MySQL57-server shar file (Finaly !!! CMake and Make successfully runs [PERHAPS pkg-plist needs to edited]) Hi. MySQL57-server attached! It successfully compiled and installed for me! Maybe (just maybe) pkg-plist needs to be edited. Regards, Mokhi
Still (at least) one task remains for me at this port, refactoring MAN1 deprecated macros!
@Mokhi, please obsolete the existing attachments until the final version is complete/ready (and passes QA: portlint, poudriere)
Comment on attachment 163542 [details] MySQL57-client shar file (it compiled and installed successfully) @Kubilay, Thanks for your feedback This works OK. But obsoleted it till passes QA.
Comment on attachment 163543 [details] MySQL57-server shar file (Finaly !!! CMake and Make successfully runs [PERHAPS pkg-plist needs to edited]) obsoleted. I'll updload final shar files (which i ensure about passing QA), soon. Again thanks for feedback :)
*** Bug 204124 has been marked as a duplicate of this bug. ***
Created attachment 164010 [details] my final server shar file Hi all. Thanks from all helps of friends, Mokhi finally presents ! ( ;D ) These are shar files of working mysql57-{client,server}, and poudriere logs.
Created attachment 164011 [details] my final client shar file poudriere logs are : server: http://s000.tinyupload.com/?file_id=16215400959422528076 client: http://s000.tinyupload.com/?file_id=38708208348023986629
@Bernard/Mark Over to one of you?
@koobs Want to close the LibreSSL 2.3 and MariaDB 10.1 ports first... Then I can finalize this one as well. (focus remember?!)
Great work! Don't worry about all the feedback you'll be getting, we strive for quality and this is part of that process. That's also part of learning porting, the higher the quality of material you supply, the faster it will be committed. Things that need solving: 1. MYSQL57_LIBVER must go into Mk/bsd.databases.mk otherwise other ports will fail on the libver. This also means that portmgr@ gets involved! 2. The commented out lined of CMAKE_ARGS should go or be enabled. (you should at least provide the ssl options, see the mariadb100-server port for example) 3. MAKE_JOBS_UNSAFE? Is that really required? None of the other mysql ports have that set. 4. portlint -AC can be a lot cleaner USE_LDCONFIG+= ${PREFIX}/lib/mysql/plugin works for mariadb101-server make clean extract do-patch mv files orig.files make makepatch diff -rq orig.files files merge what you need back into files LICENSE= GPLv2? 5. bison can probably be bison:build If anyone wants to know: MySQL as of 5.7 has a HARD dependency on a version of boost. We can never keep ports' version of boost in line with mysql so this must be embedded here.
6. Alphabetical order in USES lins 7. Add cpe to uses but do check! https://wiki.freebsd.org/Ports/CPE
@Bernard Thanks for your comments. I never get worried from feedback but i also welcome them (exactly for quality and learning). I'll do changes as needed to fit your feedback. I think i can solve these issues till next night (my timezone :D)
Hi. I've solved all points you told. It seems OK and more stable now, so i upload newer shar files. Poudriere and Portlint logs are below: Poudriere mysql57-server log: http://s000.tinyupload.com/?file_id=69543506545037082588 Poudriere mysql57-client log: http://s000.tinyupload.com/?file_id=65254915971674588050 Portlint mysql57-server log: http://s000.tinyupload.com/?file_id=24457533534330032381 Portlint mysql57-client log: http://s000.tinyupload.com/?file_id=10551551235488284882 waiting for feedback. Regards, Mokhi.
Created attachment 164136 [details] my newer (and maybe final :D) server shar file here is mysql57-server shar file
Created attachment 164137 [details] my newer (and maybe final :D) client shar file here is shar file for mysql57-client
Created attachment 164138 [details] patch adding new variable "MYSQL57_LIBVER" to "bsd.database.mk" As it's new version of MySQL, it's needed to add "MYSQL57_LIBVER= 20" to "bsd.database.mk" file. Here is a simple patch, doing that.
In the meantime, 5.7.10 was released.
test-builds with 5.7.9 @work
fails on 9.3a: http://people.freebsd.org/~pi/logs/mysql57-client-5.7.9.log fails on 11a: http://people.freebsd.org/~pi/logs/databases__mysql57-server-cur-1450017621.txt It probably needs a build_conflicts value for boost-lib-*.
A small patch which removes MAP_NORESERVE from storage/myisam/mi_dynrec.c probably fixes the build on current. MAP_NORESERVE was never implemented in FreeBSD as has been retired as of https://reviews.freebsd.org/D848.
It would probably build on 9.3 if we can provide clang and point all the CC etc stuff to that compiler.
@Kurt Jaeger. Thanks for your reports and feedback. i'm moving it to 5.7.10 i'll try to apply the two points you noticed about -current and -9a and patch them, after success in migrating from 5.7.9 to 5.7.10 (a little review on patches needed now). Thanks, Mokhi.
It's successfully moved to 5.7.10 (with a little change in my patches for 5.7.9) [on 10]. Now i'm on testing its building for 11-current and 9.3
Finally tested and it seems OK on 9.X 10.X 11 :D Shar files attached.
Created attachment 164236 [details] my newer server shar file (Ok on all 9.X 10.X and 11)
Created attachment 164237 [details] my newer client shar file (Ok on all 9.X 10.X and 11)
Portlint logs: http://s000.tinyupload.com/?file_id=51526142878824069998 Poudriere logs: http://s000.tinyupload.com/?file_id=74190317947963497585
Test-builds @work
Created attachment 164239 [details] my newer and more complete server shar file (Ok on all 9.X 10.X and 11) added CONFLICTS_BUILD= boost-libs-1.55* to master Makefile
No longer depends on 199601 as it brings its own boost.
This should now be considered as "In Progress"
A commit references this bug: Author: pi Date: Tue Dec 15 19:40:24 UTC 2015 New revision: 403800 URL: https://svnweb.freebsd.org/changeset/ports/403800 Log: New ports: databases/mysql57-client, databases/mysql57-server The next major release of mysql. MySQL is a very fast, multi-threaded, multi-user and robust SQL (Structured Query Language) database server. WWW: http://www.mysql.com/ PR: 204607 Submitted by: mokhi64@gmail.com Reviewed by: koobs, brnrd Approved by: mat Changes: head/Mk/bsd.database.mk head/databases/Makefile head/databases/mysql57-client/ head/databases/mysql57-client/Makefile head/databases/mysql57-client/files/ head/databases/mysql57-client/files/patch-CMakeLists.txt head/databases/mysql57-client/files/patch-client_CMakeLists.txt head/databases/mysql57-client/files/patch-cmake_build__configurations_compiler__options.cmake head/databases/mysql57-client/files/patch-extra_CMakeLists.txt head/databases/mysql57-client/files/patch-include_CMakeLists.txt head/databases/mysql57-client/files/patch-include_my__compare.h head/databases/mysql57-client/files/patch-include_myisam.h head/databases/mysql57-client/files/patch-man_CMakeLists.txt head/databases/mysql57-client/files/patch-mysys__ssl_my__default.cc head/databases/mysql57-client/files/patch-scripts_CMakeLists.txt head/databases/mysql57-client/files/patch-storage_myisam_mi__dynrec.c head/databases/mysql57-client/files/patch-support-files_CMakeLists.txt head/databases/mysql57-client/pkg-message head/databases/mysql57-client/pkg-plist head/databases/mysql57-server/ head/databases/mysql57-server/Makefile head/databases/mysql57-server/distinfo head/databases/mysql57-server/files/ head/databases/mysql57-server/files/extra-patch-config.h.cmake head/databases/mysql57-server/files/mysql-server.in head/databases/mysql57-server/files/patch-CMakeLists.txt head/databases/mysql57-server/files/patch-client_CMakeLists.txt head/databases/mysql57-server/files/patch-cmake_plugin.cmake head/databases/mysql57-server/files/patch-extra_CMakeLists.txt head/databases/mysql57-server/files/patch-include_CMakeLists.txt head/databases/mysql57-server/files/patch-include_my__compare.h head/databases/mysql57-server/files/patch-include_myisam.h head/databases/mysql57-server/files/patch-libmysql_CMakeLists.txt head/databases/mysql57-server/files/patch-libservices_CMakeLists.txt head/databases/mysql57-server/files/patch-man_CMakeLists.txt head/databases/mysql57-server/files/patch-mysys__ssl_my__default.cc head/databases/mysql57-server/files/patch-plugin_password__validation_validate__password.cc head/databases/mysql57-server/files/patch-scripts_CMakeLists.txt head/databases/mysql57-server/files/patch-sql_CMakeLists.txt head/databases/mysql57-server/files/patch-sql_conn__handler_socket__connection.cc head/databases/mysql57-server/files/patch-sql_sql__view.cc head/databases/mysql57-server/files/patch-sql_sys__vars.cc head/databases/mysql57-server/files/patch-storage_myisam_mi__dynrec.c head/databases/mysql57-server/files/patch-support-files_CMakeLists.txt head/databases/mysql57-server/pkg-descr head/databases/mysql57-server/pkg-message head/databases/mysql57-server/pkg-plist
Testbuilds all fine, portmgr mat approved on
... on the Mk/bsd.database.mk change, committed, thanks very much!
A commit references this bug: Author: marino Date: Thu Dec 17 12:08:07 UTC 2015 New revision: 403905 URL: https://svnweb.freebsd.org/changeset/ports/403905 Log: databases/mysql57-*: Support DragonFly PR: 204607 Changes: head/databases/mysql57-client/files/patch-cmake_os_DragonFly.cmake head/databases/mysql57-client/files/patch-cmd-line-utils_libedit_chartype.h head/databases/mysql57-client/files/patch-cmd-line-utils_libedit_vi.c head/databases/mysql57-client/files/patch-libmysql_CMakeLists.txt head/databases/mysql57-server/Makefile head/databases/mysql57-server/files/patch-cmd-line-utils_libedit_chartype.h head/databases/mysql57-server/files/patch-cmd-line-utils_libedit_vi.c head/databases/mysql57-server/files/patch-include_my__thread__os__id.h head/databases/mysql57-server/files/patch-storage_innobase_include_srv0mon.h
Created attachment 164311 [details] a patch because some different behaviours of new mysqld and mysql_install_db on some systems starting mysql-server service may have an error. this is a patch for fixing that.
A commit references this bug: Author: pi Date: Sun Jan 10 20:00:18 UTC 2016 New revision: 405740 URL: https://svnweb.freebsd.org/changeset/ports/405740 Log: databases/mysql57-client, databases/mysql57-server: remove to prepare for proper repo-copy PR: 204607 Changes: head/databases/mysql57-client/ head/databases/mysql57-server/
A commit references this bug: Author: pi Date: Sun Jan 10 20:02:32 UTC 2016 New revision: 405741 URL: https://svnweb.freebsd.org/changeset/ports/405741 Log: databases/mysql57-client, databases/mysql57-server: re-add for proper repo-copy PR: 204607 Changes: head/databases/mysql57-client/ head/databases/mysql57-client/files/patch-cmake_build__configurations_compiler__options.cmake head/databases/mysql57-client/files/patch-cmake_build_configurations_compiler_options.cmake head/databases/mysql57-client/files/patch-cmake_os_DragonFly.cmake head/databases/mysql57-client/files/patch-cmd-line-utils_libedit_chartype.h head/databases/mysql57-client/files/patch-cmd-line-utils_libedit_vi.c head/databases/mysql57-client/files/patch-include-CMakeLists.txt head/databases/mysql57-client/files/patch-include_CMakeLists.txt head/databases/mysql57-client/files/patch-include_my__compare.h head/databases/mysql57-client/files/patch-include_my_compare.h head/databases/mysql57-client/files/patch-libmysql_CMakeLists.txt head/databases/mysql57-client/files/patch-mysys__ssl_my__default.cc head/databases/mysql57-client/files/patch-mysys_ssl_my_default.cc head/databases/mysql57-client/files/patch-storage_myisam_mi__dynrec.c head/databases/mysql57-server/ head/databases/mysql57-server/files/patch-cmd-line-utils_libedit_chartype.h head/databases/mysql57-server/files/patch-cmd-line-utils_libedit_vi.c head/databases/mysql57-server/files/patch-extra_CMakeLists.txt head/databases/mysql57-server/files/patch-include_my__compare.h head/databases/mysql57-server/files/patch-include_my__thread__os__id.h head/databases/mysql57-server/files/patch-include_my_compare.h head/databases/mysql57-server/files/patch-mysys__ssl_my__default.cc head/databases/mysql57-server/files/patch-mysys_ssl_my_default.cc head/databases/mysql57-server/files/patch-plugin_password__validation_validate__password.cc head/databases/mysql57-server/files/patch-plugin_password_validation_validate_password.cc head/databases/mysql57-server/files/patch-scripts_mysqld_safe.sh head/databases/mysql57-server/files/patch-sql_conn__handler_socket__connection.cc head/databases/mysql57-server/files/patch-sql_sql__view.cc head/databases/mysql57-server/files/patch-sql_sql_trigger.cc head/databases/mysql57-server/files/patch-sql_sql_view.cc head/databases/mysql57-server/files/patch-sql_sys__vars.cc head/databases/mysql57-server/files/patch-sql_sys_vars.cc head/databases/mysql57-server/files/patch-storage_innobase_include_srv0mon.h head/databases/mysql57-server/files/patch-storage_myisam_mi__dynrec.c
A commit references this bug: Author: pi Date: Sun Jan 10 20:07:50 UTC 2016 New revision: 405742 URL: https://svnweb.freebsd.org/changeset/ports/405742 Log: databases/mysql57-client, databases/mysql57-server: change all files that were missed in the last commit PR: 204607 Changes: head/databases/mysql57-client/Makefile head/databases/mysql57-client/files/patch-CMakeLists.txt head/databases/mysql57-client/files/patch-client_CMakeLists.txt head/databases/mysql57-client/files/patch-extra_CMakeLists.txt head/databases/mysql57-client/files/patch-include_myisam.h head/databases/mysql57-client/files/patch-man_CMakeLists.txt head/databases/mysql57-client/files/patch-scripts_CMakeLists.txt head/databases/mysql57-client/files/patch-support-files_CMakeLists.txt head/databases/mysql57-client/pkg-message head/databases/mysql57-client/pkg-plist head/databases/mysql57-server/Makefile head/databases/mysql57-server/distinfo head/databases/mysql57-server/files/mysql-server.in head/databases/mysql57-server/files/patch-CMakeLists.txt head/databases/mysql57-server/files/patch-client_CMakeLists.txt head/databases/mysql57-server/files/patch-cmake_plugin.cmake head/databases/mysql57-server/files/patch-include_CMakeLists.txt head/databases/mysql57-server/files/patch-include_myisam.h head/databases/mysql57-server/files/patch-libmysql_CMakeLists.txt head/databases/mysql57-server/files/patch-libservices_CMakeLists.txt head/databases/mysql57-server/files/patch-man_CMakeLists.txt head/databases/mysql57-server/files/patch-scripts_CMakeLists.txt head/databases/mysql57-server/files/patch-sql_CMakeLists.txt head/databases/mysql57-server/files/patch-support-files_CMakeLists.txt head/databases/mysql57-server/pkg-plist