Rebase to version 10.1.21

Most of the non-essential utilites has been moved to the new sub-package mariadb-server-utils
Patches "admincrash" and "errno" removed, they are no longer relevant
  "mysql-embedded-check.c" removed, no longer relevant
Buildrequires krb5-devel duplicity removed
Manpage for mysql_secure_installation extended
Preparation for the CrackLib plugin to be added (waiting for correct SELinux rules to be relased)
  Related: #1260821, #1205082, #1414387
This commit is contained in:
Michal Schorm 2017-01-24 10:59:46 +01:00
parent 96f19d7d3d
commit ae4f65b461
5 changed files with 115 additions and 138 deletions

View File

@ -1,24 +0,0 @@
mysqladmin crash on execution of below command:
#> mysqladmin -u root -p
...
Segmentation fault (core dumped)
This is probably caused by memory corruption based on working with temp_argv[-1].
RHBZ: #1207041
Upstream report: https://mariadb.atlassian.net/browse/MDEV-7883
diff -up mariadb-5.5.41/client/mysqladmin.cc.bz1207041 mariadb-5.5.41/client/mysqladmin.cc
--- mariadb-5.5.41/client/mysqladmin.cc.bz1207041 2015-03-30 12:37:31.078880914 +0200
+++ mariadb-5.5.41/client/mysqladmin.cc 2015-03-30 13:03:32.442152833 +0200
@@ -1215,7 +1215,8 @@ static char **mask_password(int argc, ch
}
argc--;
}
- temp_argv[argc]= my_strdup((*argv)[argc], MYF(MY_FAE));
+ if (argc >= 0)
+ temp_argv[argc]= my_strdup((*argv)[argc], MYF(MY_FAE));
return(temp_argv);
}

View File

@ -1,18 +0,0 @@
diff -rup mariadb-10.1.8.orig/include/my_sys.h mariadb-10.1.8/include/my_sys.h
--- mariadb-10.1.8.orig/include/my_sys.h 2015-10-15 17:43:37.000000000 +0200
+++ mariadb-10.1.8/include/my_sys.h 2015-10-21 15:48:00.948590204 +0200
@@ -218,13 +218,7 @@ extern void my_large_free(uchar *ptr);
#define my_safe_afree(ptr, size) my_afree(ptr)
#endif /* HAVE_ALLOCA */
-#ifndef errno /* did we already get it? */
-#ifdef HAVE_ERRNO_AS_DEFINE
-#include <errno.h> /* errno is a define */
-#else
-extern int errno; /* declare errno */
-#endif
-#endif /* #ifndef errno */
+#include <errno.h> /* errno is a define */
extern char *home_dir; /* Home directory for user */
extern MYSQL_PLUGIN_IMPORT char *mysql_data_home;
extern const char *my_progname; /* program-name (printed in errors) */

View File

