Both to:
1) Save infractsructure resources
As far as I know we don't ship %{ix86} variants of this package anywhere.
2) Workaround FTBFS on i686,
which results in the whole build task to be unsuccessful
Explanation for removed notes follow:
| * Enable creation of the log file by logrotate (needed since
| /var/log/ isn't writable by mysql user); and set the same 640
| permissions we normally use.
This is an ancient artefact.
It originates in this commit from 2012 in the 'mysql' package in Fedora:
https://src.fedoraproject.org/rpms/mysql/c/d3bdaa4a?branch=rawhide
That was at the time, when the DB log resided directly in '/var/log/', rather than '/var/log/some-dir-specific-for-the-DB/'.
Since that is no longer the case, the 'create 600 mysql mysql' directive is no longer necessary.
| * Comment out the actual rotation commands, so that user must edit
| the file to enable rotation. This is unfortunate, but the fact
| that the script will probably fail without manual configuration
| (to set a root password) means that we can't really have it turned
| on by default. Fortunately, in most configurations the log file
| is low-volume and so rotation is not critical functionality.
This is no longer true.
Since MariaDB 10.4, which introduced authentication via the UNIX socket,
the 'root' and 'mysql' users can authenticate without login and password.
So we can go back to using 'mysqladmin', or 'mariadb-admin' in this case, to flush logs
| See discussions at RH bugs 799735, 547007
| * Note they are from Fedora 15 / 16
I found no more useful information there. Only information already mentioned in other notes here.
| Update 3/2017
| * it would be big unexpected change for anyone upgrading, if we start shipping it now.
| Maybe it is good candidate for shipping with MariaDB 10.2 ?
Introduction of MariaDB 10.11 is the perfect time.
| * the 'mysqladmin flush logs' doesn´t guarantee, no entries are lost
| during flushing, the operation is not atomic.
| We should not ship it in that state
True, however, no one likely cares about that, in reality, since those logs don't hold any journal-like entries.
Explained here:
https://github.com/MariaDB/server/pull/1556#issuecomment-941886220
| Update 6/2018
| * the SIGHUP causes server to flush all logs. No password admin needed, the only constraint is
| beeing able to send the SIGHUP to the process and read the mysqld pid file, which root can.
| * Submited as PR: https://github.com/MariaDB/server/pull/807
It has been dicussed on the upstream thoroughly and was found far from ideal.
Now, that we can use 'mysqladmin', or 'mariadb-admin' in this case, safely again,
there's no argument to keep using the PID file for flushing logs.
| Update 02/2021
| * Enhance the script as proposed in:
| https://mariadb.com/kb/en/rotating-logs-on-unix-and-linux/
Enhanced again now. Significantly this time, however with a vision that the values will become an OS-independent defaults.
| * Discussion continues in:
| https://jira.mariadb.org/browse/MDEV-16621
Discussion finished.
Better start a new one, if needed.
Revert "Introduce the script for generating sources tarball without a code under a license which was not yet approved for Fedora or RHEL"
This reverts commit 7f8a0e15a6.
Note: MariaDB upstream removed TokuDB SE sources in 10.6.0
Fedora commit: be7c99651a
I've encountered this strange behaviour, staring with MariaDB 10.5.20.
The SPIDER tests, and only them, started to fail in 100% cases on all arches
with wide range of "no space left on device" like errors.
This is interesting, as simmilar issues occured before
only on specific arches or build systems.
I've thought that maybe the full suite, which run before the spider tests,
have left over some data in the memory which would leave less space for the
spider tests.
However swapping order - running the spider test first and the full suite
later didn't help anyhow. The spider tests failed rightaway.
Also, it's interesting that running just the main suite in memory is possible.
This observation should rule out changes in the build system (lowering the
memory limits for builders), as I'd expect that the main suite woould have much
bigger memory need than the spider tests.
--
This leads to a possibility that there is actually a bug in the spider engine
or tests, which cause the unexpected larger memory consumption.
This should be examined further. Sadly I don't have capacity for it now.
Related: RHEL-8411
The '%cmake' RPM macro in Fedora actually expands to:
| ...
| /usr/bin/cmake \
| -S "." \
| -B "redhat-linux-build" \
| ...
So in this case the source patch was specified twice.
First in the macro with the '-S' option and second time outside of the macro,
in the SPECfile, without the '-S' option.
CMake upstream declares that:
| This has never been officially documented or supported,
| but older versions accidentally accepted multiple source paths
| and used the last path specified. Update scripts to avoid
| passing multiple source path arguments.
https://cmake.org/cmake/help/v3.23/release/3.23.html#deprecated-and-removed-features
This was discovered as CMake upstream implemented a change to the 3.23.0-rc2 release
that changed this behavior and it broke many Fedora packages that used this
double source path definition.
See rhbz#2057738 to see how build behaved
After the CMake upstream got aware of what problems it caused in Fedora,
they opened a merge request to restore the behavior to the old one,
but kept the warnings that that is an unsupported and problematic behavior:
https://gitlab.kitware.com/cmake/cmake/-/issues/23334
---
As for today, this issue is still not yet fully resolved.
- The CMake maintainers in Fedora haven't rebased the package to 3.23-1 release, so it is still broken
- Affected packages in Fedora should find a way to stop using this unsupported behavior
- The double '-S' argument passing should be marked as problematic too, in the exact same way
https://gitlab.kitware.com/cmake/cmake/-/issues/23334#note_1159258
- A change to the %cmake Fedora RPM macro might be in play, so it won't force a source path
https://gitlab.kitware.com/cmake/cmake/-/issues/23334#note_1159258
I opened a BZ #2079833 to track the progress of the solution by CMake maintainers
--
Related: #2092370
The 'mariadb-fips.patch' patch has to be applied conditionally. It will FTBFS on releases without OpenSSL 3.
---
/builddir/build/BUILD/mariadb-10.5.15-downstream_modified/mysys_ssl/my_md5.cc: In function 'void md5_init(EVP_MD_CTX*)':
/builddir/build/BUILD/mariadb-10.5.15-downstream_modified/mysys_ssl/my_md5.cc:56:9: error: 'EVP_MD_fetch' was not declared in this scope; did you mean 'EVP_MD_flags'?
56 | md5 = EVP_MD_fetch(NULL, "MD5", "fips=no");
| ^~~~~~~~~~~~
| EVP_MD_flags
/builddir/build/BUILD/mariadb-10.5.15-downstream_modified/mysys_ssl/my_md5.cc:63:3: error: 'EVP_MD_free' was not declared in this scope; did you mean 'EVP_MD_type'?
63 | EVP_MD_free(md5);
| ^~~~~~~~~~~
| EVP_MD_type
gmake[2]: *** [mysys_ssl/CMakeFiles/mysys_ssl.dir/build.make:149: mysys_ssl/CMakeFiles/mysys_ssl.dir/my_md5.cc.o] Error 1
--
Related: #2092370
Logrotate patch rebased onto upstream commit:
008c02c987
Groonga patch upstreamed:
045f5f7b10
OpenSSL 3 patch rebased onto upstream commit:
be1d965384
OpenSSL 3 CMake condition reverted - it should be only applied to series without OpenSSL 3 patch:
c9beef4315
Full testsuite success on a Fedora Rawhide scratch build,
setting "last_tested_version" to 10.5.15 so only the "main" test suite will be run on subsequent
builds of the same MariaDB release
--
Related: #2092370
Issues Fixed in MariaDB 10.5.14
Reolves: #2083371#2068219
Issues Fixed in MariaDB 10.5.15
Resolves: #2055607
OpenSSL 3.0.0+ does not support EVP_MD_CTX_FLAG_NON_FIPS_ALLOW any longer.
In OpenSSL 1.1.1 the non FIPS allowed flag is context specific, while
in 3.0.0+ it is a different EVP_MD provider.
Resolves: #2050541
This issue was originally discovered by Annocheck stack-protection test in RHEL 9
Resolves: #2044388
The -DSECURITY_HARDENED is used to force a set of compilation flags for hardening
The issue is that the MariaDB upstream level of hardening is lower than expected by Red Hat
We disable this option to the default compilation flags (which have higher level of hardening) will be used