Bug 2368742 - Review Request: mariadb11.8 - rebase from 10.11 to 11.8
Summary: Review Request: mariadb11.8 - rebase from 10.11 to 11.8
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Lukas Javorsky
QA Contact: Fedora Extras Quality Assurance
URL: http://mariadb.org/
Whiteboard:
: 2368451 2368733 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-05-27 12:40 UTC by Nikola Davidova
Modified: 2025-06-23 12:42 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
ljavorsk: fedora-review?


Attachments (Terms of Use)
The .spec file difference from Copr build 9092323 to 9183437 (37.04 KB, patch)
2025-06-19 13:19 UTC, Fedora Review Service
no flags Details | Diff

Comment 1 Nikola Davidova 2025-05-27 12:41:50 UTC
*** Bug 2368733 has been marked as a duplicate of this bug. ***

Comment 2 Fedora Review Service 2025-05-27 15:40:55 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9092323
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2368742-mariadb11.8/fedora-rawhide-x86_64/09092323-mariadb11.8/fedora-review/review.txt

Found issues:

- License file welcome_copyright_notice.h is not marked as %license
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text
- Not a valid SPDX expression '( GPL-2.0-only OR Apache-2.0 ) AND ( GPL-2.0-or-later OR Apache-2.0 ) AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-4.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ( GPL-3.0-or-later WITH Bison-exception-2.2 ) AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OpenSSL AND MIT AND OFL-1.1 AND CC0-1.0 AND PHP-3.0 AND PHP-3.01 AND zlib AND dtoa AND FSFAP AND blessing AND Info-ZIP AND Boehm-GC'.
  Read more: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 3 Lukas Javorsky 2025-05-28 10:20:06 UTC
I'll take this as a formal reviewer

Comment 4 Michal Schorm 2025-05-30 12:08:26 UTC
*** Bug 2368451 has been marked as a duplicate of this bug. ***

Comment 5 Lukas Javorsky 2025-06-03 12:38:21 UTC
Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[x]: If your application is a C or C++ application you must list a
     BuildRequires against gcc, gcc-c++ or clang.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig not called in %post and %postun for Fedora 28 and later.
[x]: Package does not contain any libtool archives (.la)
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
     Note: Using prebuilt packages
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Unknown or generated", "GNU General Public License, Version
     2", "BSD 3-Clause License and/or MIT Open Group variant", "GNU Library
     General Public License, Version 2.0", "GNU Lesser General Public
     License v2.1 or later", "Public domain", "GNU General Public License
     v2.0 or later", "GNU General Public License, Version 2 and/or Public
     domain", "GNU General Public License, Version 2 and/or NTP License",
     "GNU Lesser General Public License, Version 2.1", "*No copyright* PHP
     License v3.01", "GNU General Public License", "*No copyright* GNU
     General Public License, Version 2", "BSD 3-Clause License", "GNU
     General Public License, Version 2 [generated file]", "*No copyright*
     GNU Lesser General Public License v2.1 or later", "MIT License", "GNU
     General Public License v3.0 or later", "*No copyright* Public domain",
     "NTP License", "GNU Library General Public License v2 or later", "*No
     copyright* GNU Library General Public License v2 or later", "GNU
     Library General Public License v2 or later and/or PHP License v3.01",
     "BSD 3-Clause License and/or GNU General Public License, Version 2",
     "GNU General Public License, Version 2 and/or zlib License", "BSD
     2-Clause License", "zlib License", "OpenSSL License", "*No copyright*
     Apache License 2.0", "GNU General Public License, Version 2 [obsolete
     FSF postal address (Temple Place)]", "FSF All Permissive License",
     "FSF Unlimited License (with License Retention)", "*No copyright* GNU
     Lesser General Public License, Version 2.1", "*No copyright* MIT
     License", "*No copyright* GNU Library General Public License v2 only",
     "GNU General Public License v2.0 or later and/or GNU Library General
     Public License, Version 2.0", "*No copyright* GNU Library General
     Public License, Version 2.0", "Apache License 2.0". 23108 files have
     unknown license. Detailed output of licensecheck in /var/lib/copr-
     rpmbuild/results/mariadb11.8/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[!]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/selinux/packages,
     /usr/share/selinux, /etc/logrotate.d,
     /usr/share/selinux/packages/targeted, /usr/lib64/security,
     /etc/security
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[!]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 31641 bytes in 3 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Package requires other packages for directories it uses.
[x]: Package does not own files or directories owned by other packages.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: %config files are marked noreplace or the reason is justified.
[x]: Package uses hardened build flags if required to.
     Note: suid files: auth_pam_tool
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: No %config files under /usr.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: Package contains systemd file(s) if in need.
[x]: systemd_post is invoked in %post, systemd_preun in %preun, and
     systemd_postun in %postun for Systemd service files.
     Note: Systemd service file(s) in mariadb11.8-server
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: Reviewer should test that the package builds in mock.
[!]: Uses parallel make %{?_smp_mflags} macro.
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     mariadb11.8-client-utils , mariadb11.8-common , mariadb11.8-errmsg ,
     mariadb11.8-server-galera , mariadb11.8-server , mariadb11.8-oqgraph-
     engine , mariadb11.8-connect-engine , mariadb11.8-backup ,
     mariadb11.8-rocksdb-engine , mariadb11.8-cracklib-password-check ,
     mariadb11.8-gssapi-server , mariadb11.8-pam , mariadb11.8-sphinx-
     engine , mariadb11.8-s3-engine , mariadb11.8-server-utils ,
     mariadb11.8-devel , mariadb11.8-embedded , mariadb11.8-embedded-devel