@ -120,18 +120,17 @@
# Make long macros shorter
%global sameevr %{epoch}:%{version}-%{release}
%global compatver 10.1
%global bugfixver 20
%global bugfixver 21
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
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
# 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
Source0: http://mirrors.syringanetworks.net/mariadb/mariadb-%{version}/source/mariadb-%{version}.tar.gz
@ -140,7 +139,6 @@ Source3: my.cnf.in
Source5: README.mysql-cnf
Source6: README.mysql-docs
Source7: README.mysql-license
Source9: mysql-embedded-check.c
Source10: mysql.tmpfiles.d.in
Source11: mysql.service.in
Source12: mysql-prepare-db-dir.sh
@ -168,12 +166,10 @@ Patch5: %{pkgnamepatch}-file-contents.patch
Patch7: %{pkgnamepatch}-scripts.patch
Patch8: %{pkgnamepatch}-install-db-sharedir.patch
Patch9: %{pkgnamepatch}-ownsetup.patch
Patch12: %{pkgnamepatch}-admincrash.patch
Patch13: %{pkgnamepatch}-ssl-cypher.patch
Patch14: %{pkgnamepatch}-example-config-files.patch
# Patches specific for this mysql package
Patch30: %{pkgnamepatch}-errno.patch
Patch31: %{pkgnamepatch}-string-overflow.patch
Patch32: %{pkgnamepatch}-basedir.patch
Patch34: %{pkgnamepatch}-covscan-stroverflow.patch
@ -187,18 +183,24 @@ BuildRequires: cmake
BuildRequires: libaio-devel
BuildRequires: libedit-devel
BuildRequires: ncurses-devel
BuildRequires: perl
%if 0%{?fedora} >= 22 || 0%{?rhel} > 7
BuildRequires: perl-generators
%endif
BuildRequires: systemtap-sdt-devel
BuildRequires: zlib-devel
BuildRequires: multilib-rpm-config
BuildRequires: krb5-devel
BuildRequires: selinux-policy-devel
#CRACKLIB
#BuildRequires: cracklib-devel
%{?with_init_systemd:BuildRequires: systemd systemd-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}}
# Few utilities needs Perl
BuildRequires: perl
%if 0%{?fedora} >= 22 || 0%{?rhel} > 7
BuildRequires: perl-generators
%endif
# Tests requires time and ps and some perl modules
BuildRequires: procps
BuildRequires: time
@ -215,7 +217,6 @@ BuildRequires: perl(Sys::Hostname)
BuildRequires: perl(Test::More)
BuildRequires: perl(Time::HiRes)
BuildRequires: perl(Symbol)
# Temporary workaound to build with OpenSSL 1.0 on Fedora >=26 (wich requires OpenSSL 1.1)
%if 0%{?fedora} >= 26
BuildRequires: compat-openssl10-devel
@ -226,20 +227,13 @@ BuildRequires: openssl
BuildRequires: openssl-devel
%endif
BuildRequires: krb5-devel
BuildRequires: selinux-policy-devel
%{?with_init_systemd:BuildRequires: systemd systemd-devel}
BuildRequires: krb5-devel
Requires: bash
Requires: fileutils
Requires: grep
Requires: %{name}-common%{?_isa} = %{sameevr}
# Explicit EVR requirement for -libs is needed for
# https://bugzilla.redhat.com/show_bug.cgi?id=1406320
# Explicit EVR requirement for -libs is needed for RHBZ#1406320
Requires: %{name}-libs%{?_isa} = %{sameevr}
%if %{with mysql_names}
@ -249,7 +243,7 @@ Provides: mysql-compat-client = %{sameevr}
Provides: mysql-compat-client%{?_isa} = %{sameevr}
%endif
Suggests: %{name}-server%{?_isa} = %{sameevr}
# MySQL (with caps) is upstream's spelling of their own RPMs for mysql
%{?obsoleted_mysql_case_evr:Obsoletes: MySQL < %{obsoleted_mysql_case_evr}}
@ -378,9 +372,10 @@ Requires: mysql%{?_isa}
Requires: %{name}%{?_isa}
%endif
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-errmsg%{?_isa} = %{sameevr}
Recommends: %{name}-server-utils%{?_isa} = %{sameevr}
Requires: %{_sysconfdir}/my.cnf
Requires: %{_sysconfdir}/my.cnf.d
Requires: %{name}-errmsg%{?_isa} = %{sameevr}
Requires: sh-utils
Requires(pre): /usr/sbin/useradd
%if %{with init_systemd}
@ -391,9 +386,6 @@ Requires(pre): systemd
Requires(posttrans): systemd
%{?systemd_requires: %systemd_requires}
%endif
# mysqlhotcopy needs DBI/DBD support
Requires: perl(DBI)
Requires: perl(DBD::mysql)
# wsrep requirements
Requires: lsof
Requires: net-tools
@ -451,6 +443,28 @@ or products (such as Excel), or data retrieved from the environment
%endif
%package server-utils
Summary: Non-essential server utilities for MariaDB/MySQL applications
Group: Applications/Databases
Suggests: %{name}-server%{?_isa} = %{sameevr}
%if %{with mysql_names}
Provides: mysql-perl = %{sameevr}
%endif
# mysqlhotcopy needs DBI/DBD support
Requires: perl(DBI)
Requires: perl(DBD::mysql)
%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-devel < %{obsoleted_mysql_case_evr}}
%{?obsoleted_mysql_evr:Obsoletes: mysql-devel < %{obsoleted_mysql_evr}}
%{?with_conflicts:Conflicts: community-mysql-devel}
%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.
%if %{with devel}
%package devel
Summary: Files for development of MariaDB/MySQL applications
@ -581,10 +595,8 @@ MariaDB is a community developed branch of MySQL.
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch30 -p1
%patch31 -p1
%patch32 -p1
%patch34 -p1
@ -970,6 +982,10 @@ export MTR_BUILD_THREAD=%{__isa_bits}
# skip tests that are listed in rh-skipped-tests.list
# avoid redundant test runs with --binlog-format=mixed
# increase timeouts to prevent unwanted failures during mass rebuilds
#CRACKLIB
# --do-test=cracklib \
(
set -e
cd mysql-test
@ -1055,34 +1071,14 @@ fi
%if %{with client}
%files
%{_bindir}/msql2mysql
%{_bindir}/mysql
%{_bindir}/mysql_find_rows
%{_bindir}/mysql_plugin
%{_bindir}/mysql_waitpid
%{_bindir}/mysqlaccess
%{_bindir}/mysqladmin
%{_bindir}/mysqlbinlog
%{_bindir}/mysqlcheck
%{_bindir}/mysqldump
%{_bindir}/mysqlimport
%{_bindir}/mysqlshow
%{_bindir}/mysqlslap
%{_bindir}/my_print_defaults
%{_mandir}/man1/msql2mysql.1*
%{_mandir}/man1/mysql.1*
%{_mandir}/man1/mysql_find_rows.1*
%{_mandir}/man1/mysql_plugin.1*
%{_mandir}/man1/mysql_waitpid.1*
%{_mandir}/man1/mysqlaccess.1*
%{_mandir}/man1/mysqladmin.1*
%{_mandir}/man1/mysqlbinlog.1*
%{_mandir}/man1/mysqlcheck.1*
%{_mandir}/man1/mysqldump.1*
%{_mandir}/man1/mysqlimport.1*
%{_mandir}/man1/mysqlshow.1*
%{_mandir}/man1/mysqlslap.1*
%{_mandir}/man1/my_print_defaults.1*
%endif
@ -1172,22 +1168,12 @@ fi
%{_bindir}/myisam_ftdump
%{_bindir}/myisamlog
%{_bindir}/myisampack
%{_bindir}/mysql_convert_table_format
%{_bindir}/mysql_fix_extensions
%{_bindir}/mysql_install_db
%{_bindir}/mysql_secure_installation
%{_bindir}/mysql_setpermission
%{_bindir}/mysql_tzinfo_to_sql
%{_bindir}/mysql_upgrade
%{_bindir}/mysql_zap
%{_bindir}/mysqlbug
%{_bindir}/mysqldumpslow
%{_bindir}/mysqld_multi
%{_bindir}/mysqld_safe
%{_bindir}/mysqlhotcopy
%{_bindir}/mysqltest
%{_bindir}/innochecksum
%{_bindir}/perror
%{_bindir}/replace
%{_bindir}/resolve_stack_dump
%{_bindir}/resolveip
@ -1203,6 +1189,9 @@ fi
%config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
%{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf}
#CRACKLIB
#%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
%{_libexecdir}/mysqld
%{_libdir}/mysql/INFO_SRC
@ -1225,23 +1214,13 @@ fi
%{_mandir}/man1/myisamchk.1*
%{_mandir}/man1/myisamlog.1*
%{_mandir}/man1/myisampack.1*
%{_mandir}/man1/mysql_convert_table_format.1*
%{_mandir}/man1/myisam_ftdump.1*
%{_mandir}/man1/mysql.server.1*
%{_mandir}/man1/mysql_fix_extensions.1*
%{_mandir}/man1/mysql_install_db.1*
%{_mandir}/man1/mysql_secure_installation.1*
%{_mandir}/man1/mysql_upgrade.1*
%{_mandir}/man1/mysql_zap.1*
%{_mandir}/man1/mysqlbug.1*
%{_mandir}/man1/mysqldumpslow.1*
%{_mandir}/man1/mysqld_multi.1*
%{_mandir}/man1/mysqld_safe.1*
%{_mandir}/man1/mysqlhotcopy.1*
%{_mandir}/man1/mysql_setpermission.1*
%{_mandir}/man1/mysqltest.1*
%{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/perror.1*
%{_mandir}/man1/replace.1*
%{_mandir}/man1/resolve_stack_dump.1*
%{_mandir}/man1/resolveip.1*
@ -1269,6 +1248,7 @@ fi
%{_datadir}/%{pkg_name}/policy/apparmor/usr.sbin.mysqld*
%{_datadir}/%{pkg_name}/policy/selinux/README
%{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.*
%{_datadir}/%{pkg_name}/policy/selinux/mariadb.*
%{_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
@ -1302,6 +1282,57 @@ fi
%{_libdir}/mysql/plugin/ha_connect.so
%endif
%files server-utils
%if %{with client}
%{_bindir}/mysql_find_rows
%{_bindir}/mysqlaccess
%{_mandir}/man1/mysqlaccess.1*
%{_mandir}/man1/mysql_find_rows.1*
%endif
#Perl utilities
%{_bindir}/mysql_convert_table_format
%{_bindir}/mysql_fix_extensions
%{_bindir}/mysql_setpermission
%{_bindir}/mysql_zap
%{_bindir}/mysqldumpslow
%{_bindir}/mysqld_multi
%{_bindir}/mysqlhotcopy
%{_mandir}/man1/mysql_convert_table_format.1*
%{_mandir}/man1/mysql_fix_extensions.1*
%{_mandir}/man1/mysql_zap.1*
%{_mandir}/man1/mysqldumpslow.1*
%{_mandir}/man1/mysqld_multi.1*
%{_mandir}/man1/mysqlhotcopy.1*
%{_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*
#Utilites that are not necessary, but should not be used remotely (because of huge data flow)
%{_bindir}/mysqlcheck
%{_bindir}/mysqldump
%{_bindir}/mysqlimport
%{_bindir}/mysqlslap
%{_mandir}/man1/mysqlcheck.1*
%{_mandir}/man1/mysqldump.1*
%{_mandir}/man1/mysqlimport.1*
%{_mandir}/man1/mysqlslap.1*
#Other utilities
%{_bindir}/mysqld_safe_helper
%{_bindir}/msql2mysql
%{_bindir}/mysql_plugin
%{_bindir}/mysqlbinlog
%{_bindir}/mysqlshow
%{_mandir}/man1/msql2mysql.1*
%{_mandir}/man1/mysql_plugin.1*
%{_mandir}/man1/mysqlbinlog.1*
%{_mandir}/man1/mysqlshow.1*
%if %{with devel}
%files devel
%{_bindir}/mysql_config*
@ -1341,6 +1372,16 @@ fi
%endif
%changelog
* Tue Jan 24 2017 Michal Schorm <mschorm@redhat.com> - 3:10.1.21-1
- Rebase to version 10.1.21
- Most of the non-essential utilites has been moved to the new sub-package mariadb-server-utils
- Patches "admincrash" and "errno" removed, they are no longer relevant
"mysql-embedded-check.c" removed, no longer relevant
- Buildrequires krb5-devel duplicity removed
- Manpage for mysql_secure_installation extended
- Preparation for the CrackLib plugin to be added (waiting for correct SELinux rules to be relased)
Related: #1260821, #1205082, #1414387
* Tue Jan 03 2017 Honza Horak <hhorak@redhat.com> - 3:10.1.20-3
- Add explicit EVR requirement in main package for -libs
Related: #1406320

View File

@ -1,26 +0,0 @@
/* simple test program to see if we can link the embedded server library */
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include "mysql.h"
MYSQL *mysql;
static char *server_options[] = \
{ "mysql_test", "--defaults-file=my.cnf", NULL };
int num_elements = (sizeof(server_options) / sizeof(char *)) - 1;
static char *server_groups[] = { "libmysqld_server",
"libmysqld_client", NULL };
int main(int argc, char **argv)
{
mysql_library_init(num_elements, server_options, server_groups);
mysql = mysql_init(NULL);
mysql_close(mysql);
mysql_library_end();
return 0;
}

View File

@ -1,9 +1,13 @@
main.userstat : #1399847
main.multi_update : #1399847
main.set_statement_notembedded_binlog : #1399847
# The SSL test are failing correctly. Fro more explanation, see:
# https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-84275
main.ssl_7937 : #1399847
main.ssl_crl_clients : #1399847
main.ssl_cert_verify : #1399847
#
main.userstat : #1399847
main.multi_update : #1399847
main.set_statement_notembedded_binlog : #1399847
perfschema.nesting : #1399847
perfschema.socket_summary_by_event_name_func : #1399847
perfschema.socket_summary_by_instance_func : #1399847