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
*** Bug 261293 has been marked as a duplicate of this bug. ***
And official released: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-28.html
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 :-)
OK I will try to do it with git diff.
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?
*** Bug 261294 has been marked as a duplicate of this bug. ***
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 !!!
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
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
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
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! :-)