[x]: Package functions as described.
[x]: Latest version is packaged.
[!]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[!]: Scriptlets must be sane, if used.
[x]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Files in /run, var/run and /var/lock uses tmpfiles.d when appropriate
[x]: Spec use %global instead of %define unless justified.
     Note: %define requiring justification: %define package_version 11.8.1,
     %define majorversion %(echo %{package_version} | cut -d'.' -f1-2 ),
     %define conflict_with_other_streams() %{expand:Provides:
     %{majorname}%{?1:-%{1}}-anyConflicts: %{majorname}%{?1:-%{1}}-any},
     %define mariadbXX_if_default() %{expand:Provides:
     mariadb%{majorversion}%{?1:-%{1}} = %{sameevr}Provides:
     mariadb%{majorversion}%{?1:-%{1}}%{?_isa} = %{sameevr}}, %define
     mariadbXX_if_default() %{nil}, %define
     virtual_conflicts_and_provides() %{expand:%conflict_with_other_streams
     %{**}%mariadbXX_if_default %{**}}
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.

===== EXTRA items =====

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
     Note: Arch-ed rpms have a total of 3348480 bytes in /usr/share
[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[x]: Rpmlint is run on all installed packages.
     Note: No rpmlint messages.



## My Notes

> - The License field must be a valid SPDX expression.
>  Note: Not a valid SPDX expression '( GPL-2.0-only OR Apache-2.0 ) AND (
>  GPL-2.0-or-later OR Apache-2.0 ) AND BSD-2-Clause AND BSD-3-Clause AND
>  CC-BY-4.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND
>  ( GPL-3.0-or-later WITH Bison-exception-2.2 ) AND LGPL-2.0-only AND
>  LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OpenSSL AND
>  MIT AND OFL-1.1 AND CC0-1.0 AND PHP-3.0 AND PHP-3.01 AND zlib AND dtoa
>  AND FSFAP AND blessing AND Info-ZIP AND Boehm-GC'.
>  See: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1

This has been checked manually and verified that Licenses are in correct SPDX format

> [!]: If the package is under multiple licenses, the licensing breakdown
>     must be documented in the spec.

There is no breakdown in the specfile
However, I found the commit [1] that added the licenses, and it explains it all, which is the purpose here.

> [!]: Scriptlets must be sane, if used.

SELinux should be consulted with the SELinux team. We’ve encountered this a few months ago with the credcheck package [2], where they helped to do it by the book.

>[!]: Large documentation must go in a -doc subpackage. Large could be size
>     (~1MB) or number of files.
>     Note: Documentation size is 31641 bytes in 3 files.

Maybe it’s worth to create this subpackage

> [!]: Uses parallel make %{?_smp_mflags} macro.

Is there a reason why it’s not used in [3]?


> Sources

Sources in the fork are not updated, so keep that in mind [4]

> [!]: Package does not include license text files separate from upstream.

It does contain `LICENSE.clustercheck`, but it’s justified [5]

