Created attachment 165157 [details] Fixes missing binary_log_types.h When trying to build any clients libs based on mysql57-client it fails due to the fact that binary_log_types.h is missing which is included indirectly from mysql/mysql.h The attached patch fixes this as well as hiding the output from the post-extract step.
Created attachment 165159 [details] Fixes missing binary_log_types.h Updated patch to remove hardcoded PORTREVISION in parent port.
Created attachment 165161 [details] Fixes missing binary_log_types.h Also remove binary_log_types.h from mysql57-server to prevent pkg recursive conflict detection.
Hi. Thanks for your helps and feedback on this port. You changed Makefile in a way didn't get (:D) so i ask. why removed PORTREVISION? why changed Conflict flag regex in that way? If doesn't seem problematic for you (:D) i'm gonna generate a patch against my latest kept revision respecting your way on adding binary_log_types.h (as your last patch does not applies cleanly) and we'd continue on it :D Thanks again, Mokhi :D
(In reply to Mahdi Mokhtari from comment #3) I changed PORTREVISION in mysql57-server adding the '?' so mysql57-client can override it if needed. This is the same method used my the mysql56-(server|client) ports. The CONFLICT change was a side effect of debugging the pkg conflict, which turned out to be server including the binary_log_types.h making it an automatic conflict. Feel free to ignore that bit, however it does match the mysql56 ports so still should be good. The key thing if you want to regenerate it is that the client and NOT server needs binary_log_types.h so that modules such as p5-DBD-mysql can successfully build. Thanks for the fast reply :)
(In reply to Steven Hartland from comment #4) > The key thing if you want to regenerate it is that the client and NOT server needs binary_log_types.h so that modules such as p5-DBD-mysql can successfully build. Sure i'll notice it (and other points you told), thanks :D
Created attachment 165305 [details] patch solves this peroblem and some others too ;) also fixes "issue#206065" too ;)
Looks good to me :)
Okay as from my side too. Now just waiting to be committed (patch) :D
This needs some revisiting. With the latest version of the patch this happens when building mysql57-server: ====> Running Q/A tests (stage-qa) ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist Error: Orphaned: include/mysql/binary_log_types.h ===> Checking for items in pkg-plist which are not in STAGEDIR ===> Error: Plist issues found. *** Error code 1 Stop. make: stopped in /usr/ports/databases/mysql57-server ====>> Error: check-plist failures detected Could you double-check?
You can safely just rm this file in a pre stage target as its packaged in the client not the server.
(In reply to Thomas Zander from comment #9) Mine works Okay with poudriere ! Checking why ...
(In reply to Mahdi Mokhtari from comment #11) Wild guess: Did you use 'poudriere bulk'? If you want poudriere to check for plist-consistency after installation, 'poudriere testport' is your friend.
(In reply to Thomas Zander from comment #12) Wild answer (;D) : No, i used just poudriere testport :D
(In reply to Thomas Zander from comment #12) Should i use blk ? Or can it be because of changes in remote repo (that im not aware of that as maintainer)?
The following should be the fix: Index: files/patch-include_CMakeLists.txt =================================================================== --- files/patch-include_CMakeLists.txt (revision 407656) +++ files/patch-include_CMakeLists.txt (working copy) @@ -1,10 +1,11 @@ ---- include/CMakeLists.txt.orig 2015-11-29 19:16:24 UTC -+++ include/CMakeLists.txt -@@ -69,10 +69,12 @@ SET(HEADERS +--- include/CMakeLists.txt.orig 2015-11-29 19:16:24.000000000 +0000 ++++ include/CMakeLists.txt 2016-01-31 18:39:00.316969561 +0000 +@@ -68,11 +68,13 @@ SET(HEADERS + ${HEADERS_GEN_CONFIGURE} ) ++IF(FALSE) INSTALL(FILES ../libbinlogevents/export/binary_log_types.h DESTINATION ${INSTALL_INCLUDEDIR}) -+IF(FALSE) INSTALL(FILES ${HEADERS} DESTINATION ${INSTALL_INCLUDEDIR} COMPONENT Development) INSTALL(DIRECTORY mysql/ DESTINATION ${INSTALL_INCLUDEDIR}/mysql COMPONENT Development PATTERN "*.h"
(In reply to Steven Hartland from comment #15) I suggest find out (first :D) why it works for me :) honestly today i hadnt have chance to check that :) hopefully tomorrow (my time :D) ill check, if no success i'd have no way other that approve+ patch (LOL ;D)
As Thomas said it works it just doesn't pass port audit, which does additional checks on files in the stage directory which are not in the pkg-plist.
(In reply to Steven Hartland from comment #17) you've moved 'IF(FALSE)' to a line upped to exclude installing all headers including this binary_log_types.h by cmake? is it Okay in your side ?
if is okay i'd merge it with prevoiusly attached patch (as that solves some other issues too) approve+ it :D
(In reply to Mahdi Mokhtari from comment #18) It just now also excludes binary_log_types.h (not all other headers).
(In reply to Steven Hartland from comment #20) Okay, thanks Steven :D I have tested it too and it was no problem. I'm just going to merge it into formerly attached patch. And then we'll wait for Thomas to commit it ;-)
Created attachment 166454 [details] patch solves this peroblem and some others too (merged with Steven's to solve orphaned file on mysql57-server)
(In reply to Mahdi Mokhtari from comment #21) On it ...
(In reply to Mahdi Mokhtari from comment #22) Terribly sorry guys, but I found something to complain again. When building with EXAMPLE option selected, -server *only* compiles ha_example statically into the server, it does not build the ha_example.so plugin: ====> Running Q/A tests (stage-qa) ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist ===> Checking for items in pkg-plist which are not in STAGEDIR Error: Missing: lib/mysql/plugin/ha_example.so ===> Error: Plist issues found. *** Error code 1 Stop. make: stopped in /usr/ports/databases/mysql57-server The remaining OPTIONs seem to be fine.
(In reply to Thomas Zander from comment #24) Okay, thanks for checking/telling this :) I'll check/solve/patch it :D
(In reply to Mahdi Mokhtari from comment #25) That should be fixed separately a its totally unrelated to this, as would already have been broken.
(In reply to Steven Hartland from comment #26) > That should be fixed separately a its totally unrelated to this yeah, i agree mate. I'm filing new bug and make that block this :)
No need to have it block this. Without this the port is pretty useless, as unless you're only using the server or native client it won't work, so it's a vital fix; where as fixing dangling / missing plist entries is a nice to have.
(In reply to Steven Hartland from comment #28) Yes i'm pretty agree with you. As i count this issue (current one) more emergency than that (as this patch fixes many things), i ask Thomas to commit this first and i'm working fast on EXAMPLE_STORAGE issue to solve that :) So if he accept this ill delete blocking mark :D
Created attachment 166493 [details] patch solves these peroblems and some others too patch solves these problems and some others too (merged with Steven's to solve orphaned file on mysql57-server) EXAMPLE option fixed too :)
Created attachment 166494 [details] patch solves these problems and some others too patch solves these problems and some others too (merged with Steven's to solve orphaned file on mysql57-server) EXAMPLE option fixed too :)
(In reply to Thomas Zander from comment #24) Up to you now, mate ;D
A commit references this bug: Author: riggs Date: Wed Feb 3 23:11:18 UTC 2016 New revision: 408005 URL: https://svnweb.freebsd.org/changeset/ports/408005 Log: - Fix plist - binary_log_types.h is now installed only by client, not server - lib/mysql/plugin/ha_example.so is only installed if EXAMPLES OPTION is turned off - Bump PORTREVISION - Allow slave port to override PORTREVISION if necessary - Deactivate performance_schema feature to conserve memory - Add notes to pkg-message: - root password - performance_schema feature is deactivated by default to reduce memory footprint PR: 205956 206065 Submitted by: smh Reviewed by: mokhi64@gmail.com (maintainer) Approved by: mokhi64@gmail.com (maintainer) MFH: 2016Q1 Changes: head/databases/mysql57-client/files/patch-include_CMakeLists.txt head/databases/mysql57-client/pkg-plist head/databases/mysql57-server/Makefile head/databases/mysql57-server/files/mysql-server.in head/databases/mysql57-server/files/patch-include_CMakeLists.txt head/databases/mysql57-server/pkg-message head/databases/mysql57-server/pkg-plist
Thanks for your patience, double checking and corrections. Committed with a micro change: PORTREVISION was bumped from 1 to 2.
A commit references this bug: Author: riggs Date: Thu Feb 4 06:16:30 UTC 2016 New revision: 408012 URL: https://svnweb.freebsd.org/changeset/ports/408012 Log: MFH: r408005 - Fix plist - binary_log_types.h is now installed only by client, not server - lib/mysql/plugin/ha_example.so is only installed if EXAMPLES OPTION is turned off - Bump PORTREVISION - Allow slave port to override PORTREVISION if necessary - Deactivate performance_schema feature to conserve memory - Add notes to pkg-message: - root password - performance_schema feature is deactivated by default to reduce memory footprint - Allow port to build while boost-libs-1.55 is installed PR: 205956 206065 206612 206879 Submitted by: smh Reviewed by: mokhi64@gmail.com (maintainer) Approved by: ports-secteam (feld), mokhi64@gmail.com (maintainer) Changes: _U branches/2016Q1/ branches/2016Q1/databases/mysql57-client/Makefile branches/2016Q1/databases/mysql57-client/files/patch-include_CMakeLists.txt branches/2016Q1/databases/mysql57-client/pkg-plist branches/2016Q1/databases/mysql57-server/Makefile branches/2016Q1/databases/mysql57-server/files/mysql-server.in branches/2016Q1/databases/mysql57-server/files/patch-include_CMakeLists.txt branches/2016Q1/databases/mysql57-server/pkg-message branches/2016Q1/databases/mysql57-server/pkg-plist