Skip to content

Commit 66b2a91

Browse files
authored
Merge pull request #5446 from percona/release-8.0.39-30
PS-9422 Release tasks ticket for PS 8.0.39
2 parents 60a65b3 + b51a357 commit 66b2a91

File tree

885 files changed

+116085
-7315
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

885 files changed

+116085
-7315
lines changed

CMakeLists.txt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -911,7 +911,7 @@ IF(WIN32)
911911
OPTION(WITH_MSCRT_DEBUG "MS Visual Studio Debug CRT instrumentation" OFF)
912912
ENDIF()
913913
IF(NOT WITHOUT_SERVER)
914-
IF(FPROFILE_GENERATE OR FPROFILE_USE)
914+
IF(FPROFILE_GENERATE)
915915
# Do not use data from unit testing when optimizing.
916916
OPTION(WITH_UNIT_TESTS "Compile MySQL with unit tests" OFF)
917917
ELSE()
@@ -1270,6 +1270,7 @@ ENDIF()
12701270
# You need to install the 'lld' RPM/DEB package.
12711271
# LTO build fails with lld, so turn it off by default.
12721272
IF(LINUX AND NOT ALTERNATIVE_LD AND
1273+
NOT ${CMAKE_LINKER} MATCHES "ld\.lld" AND
12731274
NOT WITH_LTO AND NOT CMAKE_COMPILER_FLAG_WITH_LTO)
12741275
OPTION(USE_LD_LLD "Use llvm lld linker" ON)
12751276
ELSE()
@@ -2075,6 +2076,12 @@ IF(LINUX)
20752076
HAVE_PTHREAD_SETNAME_NP)
20762077
ENDIF()
20772078

2079+
# The bundled version must be set up after all the configure stuff above.
2080+
IF(LINUX AND WITH_TCMALLOC STREQUAL "bundled")
2081+
ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/extra/gperftools)
2082+
SET(MALLOC_LIBRARY "${CMAKE_BINARY_DIR}/lib/libtcmalloc.so")
2083+
ENDIF()
2084+
20782085
# Cannot use system tirpc with custom OpenSSL
20792086
IF(WITH_SSL_PATH AND (LINUX_RHEL8 OR LINUX_RHEL9))
20802087
SET(WITH_TIRPC "bundled")
@@ -2252,6 +2259,10 @@ ADD_SUBDIRECTORY(sql-common/oci)
22522259
IF(NOT WITHOUT_SERVER)
22532260
IF(WITH_UNIT_TESTS)
22542261
IF(WIN32)
2262+
# static thread_local objects are not allowed in a .dll
2263+
SET(WITH_SHARED_UNITTEST_LIBRARY_DEFAULT OFF)
2264+
ELSEIF(APPLE AND WITH_SOME_SANITIZER)
2265+
# several down_cast<Json_something> will assert()
22552266
SET(WITH_SHARED_UNITTEST_LIBRARY_DEFAULT OFF)
22562267
ELSE()
22572268
SET(WITH_SHARED_UNITTEST_LIBRARY_DEFAULT ON)
@@ -2689,6 +2700,7 @@ ENDIF(DOXYGEN_FOUND)
26892700

26902701
MYSQL_ADD_EXECUTABLE(stack_direction
26912702
${CMAKE_SOURCE_DIR}/cmake/stack_direction.c
2703+
EXCLUDE_FROM_PGO
26922704
SKIP_INSTALL
26932705
)
26942706

LICENSE

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
Licensing Information User Manual
22

3-
MySQL 8.0.37 Community
3+
MySQL 8.0.39 Community
44
__________________________________________________________________
55

66
Introduction
77

88
This License Information User Manual contains Oracle's product license
99
and other licensing information, including licensing information for
1010
third-party software which may be included in this distribution of
11-
MySQL 8.0.37 Community.
11+
MySQL 8.0.39 Community.
1212

13-
Last updated: March 2024
13+
Last updated: July 2024
1414

1515
Licensing Information
1616