> [x]: Sources are verified with gpgverify first in %prep if upstream
>     publishes signatures.
>    Note: gpgverify is not used.

Upstream doesn’t provide GPG signatures

> mariadb11.8.spec:621: W: unversioned-explicit-provides bundled(rocksdb)

Include the version of rocksdb

> mariadb11.8-server.x86_64: E: script-without-shebang /usr/bin/wsrep_sst_common

This should be resolved. I can also see there has been some tries in the past, but it wasn’t finished [7]

> mariadb11.8-common.noarch: W: obsolete-not-provided mariadb11.8-libs

Are the Obsoletes really necessary here? The problem is that it obsoletes it, but doesn’t Provide it, which may cause some issues in the dnf transaction.

> mariadb11.8-server-galera.x86_64: E: non-readable /etc/sysconfig/clustercheck 640

Are the permissions set correctly here [8]?

> mariadb11.8.spec:1484: W: libdir-macro-in-noarch-package %{pkgname}-common %{_libdir}/%{majorname}/plugin/dialog.so
> mariadb11.8.spec:1485: W: libdir-macro-in-noarch-package %{pkgname}-common %{_libdir}/%{majorname}/plugin/mysql_clear_password.so

The noarch packages should not use the %{_libdir} according to the FHS [9]

> mariadb11.8-sphinx-engine.x86_64: E: explicit-lib-dependency libsphinxclient

This dependency should be handled by dnf automatically according to the Packaging Guidelines [10]. If it’s not, it should be documented so the explicit dependency is justified.

> mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb SSL_CTX_set_cipher_list
> mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-admin SSL_CTX_set_cipher_list
> mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-binlog SSL_CTX_set_cipher_list
> mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-check SSL_CTX_set_cipher_list
> mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-dump SSL_CTX_set_cipher_list
> mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-import SSL_CTX_set_cipher_list
> mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-show SSL_CTX_set_cipher_list
> mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-slap SSL_CTX_set_cipher_list
> mariadb11.8-backup.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-backup SSL_CTX_set_cipher_list
> mariadb11.8-embedded.x86_64: W: crypto-policy-non-compliance-openssl /usr/lib64/libmariadbd.so.19 SSL_CTX_set_cipher_list
> mariadb11.8-server.x86_64: W: crypto-policy-non-compliance-openssl /usr/libexec/mariadbd SSL_CTX_set_cipher_list

Is this at least reported to upstream?

[1] https://src.fedoraproject.org/fork/ndavidov/rpms/mariadb10.11/c/285e6186?branch=rebase_to_11.8

[2] https://bugzilla.redhat.com/show_bug.cgi?id=2358822 

[3] https://src.fedoraproject.org/fork/ndavidov/rpms/mariadb10.11/blob/rebase_to_11.8/f/mariadb11.8.spec#_1037 

[4] https://src.fedoraproject.org/fork/ndavidov/rpms/mariadb10.11/blob/rebase_to_11.8/f/sources#_1 

[5] https://src.fedoraproject.org/fork/ndavidov/rpms/mariadb10.11/blob/rebase_to_11.8/f/mariadb11.8.spec#_196 

[6] https://src.fedoraproject.org/fork/ndavidov/rpms/mariadb10.11/blob/rebase_to_11.8/f/mariadb11.8.spec#_618 

[7] https://src.fedoraproject.org/fork/ndavidov/rpms/mariadb10.11/blob/rebase_to_11.8/f/mariadb11.8.spec#_1557 

[8] https://src.fedoraproject.org/fork/ndavidov/rpms/mariadb10.11/blob/rebase_to_11.8/f/mariadb11.8.spec#_1525 

[9] https://www.pagure.io/packaging-committee/issue/203 

[10] https://docs.fedoraproject.org/en-US/packaging-guidelines/#_explicit_requires

Comment 6 Michal Schorm 2025-06-03 13:39:22 UTC
> >[!]: Large documentation must go in a -doc subpackage. Large could be size
> >     (~1MB) or number of files.
> >     Note: Documentation size is 31641 bytes in 3 files.
> Maybe it’s worth to create this subpackage

For 31 KB in 3 files ?


> > [!]: Uses parallel make %{?_smp_mflags} macro.
> Is there a reason why it’s not used in [3]?

For the build of the DB it is used inside of the '%cmake_build' macro.

