Commit Graph

643 Commits

Author SHA1 Message Date
Troy Dawson
b6e435b204 Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
2024-10-29 08:51:01 -07:00
Michal Schorm
d01ab2fb1f [8.4.2-4] Bump release for rebuild 2024-08-16 14:38:49 +02:00
Michal Schorm
04e4e506db Fixup for commit: "Split the testsuite into two sub-packages"
When
  %attr(-,mysql,mysql) %{_datadir}/mysql-test
is used,the path, *and everything on it* is added

Only when prepended with '%dir', it won't added anything else than the directory itself

The mistake resulted in all files under
  %attr(-,mysql,mysql) %{_datadir}/mysql-test
to be present in both subpackages 'mysql-test' and 'mysql-test-data'.
2024-08-16 14:34:18 +02:00
Michal Schorm
5b29119758 [8.4.2-3] Bump release for rebuild 2024-08-15 22:44:43 +02:00
Michal Schorm
6d074cbcfe Fixup for commit: "Split the testsuite into two sub-packages"
The 'mysql-test' and 'mysql-test-data' RPMs conflicts because of a '/usr/share/mysql-test' file
2024-08-15 22:44:43 +02:00
Michal Schorm
385ed0623f [8.4.2-2] Bump release for rebuild 2024-08-15 16:51:02 +02:00
Michal Schorm
1825a0420b Use macro %{skiplist} on all possible places 2024-08-15 13:03:33 +02:00
Michal Schorm
7da2842733 Mark additional files correctly as licenses 2024-08-15 13:03:33 +02:00
Michal Schorm
604d16f394 [MTR] Remove the MTR patch regarding the server socket path length
It is not needed (anymore?). The MTR will automatically create a shorter one
if the existing one is too long:
  https://github.com/mysql/mysql-server/blob/trunk/mysql-test/mysql-test-run.pl#L2137
2024-08-15 13:03:33 +02:00
Michal Schorm
148a01af34 [MTR] Limit the number of testsuite execution workers
Explanation of the options per:
https://dev.mysql.com/doc/dev/mysql-server/latest/PAGE_MYSQL_TEST_RUN_PL.html

The MTR_MAX_PARALLEL environment variable, if set, specifies the maximum number
of parallel workers that can be spawned when the --parallel=auto option is specified.
If --parallel=auto is not specified, MTR_MAX_PARALLEL variable has no effect.
2024-08-15 13:03:33 +02:00
Michal Schorm
badd81d2d5 [MTR] Start using '--port-base' option instead of MTR_BUILD_THREAD
Explanation of the options per:
https://dev.mysql.com/doc/dev/mysql-server/latest/PAGE_MYSQL_TEST_RUN_PL.html

--port-base=P
  The value may also be given with the environment variable MTR_PORT_BASE.

  The variable MTR_PORT_BASE is a more logical replacement for the original variable MTR_BUILD_THREAD.
  It gives the actual port number directly (will be rounded down to a multiple of 10).
  If you use MTR_BUILD_THREAD, the port number is found by multiplying this by 10 and adding 10000.

  Specify base of port numbers to be used; a block of 10 will be allocated. P should be divisible by 10;
  if it is not, it will be rounded down. If running with more than one parallel test thread, thread 2
  will use the next block of 10 and so on.

  If the port number is given as auto, which is also the default,
  mysql-test-run.pl will allocate a number unique to this host.

  --port-base was added as a more logical alternative to --build-thread.
  If both are used, --port-base takes precedence.
2024-08-15 13:03:33 +02:00
Michal Schorm
9a8f94a4f3 [MTR] Update the values of the MTR up to the current and long-term observed needs
Explanation of the options per:
https://dev.mysql.com/doc/dev/mysql-server/latest/PAGE_MYSQL_TEST_RUN_PL.html

--max-test-fail=N
  Stop execution after the specified number of tests have failed, to avoid
  using up resources (and time) in case of massive failures. retries are not
  counted. Defaults to 10, set to 0 for no limit.

--retry=N
  If a test fails, it is retried up to a maximum of N runs, but will terminate
  after 2 failures. Default is 3, set to 1 or 0 for no retries. This option has
  no effect unless --force is also used; without it, test execution will terminate
  after the first failure.
2024-08-15 13:03:33 +02:00
Michal Schorm
ff887ad643 [MTR] Split line into several for better readability 2024-08-15 13:03:33 +02:00
Michal Schorm
5bed6db7b4 Sort file listing of various sub-packages 2024-08-15 13:03:33 +02:00
Michal Schorm
21e3eb9a35 Sort file listing of the '*-test' sub-package 2024-08-15 13:03:33 +02:00
Michal Schorm
0422db7c11 Split the testsuite into two sub-packages
Small sub-package 'mysql-test' will remain architecture dependent
and will continue to carry all architecture dependent parts of the testsuite.

New huge sub-package 'mysql-test-data' will hold all of the
achitecture independent data and will be built as 'noarch'.