17-
This release of MySQL 8.0.37 Community is brought to you by the MySQL
17+
This release of MySQL 8.0.39 Community is brought to you by the MySQL
1818
team at Oracle. This software is released under version 2 of the GNU
1919
General Public License (GPLv2), as set forth below, with the following
2020
additional permissions:
2121

22-
This distribution of MySQL 8.0.37 Community is designed to work with
22+
This distribution of MySQL 8.0.39 Community is designed to work with
2323
certain software (including but not limited to OpenSSL) that is
2424
licensed under separate terms, as designated in a particular file or
2525
component or in the license documentation. Without limiting your rights

MYSQL_VERSION

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
MYSQL_VERSION_MAJOR=8
22
MYSQL_VERSION_MINOR=0
3-
MYSQL_VERSION_PATCH=37
4-
MYSQL_VERSION_EXTRA=-29
3+
MYSQL_VERSION_PATCH=39
4+
MYSQL_VERSION_EXTRA=-30
55
MYSQL_VERSION_STABILITY="LTS"

build-ps/debian/percona-server-server.postinst

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -46,22 +46,27 @@ check_exit_status() {
4646
# If the file has been changed, append telemetry rules to the file
4747
# If unchanged, install the new apparmor profile
4848
check_apparmor_files() {
49-
if ! diff -q /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/old_apparmor >/dev/null; then
50-
sed -i 's: # Site-specific additions and overrides. See local/README for details.::' /etc/apparmor.d/usr.sbin.mysqld
51-
sed -i 's: #include <local/usr.sbin.mysqld>::' /etc/apparmor.d/usr.sbin.mysqld
52-
sed -i '$ s/}//' /etc/apparmor.d/usr.sbin.mysqld
53-
echo "# Allow access to PS telemetry directory" >> /etc/apparmor.d/usr.sbin.mysqld
54-
echo " /usr/local/percona/telemetry/ps/ rw," >> /etc/apparmor.d/usr.sbin.mysqld
55-
echo " /usr/local/percona/telemetry/ps/** rw," >> /etc/apparmor.d/usr.sbin.mysqld
56-
echo "" >> /etc/apparmor.d/usr.sbin.mysqld
57-
echo " # Site-specific additions and overrides. See local/README for details." >> /etc/apparmor.d/usr.sbin.mysqld
58-
echo " #include <local/usr.sbin.mysqld>" >> /etc/apparmor.d/usr.sbin.mysqld
59-
echo "}" >> /etc/apparmor.d/usr.sbin.mysqld
60-
sed -r -i ':a; /^\s*$/ {N;ba}; s/( *\n *){2,}/\n/' /etc/apparmor.d/usr.sbin.mysqld
61-
rm -f /etc/apparmor.d/usr.sbin.mysqld.in2
62-
else
63-
mv -f /etc/apparmor.d/usr.sbin.mysqld.in2 /etc/apparmor.d/usr.sbin.mysqld
64-
fi
49+
TA_EXISTS=$(grep -c "telemetry" /etc/apparmor.d/usr.sbin.mysqld) 2> /dev/null || true
50+
if [ "$TA_EXISTS" -eq 0 ]; then
51+
if ! diff -q /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/old_apparmor >/dev/null; then
52+
sed -i 's: # Site-specific additions and overrides. See local/README for details.::' /etc/apparmor.d/usr.sbin.mysqld
53+
sed -i 's: #include <local/usr.sbin.mysqld>::' /etc/apparmor.d/usr.sbin.mysqld
54+
sed -i '$ s/}//' /etc/apparmor.d/usr.sbin.mysqld
55+
echo "# Allow access to PS telemetry directory" >> /etc/apparmor.d/usr.sbin.mysqld
56+
echo " /usr/local/percona/telemetry/ps/ rw," >> /etc/apparmor.d/usr.sbin.mysqld
57+
echo " /usr/local/percona/telemetry/ps/** rw," >> /etc/apparmor.d/usr.sbin.mysqld
58+
echo "" >> /etc/apparmor.d/usr.sbin.mysqld
59+
echo " # Site-specific additions and overrides. See local/README for details." >> /etc/apparmor.d/usr.sbin.mysqld
60+
echo " #include <local/usr.sbin.mysqld>" >> /etc/apparmor.d/usr.sbin.mysqld
61+
echo "}" >> /etc/apparmor.d/usr.sbin.mysqld
62+
sed -r -i ':a; /^\s*$/ {N;ba}; s/( *\n *){2,}/\n/' /etc/apparmor.d/usr.sbin.mysqld
63+
rm -f /etc/apparmor.d/usr.sbin.mysqld.in2
64+
else
65+
mv -f /etc/apparmor.d/usr.sbin.mysqld.in2 /etc/apparmor.d/usr.sbin.mysqld
66+
fi
67+
else
68+
rm -f /etc/apparmor.d/usr.sbin.mysqld.in2
69+
fi
6570
}
6671

6772

@@ -211,9 +216,10 @@ EOF
211216
update-alternatives --force --install /etc/mysql/my.cnf my.cnf "/etc/mysql/mysql.cnf" 300
212217
if [ -f "/etc/apparmor.d/usr.sbin.mysqld" ]; then
213218
check_apparmor_files
219+
else
220+
mv -f /etc/apparmor.d/usr.sbin.mysqld.in2 /etc/apparmor.d/usr.sbin.mysqld 2> /dev/null || true
214221
fi
215222
rm -f /etc/apparmor.d/old_apparmor
216-
mv -f /etc/apparmor.d/usr.sbin.mysqld.in2 /etc/apparmor.d/usr.sbin.mysqld 2> /dev/null || true
217223
if aa-status --enabled 2>/dev/null; then
218224
apparmor_parser -r -T -W /etc/apparmor.d/usr.sbin.mysqld 2>/dev/null || true
219225
fi

build-ps/percona-server-8.0_builder.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,7 @@ install_deps() {
511511
yum -y install centos-release-stream
512512
switch_to_vault_repo
513513
yum -y install gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-binutils gcc-toolset-12-annobin-annocheck gcc-toolset-12-annobin-plugin-gcc
514+
yum -y install gcc-toolset-12-libatomic-devel
514515
if [ x"$ARCH" = "xx86_64" ]; then
515516
yum -y remove centos-release-stream
516517
fi
@@ -519,6 +520,7 @@ install_deps() {
519520
yum -y install libtirpc-devel
520521
yum -y install gflags-devel
521522
yum -y install gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-binutils gcc-toolset-12-annobin-annocheck gcc-toolset-12-annobin-plugin-gcc
523+
yum -y install gcc-toolset-12-libatomic-devel
522524
if [ x"$ARCH" = "xx86_64" ]; then
523525
pushd /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/plugin/
524526
ln -s annobin.so gcc-annobin.so
@@ -557,6 +559,7 @@ install_deps() {
557559
apt-get -y install curl bison cmake perl libssl-dev libaio-dev libldap2-dev libwrap0-dev gdb unzip gawk
558560
apt-get -y install libmecab-dev libncurses5-dev libreadline-dev libpam-dev zlib1g-dev libcurl4-openssl-dev
559561
apt-get -y install libldap2-dev libnuma-dev libjemalloc-dev libc6-dbg valgrind libjson-perl libsasl2-dev patchelf
562+
apt-get -y install libatomic1
560563
if [ x"${DIST}" = xfocal -o x"${DIST}" = xhirsute -o x"${DIST}" = xbullseye -o x"${DIST}" = xjammy -o x"${DIST}" = xbookworm -o x"${DIST}" = xnoble ]; then
561564
apt-get -y install python3-mysqldb
562565
else

build-ps/rpm/mysql-5.7-sharedlib-rename.patch

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -305,17 +305,19 @@
305305
ENDIF()
306306
--- testclients/CMakeLists.txt
307307
+++ testclients/CMakeLists.txt
308-
@@ -23,9 +23,9 @@
308+
@@ -24,11 +24,11 @@
309309
ADD_WSHADOW_WARNING()
310310

311311
MYSQL_ADD_EXECUTABLE(mysql_client_test mysql_client_test.cc COMPONENT Test)
312312
-TARGET_LINK_LIBRARIES(mysql_client_test perconaserverclient extra::rapidjson)
313313
+TARGET_LINK_LIBRARIES(mysql_client_test mysqlclient extra::rapidjson)
314314

315315
IF(WITH_UNIT_TESTS)
316-
MYSQL_ADD_EXECUTABLE(bug25714 bug25714.cc SKIP_INSTALL)
317-
- TARGET_LINK_LIBRARIES(bug25714 perconaserverclient)
318-
+ TARGET_LINK_LIBRARIES(bug25714 mysqlclient)
316+
MYSQL_ADD_EXECUTABLE(bug25714 bug25714.cc
317+
SKIP_INSTALL
318+
EXCLUDE_FROM_PGO
319+
- LINK_LIBRARIES perconaserverclient)
320+
+ LINK_LIBRARIES mysqlclient)
319321
ENDIF()
320322
--- unittest/gunit/group_replication/CMakeLists.txt
321323
+++ unittest/gunit/group_replication/CMakeLists.txt

cmake/copy_custom_library.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ STRING(REPLACE "patchelf" "" PATCHELF_VERSION "${PATCHELF_VERSION}")
5757

5858
IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND
5959
PATCHELF_VERSION VERSION_LESS "0.14.5")
60-
SET(PATCHELF_PAGE_SIZE_ARGS --page-size ${CPU_PAGE_SIZE})
60+
SET(PATCHELF_PAGE_SIZE_ARGS --page-size 65536)
6161
ENDIF()
6262

6363
# Patch RPATH so that we find NEEDED libraries at load time.

cmake/copy_openssl_binary.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ IF(LINUX)
5757

5858
IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND
5959
PATCHELF_VERSION VERSION_LESS "0.14.5")
60-
SET(PATCHELF_PAGE_SIZE_ARGS --page-size ${CPU_PAGE_SIZE})
60+
SET(PATCHELF_PAGE_SIZE_ARGS --page-size 65536)
6161
ENDIF()
6262

6363
EXECUTE_PROCESS(

cmake/googletest.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
# along with this program; if not, write to the Free Software
2222
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2323

24-
SET(GOOGLETEST_RELEASE googletest-release-1.12.0)
24+
SET(GOOGLETEST_RELEASE googletest-1.14.0)
2525
SET(GMOCK_SOURCE_DIR
2626
${CMAKE_SOURCE_DIR}/extra/googletest/${GOOGLETEST_RELEASE}/googlemock)
2727
SET(GTEST_SOURCE_DIR

cmake/install_macros.cmake

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -648,7 +648,6 @@ FUNCTION(COPY_OPENSSL_BINARY executable_full_filename
648648
-DOPENSSL_VERSION="${OPENSSL_VERSION}"
649649
-DINSTALL_PRIV_LIBDIR="${INSTALL_PRIV_LIBDIR}"
650650
-DPATCHELF_EXECUTABLE="${PATCHELF_EXECUTABLE}"
651-
-DCPU_PAGE_SIZE="${CPU_PAGE_SIZE}"
652651
-DBUILD_IS_SINGLE_CONFIG="${BUILD_IS_SINGLE_CONFIG}"
653652
-DCMAKE_GENERATOR="${CMAKE_GENERATOR}"
654653
-DCMAKE_SYSTEM_PROCESSOR="${CMAKE_SYSTEM_PROCESSOR}"
@@ -755,7 +754,6 @@ FUNCTION(COPY_CUSTOM_SHARED_LIBRARY library_full_filename subdir
755754
-Dlibrary_version="${library_version}"
756755
-Dsubdir="${subdir}"
757756
-DPATCHELF_EXECUTABLE="${PATCHELF_EXECUTABLE}"
758-
-DCPU_PAGE_SIZE="${CPU_PAGE_SIZE}"
759757
-DCMAKE_SYSTEM_PROCESSOR="${CMAKE_SYSTEM_PROCESSOR}"
760758
-P ${CMAKE_SOURCE_DIR}/cmake/copy_custom_library.cmake
761759

0 commit comments

Comments
 (0)