In this place, we could use the '%make_build' macro
 | # rpm --eval %{make_build}
 | /usr/bin/make -O -j${RPM_BUILD_NCPUS} V=1 VERBOSE=1



> > mariadb11.8-server.x86_64: E: script-without-shebang /usr/bin/wsrep_sst_common
> This should be resolved. I can also see there has been some tries in the past, but it wasn’t finished [7]

This is a common script that is not meant to be executed directly, but is sourced by other scripts instead.

We can examine again what can be done achieved reasonable effort.

Comment 7 Xose Vazquez Perez 2025-06-06 18:32:19 UTC
BTW, 11.8.2 Stable (GA) was released two days ago:
https://mariadb.com/kb/en/what-is-mariadb-118/

Comment 8 Pavol Sloboda 2025-06-09 11:05:09 UTC
> > mariadb11.8-server.x86_64: E: script-without-shebang /usr/bin/wsrep_sst_common

> This should be resolved. I can also see there has been some tries in the past, but it wasn’t finished [7]

I personally think that this should be solved with upstream by having a deeper look into the files located in `/usr/bin` and `/usr/libexec` as mentioned here [1]. Such a change would take a long time and a lot of cooperation with upstream. I will start a conversation with upstream about these files and try to resolve this but it is not feasible to fix all of these problems in this review. There is also the option of creating a downstream patch that moves the `wsrep_sst_common` file to `/usr/libexec` but these patches would add up over time as more such files are found.

[1] https://github.com/MariaDB/server/pull/2706

Comment 9 Lukas Javorsky 2025-06-10 13:28:00 UTC
> For 31 KB in 3 files ?

Sorry, I might have missed this in the chunk of comments. Ignore it, it's really not worth for 31kB.

> I personally think that this should be solved with upstream by having a deeper look into the files located in `/usr/bin` and `/usr/libexec` as mentioned here [1]. Such a change would take > a long time and a lot of cooperation with upstream. I will start a conversation with upstream about these files and try to resolve this but it is not feasible to fix all of these problems > in this review. There is also the option of creating a downstream patch that moves the `wsrep_sst_common` file to `/usr/libexec` but these patches would add up over time as more such files are found.

Feel free to start the conversation and not fix it in this review. However, add links and some justification to the specfile and commit message so we don't forget about it.

Comment 11 Pavol Sloboda 2025-06-17 14:08:44 UTC
> > [!]: Scriptlets must be sane, if used.

> SELinux should be consulted with the SELinux team. We’ve encountered this a few months ago with the credcheck package [2], where they helped to do it by the book.
 
> > [!]: Uses parallel make %{?_smp_mflags} macro.
 
> Is there a reason why it’s not used in [3]?

These are both solved by changing the .te selinux policy to the .cil format which does not need to be compiled.
Therefore the issues with `%{?_smp_mflags}` no longer apply.
I have discussed the policy. its installation and the BuildRequires and Requires related to
selinux with the selinux team which approved my changes.
These changes can be found here:
https://src.fedoraproject.org/rpms/mariadb10.11/c/6c8b0197dbe96622d02396616249d646236acfc5
https://src.fedoraproject.org/rpms/mariadb10.11/c/ad73a518de02465ab5d7422dc1e993f26e1095a9

> > mariadb11.8.spec:621: W: unversioned-explicit-provides bundled(rocksdb)

> Include the version of rocksdb

The MariaDB upstream bundles rocksdb with MariaDB from commits that do not match the releases
made by the rocksdb upstream, therefore pinpointing the exact version of rocksdb being bundled with mariadb is difficult and yields a rough estimate at best.
I have documented this inside the spec file along with a couple of ways how to get the rough version of rocksdb that is bundled.
This can be seen in this commit:
https://src.fedoraproject.org/rpms/mariadb10.11/c/c8027d496ac14f5bb31ddcef8ab8131609ac22b4

> > mariadb11.8-server-galera.x86_64: E: non-readable /etc/sysconfig/clustercheck 640

> Are the permissions set correctly here [8]?

I have consulted this with one of the creators of the commit that added this file. It is an environment file that is sourced by clustercheck.
This can only be done as root. Therefore the read, write permissions for root are correct. The read permission for the root group is there as far as I understand just to enable the users inside of the root group to check the contents of this file and therefore is not necessary but also not detrimental. The file is correctly marked as a ghost file since the mariadb package and any of its subpackages don't provide it but it belongs to the mariadb-server-galera subpackage if it is ever created (by the user or any utility).

