The package rpms/mariadb.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/mariadb.git/commit/?id=e164541be4715....
Change: -%ifarch x86_64
Thanks.
Full change: ============
commit 0b98906c25bf8b13adc333f615d4a725dc756237 Merge: 994a33f abdf8da Author: Michal Schorm mschorm@redhat.com Date: Wed Feb 28 10:48:30 2018 +0100
Merge branch 'f27'
commit 994a33ffe044248563a565479613a52709450c61 Author: Michal Schorm mschorm@redhat.com Date: Wed Feb 28 10:29:46 2018 +0100
Add condition for the client library component
diff --git a/mariadb.spec b/mariadb.spec index 6005829..991cbb1 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -49,7 +49,11 @@ %{!?_with_sphinx: %{!?_without_sphinx: %bcond_without sphinx}}
# For some use cases we do not need some parts of the package. Set to "...with" to exclude +%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 %bcond_with clibrary +%else +%bcond_without clibrary +%endif %bcond_without embedded %bcond_without devel %bcond_without client
commit fd1545682aef32e78af7790ed1c087920df4bb6a Author: Michal Schorm mschorm@redhat.com Date: Mon Feb 26 16:12:02 2018 +0100
SPECfile refresh, RHEL6, SySV init and old fedora stuff removed
diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index d12c402..fce33f6 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -4,7 +4,7 @@ be expanded by cmake. Cmake needs to know about them, so adding them manually. diff -up mariadb-10.2.8/scripts/CMakeLists.txt.p7 mariadb-10.2.8/scripts/CMakeLists.txt --- mariadb-10.2.8/scripts/CMakeLists.txt.p7 2017-08-20 13:26:10.640779557 +0200 +++ mariadb-10.2.8/scripts/CMakeLists.txt 2017-08-20 13:27:05.774925486 +0200 -@@ -338,6 +338,35 @@ ELSE() +@@ -338,6 +338,33 @@ ELSE() ) ENDFOREACH()
@@ -14,14 +14,12 @@ diff -up mariadb-10.2.8/scripts/CMakeLists.txt.p7 mariadb-10.2.8/scripts/CMakeLi + mysql.service + mysql@.service + mysql-prepare-db-dir -+ mysql-wait-ready + mysql-check-socket + mysql-check-upgrade + mysql-scripts-common + mysql_config_multilib + clustercheck + galera_new_cluster -+ mysql.init + my.cnf + ) + FOREACH(file ${SYSTEMD_SCRIPTS}) diff --git a/mariadb.spec b/mariadb.spec index e55d6af..6005829 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -70,50 +70,34 @@
-# Include files for SysV init or systemd -%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 -%bcond_without init_systemd -%bcond_with init_sysv -%global daemon_name %{name} -%global daemondir %{_unitdir} -%global daemon_no_prefix %{pkg_name} -%global mysqld_pid_dir mariadb -%else -%bcond_with init_systemd -%bcond_without init_sysv -%global daemon_name mysqld -%global daemondir %{_sysconfdir}/rc.d/init.d -%global daemon_no_prefix mysqld -%endif - # MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version -%if 0%{?fedora} >= 21 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 %bcond_without bundled_pcre %else %bcond_with bundled_pcre %global pcre_bundled_version 8.41 %endif
+# Include systemd files +%global daemon_name %{name} +%global daemondir %{_unitdir} +%global daemon_no_prefix %{pkg_name} +%global mysqld_pid_dir mariadb + # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) %global logrotateddir %{_sysconfdir}/logrotate.d %global logfiledir %{_localstatedir}/log/%{daemon_name} %global logfile %{logfiledir}/%{daemon_name}.log - # Directory for storing pid file -%if 0%{?rhel} == 6 -%global pidfiledir %{_localstatedir}/run/%{daemon_name} -%else #RHEL 6 %global pidfiledir %{_rundir}/%{mysqld_pid_dir} -%endif - # Defining where database data live %global dbdatadir %{_localstatedir}/lib/mysql - # Home directory of mysql user should be same for all packages that create it %global mysqluserhome /var/lib/mysql
+ # The evr of mysql we want to obsolete %global obsoleted_mysql_evr 5.6-0 %global obsoleted_mysql_case_evr 5.5.30-5 @@ -134,7 +118,7 @@
Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 7%{?with_debug:.debug}%{?dist} +Release: 8%{?with_debug:.debug}%{?dist} Epoch: 3
Summary: A community developed branch of MySQL @@ -151,14 +135,10 @@ Source7: README.mysql-license Source10: mysql.tmpfiles.d.in Source11: mysql.service.in Source12: mysql-prepare-db-dir.sh -# This script is needed in case of start with SysV init. -# On Systemd environments service "type=notify" should be used instead -Source13: mysql-wait-ready.sh Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh Source16: mysql-check-upgrade.sh Source18: mysql@.service.in -Source19: mysql.init.in Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-arm.list Source52: rh-skipped-tests-s390.list @@ -191,6 +171,7 @@ BuildRequires: cmake gcc-c++ BuildRequires: zlib-devel BuildRequires: multilib-rpm-config BuildRequires: selinux-policy-devel +BuildRequires: systemd systemd-devel
# TokuDB and some core stuff BuildRequires: jemalloc-devel @@ -203,7 +184,6 @@ BuildRequires: libedit-devel BuildRequires: ncurses-devel # debugging stuff BuildRequires: systemtap-sdt-devel -%{?with_init_systemd:BuildRequires: systemd systemd-devel} # Bison SQL parser BuildRequires: bison bison-devel
@@ -213,7 +193,7 @@ BuildRequires: pam-devel %{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} %{!?with_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} # Few utilities needs Perl -%if 0%{?fedora} >= 22 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter BuildRequires: perl-generators %endif @@ -270,14 +250,8 @@ Provides: mariadb-galera = %{sameevr} Obsoletes: mariadb-galera < %{obsoleted_mariadb_galera_evr}
# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering -%if 0%{?fedora} > 14 || 0%{?rhel} > 6 %global __requires_exclude ^perl\((hostnames|lib::mtr|lib::v1|mtr_|My::) %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\.so)$ -%else -%filter_from_requires /perl((hostnames|lib::mtr|lib::v1|mtr_|My::)/d -%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*.so) -%filter_setup -%endif
# Define license macro if not present %{!?_licensedir:%global license %doc} @@ -419,15 +393,10 @@ Requires(pre): /usr/sbin/useradd # Bison SQL parser # WHY?? (testsuite??) Requires: bison - -%if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} Requires: systemd # Make sure it's there when scriptlets run, too -Requires(pre): systemd -Requires(posttrans): systemd -%{?systemd_requires: %systemd_requires} -%endif +%{?systemd_requires} # RHBZ#1496131; use 'iproute' instead of 'net-tools' Requires: iproute %if %{with mysql_names} @@ -724,18 +693,13 @@ cat %{SOURCE52} | tee -a mysql-test/unstable-tests cat %{SOURCE53} | tee -a mysql-test/unstable-tests %endif
-cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE18} %{SOURCE19} \ - %{SOURCE70} scripts +cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE18} %{SOURCE70} scripts
%if %{with galera} # prepare selinux policy mkdir selinux sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{name}-server-galera.te -%if 0%{?rhel} == 6 -sed -i 's/kerberos_port_t/kerberos_master_port_t/' selinux/%{name}-server-galera.te -%endif -cat selinux/%{name}-server-galera.te %endif
@@ -923,7 +887,6 @@ mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d rm %{buildroot}%{_sysconfdir}/init.d/mysql rm %{buildroot}%{_libexecdir}/rcmysql # install systemd unit files and scripts for handling server startup -%if %{with init_systemd} install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service # Remove the upstream version @@ -933,20 +896,12 @@ install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{nam %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf %endif #pid -%endif #systemd -# install SysV init script -%if %{with init_sysv} -install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name} -%endif
# helper scripts for service starting install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common -%if %{with init_sysv} -install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready -%endif
# install aditional galera selinux policy %if %{with galera} @@ -1004,10 +959,6 @@ install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/g mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck -# install the galera_new_cluster script anyway -%if %{without init_systemd} -install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_cluster -%endif
# remove duplicate logrotate script rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql @@ -1121,11 +1072,9 @@ rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster} -%if %{with init_systemd} rm %{buildroot}%{_bindir}/galera_recovery rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %endif -%endif
@@ -1198,25 +1147,10 @@ semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/ %endif
%post server -%if %{with init_systemd} %systemd_post %{daemon_name}.service -%endif -%if %{with init_sysv} -if [ $1 = 1 ]; then - /sbin/chkconfig --add %{daemon_name} -fi -%endif
%preun server -%if %{with init_systemd} %systemd_preun %{daemon_name}.service -%endif -%if %{with init_sysv} -if [ $1 = 0 ]; then - /sbin/service %{daemon_name} stop >/dev/null 2>&1 - /sbin/chkconfig --del %{daemon_name} -fi -%endif
%if %{with clibrary} # Can be dropped on F27 EOL @@ -1236,14 +1170,7 @@ fi %endif
%postun server -%if %{with init_systemd} %systemd_postun_with_restart %{daemon_name}.service -%endif -%if %{with init_sysv} -if [ $1 -ge 1 ]; then - /sbin/service %{daemon_name} condrestart >/dev/null 2>&1 || : -fi -%endif
@@ -1341,10 +1268,8 @@ fi %license LICENSE.clustercheck %{_bindir}/clustercheck %{_bindir}/galera_new_cluster -%if %{with init_systemd} %{_bindir}/galera_recovery %{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf -%endif %config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf %attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp @@ -1358,9 +1283,7 @@ fi %{_bindir}/aria_ftdump %{_bindir}/aria_pack %{_bindir}/aria_read_log -%if %{with init_systemd} %{_bindir}/mariadb-service-convert -%endif %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog @@ -1464,24 +1387,19 @@ fi %{_datadir}/%{pkg_name}/policy/selinux/README %{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.* %{_datadir}/%{pkg_name}/policy/selinux/mariadb.* -%if %{with init_systemd} %{_datadir}/%{pkg_name}/systemd/mariadb.service # mariadb@ is installed only when we have cmake newer than 3.3 -%if 0%{?fedora} > 22 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 %{_datadir}/%{pkg_name}/systemd/mariadb@.service %endif -%endif
%{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir %{_libexecdir}/mysql-check-socket %{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common -%if %{with init_sysv} -%{_libexecdir}/mysql-wait-ready -%endif
-%{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} +%{_tmpfilesdir}/%{name}.conf %attr(0755,mysql,mysql) %dir %{pidfiledir} %attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0750,mysql,mysql) %dir %{logfiledir} @@ -1618,6 +1536,9 @@ fi %endif
%changelog +* Mon Feb 26 2018 Michal Schorm mschorm@redhat.com - 3:10.2.12-8 +- SPECfile refresh, RHEL6, SySV init and old fedora stuff removed + * Sun Feb 25 2018 Michal Schorm mschorm@redhat.com - 3:10.2.12-7 - Rebuilt for ldconfig_post and ldconfig_postun bug Related: #1548331 diff --git a/mysql-wait-ready.sh b/mysql-wait-ready.sh deleted file mode 100644 index 2ed5fe1..0000000 --- a/mysql-wait-ready.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" - -# This script waits for mysqld to be ready to accept connections -# (which can be many seconds or even minutes after launch, if there's -# a lot of crash-recovery work to do). -# Running this as ExecStartPost is useful so that services declared as -# "After mysqld" won't be started until the database is really ready. - -if [ $# -ne 1 ] ; then - echo "You need to pass daemon pid as an argument for this script." - exit 20 -fi - -# Service file passes us the daemon's PID (actually, mysqld_safe's PID) -daemon_pid="$1" - -# Wait for the server to come up or for the mysqld process to disappear -ret=0 -while /bin/true; do - # Check process still exists - if ! [ -d "/proc/${daemon_pid}" ] ; then - ret=1 - break - fi - RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` - mret=$? - if [ $mret -eq 0 ] ; then - break - fi - # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected, - # anything else suggests a configuration error - if [ $mret -ne 1 -a $mret -ne 11 ]; then - echo "Cannot check for @NICE_PROJECT_NAME@ Daemon startup because of mysqladmin failure." >&2 - ret=$mret - break - fi - # "Access denied" also means the server is alive - echo "$RESPONSE" | grep -q "Access denied for user" && break - - sleep 1 -done - -exit $ret diff --git a/mysql.init.in b/mysql.init.in deleted file mode 100644 index 0282399..0000000 --- a/mysql.init.in +++ /dev/null @@ -1,186 +0,0 @@ -#!/bin/sh -# -# @DAEMON_NAME@ This shell script takes care of starting and stopping -# the MySQL subsystem (mysqld). -# -# chkconfig: - 64 36 -# description: MySQL database server. -# processname: mysqld -# config: @sysconfdir@/my.cnf -# pidfile: /var/run/@DAEMON_NAME@/@DAEMON_NO_PREFIX@.pid -### BEGIN INIT INFO -# Provides: mysqld -# Required-Start: $local_fs $remote_fs $network $named $syslog $time -# Required-Stop: $local_fs $remote_fs $network $named $syslog $time -# Short-Description: start and stop MySQL server -# Description: MySQL database server -### END INIT INFO - -# Source function library. -. /etc/rc.d/init.d/functions - -# Source networking configuration. -. /etc/sysconfig/network - - -exec="@bindir@/mysqld_safe" -prog="@DAEMON_NAME@" - -# Set timeouts here so they can be overridden from @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ -STARTTIMEOUT=300 -STOPTIMEOUT=60 - -# User and group the daemon will run under -MYUSER=mysql -MYGROUP=mysql - -# Edit the following file in order to re-write some of the environment -# variables defined above, like $STARTTIMEOUT, $STOPTIMEOUT, $exec -[ -e @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ ] && . @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ - -lockfile=/var/lock/subsys/$prog - -# get options from my.cnf -source "@libexecdir@/mysql-scripts-common" - -start(){ - [ -x $exec ] || exit 5 - - # check permissions - if ! touch $(dirname $socketfile) &>/dev/null ; then - action $"Starting $prog: " /bin/false - return 4 - fi - - # check to see if it's already running - MYSQLDRUNNING=0 - if [ -f "$pidfile" ]; then - MYSQLPID=`cat "$pidfile" 2>/dev/null` - if [ -n "$MYSQLPID" ] && [ -d "/proc/$MYSQLPID" ] ; then - MYSQLDRUNNING=1 - fi - fi - RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` - if [ $MYSQLDRUNNING = 1 ] && [ $? = 0 ]; then - # already running, do nothing - action $"Starting $prog: " /bin/true - ret=0 - elif [ $MYSQLDRUNNING = 1 ] && echo "$RESPONSE" | grep -q "Access denied for user" - then - # already running, do nothing - action $"Starting $prog: " /bin/true - ret=0 - else - @libexecdir@/mysql-check-socket >/dev/null || return 1 - su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" >/dev/null || return 4 - - # Pass all the options determined above, to ensure consistent behavior. - # In many cases mysqld_safe would arrive at the same conclusions anyway - # but we need to be sure. (An exception is that we don't force the - # log-error setting, since this script doesn't really depend on that, - # and some users might prefer to configure logging to syslog.) - # Note: set --basedir to prevent probes that might trigger SELinux - # alarms, per bug #547485 - su - $MYUSER -s /bin/bash -c "$exec --datadir='$datadir' --socket='$socketfile' \ - --pid-file='$pidfile' $MYSQLD_OPTS $_WSREP_NEW_CLUSTER \ - --basedir=@prefix@ --user=$MYUSER" >/dev/null 2>&1 & - safe_pid=$! - - # Wait until the daemon is up - su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-wait-ready '$safe_pid'" - ret=$? - - if [ $ret -eq 0 ]; then - action $"Starting $prog: " /bin/true - chmod o+r $pidfile >/dev/null 2>&1 - touch $lockfile - else - action $"Starting $prog: " /bin/false - fi - fi - return $ret -} - -stop(){ - if [ ! -f "$pidfile" ]; then - # not running; per LSB standards this is "ok" - action $"Stopping $prog: " /bin/true - return 0 - fi - MYSQLPID=`cat "$pidfile" 2>/dev/null` - if [ -n "$MYSQLPID" ]; then - if ! [ -d "/proc/$MYSQLPID" ] ; then - # process doesn't run anymore - action $"Stopping $prog: " /bin/true - return 0 - fi - /bin/kill "$MYSQLPID" >/dev/null 2>&1 - ret=$? - if [ $ret -eq 0 ]; then - TIMEOUT="$STOPTIMEOUT" - while [ $TIMEOUT -gt 0 ]; do - /bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break - sleep 1 - let TIMEOUT=${TIMEOUT}-1 - done - if [ $TIMEOUT -eq 0 ]; then - echo "Timeout error occurred trying to stop MySQL Daemon." - ret=1 - action $"Stopping $prog: " /bin/false - else - rm -f $lockfile - rm -f "$socketfile" - action $"Stopping $prog: " /bin/true - fi - else - # kill command failed, probably insufficient permissions - action $"Stopping $prog: " /bin/false - ret=4 - fi - else - # failed to read pidfile, probably insufficient permissions - action $"Stopping $prog: " /bin/false - ret=4 - fi - return $ret -} - -restart(){ - stop - start -} - -condrestart(){ - [ -e $lockfile ] && restart || : -} - - -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status -p "$pidfile" $prog - ;; - restart) - restart - ;; - condrestart|try-restart) - condrestart - ;; - reload) - exit 3 - ;; - force-reload) - restart - ;; - *) - echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" - exit 2 -esac - -exit $?
commit 094243a05a8bd278f12d946f2de39a2364b4b842 Author: Michal Schorm mschorm@redhat.com Date: Sun Feb 25 11:47:21 2018 +0100
Release bump for rebuild
diff --git a/mariadb.spec b/mariadb.spec index 0b2035a..e55d6af 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -134,7 +134,7 @@
Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 6%{?with_debug:.debug}%{?dist} +Release: 7%{?with_debug:.debug}%{?dist} Epoch: 3
Summary: A community developed branch of MySQL @@ -1618,6 +1618,10 @@ fi %endif
%changelog +* Sun Feb 25 2018 Michal Schorm mschorm@redhat.com - 3:10.2.12-7 +- Rebuilt for ldconfig_post and ldconfig_postun bug + Related: #1548331 + * Thu Feb 08 2018 Fedora Release Engineering releng@fedoraproject.org - 3:10.2.12-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
commit 76677bb0ec1ad0c447c4b1d307ff2fb74b3bf088 Author: Michal Schorm mschorm@redhat.com Date: Sun Feb 25 02:39:07 2018 +0100
Remove hardening if-clauses. Do the hardening always.
Use upstream -DSECURITY_HARDENED=ON which will eanable -pie and -Wl,-z,relro,-z,now, but also -fstack-protector and -D_FORTIFY_SOURCE=2
diff --git a/mariadb.spec b/mariadb.spec index 7b159de..0b2035a 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -12,10 +12,6 @@ %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}}
-# Use Full RELRO for all binaries (RHBZ#1092548) -# Deafult since F23 https://fedoraproject.org/wiki/Changes/Harden_All_Packages -%global _hardened_build 1 - # By default, patch(1) creates backup files when chunks apply with offsets. # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch @@ -31,9 +27,6 @@ # https://mariadb.com/kb/en/library/myrocks-supported-platforms/ # RocksB engine is available only for x86_64 %ifarch x86_64 -# Disable TokuDB since 10.1.12 on F>=28 -# It will either "freeze" the testsuite (probabbly stuck in some loop) or ~500 TokuDB tests will fail -# This issue is probabbly caused by updates in Fedora Rwahide (F28) KOJI - like a new GCC and many build tools updates %bcond_without tokudb %bcond_without mroonga %bcond_without rocksdb @@ -806,13 +799,6 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS
-%if 0%{?_hardened_build} -# building with PIE -LDFLAGS="$LDFLAGS -pie -Wl,-z,relro,-z,now" -export LDFLAGS -# Simmilar flags provides MariaDB itself: -DSECURITY_HARDENED=ON -# will elanble -pie and -Wl,-z,relro,-z,now, but also -fstack-protector and -D_FORTIFY_SOURCE=2 -%endif
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. @@ -847,7 +833,7 @@ export LDFLAGS -DTMPDIR=/var/tmp \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ - -DSECURITY_HARDENED=%{?hardened_build:ON}%{!?hardened_build:OFF} \ + -DSECURITY_HARDENED=ON \ -DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \ -DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \ -DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \ @@ -864,8 +850,7 @@ export LDFLAGS -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ -DCONNECT_WITH_MONGO=OFF \ -DCONNECT_WITH_JDBC=OFF \ -%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ -%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} +%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON}
# Print all Cmake options values cmake -L
commit c34f1617838742cf534e6946f077fef5291e9aa6 Author: Michal Schorm mschorm@redhat.com Date: Sun Feb 25 02:36:23 2018 +0100
Prefer MariaDB over MySQL in DNF package resolution
diff --git a/mariadb.spec b/mariadb.spec index 3f9cde9..7b159de 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -400,6 +400,7 @@ Summary: The MariaDB server and related files %if %{with mysql_names} Requires: mysql-compat-client%{?_isa} Requires: mysql%{?_isa} +Recommends: %{name}%{?_isa} %else Requires: %{name}%{?_isa} %endif
commit 5fe00622cb6671986d8baadb4bdf9799364fb463 Author: Michal Schorm mschorm@redhat.com Date: Sun Feb 18 20:12:10 2018 +0100
Use -DINSTALL_MYSQLTESTDIR Cmake argument correctly; https://jira.mariadb.org/browse/MDEV-14972
diff --git a/mariadb.spec b/mariadb.spec index 7271dc7..3f9cde9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -835,7 +835,7 @@ export LDFLAGS -DINSTALL_LIBDIR="%{_lib}" \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \ - -DINSTALL_MYSQLTESTDIR=share/mysql-test \ + -DINSTALL_MYSQLTESTDIR=%{?with_test:share/mysql-test}%{!?with_test:} \ -DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \ -DINSTALL_SBINDIR=libexec \ -DINSTALL_SCRIPTDIR=bin \ @@ -967,12 +967,13 @@ install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp %endif
+%if %{with test} # mysql-test includes one executable that doesn't belong under /usr/share, so move it and provide a symlink mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir} ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process # Provide symlink expected by RH QA tests ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list - +%endif
# Client that uses libmysqld embedded server. @@ -1125,10 +1126,9 @@ rm -r %{buildroot}%{_datadir}/sql-bench rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded} rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1* %endif # embedded -rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process,mysqltest} +rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest} rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1* rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* -rm -r %{buildroot}%{_datadir}/mysql-test %endif # test
%if %{without galera}
commit 538105c8fd7d90615d3be94cd3c048ca37fca014 Author: Michal Schorm mschorm@redhat.com Date: Fri Feb 9 14:39:47 2018 +0100
Add comment
diff --git a/mariadb.spec b/mariadb.spec index d08d52b..7271dc7 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -158,6 +158,8 @@ Source7: README.mysql-license Source10: mysql.tmpfiles.d.in Source11: mysql.service.in Source12: mysql-prepare-db-dir.sh +# This script is needed in case of start with SysV init. +# On Systemd environments service "type=notify" should be used instead Source13: mysql-wait-ready.sh Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh
commit b75aea1dab06d02f16d47fdadd01ca1ce78af99f Author: Fedora Release Engineering releng@fedoraproject.org Date: Thu Feb 8 00:57:05 2018 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering releng@fedoraproject.org
diff --git a/mariadb.spec b/mariadb.spec index 33a1b44..d08d52b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -141,7 +141,7 @@
Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Epoch: 3
Summary: A community developed branch of MySQL @@ -1630,6 +1630,9 @@ fi %endif
%changelog +* Thu Feb 08 2018 Fedora Release Engineering releng@fedoraproject.org - 3:10.2.12-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Fri Jan 26 2018 Michal Schorm mschorm@redhat.com - 3:10.2.12-5 - Use '-ldl' compiler flag when associated library used Resolves: #1538990
commit 39512bdd8b5b992937bd15f8b847d8b60a38ecc3 Author: Michal Schorm mschorm@redhat.com Date: Tue Jan 30 11:55:36 2018 +0100
Update ldconfig scriptlets
diff --git a/mariadb.spec b/mariadb.spec index 852095c..33a1b44 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1190,11 +1190,13 @@ export MTR_BUILD_THREAD=%{__isa_bits} -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
%if %{with clibrary} -%post libs -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_post libs %endif
%if %{with embedded} -%post embedded -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_post embedded %endif
%if %{with galera} @@ -1229,11 +1231,13 @@ fi %endif
%if %{with clibrary} -%postun libs -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_postun libs %endif
%if %{with embedded} -%postun embedded -p /sbin/ldconfig +# Can be dropped on F27 EOL +%ldconfig_postun embedded %endif
%if %{with galera}
commit e096affc6f6b2d2e6f04332c6429abd817bb2d22 Author: Michal Schorm mschorm@redhat.com Date: Sat Jan 27 02:34:32 2018 +0100
Extend failing tests list for PPC
diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 5fd4928..5fc204e 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,2 +1,6 @@ # Fails since 10.1.12 only on PPC64 innodb_fts.fulltext : +# Fails since 10.1.12 only on PPC64 and PPC64le; timeout after 1800 seconds +innodb.innodb_defrag_concurrent : +parts.partition_alter1_2_innodb : +
commit daa1ad6dc4ee819f70ef66f6f2016e623d096274 Author: Michal Schorm mschorm@redhat.com Date: Fri Jan 26 18:26:43 2018 +0100
Use '-ldl' compiler flag when associated library used Resolves: #1538990
diff --git a/mariadb.spec b/mariadb.spec index 2c10373..852095c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -141,7 +141,7 @@
Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Epoch: 3
Summary: A community developed branch of MySQL @@ -788,6 +788,8 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" +# Use -ldl for some plugins #1538990 +CFLAGS="$CFLAGS -ldl" # gcc seems to have some bugs on sparc as of 4.4.1, back off optimization; rhbz#529298 # Note: sparc = s390 %ifarch sparc sparcv9 sparc64 @@ -1624,6 +1626,10 @@ fi %endif
%changelog +* Fri Jan 26 2018 Michal Schorm mschorm@redhat.com - 3:10.2.12-5 +- Use '-ldl' compiler flag when associated library used + Resolves: #1538990 + * Thu Jan 25 2018 Michal Schorm mschorm@redhat.com - 3:10.2.12-4 - Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported configuration by upstream (without Jemalloc).
commit 0f8f4c807c8038be33a65ea3464b73a67228a4a2 Author: Michal Schorm mschorm@redhat.com Date: Thu Jan 25 12:09:50 2018 +0100
Use downstream tmpfiles instead of the upstream one; #1538066
diff --git a/mariadb.spec b/mariadb.spec index eb9dda8..2c10373 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -926,6 +926,9 @@ rm scripts/my.cnf # use different config file name for each variant of server (mariadb / mysql) mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
+# Rename sysusers and tmpfiles config files, they should be named after the software they belong to +mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf + # remove SysV init script and a symlink to that, we pack our very own rm %{buildroot}%{_sysconfdir}/init.d/mysql rm %{buildroot}%{_libexecdir}/rcmysql @@ -933,6 +936,9 @@ rm %{buildroot}%{_libexecdir}/rcmysql %if %{with init_systemd} install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service +# Remove the upstream version +rm %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf +# Install downstream version install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf @@ -988,10 +994,6 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server # Shipped as a standalona package in Fedora rm %{buildroot}%{_bindir}/mytop
-# Rename sysusers and tmpfiles config files, they should be named after the software they belong to -mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf -mv %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf %{buildroot}/usr/lib/tmpfiles.d/mariadb.conf - # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} @@ -1626,6 +1628,8 @@ fi - Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported configuration by upstream (without Jemalloc). Jemmalloc has been updated to version 5, which isn't backwards compatible. +- Use downstream tmpfiles instead of the upstream one + Related: #1538066
* Sat Jan 20 2018 Björn Esser besser82@fedoraproject.org - 3:10.2.12-3 - Rebuilt for switch to libxcrypt
commit d582a409d752f02363191ef7a85842cfb0c6c1bf Author: Michal Schorm mschorm@redhat.com Date: Thu Jan 25 11:59:14 2018 +0100
Fix upgrade path - do build TokuDB, but build a configuration unsupported by upstream (Build without Jemalloc)
diff --git a/mariadb.spec b/mariadb.spec index 5f10e7e..eb9dda8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -34,7 +34,7 @@ # Disable TokuDB since 10.1.12 on F>=28 # It will either "freeze" the testsuite (probabbly stuck in some loop) or ~500 TokuDB tests will fail # This issue is probabbly caused by updates in Fedora Rwahide (F28) KOJI - like a new GCC and many build tools updates -%bcond_with tokudb +%bcond_without tokudb %bcond_without mroonga %bcond_without rocksdb %else @@ -141,7 +141,7 @@
Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Epoch: 3
Summary: A community developed branch of MySQL @@ -849,7 +849,7 @@ export LDFLAGS -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_JEMALLOC=system \ + -DWITH_JEMALLOC=no \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ -DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \ @@ -1622,6 +1622,11 @@ fi %endif
%changelog +* Thu Jan 25 2018 Michal Schorm mschorm@redhat.com - 3:10.2.12-4 +- Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported + configuration by upstream (without Jemalloc). + Jemmalloc has been updated to version 5, which isn't backwards compatible. + * Sat Jan 20 2018 Björn Esser besser82@fedoraproject.org - 3:10.2.12-3 - Rebuilt for switch to libxcrypt
commit 95af530dbb505654ae860f009fb89c9376205858 Author: Björn Esser besser82@fedoraproject.org Date: Sat Jan 20 23:07:11 2018 +0100
Rebuilt for switch to libxcrypt
diff --git a/mariadb.spec b/mariadb.spec index 177ad1f..5f10e7e 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -141,7 +141,7 @@
Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3
Summary: A community developed branch of MySQL @@ -1622,6 +1622,9 @@ fi %endif
%changelog +* Sat Jan 20 2018 Björn Esser besser82@fedoraproject.org - 3:10.2.12-3 +- Rebuilt for switch to libxcrypt + * Thu Jan 11 2018 Honza Horak hhorak@redhat.com - 3:10.2.12-1 - Do not build connect plugin with mongo and jdbc connectors - Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script,
commit a6ee91f1b4e52dc96f42f0de13682e15aa60a384 Author: Honza Horak hhorak@redhat.com Date: Tue Nov 7 12:24:46 2017 +0100
Print the same messages as before when starting the service in SysV init, to not scare users Related: #1463411
diff --git a/mariadb.spec b/mariadb.spec index 288c534..177ad1f 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1627,6 +1627,9 @@ fi - Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script, same as it is done in case of systemd unit file Related: #1455850 +- Print the same messages as before when starting the service in SysV init, + to not scare users + Related: #1463411
* Wed Jan 10 2018 Michal Schorm mschorm@redhat.com - 3:10.2.12-1 - Rebase to 10.2.12 diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 785ddc2..22d0566 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -68,11 +68,11 @@ else # Provide some advice if the log file cannot be created by this script errlogdir=$(dirname "$errlogfile") if ! [ -d "$errlogdir" ] ; then - echo "The directory $errlogdir does not exist." + echo "The directory $errlogdir does not exist." >&2 exit 1 elif [ -e "$errlogfile" -a ! -w "$errlogfile" ] ; then - echo "The log file $errlogfile cannot be written, please, fix its permissions." - echo "The daemon will be run under $myuser:$mygroup" + echo "The log file $errlogfile cannot be written, please, fix its permissions." >&2 + echo "The daemon will be run under $myuser:$mygroup" >&2 exit 1 fi fi @@ -90,14 +90,14 @@ if should_initialize "$datadir" ; then [ -x /sbin/restorecon ] && /sbin/restorecon "$datadir"
# Now create the database - echo "Initializing @NICE_PROJECT_NAME@ database" + echo "Initializing @NICE_PROJECT_NAME@ database" >&2 # Avoiding deletion of files not created by mysql_install_db is # guarded by time check and sleep should help work-arounded # potential issues on systems with 1 second resolution timestamps # https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19 INITDB_TIMESTAMP=`LANG=C date -u` sleep 1 - @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" + @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" >&2 ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 @@ -128,8 +128,8 @@ else else # if the directory is not empty but mysql/ directory is missing, then # print error and let user to initialize manually or empty the directory - echo "Database @NICE_PROJECT_NAME@ is not initialized, but the directory $datadir is not empty, so initialization cannot be done." - echo "Make sure the $datadir is empty before running `basename $0`." + echo "Database @NICE_PROJECT_NAME@ is not initialized, but the directory $datadir is not empty, so initialization cannot be done." >&2 + echo "Make sure the $datadir is empty before running `basename $0`." >&2 exit 1 fi fi diff --git a/mysql.init.in b/mysql.init.in index aa3b809..0282399 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -71,8 +71,8 @@ start(){ action $"Starting $prog: " /bin/true ret=0 else - @libexecdir@/mysql-check-socket || return 1 - su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" || return 4 + @libexecdir@/mysql-check-socket >/dev/null || return 1 + su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" >/dev/null || return 4
# Pass all the options determined above, to ensure consistent behavior. # In many cases mysqld_safe would arrive at the same conclusions anyway
commit a77a3d64a18ba85a7c8f0a27dd8b0a4d64661b28 Author: Honza Horak hhorak@redhat.com Date: Sun Sep 24 12:55:50 2017 +0200
Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script, same as it is done in case of systemd unit file Related: #1455850
diff --git a/mariadb.spec b/mariadb.spec index 597b544..288c534 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1624,6 +1624,9 @@ fi %changelog * Thu Jan 11 2018 Honza Horak hhorak@redhat.com - 3:10.2.12-1 - Do not build connect plugin with mongo and jdbc connectors +- Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script, + same as it is done in case of systemd unit file + Related: #1455850
* Wed Jan 10 2018 Michal Schorm mschorm@redhat.com - 3:10.2.12-1 - Rebase to 10.2.12 diff --git a/mysql.init.in b/mysql.init.in index 6ae046c..aa3b809 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -82,7 +82,7 @@ start(){ # Note: set --basedir to prevent probes that might trigger SELinux # alarms, per bug #547485 su - $MYUSER -s /bin/bash -c "$exec --datadir='$datadir' --socket='$socketfile' \ - --pid-file='$pidfile' \ + --pid-file='$pidfile' $MYSQLD_OPTS $_WSREP_NEW_CLUSTER \ --basedir=@prefix@ --user=$MYUSER" >/dev/null 2>&1 & safe_pid=$!
commit 16cf4d2abf26cb2e604f5ab308b2be1abc110087 Author: Honza Horak hhorak@redhat.com Date: Thu Nov 23 22:15:32 2017 +0100
Remove jar files used for testing from the source Related: #1463417
diff --git a/mariadb.spec b/mariadb.spec index f5e18e9..597b544 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -699,6 +699,9 @@ sources. %prep %setup -q -n mariadb-%{version}
+# Removt JAR files that upstream puts into tarball +find . -name "*.jar" -type f -exec rm --verbose -f {} ; + %patch4 -p1 %patch7 -p1 %patch9 -p1 @@ -854,6 +857,8 @@ export LDFLAGS -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ + -DCONNECT_WITH_MONGO=OFF \ + -DCONNECT_WITH_JDBC=OFF \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ %{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
@@ -1013,10 +1018,6 @@ install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_
# remove duplicate logrotate script rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql -# remove *.jar file from mysql-test -rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar -rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar -rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
@@ -1621,6 +1622,9 @@ fi %endif
%changelog +* Thu Jan 11 2018 Honza Horak hhorak@redhat.com - 3:10.2.12-1 +- Do not build connect plugin with mongo and jdbc connectors + * Wed Jan 10 2018 Michal Schorm mschorm@redhat.com - 3:10.2.12-1 - Rebase to 10.2.12 - Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed
commit bbf3a20d30c8913206abc68c26dccb0637c88860 Author: Michal Schorm mschorm@redhat.com Date: Mon Dec 11 12:55:15 2017 +0100
Rebase to 10.2.12 Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed TokuDB disabled Failing tests lists updated
diff --git a/mariadb.spec b/mariadb.spec index 7834d98..f5e18e9 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -13,6 +13,7 @@ %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}}
# Use Full RELRO for all binaries (RHBZ#1092548) +# Deafult since F23 https://fedoraproject.org/wiki/Changes/Harden_All_Packages %global _hardened_build 1
# By default, patch(1) creates backup files when chunks apply with offsets. @@ -30,7 +31,10 @@ # https://mariadb.com/kb/en/library/myrocks-supported-platforms/ # RocksB engine is available only for x86_64 %ifarch x86_64 -%bcond_without tokudb +# Disable TokuDB since 10.1.12 on F>=28 +# It will either "freeze" the testsuite (probabbly stuck in some loop) or ~500 TokuDB tests will fail +# This issue is probabbly caused by updates in Fedora Rwahide (F28) KOJI - like a new GCC and many build tools updates +%bcond_with tokudb %bcond_without mroonga %bcond_without rocksdb %else @@ -133,7 +137,7 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 11 +%global bugfixver 12
Name: mariadb Version: %{compatver}.%{bugfixver} @@ -798,6 +802,8 @@ export CFLAGS CXXFLAGS # building with PIE LDFLAGS="$LDFLAGS -pie -Wl,-z,relro,-z,now" export LDFLAGS +# Simmilar flags provides MariaDB itself: -DSECURITY_HARDENED=ON +# will elanble -pie and -Wl,-z,relro,-z,now, but also -fstack-protector and -D_FORTIFY_SOURCE=2 %endif
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX @@ -833,6 +839,7 @@ export LDFLAGS -DTMPDIR=/var/tmp \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ + -DSECURITY_HARDENED=%{?hardened_build:ON}%{!?hardened_build:OFF} \ -DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \ -DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \ -DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \ @@ -846,14 +853,10 @@ export LDFLAGS -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \ -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ - -DTOKUDB_OK=1 \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ %{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
-# -DTOKUDB_OK=1 -# ^ is a temporary fix for https://jira.mariadb.org/browse/MDEV-14537 - # Print all Cmake options values cmake -L
@@ -980,7 +983,9 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server # Shipped as a standalona package in Fedora rm %{buildroot}%{_bindir}/mytop
- +# Rename sysusers and tmpfiles config files, they should be named after the software they belong to +mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf +mv %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf %{buildroot}/usr/lib/tmpfiles.d/mariadb.conf
# put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -1149,9 +1154,10 @@ export MTR_BUILD_THREAD=%{__isa_bits} # avoid redundant test runs with --binlog-format=mixed # increase timeouts to prevent unwanted failures during mass rebuilds
-# Failing test debug 02/14/17 +# Usefull arguments: # --do-test=mysql_client_test_nonblock \ # --skip-rpl +# --suite=roles
( set -ex @@ -1485,6 +1491,13 @@ fi %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name}
+# New systemd feature - used to reconstruct damaged /etc +# https://github.com/MariaDB/server/commit/7bbc6c14d1 +%dir /usr/lib/sysusers.d +/usr/lib/sysusers.d/mariadb.conf +%dir /usr/lib/tmpfiles.d +/usr/lib/tmpfiles.d/mariadb.conf + %if %{with cracklib} %files cracklib-password-check %config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf @@ -1608,6 +1621,11 @@ fi %endif
%changelog +* Wed Jan 10 2018 Michal Schorm mschorm@redhat.com - 3:10.2.12-1 +- Rebase to 10.2.12 +- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed +- TokuDB disabled + * Mon Dec 11 2017 Michal Schorm mschorm@redhat.com - 3:10.2.11-2 - Temporary fix for #1523875 removed, bug in Annobin fixed Resolves: #1523875 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 022dda6..11d5a9b 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -2,13 +2,10 @@ # https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=co... main.ssl_7937 : #1399847 main.ssl_crl_clients : #1399847 -main.ssl_cert_verify : #1399847
# -main.userstat : #1399847 main.non_blocking_api : #1399847 perfschema.nesting : #1399847 -perfschema.socket_summary_by_event_name_func : #1399847 perfschema.socket_summary_by_instance_func : #1399847
# mkocka@redhat.com needs this tests disabled for mode build @@ -27,14 +24,18 @@ rpl.rpl_row_img_eng_noblob :
sys_vars.slave_parallel_threads_basic :
+# Fails since 10.1.12 +innodb.innodb_defrag_binlog : + +# Fails on PPC, PPC64 and AArch +parts.partition_alter4_innodb : #1399847 + # https://jira.mariadb.org/browse/MDEV-14003 -spider/bg.spider3_fixes : spider/bg.spider3_fixes_part : spider/bg.spider_fixes : spider/bg.spider_fixes_part : spider/bg.basic_sql : spider/bg.basic_sql_part : -spider/bg.direct_aggregate : spider/bg.direct_aggregate_part : spider/bg.direct_update : spider/bg.direct_update_part : @@ -55,4 +56,3 @@ spider.function : spider.ha : spider.ha_part : spider.vp_fixes : - diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index f396da3..5fd4928 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,4 +1,2 @@ -parts.partition_alter4_innodb : #1399847 -connect.tbl_thread : warnings in log -partition_alter1_2_innodb : warnings in log -partition_alter2_1_1_innodb : warnings in log +# Fails since 10.1.12 only on PPC64 +innodb_fts.fulltext : diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index 5f46945..e69de29 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -1,6 +0,0 @@ -encryption.innodb-read-only : #1399847 -multi_source.gtid : warnings in log -sys_vars.innodb_autoextend_increment_basic : warnings in log -vcol.vcol_keys_innodb : warnings in log - -encryption.innodb-compressed-blob : started failing with 10.2.11 release diff --git a/sources b/sources index d8648b0..dc9be41 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.11.tar.gz) = 4041ee1f1e266e8b30f85b19c5c95bcb626f965df9e0e20eb801598cc7fc5f5f37906e8a75cc86d373aa642adcccf3b75a0e67994e18908fb733cc6520d04a44 +SHA512 (mariadb-10.2.12.tar.gz) = 8d3d3c84d4a01d6047e4f2b6802eb802e1f6a7b0e10e981c7ef9fdd27a5a25baab0af47a21b8637f4cbb9d21ef3bcc85097c5fdb8745c2a79040ab87fecb5a7b
commit 1b8fb85b0fa3aed4703b0012f798cd52cfdc693b Author: Michal Schorm mschorm@redhat.com Date: Mon Dec 11 12:55:15 2017 +0100
Temporary fix for #1523875 removed, bug in Annobin fixed
diff --git a/mariadb.spec b/mariadb.spec index b733618..7834d98 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -137,7 +137,7 @@
Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3
Summary: A community developed branch of MySQL @@ -791,9 +791,6 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif
-# Temporary fix for rhbz#1523875 -CFLAGS=`echo $CFLAGS| sed -e "s|-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1||g" ` - CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS
@@ -1611,10 +1608,15 @@ fi %endif
%changelog +* Mon Dec 11 2017 Michal Schorm mschorm@redhat.com - 3:10.2.11-2 +- Temporary fix for #1523875 removed, bug in Annobin fixed + Resolves: #1523875 + * Sat Dec 09 2017 Michal Schorm mschorm@redhat.com - 3:10.2.11-1 - Rebase to 10.2.11 - Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced - Temporary fix for #1523875 intoruced + Related: #1523875
* Wed Dec 06 2017 Michal Schorm mschorm@redhat.com - 3:10.2.10-2 - Fix PID file location
commit 09ab3ccf28641b3f8753b3b86c2f9f4816b59cce Author: Michal Schorm mschorm@redhat.com Date: Sat Dec 9 21:50:34 2017 +0100
Add failing test for 10.2.11 release
diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index 52e7587..5f46945 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -2,3 +2,5 @@ encryption.innodb-read-only : #1399847 multi_source.gtid : warnings in log sys_vars.innodb_autoextend_increment_basic : warnings in log vcol.vcol_keys_innodb : warnings in log + +encryption.innodb-compressed-blob : started failing with 10.2.11 release
commit 53adb7991c20819c959d44eade073a9c43e30ffe Author: Michal Schorm mschorm@redhat.com Date: Sat Dec 9 18:57:49 2017 +0100
Added reasons in comments to removed files section. Based on a question asked on the usptream mailing list: https://lists.launchpad.net/maria-developers/msg11028.html
diff --git a/mariadb.spec b/mariadb.spec index 7f08e63..b733618 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -406,6 +406,8 @@ Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr} Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr} Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}
+Suggests: mytop + Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d
@@ -957,21 +959,29 @@ ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
-# should move this to /etc/ ? -# WHY?? -%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} #upstream ships in client
+# Client that uses libmysqld embedded server. +# Pretty much like normal mysql command line client, but it doesn't require a running mariadb server. +%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} +# Static libraries rm %{buildroot}%{_libdir}/*.a -rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure #This script creates the MySQL system tables and starts the server. - -# WHY?? -rm %{buildroot}%{_datadir}/%{pkg_name}/magic #FS files first-bytes recoginiton? - -rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server #Usage: mysql.server {start|stop|restart|reload|force-reload|status|configtest|bootstrap} [ MySQL server options ] -rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server #Can't execute /usr/local/mysql/bin/mysqld_multi from dir /usr/local/mysql - -# WHY?? -rm %{buildroot}%{_bindir}/mytop #not shipped by upstream +# This script creates the MySQL system tables and starts the server. +# Upstream says: +# It looks like it's just "mysql_install_db && mysqld_safe" +# I've never heard of anyone using it, I'd say, no need to pack it. +rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure +# FS files first-bytes recoginiton +# Not updated by upstream since nobody realy use that +rm %{buildroot}%{_datadir}/%{pkg_name}/magic + +# Upstream ships them because of, https://jira.mariadb.org/browse/MDEV-10797 +# In Fedora we use our own systemd unit files and scripts +rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server +rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server + +# Binary for monitoring MySQL performance +# Shipped as a standalona package in Fedora +rm %{buildroot}%{_bindir}/mytop
commit 1edbdde313557017d18051409ba525a632bcdd55 Author: Michal Schorm mschorm@redhat.com Date: Sat Dec 9 02:46:07 2017 +0100
Include aliases for mariadb service; #1520905
diff --git a/mysql.service.in b/mysql.service.in index 8292553..bb5b8c2 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -67,3 +67,5 @@ PrivateTmp=true
[Install] WantedBy=multi-user.target +Alias=mysql.service +Alias=mysqld.service diff --git a/mysql@.service.in b/mysql@.service.in index 3bf386d..34e645f 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -73,3 +73,5 @@ PrivateTmp=true
[Install] WantedBy=multi-user.target +Alias=mysql.service +Alias=mysqld.service
commit e44669641a2ed459ea5a3dd2af7597874c0c3f9e Author: Michal Schorm mschorm@redhat.com Date: Sat Dec 9 02:34:41 2017 +0100
Rebase to 10.2.11
Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced Temporary fix for #1523875 intoruced
diff --git a/mariadb.spec b/mariadb.spec index f272e34..7f08e63 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -133,11 +133,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 10 +%global bugfixver 11
Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3
Summary: A community developed branch of MySQL @@ -788,6 +788,10 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` %ifarch ppc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" ` %endif + +# Temporary fix for rhbz#1523875 +CFLAGS=`echo $CFLAGS| sed -e "s|-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1||g" ` + CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS
@@ -843,10 +847,14 @@ export LDFLAGS -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \ -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ + -DTOKUDB_OK=1 \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ %{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
+# -DTOKUDB_OK=1 +# ^ is a temporary fix for https://jira.mariadb.org/browse/MDEV-14537 + # Print all Cmake options values cmake -L
@@ -1428,8 +1436,16 @@ fi %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql %{_datadir}/%{pkg_name}/mysql_to_mariadb.sql %{_datadir}/%{pkg_name}/mysql_performance_tables.sql -%{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/install.sql} -%{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/uninstall.sql} +%if %{with mroonga} +%{_datadir}/%{pkg_name}/mroonga/install.sql +%{_datadir}/%{pkg_name}/mroonga/uninstall.sql +%license %{_datadir}/%{pkg_name}/mroonga/COPYING +%license %{_datadir}/%{pkg_name}/mroonga/AUTHORS +%license %{_datadir}/groonga-normalizer-mysql/lgpl-2.0.txt +%license %{_datadir}/groonga/COPYING +%doc %{_datadir}/groonga-normalizer-mysql/README.md +%doc %{_datadir}/groonga/README.md +%endif %{_datadir}/%{pkg_name}/my-*.cnf %{_datadir}/%{pkg_name}/wsrep.cnf %{_datadir}/%{pkg_name}/wsrep_notify @@ -1585,6 +1601,11 @@ fi %endif
%changelog +* Sat Dec 09 2017 Michal Schorm mschorm@redhat.com - 3:10.2.11-1 +- Rebase to 10.2.11 +- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced +- Temporary fix for #1523875 intoruced + * Wed Dec 06 2017 Michal Schorm mschorm@redhat.com - 3:10.2.10-2 - Fix PID file location Related: #1483331, #1515779 diff --git a/sources b/sources index 2161b03..d8648b0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.10.tar.gz) = 39c198009f8b19f4a08226ef9842b50e24636580b67c1c92d59c61cce3aa1edbd466e253c281dfcdfc58ab573ae9a59aaacb0ce3e8b82222043ddd849fc3e239 +SHA512 (mariadb-10.2.11.tar.gz) = 4041ee1f1e266e8b30f85b19c5c95bcb626f965df9e0e20eb801598cc7fc5f5f37906e8a75cc86d373aa642adcccf3b75a0e67994e18908fb733cc6520d04a44
commit add7d9cf1ac64708c2111c2b8fe068c656f9b56b Author: Michal Schorm mschorm@redhat.com Date: Wed Dec 6 09:51:51 2017 +0100
Remove 'Group' tags as they should not be used any more https://fedoraproject.org/wiki/RPMGroups
diff --git a/mariadb.spec b/mariadb.spec index b882f59..f272e34 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -141,7 +141,6 @@ Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3
Summary: A community developed branch of MySQL -Group: Applications/Databases URL: http://mariadb.org # Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD @@ -295,7 +294,6 @@ contains the standard MariaDB/MySQL client programs and generic MySQL files. %if %{with clibrary} %package libs Summary: The shared libraries required for MariaDB/MySQL clients -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} @@ -324,7 +322,6 @@ to a MariaDB/MySQL server. %if %{with config} %package config Summary: The config files required by server and client -Group: Applications/Databases
%description config The package provides the config file my.cnf and my.cnf.d directory used by any @@ -337,7 +334,6 @@ package itself. %if %{with common} %package common Summary: The shared files required by server and client -Group: Applications/Databases Requires: %{_sysconfdir}/my.cnf
# obsoletion of mariadb-galera-common @@ -357,7 +353,6 @@ You will need to install this package to use any other MariaDB package. %if %{with errmsg} %package errmsg Summary: The error messages files required by server and embedded -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr}
%description errmsg @@ -370,7 +365,6 @@ MariaDB packages. %if %{with galera} %package server-galera Summary: The configuration files and scripts for galera replication -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} Requires: galera >= 25.3.3 @@ -395,7 +389,6 @@ MariaDB is a community developed branch of MySQL.
%package server Summary: The MariaDB server and related files -Group: Applications/Databases
# note: no version here = %%{version}-%%{release} %if %{with mysql_names} @@ -457,7 +450,6 @@ MariaDB is a community developed branch of MySQL. %if %{with oqgraph} %package oqgraph-engine Summary: The Open Query GRAPH engine for MariaDB -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} # boost and Judy required for oograph BuildRequires: boost-devel Judy-devel @@ -474,7 +466,6 @@ standard SQL syntax, and results joined onto other tables. %if %{with connect} %package connect-engine Summary: The CONNECT storage engine for MariaDB -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr}
%description connect-engine @@ -489,7 +480,6 @@ or products (such as Excel), or data retrieved from the environment %if %{with backup} %package backup Summary: The mariabackup tool for physical online backups -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} BuildRequires: libarchive-devel
@@ -503,7 +493,6 @@ For InnoDB, "hot online" backups are possible. %if %{with rocksdb} %package rocksdb-engine Summary: The RocksDB storage engine for MariaDB -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr}
%description rocksdb-engine @@ -514,7 +503,6 @@ The RocksDB storage engine is used for high performance servers on SSD drives. %if %{with tokudb} %package tokudb-engine Summary: The TokuDB storage engine for MariaDB -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr}
%description tokudb-engine @@ -525,7 +513,6 @@ The TokuDB storage engine from Percona. %if %{with cracklib} %package cracklib-password-check Summary: The password strength checking plugin -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} BuildRequires: cracklib-dicts cracklib-devel Requires: cracklib-dicts @@ -542,7 +529,6 @@ also use it to check MariaDB account passwords. %if %{with gssapi} %package gssapi-server Summary: GSSAPI authentication plugin for server -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} BuildRequires: krb5-devel
@@ -555,7 +541,6 @@ This plugin includes support for Kerberos on Unix. %if %{with sphinx} %package sphinx-engine Summary: The Sphinx storage engine for MariaDB -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} BuildRequires: sphinx libsphinxclient libsphinxclient-devel Requires: sphinx libsphinxclient @@ -567,7 +552,6 @@ The Sphinx storage engine for MariaDB.
%package server-utils Summary: Non-essential server utilities for MariaDB/MySQL applications -Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-perl = %{sameevr} @@ -584,7 +568,6 @@ the only MariaDB sub-package, except test subpackage, that depends on Perl. %if %{with devel} %package devel Summary: Files for development of MariaDB/MySQL applications -Group: Applications/Databases %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} # avoid issues with openssl1.0 / openssl1.1 / compat Requires: pkgconfig(openssl) @@ -616,7 +599,6 @@ package. %if %{with embedded} %package embedded Summary: MariaDB as an embeddable library -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} %if %{with mysql_names} @@ -635,7 +617,6 @@ MariaDB is a community developed branch of MySQL.
%package embedded-devel Summary: Development files for MariaDB as an embeddable library -Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{sameevr} Requires: %{name}-devel%{?_isa} = %{sameevr} # embedded-devel should require libaio-devel (rhbz#1290517) @@ -659,7 +640,6 @@ the embedded version of the MariaDB server. %if %{with bench} %package bench Summary: MariaDB benchmark scripts and data -Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-bench = %{sameevr} @@ -680,7 +660,6 @@ MariaDB. %if %{with test} %package test Summary: The test suite distributed with MariaDB -Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} @@ -1606,9 +1585,11 @@ fi %endif
%changelog -* Thu Nov 23 2017 Michal Schorm mschorm@redhat.com - 3:10.2.10-2 +* Wed Dec 06 2017 Michal Schorm mschorm@redhat.com - 3:10.2.10-2 - Fix PID file location Related: #1483331, #1515779 +- Remove 'Group' tags as they should not be used any more + Related: https://fedoraproject.org/wiki/RPMGroups
* Mon Nov 20 2017 Michal Schorm mschorm@redhat.com - 3:10.2.10-1 - Rebase to 10.2.10 version
commit d7b4f7837a10a59f3579413c8a08998db13f5250 Author: Honza Horak hhorak@redhat.com Date: Fri Dec 1 16:10:14 2017 +0100
Use conditions definition for optional plugins as described at https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L100-...
diff --git a/mariadb.spec b/mariadb.spec index b2f02d0..b882f59 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -44,10 +44,12 @@ %bcond_without oqgraph
# Other plugins -%bcond_without cracklib -%bcond_without gssapi -%bcond_without connect -%bcond_without sphinx +# Allow to override the values outside of spec +# https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L100-... +%{!?_with_cracklib: %{!?_without_cracklib: %bcond_without cracklib}} +%{!?_with_gssapi: %{!?_without_gssapi: %bcond_without gssapi}} +%{!?_with_connect: %{!?_without_sphinx: %bcond_without connect}} +%{!?_with_sphinx: %{!?_without_sphinx: %bcond_without sphinx}}
# For some use cases we do not need some parts of the package. Set to "...with" to exclude %bcond_with clibrary @@ -211,7 +213,7 @@ BuildRequires: bison bison-devel BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) %{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} -%{?without_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} +%{!?with_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} # Few utilities needs Perl %if 0%{?fedora} >= 22 || 0%{?rhel} > 7 BuildRequires: perl-interpreter
commit df3c3b6c6801374829aa768e541378e4c7cec05c Author: Michal Schorm mschorm@redhat.com Date: Thu Nov 23 15:06:29 2017 +0100
Fix PID file location Related: #1483331, #1515779
diff --git a/mariadb.spec b/mariadb.spec index f1e4d6b..b2f02d0 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -78,7 +78,7 @@ %global daemon_name %{name} %global daemondir %{_unitdir} %global daemon_no_prefix %{pkg_name} -%global mysqld_pid_dir mysqld +%global mysqld_pid_dir mariadb %else %bcond_with init_systemd %bcond_without init_sysv @@ -135,7 +135,7 @@
Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3
Summary: A community developed branch of MySQL @@ -1604,6 +1604,10 @@ fi %endif
%changelog +* Thu Nov 23 2017 Michal Schorm mschorm@redhat.com - 3:10.2.10-2 +- Fix PID file location + Related: #1483331, #1515779 + * Mon Nov 20 2017 Michal Schorm mschorm@redhat.com - 3:10.2.10-1 - Rebase to 10.2.10 version - Patch 2: mariadb-install-test.patch has been incorporated by upstream
commit 8420e0ff5a43dcc49ef9345d42dc7db52e409bf1 Author: Michal Schorm mschorm@redhat.com Date: Mon Nov 20 14:38:51 2017 +0100
Remove false Provides List only relevant Cmake arguments
diff --git a/mariadb.spec b/mariadb.spec index 34cb0ea..f1e4d6b 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -298,18 +298,6 @@ Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} Provides: mysql-libs%{?_isa} = %{sameevr} -# these are the provides for the libmysqlclient.so.18 compatibility -# symlink; the library auto-provides system does not handle this kind -# of symlink. They should be removed when the symlink is removed -%if 0%{?__isa_bits} == 64 -Provides: libmysqlclient.so.18()(64bit) -Provides: libmysqlclient.so.18(libmysqlclient_16)(64bit) -Provides: libmysqlclient.so.18(libmysqlclient_18)(64bit) -%else -Provides: libmysqlclient.so.18 -Provides: libmysqlclient.so.18(libmysqlclient_16) -Provides: libmysqlclient.so.18(libmysqlclient_18) -%endif # isa_bits %endif # mysql_names %{?obsoleted_mysql_case_evr:Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr}} %{?obsoleted_mysql_evr:Obsoletes: mysql-libs < %{obsoleted_mysql_evr}} @@ -875,52 +863,9 @@ export LDFLAGS -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ - -DPLUGIN_ARCHIVE=DYNAMIC \ - -DPLUGIN_AUDIT_NULL=DYNAMIC \ - -DPLUGIN_AUTH_ED25519=DYNAMIC \ - -DPLUGIN_AUTH_PAM=DYNAMIC \ - -DPLUGIN_AUTH_SOCKET=DYNAMIC \ - -DPLUGIN_AUTH_TEST_PLUGIN=DYNAMIC \ - -DPLUGIN_AUTH_0X0100=DYNAMIC \ - -DPLUGIN_BLACKHOLE=DYNAMIC \ - -DPLUGIN_CLIENT_ED25519=DYNAMIC \ - -DPLUGIN_DAEMON_EXAMPLE=DYNAMIC \ - -DPLUGIN_DEBUG_KEY_MANAGEMENT=DYNAMIC \ - -DPLUGIN_DIALOG_EXAMPLES=DYNAMIC \ - -DPLUGIN_EXAMPLE=DYNAMIC \ - -DPLUGIN_EXAMPLE_KEY_MANAGEMENT=DYNAMIC \ - -DPLUGIN_FEDERATED=DYNAMIC \ - -DPLUGIN_FEDERATEDX=DYNAMIC \ - -DPLUGIN_FEEDBACK=DYNAMIC \ - -DPLUGIN_FILE_KEY_MANAGEMENT=DYNAMIC \ - -DPLUGIN_FTEXAMPLE=DYNAMIC \ - -DPLUGIN_HANDLERSOCKET=DYNAMIC \ - -DPLUGIN_LOCALES=DYNAMIC \ - -DPLUGIN_METADATA_LOCK_INFO=DYNAMIC \ - -DPLUGIN_QA_AUTH_CLIENT=DYNAMIC \ - -DPLUGIN_QA_AUTH_INTERFACE=DYNAMIC \ - -DPLUGIN_QA_AUTH_SERVER=DYNAMIC \ - -DPLUGIN_QUERY_CACHE_INFO=DYNAMIC \ - -DPLUGIN_QUERY_RESPONSE_TIME=DYNAMIC \ - -DPLUGIN_SEMISYNC_MASTER=DYNAMIC \ - -DPLUGIN_SEMISYNC_SLAVE=DYNAMIC \ - -DPLUGIN_SEQUENCE=DYNAMIC \ - -DPLUGIN_SERVER_AUDIT=DYNAMIC \ - -DPLUGIN_SIMPLE_PASSWORD_CHECK=DYNAMIC \ - -DPLUGIN_SPIDER=DYNAMIC \ - -DPLUGIN_SQL_ERRLOG=DYNAMIC \ - -DPLUGIN_TEST_SQL_DISCOVERY=DYNAMIC \ - -DPLUGIN_USER_VARIABLES=DYNAMIC \ - -DPLUGIN_WSREP_INFO=DYNAMIC \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ %{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
-# Following argumets leads to compile errors. Tracked as https://jira.mariadb.org/browse/MDEV-14373 -# -DPLUGIN_INNOBASE=DYNAMIC \ -# -DPLUGIN_PARTITION=DYNAMIC \ -# -DPLUGIN_ARIA=DYNAMIC \ -# -DPLUGIN_PERFSCHEMA=DYNAMIC \ - # Print all Cmake options values cmake -L
@@ -1659,7 +1604,7 @@ fi %endif
%changelog -* Mon Nov 13 2017 Michal Schorm mschorm@redhat.com - 3:10.2.10-1 +* Mon Nov 20 2017 Michal Schorm mschorm@redhat.com - 3:10.2.10-1 - Rebase to 10.2.10 version - Patch 2: mariadb-install-test.patch has been incorporated by upstream - Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros @@ -1670,6 +1615,7 @@ fi Resolves: #1490401; #1400463 - Update of Cmake arguments to supported format Related: https://lists.launchpad.net/maria-discuss/msg04852.html +- Remove false Provides
* Thu Oct 05 2017 Michal Schorm mschorm@redhat.com - 3:10.2.9-3 - Fix client library obsolete
commit b36c28563ac44e124f81f67ba1691e066049cf37 Author: Michal Schorm mschorm@redhat.com Date: Wed Nov 15 12:02:56 2017 +0100
Fix file removal on multilib systems
diff --git a/mariadb.spec b/mariadb.spec index 3349de2..34cb0ea 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1102,7 +1102,6 @@ rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so, %endif
%if %{without clibrary} || %{without devel} -unlink %{buildroot}%{_bindir}/mysql_config rm %{buildroot}%{_bindir}/mysql_config* rm %{buildroot}%{_bindir}/mariadb_config rm %{buildroot}%{_mandir}/man1/mysql_config*.1*
commit e164541be47159d92229fe249653bd1053839782 Author: Michal Schorm mschorm@redhat.com Date: Mon Nov 13 09:18:22 2017 +0100
Divided to more sub-packages to match upstream's RPM list: #1490401; #1400463 Update of Cmake arguments to supported format: https://lists.launchpad.net/maria-discuss/msg04852.htm
diff --git a/mariadb.spec b/mariadb.spec index d9a912d..3349de2 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -20,28 +20,35 @@ %global _default_patch_flags --no-backup-if-mismatch
# TokuDB engine -# https://mariadb.com/kb/en/mariadb/tokudb/ -# TokuDB engine is available only for x86_64 -%ifarch x86_64 -%bcond_without tokudb -%else -%bcond_with tokudb -%endif - +# https://mariadb.com/kb/en/mariadb/tokudb/ +# TokuDB engine is available only for x86_64 # Mroonga engine -# https://mariadb.com/kb/en/mariadb/about-mroonga/ -# Actual version in MariaDB, 5.04, only supports the x86_64 -# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html +# https://mariadb.com/kb/en/mariadb/about-mroonga/ +# Actual version in MariaDB, 5.04, only supports the x86_64 +# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html +# RocksDB engine +# https://mariadb.com/kb/en/library/myrocks-supported-platforms/ +# RocksB engine is available only for x86_64 %ifarch x86_64 +%bcond_without tokudb %bcond_without mroonga +%bcond_without rocksdb %else +%bcond_with tokudb %bcond_with mroonga +%bcond_with rocksdb %endif
# The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing # hierarchies and more complex graph structures to be handled in a relational fashion %bcond_without oqgraph
+# Other plugins +%bcond_without cracklib +%bcond_without gssapi +%bcond_without connect +%bcond_without sphinx + # For some use cases we do not need some parts of the package. Set to "...with" to exclude %bcond_with clibrary %bcond_without embedded @@ -51,8 +58,8 @@ %bcond_without errmsg %bcond_without bench %bcond_without test -%bcond_without connect %bcond_without galera +%bcond_without backup
# When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between @@ -62,6 +69,8 @@ # For deep debugging we need to build binaries with extra debug info %bcond_with debug
+ + # Include files for SysV init or systemd %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 %bcond_without init_systemd @@ -179,29 +188,25 @@ Patch40: %{pkgnamepatch}-galera.cnf.patch Patch43: %{pkgnamepatch}-recovery.patch
BuildRequires: cmake gcc-c++ +BuildRequires: zlib-devel +BuildRequires: multilib-rpm-config +BuildRequires: selinux-policy-devel + +# TokuDB and some core stuff +BuildRequires: jemalloc-devel + +# asynchornous operations stuff BuildRequires: libaio-devel +# commands history features BuildRequires: libedit-devel +# CLI graphic BuildRequires: ncurses-devel +# debugging stuff BuildRequires: systemtap-sdt-devel -BuildRequires: zlib-devel -BuildRequires: multilib-rpm-config -BuildRequires: krb5-devel -BuildRequires: selinux-policy-devel %{?with_init_systemd:BuildRequires: systemd systemd-devel} -# Sphinx storage engine -#BuildRequires: sphinx libsphinxclient libsphinxclient-devel # Bison SQL parser BuildRequires: bison bison-devel
-# Jemalloc, used by TokuDB -BuildRequires: jemalloc-devel - -# Cracklib plugin -BuildRequires: cracklib-dicts cracklib-devel - -# Mariabackup -BuildRequires: libarchive-devel - # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) @@ -232,7 +237,7 @@ BuildRequires: perl(Time::HiRes) BuildRequires: perl(Symbol) # for running some openssl tests rhbz#1189180 BuildRequires: openssl openssl-devel -Recommends: openssl +Requires: openssl
Requires: bash coreutils grep
@@ -313,7 +318,7 @@ Provides: libmysqlclient.so.18(libmysqlclient_18) The mariadb-libs package provides the essential shared libraries for any MariaDB/MySQL client program or interface. You will need to install this package to use any other MariaDB package or any clients that need to connect -to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL. +to a MariaDB/MySQL server. %endif #clibrary
@@ -353,7 +358,6 @@ Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr} Obsoletes: %{name}-libs <= %{sameevr} %endif
- %description common The package provides the essential shared files for any MariaDB program. You will need to install this package to use any other MariaDB package. @@ -382,6 +386,9 @@ Requires: %{name}-server%{?_isa} = %{sameevr} Requires: galera >= 25.3.3 Requires(post): libselinux-utils Requires(post): policycoreutils-python +# wsrep requirements +Requires: lsof +Requires: rsync
# obsoletion of mariadb-galera-server Provides: mariadb-galera-server = %{sameevr} @@ -410,18 +417,23 @@ Requires: %{name}%{?_isa} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} +Recommends: %{name}-backup%{?_isa} = %{sameevr} +Recommends: %{name}-craclkib-password-check%{?_isa} = %{sameevr} +Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr} +Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr} +Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr} + Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d + # for fuser in mysql-check-socket Requires: psmisc + Requires: coreutils Requires(pre): /usr/sbin/useradd -# Sphinx storage engine -#Recommends: sphinx libsphinxclient # Bison SQL parser +# WHY?? (testsuite??) Requires: bison -# Cracklib plugin: -Recommends: cracklib-dicts
%if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} @@ -431,9 +443,6 @@ Requires(pre): systemd Requires(posttrans): systemd %{?systemd_requires: %systemd_requires} %endif -# wsrep requirements -Requires: lsof -Requires: rsync # RHBZ#1496131; use 'iproute' instead of 'net-tools' Requires: iproute %if %{with mysql_names} @@ -487,6 +496,85 @@ or products (such as Excel), or data retrieved from the environment %endif
+%if %{with backup} +%package backup +Summary: The mariabackup tool for physical online backups +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} +BuildRequires: libarchive-devel + +%description backup +MariaDB Backup is an open source tool provided by MariaDB for performing +physical online backups of InnoDB, Aria and MyISAM tables. +For InnoDB, "hot online" backups are possible. +%endif + + +%if %{with rocksdb} +%package rocksdb-engine +Summary: The RocksDB storage engine for MariaDB +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} + +%description rocksdb-engine +The RocksDB storage engine is used for high performance servers on SSD drives. +%endif + + +%if %{with tokudb} +%package tokudb-engine +Summary: The TokuDB storage engine for MariaDB +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} + +%description tokudb-engine +The TokuDB storage engine from Percona. +%endif + + +%if %{with cracklib} +%package cracklib-password-check +Summary: The password strength checking plugin +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} +BuildRequires: cracklib-dicts cracklib-devel +Requires: cracklib-dicts + +%description cracklib-password-check +CrackLib is a password strength checking library. It is installed by default +in many Linux distributions and is invoked automatically (by pam_cracklib.so) +whenever the user login password is modified. +Now, with the cracklib_password_check password validation plugin, one can +also use it to check MariaDB account passwords. +%endif + + +%if %{with gssapi} +%package gssapi-server +Summary: GSSAPI authentication plugin for server +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} +BuildRequires: krb5-devel + +%description gssapi-server +GSSAPI authentication server-side plugin for MariaDB for passwordless login. +This plugin includes support for Kerberos on Unix. +%endif + + +%if %{with sphinx} +%package sphinx-engine +Summary: The Sphinx storage engine for MariaDB +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{sameevr} +BuildRequires: sphinx libsphinxclient libsphinxclient-devel +Requires: sphinx libsphinxclient + +%description sphinx-engine +The Sphinx storage engine for MariaDB. +%endif + + %package server-utils Summary: Non-essential server utilities for MariaDB/MySQL applications Group: Applications/Databases @@ -522,10 +610,16 @@ Provides: mysql-devel%{?_isa} = %{sameevr} %{?with_conflicts:Conflicts: community-mysql-devel}
%description devel -MariaDB is a multi-user, multi-threaded SQL database server. This -package contains the libraries and header files that are needed for -developing MariaDB/MySQL client applications. +MariaDB is a multi-user, multi-threaded SQL database server. MariaDB is a community developed branch of MySQL. +%if %{with clibrary} +This package contains everything needed for developing MariaDB/MySQL client +and server applications. +%else +This package contains everything needed for developing MariaDB/MySQL server +applications. For developing client applications, use mariadb-connector-c +package. +%endif %endif
@@ -565,10 +659,10 @@ Provides: mysql-embedded-devel%{?_isa} = %{sameevr} %{?obsoleted_mysql_evr:Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr}}
%description embedded-devel -MariaDB is a multi-user, multi-threaded SQL database server. This -package contains files needed for developing and testing with -the embedded version of the MariaDB server. +MariaDB is a multi-user, multi-threaded SQL database server. MariaDB is a community developed branch of MySQL. +This package contains files needed for developing and testing with +the embedded version of the MariaDB server. %endif
@@ -586,10 +680,10 @@ Provides: mysql-bench%{?_isa} = %{sameevr} %{?obsoleted_mysql_evr:Obsoletes: mysql-bench < %{obsoleted_mysql_evr}}
%description bench -MariaDB is a multi-user, multi-threaded SQL database server. This -package contains benchmark scripts and data for use when benchmarking -MariaDB. +MariaDB is a multi-user, multi-threaded SQL database server. MariaDB is a community developed branch of MySQL. +This package contains benchmark scripts and data for use when benchmarking +MariaDB. %endif
@@ -620,10 +714,10 @@ Provides: mysql-test%{?_isa} = %{sameevr} %{?obsoleted_mysql_evr:Obsoletes: mysql-test < %{obsoleted_mysql_evr}}
%description test -MariaDB is a multi-user, multi-threaded SQL database server. This -package contains the regression test suite distributed with -the MariaDB sources. +MariaDB is a multi-user, multi-threaded SQL database server. MariaDB is a community developed branch of MySQL. +This package contains the regression test suite distributed with the MariaDB +sources. %endif
@@ -764,34 +858,75 @@ export LDFLAGS -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ + -DTMPDIR=/var/tmp \ -DENABLED_LOCAL_INFILE=ON \ - -DENABLE_DTRACE=OFF \ - -DWITH_EMBEDDED_SERVER=ON \ + -DENABLE_DTRACE=ON \ + -DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \ + -DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \ + -DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \ + -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_PCRE=%{?with_bundled_pcre:system}%{!?with_bundled_pcre:bundled} \ -DWITH_JEMALLOC=system \ - -DWITH_LIBARCHIVE=ON \ - -DWITH_MARIABACKUP=ON \ -%{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\ -%{!?with_mroonga: -DWITHOUT_MROONGA=ON}\ -%{!?with_oqgraph: -DWITHOUT_OQGRAPH=ON}\ - -DTMPDIR=/var/tmp \ -%{?with_debug: -DCMAKE_BUILD_TYPE=Debug}\ + -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ + -DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \ + -DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \ + -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \ + -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \ + -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ + -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ + -DPLUGIN_ARCHIVE=DYNAMIC \ + -DPLUGIN_AUDIT_NULL=DYNAMIC \ + -DPLUGIN_AUTH_ED25519=DYNAMIC \ + -DPLUGIN_AUTH_PAM=DYNAMIC \ + -DPLUGIN_AUTH_SOCKET=DYNAMIC \ + -DPLUGIN_AUTH_TEST_PLUGIN=DYNAMIC \ + -DPLUGIN_AUTH_0X0100=DYNAMIC \ + -DPLUGIN_BLACKHOLE=DYNAMIC \ + -DPLUGIN_CLIENT_ED25519=DYNAMIC \ + -DPLUGIN_DAEMON_EXAMPLE=DYNAMIC \ + -DPLUGIN_DEBUG_KEY_MANAGEMENT=DYNAMIC \ + -DPLUGIN_DIALOG_EXAMPLES=DYNAMIC \ + -DPLUGIN_EXAMPLE=DYNAMIC \ + -DPLUGIN_EXAMPLE_KEY_MANAGEMENT=DYNAMIC \ + -DPLUGIN_FEDERATED=DYNAMIC \ + -DPLUGIN_FEDERATEDX=DYNAMIC \ + -DPLUGIN_FEEDBACK=DYNAMIC \ + -DPLUGIN_FILE_KEY_MANAGEMENT=DYNAMIC \ + -DPLUGIN_FTEXAMPLE=DYNAMIC \ + -DPLUGIN_HANDLERSOCKET=DYNAMIC \ + -DPLUGIN_LOCALES=DYNAMIC \ + -DPLUGIN_METADATA_LOCK_INFO=DYNAMIC \ + -DPLUGIN_QA_AUTH_CLIENT=DYNAMIC \ + -DPLUGIN_QA_AUTH_INTERFACE=DYNAMIC \ + -DPLUGIN_QA_AUTH_SERVER=DYNAMIC \ + -DPLUGIN_QUERY_CACHE_INFO=DYNAMIC \ + -DPLUGIN_QUERY_RESPONSE_TIME=DYNAMIC \ + -DPLUGIN_SEMISYNC_MASTER=DYNAMIC \ + -DPLUGIN_SEMISYNC_SLAVE=DYNAMIC \ + -DPLUGIN_SEQUENCE=DYNAMIC \ + -DPLUGIN_SERVER_AUDIT=DYNAMIC \ + -DPLUGIN_SIMPLE_PASSWORD_CHECK=DYNAMIC \ + -DPLUGIN_SPIDER=DYNAMIC \ + -DPLUGIN_SQL_ERRLOG=DYNAMIC \ + -DPLUGIN_TEST_SQL_DISCOVERY=DYNAMIC \ + -DPLUGIN_USER_VARIABLES=DYNAMIC \ + -DPLUGIN_WSREP_INFO=DYNAMIC \ +%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \ %{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
-make %{?_smp_mflags} VERBOSE=1 +# Following argumets leads to compile errors. Tracked as https://jira.mariadb.org/browse/MDEV-14373 +# -DPLUGIN_INNOBASE=DYNAMIC \ +# -DPLUGIN_PARTITION=DYNAMIC \ +# -DPLUGIN_ARIA=DYNAMIC \ +# -DPLUGIN_PERFSCHEMA=DYNAMIC \
+# Print all Cmake options values +cmake -L + +make %{?_smp_mflags} VERBOSE=1
-# debuginfo extraction scripts fail to find source files in their real -# location -- satisfy them by copying these files into location, which -# is expected by scripts -#for e in innobase xtradb ; do -# for f in pars0grm.y pars0lex.l ; do -# cp -p "storage/$e/pars/$f" "storage/$e/$f" -# done -#done
# build selinux policy %if %{with galera} @@ -819,7 +954,8 @@ ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1 fi
# Upstream install this into arch-independent directory -# TODO: report to upstream +# Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 +# TODO: check, if it changes location inside that file depending on values passed to Cmake mkdir -p %{buildroot}/%{_libdir}/pkgconfig mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
@@ -829,6 +965,7 @@ install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/ rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/
+# Logfile creation mkdir -p %{buildroot}%{logfiledir} chmod 0750 %{buildroot}%{logfiledir} touch %{buildroot}%{logfile} @@ -845,9 +982,12 @@ install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf rm scripts/my.cnf %endif
-# use different config file name for each variant of server +# use different config file name for each variant of server (mariadb / mysql) mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
+# remove SysV init script and a symlink to that, we pack our very own +rm %{buildroot}%{_sysconfdir}/init.d/mysql +rm %{buildroot}%{_libexecdir}/rcmysql # install systemd unit files and scripts for handling server startup %if %{with init_systemd} install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service @@ -855,9 +995,8 @@ install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_nam install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf -%endif -%endif - +%endif #pid +%endif #systemd # install SysV init script %if %{with init_sysv} install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name} @@ -872,26 +1011,35 @@ install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql- install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready %endif
-# install selinux policy +# install aditional galera selinux policy %if %{with galera} install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp %endif
-# mysql-test includes one executable that doesn't belong under /usr/share, -# so move it and provide a symlink +# mysql-test includes one executable that doesn't belong under /usr/share, so move it and provide a symlink mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir} ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process +# Provide symlink expected by RH QA tests +ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list +
# should move this to /etc/ ? -rm %{buildroot}%{_bindir}/mysql_embedded +# WHY?? +%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} #upstream ships in client + rm %{buildroot}%{_libdir}/*.a -rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure -rm %{buildroot}%{_datadir}/%{pkg_name}/magic -rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server -rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server -rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* -rm %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* -rm %{buildroot}%{_bindir}/mytop +rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure #This script creates the MySQL system tables and starts the server. + +# WHY?? +rm %{buildroot}%{_datadir}/%{pkg_name}/magic #FS files first-bytes recoginiton? + +rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server #Usage: mysql.server {start|stop|restart|reload|force-reload|status|configtest|bootstrap} [ MySQL server options ] +rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server #Can't execute /usr/local/mysql/bin/mysqld_multi from dir /usr/local/mysql + +# WHY?? +rm %{buildroot}%{_bindir}/mytop #not shipped by upstream + +
# put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -908,45 +1056,39 @@ install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} # install galera config file sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' support-files/wsrep.cnf install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf - # install the clustercheck script mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck - # install the galera_new_cluster script anyway %if %{without init_systemd} install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_cluster %endif
-# remove SysV init script and a symlink to that -rm %{buildroot}%{_sysconfdir}/init.d/mysql -rm %{buildroot}%{_libexecdir}/rcmysql - # remove duplicate logrotate script rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql - -# rename the wsrep README so it corresponds with the other README names -cp Docs/README-wsrep Docs/README.wsrep - # remove *.jar file from mysql-test rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar +# Remove AppArmor files +rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
# script without shebang: https://jira.mariadb.org/browse/MDEV-14266 chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf
-# Remove AppArmor files -rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor - # Disable plugins +%if %{with ggsapi} sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf +%endif +%if %{with cracklib} sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf +%endif + +%if %{without embedded} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* +%endif
-# install the list of skipped tests to be available for user runs -install -p -m 0644 mysql-test/unstable-tests %{buildroot}%{_datadir}/mysql-test -ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
%if %{without clibrary} rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf @@ -959,66 +1101,43 @@ unlink %{buildroot}%{_libdir}/libmariadb.so rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so} %endif
-%if %{without embedded} -rm %{buildroot}%{_libdir}/%{pkg_name}/libmysqld.so* -rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} -rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* -%endif - -%if %{without devel} +%if %{without clibrary} || %{without devel} unlink %{buildroot}%{_bindir}/mysql_config rm %{buildroot}%{_bindir}/mysql_config* rm %{buildroot}%{_bindir}/mariadb_config -rm -r %{buildroot}%{_includedir}/mysql -rm %{buildroot}%{_datadir}/aclocal/mysql.m4 -rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc rm %{buildroot}%{_mandir}/man1/mysql_config*.1* unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* -%else -%if %{with clibrary} -# Create symlinks to the 'libmariadb' library, for compatibility reasons -# Note: the -libs subpackage has Provides: for this compat symlink; when -# it is removed, they should also be removed -pushd %{buildroot}%{_libdir} -#ln -s libmariadb.so libmysqlclient.so -ln -s libmariadb.so.3 libmysqlclient.so.18 -#ln -s libmariadb.so libmysqlclient_r.so -popd -%else -# This file is already included in mariadb-connector-c -rm %{buildroot}%{_includedir}/mysql/mysql_version.h +%endif
-rm %{buildroot}%{_bindir}/*_config* -rm %{buildroot}%{_mandir}/man1/*_config* -#rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so* +%if %{without clibrary} && %{with devel} +# This files are already included in mariadb-connector-c +rm %{buildroot}%{_includedir}/mysql/mysql_version.h rm %{buildroot}%{_includedir}/mysql/{errmsg.h,ma_list.h,ma_pvio.h,mariadb_com.h,\ mariadb_ctype.h,mariadb_dyncol.h,mariadb_stmt.h,mariadb_version.h,ma_tls.h,mysqld_error.h,mysql.h} rm -r %{buildroot}%{_includedir}/mysql/{mariadb,mysql} %endif -%endif + +%if %{without devel} +rm -r %{buildroot}%{_includedir}/mysql +rm %{buildroot}%{_datadir}/aclocal/mysql.m4 +rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc +%if %{with clibrary} +rm %{buildroot}%{_libdir}/libmariadb*.so +unlink %{buildroot}%{_libdir}/libmysqlclient.so +unlink %{buildroot}%{_libdir}/libmysqlclient_r.so +%endif # clibrary +%endif # devel
%if %{without client} rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} +mysqldump,mysqlimport,mysqlshow,mysqlslap} rm %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* -%endif - -%if %{without connect} -rm %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf -%endif - -%if %{without oqgraph} -rm %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf +mysqldump,mysqlimport,mysqlshow,mysqlslap}.1* %endif
%if %{without tokudb} -%ifarch x86_64 -rm %{buildroot}%{_bindir}/tokuftdump -rm %{buildroot}%{_bindir}/tokuft_logprint -%endif # because upstream ships manpages for tokudb even on architectures that tokudb doesn't support rm %{buildroot}%{_mandir}/man1/tokuftdump.1* rm %{buildroot}%{_mandir}/man1/tokuft_logdump.1* @@ -1034,6 +1153,10 @@ rm %{buildroot}%{_sysconfdir}/my.cnf.d/enable_encryption.preset rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets %endif
+%if %{without gssapi} +rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf +%endif + %if %{without errmsg} rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\ @@ -1046,10 +1169,15 @@ rm -r %{buildroot}%{_datadir}/sql-bench %endif
%if %{without test} -rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process} +%if %{with embedded} +rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded} +rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1* +%endif # embedded +rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process,mysqltest} +rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1* +rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* rm -r %{buildroot}%{_datadir}/mysql-test -rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* -%endif +%endif # test
%if %{without galera} rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf @@ -1100,8 +1228,10 @@ export MTR_BUILD_THREAD=%{__isa_bits} %endif )
-%endif -%endif +%endif # if dry run +%endif # with test + +
%pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : @@ -1172,6 +1302,8 @@ if [ $1 -ge 1 ]; then fi %endif
+ + %if %{with client} %files %{_bindir}/msql2mysql @@ -1187,7 +1319,6 @@ fi %{_bindir}/mysqlimport %{_bindir}/mysqlshow %{_bindir}/mysqlslap -%{_bindir}/my_print_defaults
%{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/mysql.1* @@ -1202,13 +1333,12 @@ fi %{_mandir}/man1/mysqlimport.1* %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* -%{_mandir}/man1/my_print_defaults.1* %endif
%if %{with clibrary} %files libs %{_libdir}/libmariadb.so.* -%{_libdir}/libmysqlclient.so.18 +%{?with_devel:%{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}} %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif
@@ -1227,10 +1357,10 @@ fi %doc %{_datadir}/doc/%{_pkgdocdirname} %dir %{_datadir}/%{pkg_name} %{_datadir}/%{pkg_name}/charsets -%if %{with devel} && %{with errmsg} && %{with galera} && %{with config} && %{with clibrary} +%if %{with clibrary} %{_libdir}/%{pkg_name}/plugin/dialog.so %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so -%endif # devel && errmsg && galera && config +%endif # clibrary %endif # common
%if %{with errmsg} @@ -1264,7 +1394,7 @@ fi
%if %{with galera} %files server-galera -%doc Docs/README.wsrep +%doc Docs/README-wsrep %license LICENSE.clustercheck %{_bindir}/clustercheck %{_bindir}/galera_new_cluster @@ -1285,15 +1415,14 @@ fi %{_bindir}/aria_ftdump %{_bindir}/aria_pack %{_bindir}/aria_read_log -%{_bindir}/mariabackup %if %{with init_systemd} %{_bindir}/mariadb-service-convert %endif -%{_bindir}/mbstream %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack +%{_bindir}/my_print_defaults %{_bindir}/mysql_install_db %{_bindir}/mysql_secure_installation %{_bindir}/mysql_tzinfo_to_sql @@ -1309,21 +1438,8 @@ fi %{_bindir}/wsrep_sst_rsync %{_bindir}/wsrep_sst_xtrabackup %{_bindir}/wsrep_sst_xtrabackup-v2 -%{?with_tokudb:%{_bindir}/tokuftdump} -%{?with_tokudb:%{_bindir}/tokuft_logprint}
%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf -%config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf -%{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf} -# Cracklib plugin -%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf -# RocksDB engine -%if %{with rocksdb} -%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf -%{_bindir}/mysql_ldb -%{_bindir}/sst_dump -%endif -
%{_libexecdir}/mysqld
@@ -1338,8 +1454,15 @@ fi %{_libdir}/%{pkg_name}/plugin/* %{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so} %{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so} +%{?with_cracklib:%exclude %{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so} +%{?with_rocksdb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so} +%{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so} +%{?with_ggsapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so} +%{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so} +%if %{with clibrary} %exclude %{_libdir}/%{pkg_name}/plugin/dialog.so %exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so +%endif
%{_mandir}/man1/aria_chk.1* %{_mandir}/man1/aria_dump_log.1* @@ -1353,20 +1476,18 @@ fi %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* +%{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/mysql.server.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysqld_safe.1* %{_mandir}/man1/mysqld_safe_helper.1* -%{_mandir}/man1/my_safe_process.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/replace.1* %{_mandir}/man1/resolveip.1* %{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man8/mysqld.8* -%{?with_tokudb:%{_mandir}/man1/tokuftdump.1*} -%{?with_tokudb:%{_mandir}/man1/tokuft_logdump.1*} %{_mandir}/man1/wsrep_sst_common.1* %{_mandir}/man1/wsrep_sst_mysqldump.1* %{_mandir}/man1/wsrep_sst_rsync.1* @@ -1416,6 +1537,47 @@ fi %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name}
+%if %{with cracklib} +%files cracklib-password-check +%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf +%{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so +%endif + +%if %{with backup} +%files backup +%{_bindir}/mariabackup +%{_bindir}/mbstream +%endif + +%if %{with rocksdb} +%files rocksdb-engine +%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf +%{_bindir}/mysql_ldb +%{_bindir}/sst_dump +%{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so +%endif + +%if %{with tokudb} +%files tokudb-engine +%{_bindir}/tokuftdump +%{_bindir}/tokuft_logprint +%{_mandir}/man1/tokuftdump.1* +%{_mandir}/man1/tokuft_logdump.1* +%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf +%{_libdir}/%{pkg_name}/plugin/ha_tokudb.so +%endif + +%if %{with gssapi} +%files gssapi-server +%{_libdir}/%{pkg_name}/plugin/auth_gssapi.so +%config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf +%endif + +%if %{with sphinx} +%files sphinx-engine +%{_libdir}/%{pkg_name}/plugin/ha_sphinx.so +%endif + %if %{with oqgraph} %files oqgraph-engine %config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf @@ -1444,10 +1606,8 @@ fi %{_mandir}/man1/mysql_setpermission.1* # Utilities that can be used remotely %{_bindir}/mysql_upgrade -%{_bindir}/mysqltest %{_bindir}/perror %{_mandir}/man1/mysql_upgrade.1* -%{_mandir}/man1/mysqltest.1* %{_mandir}/man1/perror.1* # Other utilities %{_bindir}/mysqld_safe_helper @@ -1474,19 +1634,11 @@ fi
%files embedded-devel %{_libdir}/libmysqld.so -%{_bindir}/mysql_client_test_embedded -%{_bindir}/mysqltest_embedded -%{_mandir}/man1/mysql_client_test_embedded.1* -%{_mandir}/man1/mysqltest_embedded.1* %endif
%if %{with bench} %files bench %{_datadir}/sql-bench -#TODO: do a sanity check -%exclude %{_datadir}/sql-bench/README -# RPMLINT W: -# mariadb-bench.x86_64: W: no-documentation %doc %{_datadir}/sql-bench/README %endif
@@ -1494,18 +1646,31 @@ fi %files test %{_bindir}/mysql_client_test %{_bindir}/my_safe_process +%{_bindir}/mysql_client_test_embedded +%{_bindir}/mysqltest +%{_bindir}/mysqltest_embedded %attr(-,mysql,mysql) %{_datadir}/mysql-test %{_mandir}/man1/mysql_client_test.1* +%{_mandir}/man1/my_safe_process.1* +%{_mandir}/man1/mysql_client_test_embedded.1* +%{_mandir}/man1/mysqltest.1* +%{_mandir}/man1/mysqltest_embedded.1* +%{_mandir}/man1/mysql-stress-test.pl.1* +%{_mandir}/man1/mysql-test-run.pl.1* %endif
%changelog -* Wed Nov 01 2017 Michal Schorm mschorm@redhat.com - 3:10.2.10-1 +* Mon Nov 13 2017 Michal Schorm mschorm@redhat.com - 3:10.2.10-1 - Rebase to 10.2.10 version - Patch 2: mariadb-install-test.patch has been incorporated by upstream - Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros - Update PCRE check - Start using location libdir/mariadb for plugins - Move libraries to libdir +- Divided to more sub-packages to match upstream's RPM list + Resolves: #1490401; #1400463 +- Update of Cmake arguments to supported format + Related: https://lists.launchpad.net/maria-discuss/msg04852.html
* Thu Oct 05 2017 Michal Schorm mschorm@redhat.com - 3:10.2.9-3 - Fix client library obsolete
commit 5722a3f4a80e5d9cb064f66d622bf9d9c8f994f2 Author: Michal Schorm mschorm@redhat.com Date: Mon Nov 6 16:06:33 2017 +0100
Added JIRA issue trackers
diff --git a/mariadb.spec b/mariadb.spec index 6a5029c..d9a912d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -934,8 +934,7 @@ rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMar rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar
-# RPMLINT E: -# mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf +# script without shebang: https://jira.mariadb.org/browse/MDEV-14266 chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf
# Remove AppArmor files @@ -1303,6 +1302,7 @@ fi %{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip +# wsrep_sst_common should be moved to /usr/share/mariadb: https://jira.mariadb.org/browse/MDEV-14296 %{_bindir}/wsrep_sst_common %{_bindir}/wsrep_sst_mariabackup %{_bindir}/wsrep_sst_mysqldump
commit a97652db21d8b106abd34f953aa183da2741ba7c Author: Michal Schorm mschorm@redhat.com Date: Mon Nov 6 13:31:33 2017 +0100
Compatibility fix
diff --git a/mariadb.spec b/mariadb.spec index c689187..6a5029c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -80,7 +80,7 @@
# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version -%if 0%{?fedora} >= 21 +%if 0%{?fedora} >= 21 || 0%{?rhel} > 7 %bcond_without bundled_pcre %else %bcond_with bundled_pcre
commit b8b4d032f6e9b763e86e4522c02066a7fe6caf3c Author: Michal Schorm mschorm@redhat.com Date: Fri Nov 3 03:41:33 2017 +0100
Rebase to 10.2.10 version Patch 2: mariadb-install-test.patch has been incorporated by upstream Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros Update PCRE check Start using location libdir/mariadb for plugins Move libraries to libdir Update unstable tests list
diff --git a/mariadb-install-db-sharedir.patch b/mariadb-install-db-sharedir.patch deleted file mode 100644 index 77a90e7..0000000 --- a/mariadb-install-db-sharedir.patch +++ /dev/null @@ -1,39 +0,0 @@ -Use configured value instead of hardcoded path - -diff -up mariadb-10.1.18/scripts/mysql_install_db.pl.in.pbasedir mariadb-10.1.18/scripts/mysql_install_db.pl.in ---- mariadb-10.1.18/scripts/mysql_install_db.pl.in.pbasedir 2016-10-04 19:03:15.562101826 +0200 -+++ mariadb-10.1.18/scripts/mysql_install_db.pl.in 2016-10-04 19:04:47.833130195 +0200 -@@ -320,7 +320,7 @@ elsif ( $opt->{basedir} ) - find_in_basedir($opt,"file","mysqld-nt", - "bin"); # ,"sql" - $srcpkgdatadir = find_in_basedir($opt,"dir","fill_help_tables.sql", -- "share","share/mysql"); # ,"scripts" -+ "share","@INSTALL_MYSQLSHAREDIR@"); # ,"scripts" - $buildpkgdir = $srcpkgdatadir; - $scriptdir = "$opt->{basedir}/scripts"; - } -diff -up mariadb-10.1.18/scripts/mysql_install_db.sh.pbasedir mariadb-10.1.18/scripts/mysql_install_db.sh ---- mariadb-10.1.18/scripts/mysql_install_db.sh.pbasedir 2016-10-04 19:03:22.714104025 +0200 -+++ mariadb-10.1.18/scripts/mysql_install_db.sh 2016-10-04 19:08:11.457186833 +0200 -@@ -283,17 +283,17 @@ then - cannot_find_file mysqld $basedir/libexec $basedir/sbin $basedir/bin - exit 1 - fi -- langdir=`find_in_basedir --dir errmsg.sys share/english share/mysql/english` -+ langdir=`find_in_basedir --dir errmsg.sys share/english @INSTALL_MYSQLSHAREDIR@/english` - if test -z "$langdir" - then -- cannot_find_file errmsg.sys $basedir/share/english $basedir/share/mysql/english -+ cannot_find_file errmsg.sys $basedir/share/english $basedir/@INSTALL_MYSQLSHAREDIR@/english - exit 1 - fi -- srcpkgdatadir=`find_in_basedir --dir fill_help_tables.sql share share/mysql` -+ srcpkgdatadir=`find_in_basedir --dir fill_help_tables.sql share @INSTALL_MYSQLSHAREDIR@` - buildpkgdatadir=$srcpkgdatadir - if test -z "$srcpkgdatadir" - then -- cannot_find_file fill_help_tables.sql $basedir/share $basedir/share/mysql -+ cannot_find_file fill_help_tables.sql $basedir/share $basedir/@INSTALL_MYSQLSHAREDIR@ - exit 1 - fi - scriptdir="$basedir/scripts" diff --git a/mariadb-install-test.patch b/mariadb-install-test.patch deleted file mode 100644 index 1797474..0000000 --- a/mariadb-install-test.patch +++ /dev/null @@ -1,55 +0,0 @@ -Improve the documentation that will be installed in the mysql-test RPM. - ---- mariadb-10.1.13/mysql-test/README.orig 2016-03-24 10:12:10.000000000 +0100 -+++ mariadb-10.1.13/mysql-test/README 2016-03-29 10:23:30.074326900 +0200 -@@ -1,15 +1,28 @@ --This directory contains a test suite for the MySQL daemon. To run --the currently existing test cases, simply execute ./mysql-test-run in --this directory. It will fire up the newly built mysqld and test it. -- --Note that you do not have to have to do "make install", and you could --actually have a co-existing MySQL installation. The tests will not --conflict with it. To run the test suite in a source directory, you --must do make first. -- --All tests must pass. If one or more of them fail on your system, please --read the following manual section for instructions on how to report the --problem: -+This directory contains a test suite for the MariaDB daemon. To run -+the currently existing test cases, execute ./mysql-test-run in -+this directory. -+ -+For use in Red Hat distributions, you should run the script as user mysql, -+who is created with nologin shell however, so the best bet is something like -+ $ su - -+ # cd /usr/share/mysql-test -+ # su -s /bin/bash mysql -c "./mysql-test-run --skip-test-list=unstable-tests" -+ -+This will use the installed mysql executables, but will run a private copy -+of the server process (using data files within /usr/share/mysql-test), -+so you need not start the mysqld service beforehand. -+ -+The "--skip-test-list=unstable-tests" option excludes tests that are -+known to fail on one or more Red-Hat-supported platforms. You can omit it -+if you want to check whether such failures occur for you. Documentation -+about the reasons for omitting such tests can be found in the file -+unstable-tests. -+ -+To clean up afterwards, remove the created "var" subdirectory, eg -+ # su -s /bin/bash - mysql -c "rm -rf /usr/share/mysql-test/var" -+ -+If one or more tests fail on your system, please read the following manual -+section for instructions on how to report the problem: - - https://mariadb.com/kb/en/reporting-bugs - -@@ -26,7 +39,8 @@ other relevant options. - - With no test cases named on the command line, mysql-test-run falls back - to the normal "non-extern" behavior. The reason for this is that some --tests cannot run with an external server. -+tests cannot run with an external server (because they need to control the -+options with which the server is started). - - You can create your own test cases. To create a test case, create a new - file in the t subdirectory using a text editor. The file should have a .test diff --git a/mariadb.spec b/mariadb.spec index 133ad57..c689187 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -60,8 +60,7 @@ %bcond_without config
# For deep debugging we need to build binaries with extra debug info -# Does not work at this time: https://jira.mariadb.org/browse/MDEV-13986 -%bcond_with debug +%bcond_with debug
# Include files for SysV init or systemd %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 @@ -81,11 +80,11 @@
# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version -%global pcre_version 8.41 %if 0%{?fedora} >= 21 -%bcond_without pcre +%bcond_without bundled_pcre %else -%bcond_with pcre +%bcond_with bundled_pcre +%global pcre_bundled_version 8.41 %endif
# We define some system's well known locations here so we can use them easily @@ -123,11 +122,11 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 9 +%global bugfixver 10
Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3
Summary: A community developed branch of MySQL @@ -163,16 +162,11 @@ Source71: LICENSE.clustercheck # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te
-# Patch2: testsuite README update, introducing skipped-tests.list -# upstream questioned, if they are insterested: https://jira.mariadb.org/browse/MDEV-12263 -Patch2: %{pkgnamepatch}-install-test.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch # Patch7: add to the CMake file all files where we want macros to be expanded Patch7: %{pkgnamepatch}-scripts.patch -# Patch8: resolve conflict, when we combine MariaDB and MySQL packages -Patch8: %{pkgnamepatch}-install-db-sharedir.patch # Patch9: pre-configure to comply with guidelines Patch9: %{pkgnamepatch}-ownsetup.patch
@@ -211,8 +205,8 @@ BuildRequires: libarchive-devel # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel # use either new enough version of pcre or provide bundles(pcre) -%{?with_pcre:BuildRequires: pcre-devel >= 8.35} -%{!?with_pcre:Provides: bundled(pcre) = %{pcre_version}} +%{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} +%{?without_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} # Few utilities needs Perl %if 0%{?fedora} >= 22 || 0%{?rhel} > 7 BuildRequires: perl-interpreter @@ -273,10 +267,10 @@ Obsoletes: mariadb-galera < %{obsoleted_mariadb_galera_evr} # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering %if 0%{?fedora} > 14 || 0%{?rhel} > 6 %global __requires_exclude ^perl\((hostnames|lib::mtr|lib::v1|mtr_|My::) -%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\.so)$ +%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\.so)$ %else %filter_from_requires /perl((hostnames|lib::mtr|lib::v1|mtr_|My::)/d -%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*.so) +%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*.so) %filter_setup %endif
@@ -506,7 +500,7 @@ Requires: perl(DBI) perl(DBD::mysql) %description server-utils This package contains all non-essential server utilities and scripts for managing databases. It also contains all utilities requiring Perl and it is -the only MariaDB subpackage, except test subpackage, that depends on Perl. +the only MariaDB sub-package, except test subpackage, that depends on Perl.
%if %{with devel} @@ -636,10 +630,8 @@ MariaDB is a community developed branch of MySQL. %prep %setup -q -n mariadb-%{version}
-%patch2 -p1 %patch4 -p1 %patch7 -p1 -%patch8 -p1 %patch9 -p1 %patch37 -p1 %patch40 -p1 @@ -678,17 +670,27 @@ sed -i 's/kerberos_port_t/kerberos_master_port_t/' selinux/%{name}-server-galera cat selinux/%{name}-server-galera.te %endif
-# Check if PCRE version is actual -%if %{with pcre} + +# Get version of PCRE, that upstream use pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define(pcre_major, [([0-9]+)])/\1/'` pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define(pcre_minor, [([0-9]+)])/\1/'`
-if [ %{pcre_version} != "$pcre_maj.$pcre_min" ] +%if %{without bundled_pcre} +# Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles +if [ %{pcre_bundled_version} != "$pcre_maj.$pcre_min" ] then - echo "\n Error: PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n" + echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_maj.$pcre_min\n" exit 1 fi -%endif +%else +# Check if the PCRE version that upstream use, is the same as the one present in system +pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre.pc --modversion 2>/dev/null ` +if [ "$pcre_system_version" != "$pcre_maj.$pcre_min" ] +then + echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_maj.$pcre_min\n" +fi +%endif # PCRE +
%if %{without rocksdb} rm -r storage/rocksdb/ @@ -697,6 +699,8 @@ rm -r storage/rocksdb/ # Remove python scripts remains from tokudb upstream (those files are not used anyway) rm -r storage/tokudb/mysql-test/tokudb/t/*.py
+ + %build
# fail quickly and obviously if user tries to build as root @@ -749,11 +753,11 @@ export LDFLAGS -DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ - -DINSTALL_LIBDIR="%{_lib}/mysql" \ + -DINSTALL_LIBDIR="%{_lib}" \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ - -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ + -DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \ -DINSTALL_SBINDIR=libexec \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SQLBENCHDIR=share \ @@ -765,7 +769,7 @@ export LDFLAGS -DWITH_EMBEDDED_SERVER=ON \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -%{?with_pcre: -DWITH_PCRE=system}\ + -DWITH_PCRE=%{?with_bundled_pcre:system}%{!?with_bundled_pcre:bundled} \ -DWITH_JEMALLOC=system \ -DWITH_LIBARCHIVE=ON \ -DWITH_MARIABACKUP=ON \ @@ -783,11 +787,11 @@ make %{?_smp_mflags} VERBOSE=1 # debuginfo extraction scripts fail to find source files in their real # location -- satisfy them by copying these files into location, which # is expected by scripts -for e in innobase xtradb ; do - for f in pars0grm.y pars0lex.l ; do - cp -p "storage/$e/pars/$f" "storage/$e/$f" - done -done +#for e in innobase xtradb ; do +# for f in pars0grm.y pars0lex.l ; do +# cp -p "storage/$e/pars/$f" "storage/$e/$f" +# done +#done
# build selinux policy %if %{with galera} @@ -821,8 +825,8 @@ mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) -install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ -install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ +install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/ +install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/ rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/
mkdir -p %{buildroot}%{logfiledir} @@ -880,7 +884,7 @@ ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/
# should move this to /etc/ ? rm %{buildroot}%{_bindir}/mysql_embedded -rm %{buildroot}%{_libdir}/mysql/*.a +rm %{buildroot}%{_libdir}/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure rm %{buildroot}%{_datadir}/%{pkg_name}/magic rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server @@ -894,12 +898,6 @@ mkdir -p %{buildroot}%{logrotateddir} mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name}
-%if %{with clibrary} -mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d -# Save a name of the directory that contains libraries to this file -echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf -%endif - # copy additional docs into build tree so %%doc will find them install -p -m 0644 %{SOURCE5} %{basename:%{SOURCE5}} install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} @@ -954,16 +952,16 @@ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list %if %{without clibrary} rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf # Client library and links -rm %{buildroot}%{_libdir}/mysql/libmariadb*.so.* -unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so -unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so -unlink %{buildroot}%{_libdir}/mysql/libmariadb.so +rm %{buildroot}%{_libdir}/libmariadb*.so.* +unlink %{buildroot}%{_libdir}/libmysqlclient.so +unlink %{buildroot}%{_libdir}/libmysqlclient_r.so +unlink %{buildroot}%{_libdir}/libmariadb.so # Client plugins -rm %{buildroot}%{_libdir}/mysql/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so} +rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so} %endif
%if %{without embedded} -rm %{buildroot}%{_libdir}/mysql/libmysqld.so* +rm %{buildroot}%{_libdir}/%{pkg_name}/libmysqld.so* rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* %endif @@ -982,7 +980,7 @@ unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* # Create symlinks to the 'libmariadb' library, for compatibility reasons # Note: the -libs subpackage has Provides: for this compat symlink; when # it is removed, they should also be removed -pushd %{buildroot}%{_libdir}/mysql/ +pushd %{buildroot}%{_libdir} #ln -s libmariadb.so libmysqlclient.so ln -s libmariadb.so.3 libmysqlclient.so.18 #ln -s libmariadb.so libmysqlclient_r.so @@ -1210,9 +1208,8 @@ fi
%if %{with clibrary} %files libs -%{_libdir}/mysql/libmariadb.so.* -%{_libdir}/mysql/libmysqlclient.so.18 -%{_sysconfdir}/ld.so.conf.d/* +%{_libdir}/libmariadb.so.* +%{_libdir}/libmysqlclient.so.18 %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif
@@ -1232,8 +1229,8 @@ fi %dir %{_datadir}/%{pkg_name} %{_datadir}/%{pkg_name}/charsets %if %{with devel} && %{with errmsg} && %{with galera} && %{with config} && %{with clibrary} -%{_libdir}/mysql/plugin/dialog.so -%{_libdir}/mysql/plugin/mysql_clear_password.so +%{_libdir}/%{pkg_name}/plugin/dialog.so +%{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so %endif # devel && errmsg && galera && config %endif # common
@@ -1330,19 +1327,19 @@ fi
%{_libexecdir}/mysqld
-%{_libdir}/mysql/INFO_SRC -%{_libdir}/mysql/INFO_BIN +%{_libdir}/%{pkg_name}/INFO_SRC +%{_libdir}/%{pkg_name}/INFO_BIN %if %{without common} %dir %{_datadir}/%{pkg_name} %endif
-%dir %{_libdir}/mysql -%dir %{_libdir}/mysql/plugin -%{_libdir}/mysql/plugin/* -%{?with_oqgraph:%exclude %{_libdir}/mysql/plugin/ha_oqgraph.so} -%{?with_connect:%exclude %{_libdir}/mysql/plugin/ha_connect.so} -%exclude %{_libdir}/mysql/plugin/dialog.so -%exclude %{_libdir}/mysql/plugin/mysql_clear_password.so +%dir %{_libdir}/%{pkg_name} +%dir %{_libdir}/%{pkg_name}/plugin +%{_libdir}/%{pkg_name}/plugin/* +%{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so} +%{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so} +%exclude %{_libdir}/%{pkg_name}/plugin/dialog.so +%exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
%{_mandir}/man1/aria_chk.1* %{_mandir}/man1/aria_dump_log.1* @@ -1422,13 +1419,13 @@ fi %if %{with oqgraph} %files oqgraph-engine %config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf -%{_libdir}/mysql/plugin/ha_oqgraph.so +%{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so %endif
%if %{with connect} %files connect-engine %config(noreplace) %{_sysconfdir}/my.cnf.d/connect.cnf -%{_libdir}/mysql/plugin/ha_connect.so +%{_libdir}/%{pkg_name}/plugin/ha_connect.so %endif
%files server-utils @@ -1463,9 +1460,9 @@ fi %if %{with clibrary} %{_bindir}/mysql_config* %{_bindir}/mariadb_config* -%{_libdir}/mysql/libmariadb.so -%{_libdir}/mysql/libmysqlclient.so -%{_libdir}/mysql/libmysqlclient_r.so +%{_libdir}/libmariadb.so +%{_libdir}/libmysqlclient.so +%{_libdir}/libmysqlclient_r.so %{_mandir}/man1/mysql_config* %{_mandir}/man1/mariadb_config* %endif @@ -1473,10 +1470,10 @@ fi
%if %{with embedded} %files embedded -%{_libdir}/mysql/libmysqld.so.* +%{_libdir}/libmysqld.so.*
%files embedded-devel -%{_libdir}/mysql/libmysqld.so +%{_libdir}/libmysqld.so %{_bindir}/mysql_client_test_embedded %{_bindir}/mysqltest_embedded %{_mandir}/man1/mysql_client_test_embedded.1* @@ -1502,6 +1499,14 @@ fi %endif
%changelog +* Wed Nov 01 2017 Michal Schorm mschorm@redhat.com - 3:10.2.10-1 +- Rebase to 10.2.10 version +- Patch 2: mariadb-install-test.patch has been incorporated by upstream +- Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros +- Update PCRE check +- Start using location libdir/mariadb for plugins +- Move libraries to libdir + * Thu Oct 05 2017 Michal Schorm mschorm@redhat.com - 3:10.2.9-3 - Fix client library obsolete Related: #1498956 diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index bf4f3f0..022dda6 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -10,12 +10,9 @@ main.non_blocking_api : #1399847 perfschema.nesting : #1399847 perfschema.socket_summary_by_event_name_func : #1399847 perfschema.socket_summary_by_instance_func : #1399847 -perfschema.bad_option_1 : #1399847 -perfschema.bad_option_5 : #1399847
# mkocka@redhat.com needs this tests disabled for mode build plugins.feedback_plugin_load : # - plugins.show_all_plugins : warnings in log
# ------------------------------ diff --git a/sources b/sources index 11e9767..2161b03 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.9.tar.gz) = 11ba0913144d7298ffa4c0a0128a3d1525a39b8205ffc580311751cf25a4e86159e46a32d3c8330c4ea028cdd50643eb5381651df654751ca3e4fb3d4698a373 +SHA512 (mariadb-10.2.10.tar.gz) = 39c198009f8b19f4a08226ef9842b50e24636580b67c1c92d59c61cce3aa1edbd466e253c281dfcdfc58ab573ae9a59aaacb0ce3e8b82222043ddd849fc3e239
commit 25eb8c91e6fd51b35450fceb1dc79af5d1280cea Author: Michal Schorm mschorm@redhat.com Date: Mon Oct 16 14:42:14 2017 +0200
Update PCRE version and fix its failsafe
diff --git a/mariadb.spec b/mariadb.spec index bf97a3c..133ad57 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -81,7 +81,7 @@
# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version -%global pcre_version 8.40 +%global pcre_version 8.41 %if 0%{?fedora} >= 21 %bcond_without pcre %else @@ -679,7 +679,7 @@ cat selinux/%{name}-server-galera.te %endif
# Check if PCRE version is actual -%{!?with_pcre: +%if %{with pcre} pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define(pcre_major, [([0-9]+)])/\1/'` pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define(pcre_minor, [([0-9]+)])/\1/'`
@@ -688,7 +688,7 @@ then echo "\n Error: PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n" exit 1 fi -} +%endif
%if %{without rocksdb} rm -r storage/rocksdb/
commit 1b7bd2e9d5b5ab88a0c75876c9f7eeb8d6854fc7 Author: Michal Schorm mschorm@redhat.com Date: Mon Oct 16 14:28:44 2017 +0200
RPMLint error fix: Remove unused python scripts which remained from TokuDB upstream
diff --git a/mariadb.spec b/mariadb.spec index 3c111bb..bf97a3c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -694,9 +694,8 @@ fi rm -r storage/rocksdb/ %endif
-# set interpreter from python -> python3 -# https://pagure.io/packaging-committee/issue/698 -sed -i 's:#!/usr/bin/env python:#!/usr/bin/env python3:g' storage/tokudb/mysql-test/tokudb/t/* +# Remove python scripts remains from tokudb upstream (those files are not used anyway) +rm -r storage/tokudb/mysql-test/tokudb/t/*.py
%build
@@ -1507,7 +1506,8 @@ fi - Fix client library obsolete Related: #1498956 - Enable testsuite again -- RPMLint error fix: use python version in python scripts shebangs +- RPMLint error fix: + Remove unused python scripts which remained from TokuDB upstream - RPMLint error fix: description line too long
* Wed Oct 04 2017 Michal Schorm mschorm@redhat.com - 3:10.2.9-2
commit 3b1fe420f030d934c0a03cdfb1f0d3c974732dc1 Author: Michal Schorm mschorm@redhat.com Date: Sun Oct 8 00:35:13 2017 +0200
RPMLint error fix: description line too long
diff --git a/mariadb.spec b/mariadb.spec index 8809e5d..3c111bb 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -504,9 +504,9 @@ Provides: mysql-perl = %{sameevr} Requires: perl(DBI) perl(DBD::mysql)
%description server-utils -This package contains all non-essential server utilities and scripts for managing -databases. It also contains all utilities requiring Perl and it is the only MariaDB -subpackage, except test subpackage, that depends on Perl. +This package contains all non-essential server utilities and scripts for +managing databases. It also contains all utilities requiring Perl and it is +the only MariaDB subpackage, except test subpackage, that depends on Perl.
%if %{with devel} @@ -884,7 +884,6 @@ rm %{buildroot}%{_bindir}/mysql_embedded rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure rm %{buildroot}%{_datadir}/%{pkg_name}/magic -#rm %{buildroot}%{_datadir}/%{pkg_name}/my-*.cnf rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* @@ -935,6 +934,8 @@ cp Docs/README-wsrep Docs/README.wsrep
# remove *.jar file from mysql-test rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar +rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar +rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar
# RPMLINT E: # mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf @@ -1507,6 +1508,7 @@ fi Related: #1498956 - Enable testsuite again - RPMLint error fix: use python version in python scripts shebangs +- RPMLint error fix: description line too long
* Wed Oct 04 2017 Michal Schorm mschorm@redhat.com - 3:10.2.9-2 - Fix of "with" and "without" macros, so they works
commit ac59198e8be813cdf11eaa1ff1109c62cba120b0 Author: Michal Schorm mschorm@redhat.com Date: Sun Oct 8 00:18:33 2017 +0200
RPMLint error fix: use python version in python scripts shebangs
diff --git a/mariadb.spec b/mariadb.spec index fe9cff8..8809e5d 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -218,6 +218,8 @@ BuildRequires: pam-devel BuildRequires: perl-interpreter BuildRequires: perl-generators %endif +# Some tests requires python +BuildRequires: python3 # Tests requires time and ps and some perl modules BuildRequires: procps BuildRequires: time @@ -692,6 +694,9 @@ fi rm -r storage/rocksdb/ %endif
+# set interpreter from python -> python3 +# https://pagure.io/packaging-committee/issue/698 +sed -i 's:#!/usr/bin/env python:#!/usr/bin/env python3:g' storage/tokudb/mysql-test/tokudb/t/*
%build
@@ -1501,6 +1506,7 @@ fi - Fix client library obsolete Related: #1498956 - Enable testsuite again +- RPMLint error fix: use python version in python scripts shebangs
* Wed Oct 04 2017 Michal Schorm mschorm@redhat.com - 3:10.2.9-2 - Fix of "with" and "without" macros, so they works
commit 81336ab97e91b46dc459b15c24fa124cc56370bc Author: Michal Schorm mschorm@redhat.com Date: Thu Oct 5 19:05:24 2017 +0200
Enable testsuite again
Bump version for rebuild
diff --git a/mariadb.spec b/mariadb.spec index 07c3580..fe9cff8 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -3,7 +3,7 @@ %global pkgnamepatch mariadb
# Regression tests may take a long time (many cores recommended), skip them by -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1}
# Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 @@ -127,7 +127,7 @@
Name: mariadb Version: %{compatver}.%{bugfixver} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Epoch: 3
Summary: A community developed branch of MySQL @@ -1497,6 +1497,11 @@ fi %endif
%changelog +* Thu Oct 05 2017 Michal Schorm mschorm@redhat.com - 3:10.2.9-3 +- Fix client library obsolete + Related: #1498956 +- Enable testsuite again + * Wed Oct 04 2017 Michal Schorm mschorm@redhat.com - 3:10.2.9-2 - Fix of "with" and "without" macros, so they works - Use 'iproute' dependency instead of 'net-tools' @@ -1506,8 +1511,6 @@ fi with dnf "--allowerasing" option Related: #1497234 - Fix building with client library -- Fix client library obsolete - Related: #1498956
* Thu Sep 28 2017 Michal Schorm mschorm@redhat.com - 3:10.2.9-1 - Rebase to 10.2.9
commit 5d1fdf84048a719f3bb63f66f5fc596788b61945 Author: Michal Schorm mschorm@redhat.com Date: Thu Oct 5 18:13:25 2017 +0200
Fix client library obsolete
diff --git a/mariadb.spec b/mariadb.spec index 19d1845..07c3580 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -354,8 +354,7 @@ Provides: mariadb-galera-common = %{sameevr} Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr}
%if %{without clibrary} -Obsoletes: %{name}-libs%{?_isa} <= %{sameevr} -Obsoletes: %{name}-common%{?_isa} < %{sameevr} +Obsoletes: %{name}-libs <= %{sameevr} %endif
@@ -1507,6 +1506,8 @@ fi with dnf "--allowerasing" option Related: #1497234 - Fix building with client library +- Fix client library obsolete + Related: #1498956
* Thu Sep 28 2017 Michal Schorm mschorm@redhat.com - 3:10.2.9-1 - Rebase to 10.2.9
arch-excludes@lists.fedoraproject.org