Page MenuHomeFreeBSD

databases/mariadb100-server: Update to 10.0.21
ClosedPublic

Authored by brnrd on Jun 10 2015, 6:03 PM.

Details

Summary

The MariaDB project released version 10.0.21
Proposed commit-log:

databases/mariadb100-server: Update to 10.0.21

  - Update to 10.0.21
  - Updates mariadb100-client as well (slave-port)
  - Silence portlint
  - Re-roll patches with makepatch

[1]	https://mariadb.atlassian.net/browse/MDEV-7398
[2]	https://mariadb.atlassian.net/browse/MDEV-8128

Changes:	https://mariadb.com/kb/en/mariadb/mariadb-10021-changelog/

Differential_revision:	https://reviews.freebsd.org/D2771
Reviewed_by:	koobs (mentor), vsevolod (mentor)
Approved by:	vsevolod (mentor)
PR:		200097
Security:	36bd352d-299b-11e5-86ff-14dae9d210b8
MFH:		2015Q3
Test Plan
  • testport (poudriere OK) -client
  • portlint: makepatch and preserving the timestamps leads to many warnings
WARN: Makefile: OQGRPAH appears in PORT_OPTIONS:M, but is not listed in OPTIONS_DEFINE.
WARN: Makefile: possible use of absolute pathname "/var/db/mysql".
WARN: Makefile: for new port, make $FreeBSD$ tag in comment section empty, to make SVN happy.
WARN: Makefile: unless this is a master port, PORTNAME has to be set by "=", not by "?=".
WARN: Makefile: unless this is a master port, COMMENT has to be set by "=", not by "?=".
0 fatal errors and 5 warnings found.
  • MariaDB test suite (without debug build)
Only  1978  of 3051 completed.
--------------------------------------------------------------------------
The servers were restarted 430 times
Spent 1526.127 of 2212 seconds executing testcases

Too many failed: Failed 10/1249 tests, 99.20% were successful.

Failing test(s): main.ctype_utf8 main.ctype_utf8mb4 maria.maria main.openssl_6975 main.myisam main.kill-2 main.ctype_utf16 main.ctype_utf16le main.ctype_utf32 main.ctype_utf8mb4_myisam
...
678 tests were skipped, 81 by the test itself.

mysql-test-run: *** ERROR: there were failing test cases

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

brnrd retitled this revision from to databases/mariadb100-server Update to 10.0.19.
brnrd updated this object.
brnrd edited the test plan for this revision. (Show Details)
brnrd added reviewers: koobs, vsevolod.

Change email-address to brnrd@