> > mariadb11.8.spec:1484: W: libdir-macro-in-noarch-package %{pkgname}-common %{_libdir}/%{majorname}/plugin/dialog.so
> > mariadb11.8.spec:1485: W: libdir-macro-in-noarch-package %{pkgname}-common %{_libdir}/%{majorname}/plugin/mysql_clear_password.so

> The noarch packages should not use the %{_libdir} according to the FHS [9]

I am aware of this issue but the files mentioned above are only being created and packaged if the package is being built with the clibrary option enabled, which has been disabled for quite a while now as all the files and functionality being provided by this option are provided by the mariadb-connector-c package.
Therefore these files are not being built and packaged at the moment so the -common subpackage can still stay as noarch.
However this issue has been noted and I will create a feature branch documenting it and enabling further development that will get rid of it in the future. 

> > mariadb11.8-sphinx-engine.x86_64: E: explicit-lib-dependency libsphinxclient

> This dependency should be handled by dnf automatically according to the Packaging Guidelines [10]. If it’s not, it should be documented so the explicit dependency is justified.

The BuildRequires of libsphinxclient of the -sphinx-engine subpackage is obsolete since is it already required by the libsphinxclient-devel package, which in turn is a BuildRequires of the -sphinx-engine subpackage itself.
This ensures that the libsphinxclient package is present in the buildroot without an explicit BuildRequires.
These changes are in this commit:
https://src.fedoraproject.org/rpms/mariadb10.11/c/7984b9ae05639333de5749526e15c5ccc5d2669d

> > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb SSL_CTX_set_cipher_list
> > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-admin SSL_CTX_set_cipher_list
> > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-binlog SSL_CTX_set_cipher_list
> > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-check SSL_CTX_set_cipher_list
> > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-dump SSL_CTX_set_cipher_list
> > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-import SSL_CTX_set_cipher_list
> > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-show SSL_CTX_set_cipher_list
> > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-slap SSL_CTX_set_cipher_list
> > mariadb11.8-backup.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-backup SSL_CTX_set_cipher_list
> > mariadb11.8-embedded.x86_64: W: crypto-policy-non-compliance-openssl /usr/lib64/libmariadbd.so.19 SSL_CTX_set_cipher_list
> > mariadb11.8-server.x86_64: W: crypto-policy-non-compliance-openssl /usr/libexec/mariadbd SSL_CTX_set_cipher_list
 
> Is this at least reported to upstream?

I am still investigating these and I will either provide a reason why they are valid or contact upstream about them in the near future.

Comment 12 Pavol Sloboda 2025-06-18 08:14:13 UTC
> > > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb SSL_CTX_set_cipher_list
> > > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-admin SSL_CTX_set_cipher_list
> > > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-binlog SSL_CTX_set_cipher_list
> > > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-check SSL_CTX_set_cipher_list
> > > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-dump SSL_CTX_set_cipher_list
> > > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-import SSL_CTX_set_cipher_list
> > > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-show SSL_CTX_set_cipher_list
> > > mariadb11.8.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-slap SSL_CTX_set_cipher_list
> > > mariadb11.8-backup.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/mariadb-backup SSL_CTX_set_cipher_list
> > > mariadb11.8-embedded.x86_64: W: crypto-policy-non-compliance-openssl /usr/lib64/libmariadbd.so.19 SSL_CTX_set_cipher_list
> > > mariadb11.8-server.x86_64: W: crypto-policy-non-compliance-openssl /usr/libexec/mariadbd SSL_CTX_set_cipher_list
  
> > Is this at least reported to upstream?
 
> I am still investigating these and I will either provide a reason why they are valid or contact upstream about them in the near future.

I have looked into the packaging guidelines [1], specifically the OpenSSL applications part of the aforementioned link and as mentioned in that section, the SSL_CTX_set_cipher_list can't be called with a fixed string unless it is "PROFILE=SYSTEM". It is being called with the return value of TLS_client_method(), which uses the ssl profile specified inside the makefile, which is being set during the build process using the -DWITH_SSL=system cmake flag to the system policy. This means that the packaging guidelines are being satisfied. Therefore the warnings above seem to be false positives.

