[packages/mariadb] Up to 12.3.3 (new LTS line)
arekm
arekm at pld-linux.org
Fri Sep 4 09:21:01 CEST 2026
commit 8e78f861a7d79b5ef299e17ff071c284e90e1267
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Fri Sep 4 09:18:40 2026 +0200
Up to 12.3.3 (new LTS line)
mariadb.spec | 56 +++++++++++++++++++++++++++++------------------
mysql-client-config.patch | 10 ---------
test-connect-skip.patch | 17 ++++++++++++++
3 files changed, 52 insertions(+), 31 deletions(-)
---
diff --git a/mariadb.spec b/mariadb.spec
index 3dc161f..a159d5d 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -12,9 +12,10 @@
%bcond_with autodeps # BR packages needed only for resolving deps
%bcond_without oqgraph # Open Query GRAPH engine (OQGRAPH)
%bcond_without sphinx # Sphinx storage engine support
+%bcond_without videx # VIDEX virtual index engine (what-if index analysis)
%bcond_without cracklib # cracklib support
%bcond_without lz4 # lz4 page compression for InnoDB & XtraDB
-%bcond_with tests # FIXME: don't run correctly
+%bcond_with tests # run test suite
%ifnarch %{x8664}
%unglobal with_mroonga
@@ -30,13 +31,13 @@ Summary(ru.UTF-8): MariaDB - быстрый SQL-сервер
Summary(uk.UTF-8): MariaDB - швидкий SQL-сервер
Summary(zh_CN.UTF-8): MariaDB数据库服务器
Name: mariadb
-Version: 11.8.7
+Version: 12.3.3
Release: 1
License: GPL + MariaDB FLOSS Exception
Group: Applications/Databases
# Source0: https://downloads.mariadb.org/f/%{name}-%{version}/source/%{name}-%{version}.tar.gz
Source0: https://rsync.osuosl.org/pub/mariadb/%{name}-%{version}/source/%{name}-%{version}.tar.gz
-# Source0-md5: 27c6eeeda18e0c298f63b7def5ad8061
+# Source0-md5: 83d962d0f5917a0445786cc31337b118
Source100: http://sphinxsearch.com/files/sphinx-2.2.11-release.tar.gz
# Source100-md5: 5cac34f3d78a9d612ca4301abfcbd666
Source1: mariadb.init
@@ -45,22 +46,23 @@ Source3: mariadb.logrotate
Source4: mysqld.conf
Source5: mysql-clusters.conf
Source13: mysql-client.conf
-Patch0: mysql-client-config.patch
Patch1: heimdal.patch
Patch2: build.patch
+Patch3: test-connect-skip.patch
URL: https://mariadb.org/
-BuildRequires: autoconf
-BuildRequires: automake
+BuildRequires: bison >= 2.4
+%{?with_oqgraph:BuildRequires: boost-devel >= 1.40.0}
BuildRequires: bzip2-devel
BuildRequires: cmake >= 3.12.0
%{?with_connect:BuildRequires: libbson-devel >= 1.16.0}
%{?with_cracklib:BuildRequires: cracklib-devel}
-BuildRequires: doxygen
+BuildRequires: curl-devel
BuildRequires: groff
+BuildRequires: heimdal-devel
+%{?with_oqgraph:BuildRequires: judy-devel}
BuildRequires: libevent-devel
BuildRequires: libfmt-devel
BuildRequires: libstdc++-devel >= 5:3.0
-BuildRequires: libtool
BuildRequires: liburing-devel
%{?with_tcpd:BuildRequires: libwrap-devel}
%{?with_lz4:BuildRequires: lz4-devel}
@@ -68,6 +70,7 @@ BuildRequires: lzo-devel
BuildRequires: ncurses-devel >= 4.2
BuildRequires: numactl-devel
%{?with_ssl:BuildRequires: openssl-devel >= 1.1.1}
+BuildRequires: pam-devel
BuildRequires: pcre2-8-devel
%{?with_autodeps:BuildRequires: perl-DBI}
BuildRequires: perl-devel >= 1:5.6.1
@@ -76,6 +79,7 @@ BuildRequires: rpm-perlprov >= 4.1-13
BuildRequires: rpmbuild(macros) >= 1.671
BuildRequires: sed >= 4.0
BuildRequires: snappy-devel
+BuildRequires: systemd-devel
BuildRequires: xz-devel
BuildRequires: zlib-devel
BuildRequires: zstd-devel
@@ -89,6 +93,7 @@ Requires(pre): /usr/sbin/useradd
Requires(post): sed >= 4.0
Requires(post,preun,postun): systemd-units >= 38
Requires: %{name}-charsets = %{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
Requires: systemd-units >= 38
Requires: /usr/bin/setsid
Requires: rc-scripts >= 0.2.0
@@ -406,9 +411,9 @@ process.
mv sphinx-*/mysqlse storage/sphinx
%endif
-%patch -P0 -p1
%patch -P1 -p1
%patch -P2 -p1
+%patch -P3 -p1
%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+perl(\s|$),#!%{__perl}\1,' \
scripts/mytop.sh \
@@ -448,6 +453,8 @@ cd build
# NOTE that /var/lib/mariadb/mariadb.sock is symlink to real sock file
# (it defaults to first cluster but user may change it to whatever
# cluster it wants)
+# PLD keeps PAM modules on the root fs; upstream defaults to /usr/%{_lib}/security
+# duckdb statically links its own bundled DuckDB tree, so it is not built
%cmake \
%{?debug:-DWITH_DEBUG=ON} \
@@ -470,6 +477,7 @@ cd build
-DINSTALL_MYSQLDATADIR:PATH=%{_var}/lib/%{name} \
-DINSTALL_MYSQLSHAREDIR:PATH=%{_datadir}/%{name} \
-DINSTALL_MYSQLTESTDIR_RPM="" \
+ -DINSTALL_PAMDIR=/%{_lib}/security \
-DINSTALL_PLUGINDIR=%{_libdir}/%{name}/plugin \
-DINSTALL_SQLBENCHDIR:PATH=%{_datadir}/%{name} \
-DINSTALL_SUPPORTFILESDIR=%{_datadir}/%{name}-support \
@@ -483,10 +491,12 @@ cd build
-DPLUGIN_COLUMNSTORE=NO \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \
+ -DPLUGIN_DUCKDB=NO \
-DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \
-DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \
-DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \
-DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
+ -DPLUGIN_VIDEX=%{?with_videx:DYNAMIC}%{!?with_videx:NO} \
-DPYTHON_SHEBANG=%{__python3} \
-DSECURITY_HARDENED=ON \
-DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir}/%{name} \
@@ -513,7 +523,7 @@ cd build
%{__make}
-%{?with_tests:%{__make} test}
+%{?with_tests:%{__make} test ARGS="--output-on-failure"}
%install
rm -rf $RPM_BUILD_ROOT
@@ -549,6 +559,7 @@ cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/mysql-client.conf
# shipped provider/server *.cnf there are actually read
sed -i -e 's,!includedir /etc/my.cnf.d,!includedir %{_sysconfdir}/%{name}/conf.d,' \
$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/my.cnf
+echo '!include %{_sysconfdir}/%{name}/mysql-client.conf' >> $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/my.cnf
sed -i -e 's,/usr//usr,%{_prefix},g' $RPM_BUILD_ROOT%{_bindir}/mysql_config
sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
@@ -707,13 +718,10 @@ fi
%attr(755,root,root) %{_sbindir}/mysqld
#%attr(755,root,root) %{_sbindir}/mysql_fix_privilege_tables
%attr(755,root,root) %{_sbindir}/mysql_upgrade
-%dir %{_libdir}/%{name}
-%dir %{_libdir}/%{name}/plugin
%{_libdir}/%{name}/plugin/daemon_example.ini
%attr(755,root,root) %{_libdir}/%{name}/plugin/adt_null.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_0x0100.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_ed25519.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_gssapi_client.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_gssapi.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_mysql_sha2.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam.so
@@ -721,12 +729,9 @@ fi
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam_v1.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_parsec.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_test_plugin.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/caching_sha2_password.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/client_ed25519.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/cracklib_password_check.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/debug_key_management.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/dialog_examples.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/dialog.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/disks.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/file_key_management.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/func_test.so
@@ -742,8 +747,6 @@ fi
%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_spider.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_test_sql_discovery.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/mypluglib.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/mysql_clear_password.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/parsec.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/password_reuse_check.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/provider_bzip2.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/provider_lz4.so
@@ -754,7 +757,6 @@ fi
%attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_interface.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_server.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/query_cache_info.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/sha256_password.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/simple_password_check.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/sql_errlog.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/test_sql_service.so
@@ -762,7 +764,6 @@ fi
%attr(755,root,root) %{_libdir}/%{name}/plugin/type_mysql_json.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/type_mysql_timestamp.so
%attr(755,root,root) %{_libdir}/%{name}/plugin/type_test.so
-%attr(755,root,root) %{_libdir}/%{name}/plugin/zstd.so
%if %{with galera}
%attr(755,root,root) %{_libdir}/%{name}/plugin/wsrep_info.so
%endif
@@ -781,6 +782,9 @@ fi
%if %{with sphinx}
%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_sphinx.so
%endif
+%if %{with videx}
+%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_videx.so
+%endif
%if %{with rocksdb}
%attr(755,root,root) %{_bindir}/mariadb-ldb
@@ -794,7 +798,7 @@ fi
%endif
# PAM user-mapping module used by the auth_pam plugin
-%attr(755,root,root) /lib64/security/pam_user_map.so
+%attr(755,root,root) /%{_lib}/security/pam_user_map.so
%config(noreplace) %verify(not md5 mtime size) /etc/security/user_map.conf
%{_mandir}/man1/aria_chk.1*
@@ -1005,6 +1009,16 @@ fi
%files libs
%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}
+%dir %{_libdir}/%{name}/plugin
+%attr(755,root,root) %{_libdir}/%{name}/plugin/auth_gssapi_client.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/caching_sha2_password.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/client_ed25519.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/dialog.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/mysql_clear_password.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/parsec.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/sha256_password.so
+%attr(755,root,root) %{_libdir}/%{name}/plugin/zstd.so
%attr(751,root,root) %dir %{_sysconfdir}/%{name}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/mysql-client.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/my.cnf
diff --git a/mysql-client-config.patch b/mysql-client-config.patch
deleted file mode 100644
index 5f56e98..0000000
--- a/mysql-client-config.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- mysql-5.1.6-alpha/sql-common/client.c~ 2006-02-21 16:09:34.000000000 +0200
-+++ mysql-5.1.6-alpha/sql-common/client.c 2006-02-21 16:14:10.000000000 +0200
-@@ -1456,6 +1456,7 @@
-
- mysql->options.methods_to_use= MYSQL_OPT_GUESS_CONNECTION;
- mysql->options.report_data_truncation= TRUE; /* default */
-+ mysql_read_default_options(&mysql->options, "/etc/mysql/mysql-client.conf", NULL);
-
- /*
- By default we don't reconnect because it could silently corrupt data (after
diff --git a/test-connect-skip.patch b/test-connect-skip.patch
new file mode 100644
index 0000000..9b04217
--- /dev/null
+++ b/test-connect-skip.patch
@@ -0,0 +1,17 @@
+test-connect connects to an external server; without one it exited 1 and failed
+"make test", unlike every other server-dependent test in the same ctest run.
+--- mariadb-12.3.3/unittest/embedded/test-connect.cc.orig
++++ mariadb-12.3.3/unittest/embedded/test-connect.cc
+@@ -36,8 +36,10 @@
+
+ if (get_evar(&host, &porta, &user, &passwd))
+ {
+- printf("set environment variable MASTER_MYPORT\n");
+- return 1;
++ /* Connects to a real server over TCP; report a TAP skip like the other
++ server-dependent tests rather than failing when none is configured. */
++ printf("1..0 # skip No server configured: set MASTER_MYPORT or MYSQL_TEST_PORT\n");
++ return 0;
+ }
+
+ port = atoi(porta);
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/mariadb.git/commitdiff/8e78f861a7d79b5ef299e17ff071c284e90e1267
More information about the pld-cvs-commit
mailing list