Commit Graph

955 Commits

Author SHA1 Message Date
Pavol Sloboda
ca3eacfce0 Fixed up the gating.yaml file to include rhel-10 specifically and to
include the new tests from the mariadb55 repo for mariadb11.8.

Also added the tests from the centos-stream repository.
2025-11-11 10:41:45 +01:00
Pavol Sloboda
20c96b6cb3 Updated the rh-skipped-test-* based on the latest builds with full test
suite

This caused the skipped lists to be more spread out from the base
skipped list thus allowing us to run more tests on individual
architectures instead of skipping them for all.
2025-11-04 12:14:14 +01:00
Pavol Sloboda
1f4e432289 [Packaging improvement] Fixed the changelog to be in chronological order
and the latest release bump entry to have the correct day of the week
associated with the date.
2025-11-04 12:14:14 +01:00
Pavol Sloboda
209265af8e [Image mode] Updated the sysusers.d config usage to accomodate for the
older version of rpm in RHEL10 as it does not create the useradd and
groupadd %pre steps and they need to be provided using the
%sysusers_create_compat macro. This creates a need for a new
BuildRequires and the usage fo the %{sysusers_requires_compat} macro.

Since the %sysusers_create_compat macro expects a file to be present
during macro expansion we could either use a Source such as the one used
for the tmpfiles.d/mariadb.conf or cretae the file during macro
expansion. I chose the latter as it enables us to use %{dbdatadir} to
store the mariadb home directory and specify it to the config this way.

This also prompted a rewrite of the previous sysusers.d config as to not
duplicate the file content definitions. I am using the sysusers_contents
variable for this.
2025-11-04 12:14:14 +01:00
Pavol Sloboda
94796336e7 [PCRE] started bunding pcre with mariadb again because the one we have
in RHEL10 is at version 10.44 and mariadb11.8.3 requires pcre 10.45

Also added a patch to source the pcre from a directory during the build
instead of downloading it using git as the builds do not have access to
the internet
2025-11-04 12:14:14 +01:00
Lukas Javorsky
af8a124509 Revert to soft static allocation of MariaDB and MySQL sysusers.d files
Resolves: RHEL-119790

Related PR for `setup` RPM: https://src.fedoraproject.org/rpms/setup/pull-request/30

Reverts commit: 3577147

The MariaDB and MySQL sysusers.d files has to use soft static allocation in order to correctly handle the MariaDB PAM v2 plugin which utilizes setuid-to-root binary "/usr/lib64/mariadb/plugin/auth_pam_tool_dir/auth_pam_tool".
2025-11-04 12:05:11 +01:00
Nikola Davidova
1aba859e0d [tmpfiles.d] Remove duplicate tmpfiles.d entry 2025-11-04 12:05:11 +01:00
Nikola Davidova
ed01148ea4 Bump release for tmpfiles.d change 2025-11-04 12:05:11 +01:00
Nikola Davidova
7b4bc1f73f [tmpfiles.d] Extend tmpfiles.d rules for ImageMode
After switching to a container image with bootc switch, systemd failed to start
MariaDB because required runtime directories were missing or had wrong permissions.

Adding tmpfiles entries with correct ownership ensures systemd creates the
necessary directories at boot and gives them correct permissions, allowing the
MariaDB daemon to start.

"In a container build, you can write to '/var'. However, this will have a semantic
similar to a Dockerfile VOLUME instruction; the content from the container image
is only copied at initial install time. Any subsequent system updates will not
by default see new changes.

It's recommended instead to use e.g. systemd tmpfiles.d as a way to ensure that
newly added state "reconciles" across upgrades as desired."

https://docs.fedoraproject.org/en-US/bootc/filesystem/#_filesystem_bind_mount_var

This covers all the files in /var sicne we only ship these as can be seen here:
find | grep /var/
./mariadb11.8-server-11.8.2-3.fc43.x86_64.rpm/var/lib
./mariadb11.8-server-11.8.2-3.fc43.x86_64.rpm/var/lib/mysql
./mariadb11.8-server-11.8.2-3.fc43.x86_64.rpm/var/log
./mariadb11.8-server-11.8.2-3.fc43.x86_64.rpm/var/log/mariadb

