Bug 205956 - databases/mysql57-client: Fix missing binary_log_types.h (and 4 other issues)
Summary: databases/mysql57-client: Fix missing binary_log_types.h (and 4 other issues)
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Some People
Assignee: Thomas Zander
URL:
Keywords: patch-ready
Depends on:
Blocks: 206065 206612 206879 206912
  Show dependency treegraph
 
Reported: 2016-01-06 14:02 UTC by Steven Hartland
Modified: 2016-02-04 09:44 UTC (History)
2 users (show)

See Also:
koobs: maintainer-feedback+
riggs: merge-quarterly+


Attachments
Fixes missing binary_log_types.h (1.06 KB, patch)
2016-01-06 14:02 UTC, Steven Hartland
no flags Details | Diff
Fixes missing binary_log_types.h (2.07 KB, patch)
2016-01-06 14:49 UTC, Steven Hartland
no flags Details | Diff
Fixes missing binary_log_types.h (2.90 KB, patch)
2016-01-06 15:57 UTC, Steven Hartland
no flags Details | Diff
patch solves this peroblem and some others too ;) (4.09 KB, patch)
2016-01-09 10:31 UTC, Mahdi Mokhtari
mmokhi: maintainer-approval+
Details | Diff
patch solves this peroblem and some others too (merged with Steven's to solve orphaned file on mysql57-server) (4.83 KB, patch)
2016-02-02 20:16 UTC, Mahdi Mokhtari
mmokhi: maintainer-approval+
Details | Diff
patch solves these peroblems and some others too (5.45 KB, patch)
2016-02-03 12:16 UTC, Mahdi Mokhtari
no flags Details | Diff
patch solves these problems and some others too (5.45 KB, patch)
2016-02-03 12:18 UTC, Mahdi Mokhtari
mmokhi: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Steven Hartland freebsd_committer freebsd_triage 2016-01-06 14:02:45 UTC
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.
Comment 1 Steven Hartland freebsd_committer freebsd_triage 2016-01-06 14:49:40 UTC
Created attachment 165159 [details]
Fixes missing binary_log_types.h

Updated patch to remove hardcoded PORTREVISION in parent port.
Comment 2 Steven Hartland freebsd_committer freebsd_triage 2016-01-06 15:57:02 UTC
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.
Comment 3 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-01-06 17:19:31 UTC
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
Comment 4 Steven Hartland freebsd_committer freebsd_triage 2016-01-06 17:45:02 UTC
(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 :)
Comment 5 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-01-06 17:54:59 UTC
(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
Comment 6 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-01-09 10:31:53 UTC
Created attachment 165305 [details]
patch solves this peroblem and some others too ;)

also fixes "issue#206065" too ;)
Comment 7 Steven Hartland freebsd_committer freebsd_triage 2016-01-11 12:13:44 UTC
Looks good to me :)
Comment 8 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-01-24 21:34:01 UTC
Okay as from my side too.
Now just waiting to be committed (patch) :D
Comment 9 Thomas Zander freebsd_committer freebsd_triage 2016-01-30 18:49:56 UTC
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?
Comment 10 Steven Hartland freebsd_committer freebsd_triage 2016-01-30 19:06:52 UTC
You can safely just rm this file in a pre stage target as its packaged in the client not the server.
Comment 11 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-01-31 08:36:31 UTC
(In reply to Thomas Zander from comment #9)
Mine works Okay with poudriere !
Checking why ...
Comment 12 Thomas Zander freebsd_committer freebsd_triage 2016-01-31 11:50:51 UTC
(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.
Comment 13 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-01-31 13:06:58 UTC
(In reply to Thomas Zander from comment #12)
Wild answer (;D) : No, i used just poudriere testport :D
Comment 14 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-01-31 13:08:11 UTC
(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)?
Comment 15 Steven Hartland freebsd_committer freebsd_triage 2016-01-31 18:53:48 UTC
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"
Comment 16 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-01-31 19:05:39 UTC
(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)
Comment 17 Steven Hartland freebsd_committer freebsd_triage 2016-01-31 19:42:40 UTC
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.
Comment 18 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-02-01 11:39:54 UTC
(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 ?
Comment 19 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-02-01 11:41:00 UTC
if is okay i'd merge it with prevoiusly attached patch (as that solves some other issues too)

approve+ it :D
Comment 20 Steven Hartland freebsd_committer freebsd_triage 2016-02-01 20:38:13 UTC
(In reply to Mahdi Mokhtari from comment #18)
It just now also excludes binary_log_types.h (not all other headers).
Comment 21 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-02-02 03:33:37 UTC
(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 ;-)
Comment 22 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-02-02 20:16:41 UTC
Created attachment 166454 [details]
patch solves this peroblem and some others too (merged with Steven's to solve orphaned file on mysql57-server)
Comment 23 Thomas Zander freebsd_committer freebsd_triage 2016-02-02 21:18:48 UTC
(In reply to Mahdi Mokhtari from comment #21)

On it ...
Comment 24 Thomas Zander freebsd_committer freebsd_triage 2016-02-02 21:59:34 UTC
(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.
Comment 25 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-02-03 07:57:13 UTC
(In reply to Thomas Zander from comment #24)
Okay, thanks for checking/telling this :)
I'll check/solve/patch it :D
Comment 26 Steven Hartland freebsd_committer freebsd_triage 2016-02-03 09:02:56 UTC
(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.
Comment 27 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-02-03 09:05:00 UTC
(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 :)
Comment 28 Steven Hartland freebsd_committer freebsd_triage 2016-02-03 09:58:25 UTC
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.
Comment 29 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-02-03 10:06:04 UTC
(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
Comment 30 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-02-03 12:16:21 UTC
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 :)
Comment 31 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-02-03 12:18:08 UTC
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 :)
Comment 32 Mahdi Mokhtari freebsd_committer freebsd_triage 2016-02-03 12:20:46 UTC
(In reply to Thomas Zander from comment #24)
Up to you now, mate ;D
Comment 33 commit-hook freebsd_committer freebsd_triage 2016-02-03 23:11:31 UTC
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
Comment 34 Thomas Zander freebsd_committer freebsd_triage 2016-02-03 23:13:54 UTC
Thanks for your patience, double checking and corrections.

Committed with a micro change: PORTREVISION was bumped from 1 to 2.
Comment 35 commit-hook freebsd_committer freebsd_triage 2016-02-04 06:17:03 UTC
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