This will save over 1GB of redundant data per each package build.
2024-08-15 13:03:33 +02:00
Michal Schorm
121323a08d Rebase to 8.4.2 2024-08-07 23:48:31 +02:00
Jakub Heger
5e7083129e Setup gating for c10s 2024-07-31 13:23:59 +02:00
Michal Schorm
d8f302a634 Bump version for rebuild 2024-07-24 10:25:59 +02:00
Michal Schorm
b41c2f81e8 Make 'mysql8.4' the distribution default 2024-07-24 08:06:35 +02:00
Michal Schorm
77ed2ab2e2 Remove the un-approved license 'Artistic-1.0-Perl' from the license field
Two reasons:

1) This license is included due to the Perl module 'Expect'. However I wasn't able to actually
   locate it's sources in the MySQL source tarball. I believe it's a remnant of a code that was
   removed in the past.
   I've asked the MySQL upstream to verify my claim and either disprove it or fix the LICENSE
   file in wihch they mention it.

   For this reason I believe the 'GPL-1.0-or-later' also does not apply, so I'm removing it too.
   I'll put the 'GPL-1.0-or-later' should upstream disprove my findings.

2) As per clarification on the Fedora License mailing list:
   https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/message/LBAZXYBAA4YHJ2GEWEP5S7QXVOB76MUR/
  "
  If your package is licensed under a known choice of two licenses and
  one is a "good" license and one is a "bad" license, then the License:
  field must reflect the "good" license only. This is highly uncommon in
  Fedora packages apart from the case of Perl modules dual licensed
  under the GPL and the Artistic License 1.0. In that case you must pick
  the appropriate identifier for the GPL side (which in Perl modules
  will typically map to SPDX "GPL-1.0-or-later"). You are encouraged to
  include a comment memorializing this, for example:
  \# Upstream project is dual licensed GPL | Artistic 1.0
  "
2024-07-22 13:34:45 +02:00
Michal Schorm
6f668c197a Remove usage of OpenSSL Engine
After discussion with change owner, I've prepared the correct solution.

There is a difference between Fedora and CentOS Stream 10 / RHEL 10:
- in CentOS Stream 10 / RHEL 10, the change is self-contained by the
  'openssl-devel' package itself, which now defines OPENSSL_NO_ENGINE
  in the headers so new application builds don't use engine at all
- in Fedora, the headers containing the OPENSSL_NO_ENGINE definition
  are put into a separate sub-package 'openssl-devel-engine', instead
  of being put into the 'openssl-devel'
2024-07-22 13:34:39 +02:00
Michal Schorm
1e143dc511 Rename the SPECfile to match the version of the package 2024-07-19 14:04:58 +02:00
Michal Schorm
a8fe19a4b8 [Fix for Fedora Change] - remove usage of OpenSSL Engine
https://fedoraproject.org/wiki/Changes/OpensslDeprecateEngine
https://fedoraproject.org/wiki/Changes/OpensslNoEngine
2024-07-18 18:34:18 +02:00
Michal Schorm
6f1be6b0e2 Rebase to 8.4.0
mysql-c99.patch
- directory "plugin/innodb_memcached" no longer exists

boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch
- upstreamed

ExcludeArch: %{ix86}
- MySQL 8.4 is not supported on 32-bit architectures

%ifnarch aarch64 s390x
  BuildRequires:    libquadmath-devel
%endif
- sub-package of gcc
- Only available on some architectures

%{_bindir}/mysql_upgrade
- was deprecated in 8.0
- now no longer available

%global runselftest 0
- disable testsuite during development time,
  takes ages to complete on s390x and produces random failures on ppc64le
- I've checked that the result is sane
2024-07-16 10:09:52 +02:00
Michal Schorm
2652580919 Merge remote-tracking branch 'fedora/rawhide' into c10s 2024-07-16 09:26:01 +02:00
Release Configuration Management
1e7a147491 New branch setup 2024-07-08 04:30:27 -04:00
Michal Schorm
e8a0d90f0d Update skipped tests list for ppc64le 2024-06-13 16:48:34 +02:00
Michal Schorm
a292636c7c Update skipped tests list for ppc64le 2024-06-13 10:07:03 +02:00
Michal Schorm
adc4c185e1 Update skipped tests list for ppc64le 2024-06-12 12:40:37 +02:00
Michal Schorm
4f655987d2 Bump release for package rebuild 2024-06-12 07:52:36 +02:00
Michal Schorm
8cec706852 Testsuite verified for 8.0.37
- testsuite enabled

- testcase checking disabled, as it produces huge amount of errors before each test even begin
  these errors seems to be fully non-deterministic (random)
2024-06-12 07:48:21 +02:00
Michal Schorm
86b98a4de5 Enable LTO 2024-06-11 01:55:39 +02:00
Michal Schorm
5f8aa3c33c Added support for various authentication algorithms 2024-06-11 01:55:39 +02:00
Michal Schorm
7831572b3f Enable building FIDO plugin
The FIDO authentication plugin is set to OFF by default, for some reason,
even when the library is correctly found during the build process.
2024-06-10 23:21:59 +02:00
Michal Schorm
011988191e Remove unnecessary BuildRequires
These packages are either not needed, or are brought in anyway by their *-devel sub-packgages.