The '/usr' directory is not persistent therefore this change does not affect it
and the '/etc' directory is merged in a different way and also not under the
'mysql:mysql' user.
2025-11-04 12:05:11 +01:00
Pavol Sloboda
4bf8f880be Reset the changelog to mark the begining of the Mariadb11.8
package in RHEL10
2025-11-04 12:05:11 +01:00
Pavol Sloboda
a4a7efce0f Added the source for bundled fmt as we use fmt-11.1.4
and RHEL10 only has fmt-10.2.1 therefore we need to bundle it
in RHEL
2025-11-04 12:04:24 +01:00
Pavol Sloboda
aa732aea0c Merge remote-tracking branch 'fedora/rawhide' into import_from_fedroa_c10s 2025-10-16 09:17:38 +02:00
Release Configuration Management
7a72273292 New branch setup 2025-10-14 08:56:03 -04:00
Petr Khartskhaev
44408c2780 Bump release for rebuild 2025-09-30 12:27:43 +02:00
Petr Khartskhaev
d39272d1d8 Update unstable tests list 2025-09-30 12:21:57 +02:00
Petr Khartskhaev
def9e70848 Add galera recovery environment variable to service file and move temporary 'wsrep' files to '/run'
This commit fixes two issues:

1. A Fedora downstream one, since 11.6
   (https://jira.mariadb.org/browse/MDEV-19210), MariaDB upstream use
   environment files in their systemd service files to load environment
   variables and pass the arguments '--wsrep-new-cluster' and
   '--wsrep_start_position' when starting the daemon. The Fedora downstream
   service file has been missing the variable for '--wsrep_start_position' since
   it was added into MariaDB upstream in 10.1.15
   (a6816995ee).
   And this Fedora downstream commit adds those missing environment
   variables and their arguments into the service files. After I tested
   it, the recovery of failed nodes works.

2. A MariaDB upstream one, where the temporary 'wsrep' files have
   incorrect SELinux policies set ('mysqld-db-t' instead of
   'mysqld-run-t') because of their parent directories. This occurs
   because their location is tied to the location of 'mysql.sock' in the
   CMake files. As RPMs get built to have 'mysql.sock' in
   '/var/lib/mysql' as opposed to inside '/run' like Debian or Arch, the
   temporary files for the service could not actually be read by the
   service during start-up, resulting in failure as no primary node was
   ever created. Discussion with the MariaDB upstream
   (https://jira.mariadb.org/browse/MDEV-37726) resulted in a patch that
   separates the location of the socket file and the temporary
   environment files into two CMake flags and allows for more flexible
   building of the package. We use this patch temporarily until we
   update to a version with it included.
2025-09-30 12:04:17 +02:00
Pavol Sloboda
8bffe5586b [tests] Updated the rpminspec.yaml to the latest format
to enable the ignoring of badfuncs for the relevant files and functions:
    /usr/bin/resolveip:
      - gethostbyname
      - gethostbyaddr
      - inet_aton
      - inet_ntoa
    /usr/lib*/mariadb/plugin/ha_sphinx.so:
      - inet_addr
And thus enabling the rpminspect badfuncs test to pass without `verify`
outcomes.
2025-08-26 15:51:34 +02:00
Michal Schorm
383bda7890 Bump release for package rebuild 2025-08-12 12:02:20 +02:00
Pavol Sloboda
63b1ca37ba [Fedora Change] [tmt] Migrated from STI test format to tmt
as specified in this fedora change:
https://fedoraproject.org/wiki/Changes/DisableSTI

As STI is being deprecated and disabled in fedora 43, we are migrating
to tmt. For previous fedora releases (f41 and f42) STI test can still be
run as well as tmt tests. Therefore this change can be applied to the as
well.

This required changing the `tests.yml` to an fmf file called `main.fmf`.
I also had to add an exit, with the exit code being the number of the
failing tests, to the `runtest.sh` file.

Also the Makefile is no longer needed as tmt runs without it in this
format

I have also created a small script for the prepare phase, which checks
whether this is the distribution default mariadb package and if not gets
the packages name from the specfile name.

Removed the sourcing of `rhts-environment.sh` as it is not needed for the
tests.

Resolves: RHBZ#2382969
2025-08-12 08:57:21 +02:00
Michal Schorm
042b9de1d7 [rebase][3/3] Rebase to 11.8.3 - Testsuite verification for 11.8.3 2025-08-09 20:21:18 +02:00
Michal Schorm
881afbf96c [rebase][2/3] Rebase to 11.8.3 - Drop upstreamed patch for 'galera_new_cluster'
Revert "[upstream commit] Remove '/usr/bin/galera_new_cluster' when galera building is disabled"
This reverts commit 950a8c759d.
2025-08-09 20:21:18 +02:00
Michal Schorm
d5d7fb23d9 [rebase][1/3] Rebase to 11.8.3 - Rebase
Upstream release notes:
  https://mariadb.com/docs/release-notes/community-server/mariadb-11-8-series/mariadb-11.8.3-release-notes

fixes: rhbz#2386997
2025-08-09 20:20:09 +02:00
Michal Schorm
1a70ba6dd8 Bump release for package rebuild 2025-08-01 10:01:21 +02:00
Michal Schorm
0963c8ec77 [bugfix] Fix the 'Conflicts:' with MySQL packages
The package conflicts between MariaDB and MySQL packages are only set against the un-versioned names.
(the un-versioned names are only provided by the distribution default version)

The conflicts has to be extended to cover the '-any' virtually provided names,
which are provided by all versions of the versioned packages.
2025-08-01 09:58:18 +02:00
Michal Schorm
dad68941ab [SPECfile cleanup] Remove 'Conflicts:' with mysql-embedded-devel
no such MySQL sub-package exists
2025-08-01 09:56:41 +02:00
Pavol Sloboda
e9382b02e6 [CMake] Added the argument specifying the minimum required policy version for
cmake to version 3.5 to comply to this fedora change:
https://fedoraproject.org/wiki/Changes/CMake4.0
and enable us to use CMake4.0 in the future.

Resolves: RHBZ#2380892
2025-07-29 11:12:46 +02:00
Fedora Release Engineering
c70d220c9e Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 21:16:47 +00:00
Pavol Sloboda
b0d82771cf Stopped bundling the fmt library with the package as the fmt library we
have on fedora 43, 42 and 41 is compatible with mariadb at the moment,
therefore the mariadb-libfmt.patch is no longer needed as we can just
use the system fmt package. I have kept the infrastructure as it needs
to be used on rhel as rhel8 and rhel9 dont' have an fmt package and
rhel10s version is too old to be used with this version of mariadb.
2025-07-23 10:54:58 +02:00
Michal Schorm
47a26ba1d8 [testsuite verification] Update skipped tests list for 11.8.2 release 2025-07-23 10:12:14 +02:00
Pavol Sloboda
6a8ffb28b7 [MTR] Renamed the mysql-test directory to mariadb-test
as the mariadb upstream migrated the testsuite from
/usr/share/mysql-test to /usr/share/mariadb-test and changed the scripts
running the test suites to match the new directory. This change has been
discussed with the mariadb upstream and shouldn't break backwards
compatibilty of the package.
2025-07-23 10:12:06 +02:00
Michal Schorm
950a8c759d [upstream commit] Remove '/usr/bin/galera_new_cluster' when galera building is disabled 2025-07-23 10:11:59 +02:00
Pavol Sloboda
6765464f31 Rename the sysuser.d config file from 'mariadb10.11.conf' to 'mariadb.conf'
The MariaDB upstream use the unversioned name 'mariadb.conf'.
In Fedora downstream we swicthed to versioned package layout for MariaDB package,
and we also started to use the versioned mae for the sysusers.d configuration file.

This creates unnecessary divergence from the upstream, while not bringing any value.

In this commit we abandon versioned naming of the sysusers.d file,
as we found no benefit of it.
2025-07-23 10:11:51 +02:00
Pavol Sloboda
80cf16a70b Removed ha_federated.so since ha_federatedx.so serves as the same
purpose and is supposed to a replacement for ha_federated.so
Upstream has opted to change the storage engine from federated to
federatedx as federated is no longer being developed by Oracle and
federatedx is a fork of it that is still being developed and maintained.
More information can be found here:
https://mariadb.com/kb/en/about-federatedx/
2025-07-23 10:11:45 +02:00
Nikola Davidova
93912555dd Replace define with global 2025-07-23 10:11:38 +02:00
Michal Schorm
48a013aec8 Update the names of the SPECfile and RPMLintrc file 2025-07-23 10:11:31 +02:00
Michal Schorm
71e4d2ae03 Rebase to 11.8.2
Disable the SBOM (software bill of materials).
This feature is currently intended only for upstream purposes.

Remove conflicting file parsec.so to avoid clash with MariaDB C Connector
2025-07-23 10:11:23 +02:00
Michal Schorm
bd30527b5b Rebase to 11.4.5 2025-07-23 10:11:16 +02:00
Michal Schorm
1874a7e743 Disable the "distribution default" control variable.
The "distribution default" version is MariaDB 10.11
2025-07-23 10:11:07 +02:00
Michal Schorm
95292b36cc Import content from the mariadb10.11 component - branch rawhide 2025-07-23 10:03:05 +02:00
releng bot
c62fc5a81c Added the README 2025-07-23 07:54:29 +00:00
Pavol Sloboda
01c3ed1a1d Updated the cil selinux rules for galera to install properly
added the missing bracket and removed the illegal . from the name and
replaced it with a _

This issue has been found after recieving a dnf error during
installation of the mariadb-server-galera package:
>>> Scriptlet output:
>>> Close parenthesis without matching open at line 15 of /var/lib/selinux/targeted/tmp/modules/200/mariadb-server-galera/cil
>>> libsemanage.semanage_load_files: Error while reading from file /var/lib/selinux/targeted/tmp/modules/200/mariadb-server-galera/cil. (No such file or directory).
>>> semodule:  Failed!

and the subsequent call of `semodule -lfull | grep galera`
prints nothing and returns 1

The expected output for the installation is to go through normally
without the above mentioned error

And the expected output for `semodule -lfull | grep galera` is:
200 mariadb-server-galera                  cil

and the command returning 0
2025-07-23 09:10:26 +02:00
Michal Schorm
d0ed3f88b5 [SPECfile cleanup] Remove Obsolete from 'mariadb-common' to 'mariadb-libs'
The 'mariadb-libs' sub-package contains the MariaDB client library.
However we don't build or use the 'mariadb-libs' sub-package anymore, since
the client library is shipped by the 'mariadb-connector-c' package instead.

This change was done between MariaDB 10.1 and 10.2, which is more than 7 years ago.

The right way would be to set this Obsolete inside the 'mariadb-connector-c'
package instead, but since it's such an acient artifact, I'll just drop it entirely.

This issue was found by RPMlint:
 | mariadb11.8-common.noarch: W: obsolete-not-provided mariadb11.8-libs
2025-06-17 17:41:10 +02:00
Michal Schorm
f401430d5b [packaging bugfix] Fix undeclared file conflicts with rocksdb-tools
rpmdeplint error:
  mariadb-rocksdb-engine-3:10.11.13-8.fc43.x86_64 provides /usr/bin/sst_dump
  which is also provided by rocksdb-tools-10.1.3-1.fc43.x86_64
2025-06-17 17:41:10 +02:00
Michal Schorm
ff080d1daf [packaging bugfix] The Galera documentation file should only be packaged by the '-server-galera' sub-package
Otherwise the '-common' noarch sub-package would differ on i686,
where we recently disabled the building of Galera.
2025-06-17 17:41:10 +02:00
Pavol Sloboda
c8027d496a [SPECfile enhancement] Added the documentation regarding the 'rocksdb' bundling
- why the version of the bundled rocksdb provided by the mariadb-rocksdb-engine
subpackage is not specified inside the spec file and the info about where the
rough version of rocksdb can be found.
2025-06-16 20:05:12 +02:00
Michal Schorm
68aa608fdb [SPECfile enhancement] Clarify the error message for mismatching PCRE version 2025-06-16 20:05:12 +02:00
Pavol Sloboda
02819ea294 Rebase to 10.11.13
Release notes: https://mariadb.com/kb/en/mariadb-10-11-13-release-notes/
Changlelog: https://mariadb.com/kb/en/mariadb-10-11-13-changelog/

The test 'main.mysql_client_test_nonblock' fails, but only on aarch64.
Related: rhbz#2373007

--

Switch back to the system version of PCRE.
PCRE issue fixed on upstream:
  bc13c8e4ae

--

Resolves: rhbz#2368090
2025-06-16 20:05:12 +02:00
Michal Schorm
e1a265078f [packaging bugfix] Exclude galera specific file from the '-common' sub-package
This file is already packed in 'mariadb-server-galera'.

Removing this file from the '-common' sub-package makes it identical both with
and without galera, wihch is necessary fixup for the previous commit, to keep
the '-common' sub-package 'noarch'
2025-06-16 20:05:12 +02:00
Michal Schorm
2f305d04f2 [packaging bugfix] Disable building of the 'mariadb-server-galera' sub-package on the %{ix86} architectures
Package 'galera', which is a run-time requirement for 'mariadb-server-galera' is no longer built for %{ix86}

Resolves: rhbz#2370439
2025-06-16 20:04:58 +02:00
Pavol Sloboda
498ee13b13 [packaging enahancement] Move the 'wsrep_info.so'
from the 'mariadb-server' to the 'mariadb-server-galera' sub-package,
as it is only used with the galera cluster and therefore it fits into
the '-server-galera' subpackage more.

This also means that the mariadb-server-galera subpackage can no longer be 'noarch'
as this .so file is located in the '%{_libdir}/mariadb/plugin', which is
an arch-specific directory.

More info about the wsrep_info plugin file:
https://mariadb.com/kb/en/wsrep_info-plugin/
2025-06-16 13:49:44 +02:00