Bug 261295 - databases/mysql80-server: Update to 8.0.28
Summary: databases/mysql80-server: Update to 8.0.28
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Jochen Neumeister
URL:
Keywords:
: 261293 261294 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-01-18 02:26 UTC by Christos Chatzaras
Modified: 2022-01-29 09:14 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (joneum)


Attachments
Patch to upgrade to MySQL 8.0.28 (60.77 KB, patch)
2022-01-18 02:26 UTC, Christos Chatzaras
no flags Details | Diff
Patch to upgrade to MySQL 8.0.28 (53.50 KB, patch)
2022-01-22 21:22 UTC, Christos Chatzaras
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Christos Chatzaras 2022-01-18 02:26:32 UTC
Created attachment 231103 [details]
Patch to upgrade to MySQL 8.0.28

MySQL 8.0.28 is scheduled for tomorrow but I found the file here:

https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.28.tar.gz

ChangeLog is here:

https://docs.oracle.com/cd/E17952_01/mysql-8.0-relnotes-en/news-8-0-28.html
Comment 1 Christos Chatzaras 2022-01-18 02:26:45 UTC
*** Bug 261293 has been marked as a duplicate of this bug. ***
Comment 2 Christos Chatzaras 2022-01-18 10:02:16 UTC
And official released:

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-28.html
Comment 3 Jochen Neumeister freebsd_committer 2022-01-22 17:21:40 UTC
I can't use the patch because you did it with a copy of the port: foo.orig
Best to make the changes directly in the port and then use "git diff > patch".

Also, it should be in the PR why you made what changes in the patches, so it is understood why you did what :-)
Comment 4 Christos Chatzaras 2022-01-22 20:04:08 UTC
OK I will try to do it with git diff.
Comment 5 Christos Chatzaras 2022-01-22 21:22:03 UTC
Created attachment 231242 [details]
Patch to upgrade to MySQL 8.0.28

To create the previous patch I run "make extract", then I use the patches from "files" to patch the files inside "work", then for every patch that had a conflict I manually did the changes on these parts, then I remove files from "files" (except my.cnf.sample.in , mysql-server.in, pkg-message.in) and finally I run "make makepatch" which regenerate these files.

With MySQL 5.8.28 they remove support for TLSv1 and TLSv1.1 and also we have to add "-DWITH_FIDO=bundled" in the Makefile.

Now I used my previous patch again to patch mysql80-server and run "git diff > mysql-8.0.28.diff"

This new patch includes the changes for mysql80-client too.

Is this new patch ok?
Comment 6 Jochen Neumeister freebsd_committer 2022-01-23 09:21:39 UTC
*** Bug 261294 has been marked as a duplicate of this bug. ***
Comment 7 Jochen Neumeister freebsd_committer 2022-01-23 09:24:11 UTC
thank you for the patch, which can be imported without problems and the detailed description. Thanks for that :-)

Is the patch working for you? I ran a test with your patch with the following error:

-- SIZEOF_VOIDP 8
CMake Error at cmake/install_layout.cmake:104 (MESSAGE):
  Invalid INSTALL_LAYOUT parameter:FREEBSD.  Choose between
  RPM;DEB;SVR4;TARGZ;STANDALONE
Call Stack (most recent call first):
  CMakeLists.txt:686 (INCLUDE)


-- Configuring incomplete, errors occurred!
See also "/wrkdirs/usr/ports/databases/mysql80-client/work/.build/CMakeFiles/CMakeOutput.log".
*** Error code 1

Stop.
make: stopped in /usr/ports/databases/mysql80-client
=>> Cleaning up wrkdir
===>  Cleaning for mysql80-client-8.0.28
build of databases/mysql80-client | mysql80-client-8.0.28 ended at Sun Jan 23 10:21:26 CET 2022
build time: 00:00:16
!!! build failure encountered !!!
Comment 8 Christos Chatzaras 2022-01-23 13:37:06 UTC
Yes, I successfully build both mysql80-server and mysql80-client with this patch.

MD5 (/usr/ports/databases/mysql80-server/files/patch-cmake_install__layout.cmake) = 87c91bd41573d942f99d552232952a01

Can you check if you have the same md5 for this file?

Looks like this file is not patched in your ports tree.

This is the file in my system:

https://dpaste.com/8D85L2WK3.txt
Comment 9 Christos Chatzaras 2022-01-23 13:49:25 UTC
On my mysql80-client I had:

SASLCLIENT=off
FIDO=off

Now I turn SASLCLIENT=on and I got this:

-- CMAKE_CXX_FLAGS_MINSIZEREL: -ffunction-sections -fdata-sections -Os -DNDEBUG
-- CMAKE_C_LINK_FLAGS:
-- CMAKE_CXX_LINK_FLAGS:
-- CMAKE_EXE_LINKER_FLAGS   -fstack-protector-strong
-- CMAKE_MODULE_LINKER_FLAGS   -fstack-protector-strong
-- CMAKE_SHARED_LINKER_FLAGS   -fstack-protector-strong
-- Configuring done
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
HIDAPI
    linked by target "fido2" in directory /usr/ports/databases/mysql80-client/work/mysql-8.0.28/extra/libfido2/src

-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    INSTALL_LDCONFIGDIR
    INSTALL_SCRIPTDIR
    WITHOUT_MROONGA_STORAGE_ENGINE
    WITHOUT_ROCKSDB_STORAGE_ENGINE
    WITHOUT_TOKUDB_STORAGE_ENGINE


CMake Generate step failed.  Build files cannot be regenerated correctly.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/databases/mysql80-client
*** Error code 1

Stop.
make: stopped in /usr/ports/databases/mysql80-client
Comment 10 Christos Chatzaras 2022-01-23 14:38:29 UTC
I found this:

https://github.com/Yubico/libfido2/issues/40

I replace in mysql80-client Makefile :

CMAKE_ARGS+=    -DWITHOUT_SERVER=1 -DINSTALL_SUPPORTFILESDIR=0 -DWITH_AUTHENTICATION_FIDO=ON -DWITH_FIDO=bundled

with:

CMAKE_ARGS+=    -DWITHOUT_SERVER=1 -DINSTALL_SUPPORTFILESDIR=0 -DWITH_AUTHENTICATION_FIDO=ON -DWITH_FIDO=bundled -DUSE_HIDAPI=1

Also I add in /usr/ports/databases/mysql80-client/work/mysql-8.0.28/extra/libfido2/src/dev.c this:

https://github.com/Yubico/libfido2/pull/91/files/53196e86501073a172e20dc52b6ea86d3b27a5ce#diff-12a9ed4a3cf62ac26e1aa260cafefc56833fdb435ad08271525dd6544db5b729

But still doesn't build with SASLCLIENT=on
Comment 11 Jochen Neumeister freebsd_committer 2022-01-29 09:14:01 UTC
Landed: https://cgit.freebsd.org/ports/commit/?id=b8d235ae4f734d0737d3123afd8c3e2b2adb0848

i didn't do the update with your patch because there were many problems with i386 that i had solved differently.
But still a big thank you to you, and I hope you continue to submit such good patches! :-)