It is possible to check whether the MySQL miss something by searching through the CMake checks, for "EXECUTABLE-NOTFOUND" keyword.
Some are expected to be missing. e.g. Git.
We don't want the MySQL to try to additional sources from web from git during compilation (not like it can anyway, but without the git, CMake won't even try)

List of currently not found executables, for future reference:
  GIT_EXECUTABLE:FILEPATH=GIT_EXECUTABLE-NOTFOUND
  DOXYGEN_EXECUTABLE:FILEPATH=DOXYGEN_EXECUTABLE-NOTFOUND
  DOXYGEN_DOT_EXECUTABLE:FILEPATH=DOXYGEN_DOT_EXECUTABLE-NOTFOUND
  CTAGS_EXECUTABLE:FILEPATH=CTAGS_EXECUTABLE-NOTFOUND
  PATCHELF_EXECUTABLE:FILEPATH=PATCHELF_EXECUTABLE-NOTFOUND
2024-06-10 13:22:58 +02:00
Michal Schorm
f9c8a7626a [bundled libraries fix] remove unused bundles 2024-06-10 13:22:58 +02:00
Michal Schorm
15b46299cf [bundled libraries fix] The 'rapidjson' library has to be bundled.
When you try to use system version of the library, following error emerges:
| -- Performing Test HAVE_RAPIDJSON_WITH_STD_REGEX
| -- Performing Test HAVE_RAPIDJSON_WITH_STD_REGEX - Failed
| CMake Error at cmake/rapidjson.cmake:114 (MESSAGE):
|   System rapidjson lacks some fixes required for support of regular
|   expressions.  See extra/RAPIDJSON-README for details.
| Call Stack (most recent call first):
|   CMakeLists.txt:1952 (MYSQL_CHECK_RAPIDJSON)
| -- Configuring incomplete, errors occurred!

I specifically chose not to specify version in the bundled(rapidjson),
to avoid confusion that it's the same version as of the system variant of the library from package 'rapidjson'
2024-06-09 23:10:30 +02:00
Michal Schorm
ff51e1d0f5 Bump release for package rebuild 2024-06-09 17:37:20 +02:00
Michal Schorm
5860b59256 Explicitly state 'zlib' and 'rapidjson' bundling status
Both are set to 'bundled' by default !

We really want to avoid bundling zlib.
On top of that, there is currently a problem with the bundled zlib, which results in a linker error during compilation.

We want to un-bundle rapidjson too, but:
| -- Performing Test HAVE_RAPIDJSON_WITH_STD_REGEX
| -- Performing Test HAVE_RAPIDJSON_WITH_STD_REGEX - Failed
| CMake Error at cmake/rapidjson.cmake:114 (MESSAGE):
|   System rapidjson lacks some fixes required for support of regular
|   expressions.  See extra/RAPIDJSON-README for details.
| Call Stack (most recent call first):
|   CMakeLists.txt:1952 (MYSQL_CHECK_RAPIDJSON)
| -- Configuring incomplete, errors occurred!
needs further investigation.
2024-06-09 17:32:26 +02:00
Lars Tangvald
6cd7eae323 Upgrade to MySQL 8.0.37 2024-05-27 13:29:35 +02:00
Michal Schorm
430b276312 Fix my.cnf dependency
Installation path macros are not allowed in file dependencies.
Starting with F40, these break flatpak builds entirely because
dnf5 only recognizes file deps in /etc, /usr/bin, and /usr/sbin,
not /app/etc.  At this point, mariadb-connector-c-config is the
sole provider of my.cnf.

https://docs.fedoraproject.org/en-US/packaging-guidelines/#_file_and_directory_dependencies

--

Based on commit 45b40b2 in rpms/mariadb10.11 authored by Yaakov Selkowitz on Apr 8 2024
45b40b2e9c
2024-04-17 01:57:15 +02:00
Lukas Javorsky
164e60d4fa Add gating.yaml, so it's not missed in the next branching of RHEL 2024-04-15 13:34:54 +00:00
Michal Schorm
c3fa8c48c1 Whitespace fix 2024-03-07 12:44:54 +01:00
Michal Schorm
06fc78c1d7 Remove architectures which are not supported by Fedora from conditionals 2024-03-06 10:35:53 +01:00
Michal Schorm
cc8a02280b Remove old code related 32-bit ARM architectures, which is not supported by Fedora anymore
https://fedoraproject.org/wiki/Changes/RetireARMv7
2024-03-05 14:34:19 +01:00
Honza Horak
af786c40e2 Do not provide community-mysql* symbols if alternative
When building the package as alternative (non default) version
for a distro, we should not have provides that are virtual and
without version. Otherwise, packages that depend on these
virtual provides (like build requires of perl-DBD-MySQL),
could install the non-default version by accident.
2024-02-19 16:32:38 +01:00
Lukas Javorsky
de06e0146b Renaming macro names to be more descriptive 2024-02-07 11:51:00 +00:00
Lukas Javorsky
178aa67c03 Bump the obsolete release number, due to high number of rebuilds 2024-02-07 09:43:43 +00:00
Lukas Javorsky
59a230df60 Apply demodularization 2024-02-06 13:22:59 +00:00