databases/mariadb100-server/Makefile
16 ↗(On Diff #6078)

You should also use your FreeBSD address (and update that for all your ports as a single commit preferably).

databases/mariadb100-server/files/patch-mysys_my__default.c
17 ↗(On Diff #6078)

This change is very strange.

25 ↗(On Diff #6078)

I don't understand this change. Is it legal?

databases/mariadb100-server/files/patch-storage_tokudb_ft-index_cmake__modules_TokuFeatureDetection.cmake
14 ↗(On Diff #6078)

Does it work on 8.x and 9.x?

brnrd edited edge metadata.

Only add databases/mariadb100-server patches!

databases/mariadb100-server/Makefile
16 ↗(On Diff #6081)

Could you create a separate commit that would update all ports you maintain simultaneously?

Poudriere build log of mariadb100-server


Poudriere build log of mariadb100-client

% portlint -AC
WARN: Makefile: OQGRPAH appears in PORT_OPTIONS:M, but is not listed in OPTIONS_DEFINE.
WARN: Makefile: possible use of absolute pathname "/var/db/mysql".
WARN: Makefile: for new port, make $FreeBSD$ tag in comment section empty, to make SVN happy.
WARN: Makefile: unless this is a master port, PORTNAME has to be set by "=", not by "?=".
WARN: Makefile: unless this is a master port, COMMENT has to be set by "=", not by "?=".
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-client_CMakeLists.txt: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-cmakejemalloc.cmake: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-CMakeLists.txt: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-extra_CMakeLists.txt: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-extra_yassl_taocrypt_src_integer.cpp: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-include_CMakeLists.txt: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-libmysql_CMakeLists.txt: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-libservices_CMakeLists.txt: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-man_CMakeLists.txt: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-mysys_my
default.c: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-pcre_CMakeLists.txt: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-scripts_CMakeLists.txt: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-scripts_mysqldsafe.sh: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-sql_CMakeLists.txt: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-sql_sql
trigger.cc: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-sql_sqlview.cc: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
WARN: /usr/freebsd-ports/databases/mariadb100-server/files/patch-sql_sys
vars.cc: patch was not generated using `make makepatch''. It is recommended to use `make makepatch'' to ensure proper patch format.
0 fatal errors and 22 warnings found.

That makes NO sense... Backported all the timestamps as requested earlier, please advise!

databases/mariadb100-server/Makefile
16 ↗(On Diff #6081)

The only other port I'm the maintainer for is mariadb-server/client. That would now only be possible using a separate tree I'd guess. Any pointers?

brnrd edited the test plan for this revision. (Show Details)

Any news / status on this ? - how can we help ? and should we look at 10.0.20 which includes the FreeBSD segmentation crash patch as well?

@brnrd

  1. Are those makepatch portlint errors a result of your changes, or did they exist prior? Your review summary does not make that clear
  2. What was the state of the mysql test suite results prior to you changes? What is the delta of failed tests between versions?

Also, you did not state the rationale for changing %%PREFIX%% to ${LOCALBASE} for the pkg-message.

The convention is to use variable substitution, as not all users know what LOCALBASE is, and even if they did, it's an implementation detail that doesnt necessarily need to be exposed to the user.

Thoughts? Comments?

brnrd retitled this revision from databases/mariadb100-server Update to 10.0.19 to databases/mariadb100-server Update to 10.0.20.Jul 19 2015, 1:46 PM
brnrd updated this object.
brnrd edited the test plan for this revision. (Show Details)
brnrd edited edge metadata.
  • Update patchset to 10.0.20
  • Re-roll patches
brnrd removed a reviewer: portmgr.

Discovered a problem with the pkg. Due to both -client and -server requiring ldconfig now there is a conflict on /usr/local/libdata/ldconfig/mariadb during install. -client installs libmysqlclient.so.18 there and -server libmysqld.so.18

  • Fix lib/mysql install conflict
  • remove double USE_MYSQL
brnrd added inline comments.
databases/mariadb100-server/files/patch-mysys_my__default.c
17 ↗(On Diff #7074)

Inherited from the mariadb55-server port

25 ↗(On Diff #7074)

check the pkg-message, "MariaDB respects hier(7) and doesn't check /etc and /etc/mysql for my.cnf"
again, inherited from 5.5 port

junovitch added inline comments.
databases/mariadb100-server/Makefile
16 ↗(On Diff #7094)

A minor pedantic note but one worth adding out since the spelling needs to corrected anyway... The proper capitalization would be '@FreeBSD.org' vice the lower case '@freebsd.org'. The lower case has only shows up 5 times in ports while the proper capitalization shows up 19987 times.

koobs requested changes to this revision.Jul 27 2015, 4:32 AM
koobs edited edge metadata.
koobs added inline comments.
databases/mariadb100-server/Makefile
16 ↗(On Diff #7094)

+1

26 ↗(On Diff #7094)
  1. Leaving commented entry in?
  2. If this port provides a library then afaik USE_LDCONFIG is a requirement
  3. What is the conflict if each of -client and -server ports install unique files in the directory? If it's the directory itself, dont @dir entries in the pkg-plist handle this already? I would get advice from portmgr on this and (2).
30 ↗(On Diff #7094)

Description says 'arm', but BROKEN only checks armv6, what about other ARM versions? Update either BROKEN_* to cover them, or update description to be specific about which versions are BROKEN.

64 ↗(On Diff #7094)

Could this be moved to sanity.mk given it looks like a deprecation check/warning?

If so, other MySQL/MariaDB ports should do the same. You could submit these changes in a separate revision

If not, then the message should be rewritten to explain not just that the variable is set, but why setting it is not a good thing, not required, deprecated, or whatever

137 ↗(On Diff #7094)

I looked for a <OPT>_IGNORE helper in bsd.options.mk but couldnt see one. I was going to suggest using a helper here instead. We should create an <OPT>_IGNORE if its doable. You can create a new revision for this

databases/mariadb100-server/files/patch-scripts_mysql__config.sh
7 ↗(On Diff #7094)

Should these have changed from substitutions to hardcoded /usr/local?

If so, why?

If not, fix

9 ↗(On Diff #7094)

Should these have changed from substitutions to hardcoded /usr/local?

If so, why?

If not, fix

11 ↗(On Diff #7094)

Should these have changed from substitutions to hardcoded /usr/local?

If so, why?

If not, fix

databases/mariadb100-server/files/patch-storage_tokudb_ft-index_cmake__modules_TokuFeatureDetection.cmake
14 ↗(On Diff #7094)

Why doesn't the upstream source (without patching) find libexecinfo if its installed/available when this port is built?

Prefer a non-patch to fix this, and a bug report if its an upstream cmake build system issue.

databases/mariadb100-server/files/pkg-message.in
9 ↗(On Diff #7094)

Should these have changed from substitutions to hardcoded /usr/local?

If so, why?

If not, fix

This revision now requires changes to proceed.Jul 27 2015, 4:32 AM

All in all lots of legacy in here. Want to get this in for the current vulnerability http://www.vuxml.org/freebsd/36bd352d-299b-11e5-86ff-14dae9d210b8.html

Will pick up the work with Sergei from MariaDB to clean up the patches.

databases/mariadb100-server/Makefile
30 ↗(On Diff #7094)

Seems I added this myself for 5.5.41 but can't find any references as to why this would indeed be broken.

64 ↗(On Diff #7094)

Dates back to 2003 https://bugs.freebsd.org/56252
Can't reproduce that behaviour, remove

databases/mariadb100-server/files/patch-mysys_my__default.c
17 ↗(On Diff #7094)

Traced this back to MySQL 5.1 source

databases/mariadb100-server/files/patch-storage_tokudb_ft-index_cmake__modules_TokuFeatureDetection.cmake
14 ↗(On Diff #7094)

I've been cooperating with MariaDB devs and intend to rework (remove if possible) all the existing patches. This is all legacy from the existing 5.5 port (and potentially mysql etc.)

brnrd edited edge metadata.
brnrd marked 2 inline comments as done.
koobs requested changes to this revision.Aug 3 2015, 8:48 AM
koobs edited edge metadata.

Not all inline comments addressed (or responded to)

This revision now requires changes to proceed.Aug 3 2015, 8:48 AM
brnrd edited edge metadata.
brnrd marked 2 inline comments as done.
brnrd updated this object.
brnrd edited the test plan for this revision. (Show Details)
  • fix lib/mysql install conflict
  • elaborate on USE_MYSQL issue
brnrd edited edge metadata.

Update port to 10.0.21 and really fix LDCONFIG

brnrd retitled this revision from databases/mariadb100-server Update to 10.0.20 to databases/mariadb100-server Update to 10.0.21.Aug 7 2015, 6:24 PM
brnrd updated this object.
brnrd marked an inline comment as done.Aug 7 2015, 6:27 PM
brnrd added inline comments.
databases/mariadb100-server/Makefile
65 ↗(On Diff #7765)

Found the reason. Problem is a circular dep in -client when USE_MYSQL is installed.

brnrd retitled this revision from databases/mariadb100-server Update to 10.0.21 to databases/mariadb100-server: Update to 10.0.21.Aug 7 2015, 6:51 PM
brnrd updated this object.
brnrd edited the test plan for this revision. (Show Details)
vsevolod edited edge metadata.
brnrd edited edge metadata.
brnrd edited edge metadata.
brnrd updated this object.

Final improvements

  • Solve portlint issue with files/patch-CMakeLists.txt
  • Solve portlint issue with UNIQUENAME
This revision was automatically updated to reflect the committed changes.