[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/CryptoPolicies/#_cc_applications

Comment 14 Lukas Javorsky 2025-06-18 08:55:37 UTC
Retriggering the fedora-review, seems that it didn't work the first time

Comment 16 Jakub Kadlčík 2025-06-19 08:54:02 UTC
[fedora-review-service-build]

Comment 17 Xose Vazquez Perez 2025-06-19 12:37:52 UTC
The text of the mariadb-libfmt.patch should be changed/updated:

"MariaDB upstream uses an old version (8.0) of the FMT library,
unlike Fedora which packs a current one (10.2) [...]"

Comment 18 Xose Vazquez Perez 2025-06-19 12:49:53 UTC
cosmetic changes in the spec file:
SourceXX and PatchXX items should be renamed to be consecutive (or by batches),
and start at number zero:

Now:
Source0:          https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz
Source1:          https://github.com/fmtlib/fmt/releases/download/%{fmt_bundled_version}/fmt-%{fmt_bundled_version}.zip
Source2:          mysql_config_multilib.sh
Source3:          my.cnf.in
Source4:          https://github.com/PCRE2Project/pcre2/releases/download/pcre2-%{pcre_bundled_version}/pcre2-%{pcre_bundled_version}.zip
Source6:          README.mariadb-docs
Source8:          README.wsrep_sst_rsync_tunnel
Source10:         mariadb.tmpfiles.d.in
Source11:         mysql.service.in
Source12:         mariadb-prepare-db-dir.sh
Source14:         mariadb-check-socket.sh
Source15:         mariadb-scripts-common.sh
Source16:         mariadb-check-upgrade.sh
Source18:         mysql@.service.in
Source50:         rh-skipped-tests-base.list
Source51:         rh-skipped-tests-arm.list
Source52:         rh-skipped-tests-s390.list
Source53:         rh-skipped-tests-ppc.list
Source70:         clustercheck.sh
Source71:         LICENSE.clustercheck
Source72:         mariadb-server-galera.cil
Source73:         wsrep_sst_rsync_tunnel

Patch4:           %{majorname}-logrotate.patch
Patch7:           %{majorname}-scripts.patch
Patch9:           %{majorname}-ownsetup.patch
Patch13:          %{majorname}-libfmt.patch
Patch14:          %{majorname}-mtr.patch
Patch16:          %{majorname}-federated.patch

Comment 19 Xose Vazquez Perez 2025-06-19 12:56:22 UTC
Starting a new package from scratch, the changelog could be deleted.

Comment 20 Xose Vazquez Perez 2025-06-19 13:05:02 UTC
rh-skipped-tests* should be reviewed again for the 11.8 branch.

Comment 21 Fedora Review Service 2025-06-19 13:19:54 UTC
Created attachment 2094394 [details]
The .spec file difference from Copr build 9092323 to 9183437

Comment 22 Fedora Review Service 2025-06-19 13:19:57 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9183437
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2368742-mariadb11.8/fedora-rawhide-x86_64/09183437-mariadb11.8/fedora-review/review.txt

Found issues:

- License file license_basic.result is not marked as %license
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 23 Pavol Sloboda 2025-06-19 13:49:32 UTC
> Found issues:

> - License file license_basic.result is not marked as %license
>   Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text

This is a false positive since it is an expected test result file used for testing.

Comment 24 Lukas Javorsky 2025-06-20 07:34:34 UTC
> Starting a new package from scratch, the changelog could be deleted.

I don't think it should. Since there are changes made in the whole MariaDB (not to a specific version), we should keep track of it.
In the future, the older version will not be part of Rawhide, and the logs will be much harder to find if we don't keep the history and changelog.

Comment 25 Lukas Javorsky 2025-06-23 12:42:38 UTC
Other than that, I believe my suggestions/questions were satisfied.

I just saw a new MR [1] done to mariadb-10.11. If it's merged, please don't forget to add it to the 11.8 version so we don't create a regression.

> rh-skipped-tests* should be reviewed again for the 11.8 branch.

Please enable tests that were disabled in [2] and check the tests so we I can ack this package request.

[1] https://src.fedoraproject.org/rpms/mariadb10.11/pull-request/18
[2] https://src.fedoraproject.org/fork/ndavidov/rpms/mariadb10.11/c/04315a47179fdf1ba12ee873820de5b4bca712b6?branch=rebase_to_11.8


Note You need to log in before you can comment on or make changes to this bug.