diff --git a/README.debug b/README.debug index a38a52b..c7b8c7f 100644 --- a/README.debug +++ b/README.debug @@ -33,9 +33,9 @@ not allways work, eg. if the crash is caused by some race condition). Note that this log file may become extremly large, so if you decide to attach it whole to the bugzilla, don't forget to - bzip2 -k /var/lib/mysql/mysqld-query.log + xz -k9 /var/lib/mysql/mysqld-query.log -and attach the bzipped file instead. +and attach the xzipped file instead. 2) Coredumps and Backtraces --------------------------- @@ -71,4 +71,4 @@ Add the following line to your /etc/my.cnf into section [mysqld]: stack-trace -The trace file will be then written to /var/lib/mysql directory. \ No newline at end of file +The trace file will be then written to /var/lib/mysql directory. diff --git a/configuration-tweaks.tar.bz2 b/configuration-tweaks.tar.bz2 deleted file mode 100644 index d03a9e4..0000000 --- a/configuration-tweaks.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1fc4c61b0177a5dcd5da60fff07cbd7efd7259498edacf3a46461d7cdbaa2e6d -size 317 diff --git a/configuration-tweaks.tar.xz b/configuration-tweaks.tar.xz new file mode 100644 index 0000000..5105bee --- /dev/null +++ b/configuration-tweaks.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d45316a88350db3fd13892484f0c10582b0c7f2a67acc28f475665d19e20618 +size 580 diff --git a/mariadb-10.0.22.tar.gz b/mariadb-10.0.22.tar.gz deleted file mode 100644 index e2cc4ef..0000000 --- a/mariadb-10.0.22.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9e17f4aaccb7069a874555cca254974d0f0103f0ad5e2434acab6aa353dafc7b -size 56252325 diff --git a/mariadb-10.1.20.tar.gz b/mariadb-10.1.20.tar.gz new file mode 100644 index 0000000..847abf7 --- /dev/null +++ b/mariadb-10.1.20.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c24e83f24d674d9912319f9e9422f093c8ca6be1721a4380cbd74792b89ba0b9 +size 61312731 diff --git a/mariadb.changes b/mariadb.changes index c2f5672..3eee48a 100644 --- a/mariadb.changes +++ b/mariadb.changes @@ -1,3 +1,130 @@ +------------------------------------------------------------------- +Thu Jan 26 10:54:15 UTC 2017 - dimstar@opensuse.org + +- Replace systemd and systemd-devel BuildRequires with + pkgconfig(libsystemd), which matches what the build system is + actually looking for. + +------------------------------------------------------------------- +Tue Dec 27 03:19:07 UTC 2016 - 13ilya@gmail.com + +- update to MariaDB 10.1.20 + * notable changes: + * XtraDB updated to 5.6.34-79.1 + * TokuDB updated to 5.6.34-79.1 + * HeidiSQL updated to 9.4 + * The limit for the table_open_cache system variable has been increased to 1024K + * Galera wsrep library updated to 25.3.19 + * release notes and changelog: + * https://mariadb.com/kb/en/mariadb/mariadb-10120-release-notes/ + * https://mariadb.com/kb/en/mariadb/mariadb-10120-changelog/ + +------------------------------------------------------------------- +Fri Dec 2 15:26:57 UTC 2016 - kstreitova@suse.com + +- update to MariaDB 10.1.19 + * notable changes: + * XtraDB updated to 5.6.33-79.0 + * TokuDB updated to 5.6.33-79.0 + * release notes and changelog: + * https://mariadb.com/kb/en/mariadb/mariadb-10119-release-notes/ + * https://mariadb.com/kb/en/mariadb/mariadb-10119-changelog/ + * fixes for the following security vulnerabilities: + CVE-2016-7440 [bsc#1005581] + CVE-2016-5584 [bsc#1005558] +- add mariadb-10.1.18-mysql_install_db-mariadb_dirs.patch to fix + mysql_install_db.sh script to find data files in mariadb + directories when a user uses "--basedir" option [bsc#1006539] +- switch to xz compression instead of bz2 for the following tarballs: + * mysql-patches.tar.bz2 renamed to mysql-patches.tar.xz + * configuration-tweaks.tar.bz2 renamed to configuration-tweaks.tar.xz + replace occurrences of "bzip2" with "xz" in README.debug + +------------------------------------------------------------------- +Mon Oct 24 18:38:45 UTC 2016 - kstreitova@suse.com + +- update to 10.1.18 + * Release notes: + https://mariadb.com/kb/en/mariadb/mariadb-10118-release-notes/ + https://mariadb.com/kb/en/mariadb/mariadb-10117-release-notes/ + https://mariadb.com/kb/en/mariadb/mariadb-10116-release-notes/ + https://mariadb.com/kb/en/mariadb/mariadb-10115-release-notes/ + * Changelog: + https://mariadb.com/kb/en/mariadb/mariadb-10118-changelog/ + https://mariadb.com/kb/en/mariadb/mariadb-10117-changelog/ + https://mariadb.com/kb/en/mariadb/mariadb-10116-changelog/ + https://mariadb.com/kb/en/mariadb/mariadb-10115-changelog/ + * fixed CVE's: + CVE-2016-8283, CVE-2016-6663, CVE-2016-5629, CVE-2016-5626, + CVE-2016-5624, CVE-2016-5616, CVE-2016-3492, CVE-2016-6662, + CVE-2016-5440, CVE-2016-3615, CVE-2016-3521, CVE-2016-3477 + * fix: + [bsc#1005582], [bsc#1001367], [bsc#1005569], [bsc#1005566], + [bsc#1005564], [bsc#1005562], [bsc#1005555], [bnc#998309], + [bsc#989926], [bsc#989922], [bsc#989919], [bsc#989913] + * refresh mariadb-10.1.4-group.patch + * refresh mariadb-10.1.12-fortify-and-O.patch +- requires devel packages for aio and lzo2 +- remove mariadb-10.0.21-mysql-test_main_bootstrap.patch that is no + longer needed [bnc#984858] +- append "--ignore-db-dir=lost+found" to the mysqld options in + "mysql-systemd-helper" script if "lost+found" directory is found + in $datadir [bnc#986251] +- remove syslog.target from *.service files [bsc#983938] +- add BuildRequires: systemd-devel +- make some dependecies switchable +- add systemd to deps to build on leap and friends +- add mariadb-10.1.16-systemd-cmake.patch to allow more + (case-insensitive) values for 'WITH_SYSTEMD' variable in systemd.cmake +- replace '%{_libexecdir}/systemd/system' with %{_unitdir} macro +- remove useless mysql@default.service [bsc#971456] +- replace all occurrences of the string "@sysconfdir@" with "/etc" in + mysql-community-server-5.1.46-logrotate.patch as it wasn't expanded + properly [bsc#990890] + +------------------------------------------------------------------- +Sun Jun 12 11:25:08 UTC 2016 - kstreitova@suse.com + +- update to 10.1.14 + * What is MariadDB 10.1: + https://mariadb.com/kb/en/mariadb/what-is-mariadb-101/ + * CVEs fixed in 10.1.x branch + CVE-2016-2047, CVE-2016-0668, CVE-2016-0651, CVE-2016-0650, + CVE-2016-0649, CVE-2016-0646, CVE-2016-0644, CVE-2016-0642, + CVE-2016-0641, CVE-2016-0640, CVE-2016-0616, CVE-2016-0610, + CVE-2016-0609, CVE-2016-0608, CVE-2016-0606, CVE-2016-0600, + CVE-2016-0598, CVE-2016-0597, CVE-2016-0596, CVE-2016-0546, + CVE-2016-0505, CVE-2015-7744, CVE-2015-4913, CVE-2015-4895, + CVE-2015-4879, CVE-2015-4870, CVE-2015-4866, CVE-2015-4864, + CVE-2015-4861, CVE-2015-4858, CVE-2015-4836, CVE-2015-4830, + CVE-2015-4826, CVE-2015-4819, CVE-2015-4816, CVE-2015-4815, + CVE-2015-4807, CVE-2015-4802, CVE-2015-4792 + * adjust mysql-patches.tar.bz2 archive for mariadb-101 + * pack new MariaDB 10.1.x files +- remove '%define _rundir' as 13.1 is out of support scope +- temporarily disable OQGraph It seems to need the boost library with + the version not earlier than 1.40 and not later than 1.55 (MDEV-9479) +- add "BuildRequires: systemd-devel" for SLE12, openSUSE 13.2 and + openSUSE Leap in order to enable systemd features during the build of + mariadb-101 for these products. Otherwise we get "Performing Test + HAVE_SYSTEMD - Failed" and systemd files aren't installed. +- re-enable profiling support +- don't remove HandlerSocket plugin [bnc#979524] +- add 'log-error' and 'secure-file-priv' configuration options + (added via configuration-tweaks.tar.bz2) [bsc#963810] + * add '/etc/my.cnf.d/error_log.conf' that specifies + 'log-error = /var/log/mysql/mysqld.log'. If no path is set, the error + log is written to '/var/lib/mysql/$HOSTNAME.err', which is not picked + up by logrotate. + * add '/etc/my.cnf.d/secure_file_priv.conf' which specifies that + 'LOAD DATA', 'SELECT ... INTO' and 'LOAD FILE()' will only work with + files in the directory specified by 'secure-file-priv' option + (='/var/lib/mysql-files'). +- run 'usermod -g mysql mysql' only if mysql user is not in mysql group. + Run 'usermod -s /bin/false/ mysql' only if mysql user doesn't have + '/bin/false' shell set. +- don't delete the log data when migration fails + ------------------------------------------------------------------- Thu May 5 14:31:50 UTC 2016 - dmueller@suse.com diff --git a/mariadb.spec b/mariadb.spec index b349677..f37df51 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,7 +1,7 @@ # # spec file for package mariadb # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -25,18 +25,17 @@ %define soname 18 %define preferred 1 %define builtin_plugins partition,csv,heap,aria,pbxt,myisam,myisammrg,xtradb -%define extra_provides mariadb_100 -%define with_mandatory_boost 0 -%define build_extras 0 +%define extra_provides mariadb_101 +%define with_mandatory_lz4 0 +%define build_readline 1 +%define build_extras 1 # _tmpfilesdir is not defined in systemd macros up to openSUSE 13.2 %{!?_tmpfilesdir: %global _tmpfilesdir %{_libexecdir}/tmpfiles.d } -# Remove when 13.1 is out of support scope -%if ! %{defined _rundir} -%define _rundir %{_localstatedir}/run -%endif %if 0%{build_extras} > 0 %define with_jemalloc 1 -%define with_oqgraph 1 +#temporarily disable OQGraph (see MDEV-9479) +#%define with_oqgraph 1 +%define with_oqgraph 0 %define with_cassandra 1 %else %define with_jemalloc 0 @@ -44,7 +43,7 @@ %define with_cassandra 0 %endif Name: mariadb -Version: 10.0.22 +Version: 10.1.20 Release: 0 Summary: Server part of %{pretty_name} License: SUSE-GPL-2.0-with-FLOSS-exception @@ -57,9 +56,9 @@ Source4: suse-test-run Source5: mysql.SuSEfirewall2 Source7: README.install Source8: README.SUSE -Source9: mysql-patches.tar.bz2 +Source9: mysql-patches.tar.xz Source12: series -Source13: configuration-tweaks.tar.bz2 +Source13: configuration-tweaks.tar.xz Source14: my.ini Source15: mysql.service Source16: mysql.target @@ -100,7 +99,8 @@ BuildRequires: sqlite BuildRequires: tcpd-devel BuildRequires: time BuildRequires: zlib-devel -BuildRequires: pkgconfig(systemd) +# Do not ever switch away from pkgconfig(libsystemd) BuildRequires; systemd/systemd-devel causes build cycles +BuildRequires: pkgconfig(libsystemd) # required by rcmysql Requires: %{name}-client Requires: %{name}-errormessages = %{version} @@ -127,19 +127,21 @@ Provides: %{extra_provides}-debug-version = %{version} Obsoletes: %{extra_provides}-debug-version < %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build %{?systemd_requires} +%if 0%{with_mandatory_lz4} > 0 +# Dependency introduced in 5.7 mysql +BuildRequires: liblz4-devel +%endif # On mariadb we want readline5 (except for SLE12) and on mysql we use libedit from system -%if ("%{name}" == "mariadb" ) && ! (( 0%{?suse_version} == 1315 ) && ( ! 0%{?is_opensuse} )) +%if 0%{build_readline} > 0 && ! (( 0%{?suse_version} == 1315 ) && ( ! 0%{?is_opensuse} )) BuildRequires: readline5-devel %else BuildRequires: libedit-devel %endif -%if 0%{with_mandatory_boost} > 0 -BuildRequires: boost-devel >= 1.57.0 -%endif %if 0%{with_oqgraph} > 0 || 0%{with_cassandra} > 0 BuildRequires: boost-devel %endif -%if 0%{with_jemalloc} > 0 +# Build with jemalloc even for mariadb-100 to enable TokuDB there (bnc#970287) +%if 0%{with_jemalloc} > 0 || "%{extra_provides}" == "mariadb_100" BuildRequires: jemalloc-devel %endif %if 0%{with_oqgraph} > 0 @@ -165,8 +167,10 @@ This package only contains the server-side programs. Summary: %{pretty_name} development header files and libraries Group: Development/Libraries/C and C++ Requires: glibc-devel +Requires: libaio-devel Requires: libmysqlclient%{soname} = %{version} Requires: libmysqlclient_r%{soname} = %{version} +Requires: lzo-devel Requires: pkgconfig(libssl) Requires: zlib-devel # mysql-devel needs to be provided as some pkgs still depend on it @@ -340,6 +344,7 @@ for i in `grep -Rl mysqlclient .`; do sed -i 's|mysqlclient|%{libname}|g' $i sed -i 's|-lib%{libname}-symbols.patch|-libmysqlclient-symbols.patch|g' $i done +mv scripts/mysqlclient.pc.in scripts/%{libname}.pc.in || continue %endif # Broken test that needs sources rm -f mysql-test/t/file_contents.test mysql-test/r/file_contents.result @@ -357,7 +362,7 @@ export CXXFLAGS="$CFLAGS -felide-constructors" %cmake -DWITH_SSL=system \ -DWITH_ASAN=OFF \ -DWITH_LIBWRAP=ON \ - -DENABLED_PROFILING=OFF \ + -DENABLED_PROFILING=ON \ -DENABLE_DEBUG_SYNC=OFF \ -DWITH_PIC=ON \ -DWITH_ZLIB=system \ @@ -367,10 +372,12 @@ export CXXFLAGS="$CFLAGS -felide-constructors" -DWITH_LIBEDIT=0 \ -DWITH_EDITLINE=system \ -DINSTALL_LAYOUT=RPM \ + -DWITH_SYSTEMD=ON \ + -DWITH_LZ4=system \ -DMYSQL_UNIX_ADDR="%{_localstatedir}/run/mysql/mysql.sock" \ -DINSTALL_UNIX_ADDRDIR="%{_localstatedir}/run/mysql/mysql.sock" \ -DINSTALL_MYSQLSHAREDIR=share/%{name} \ - -DWITH_COMMENT="openSUSE MySQL rpm" \ + -DWITH_COMMENT="openSUSE mariadb rpm" \ -DWITH_EXTRA_CHARSET=all \ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ @@ -384,9 +391,11 @@ export CXXFLAGS="$CFLAGS -felide-constructors" -DWITH_XTRADB_STORAGE_ENGINE=1 \ -DWITH_CSV_STORAGE_ENGINE=1 \ -DWITH_HANDLERSOCKET_STORAGE_ENGINE=1 \ + -DWITH_INNODB_MEMCACHED=ON \ -DWITH_EMBEDDED_SERVER=true \ -DWITH_WSREP=ON \ -DWITH_INNODB_DISALLOW_WRITES=1 \ + -DWITH_BOOST=../boost/ \ -DCOMPILATION_COMMENT="openSUSE package" \ -DDENABLE_DOWNLOADS=false \ -DINSTALL_PLUGINDIR_RPM="%{_lib}/mysql/plugin" \ @@ -450,9 +459,6 @@ install -m 644 build/sql/mysqld.sym %{buildroot}%{_libdir}/mysql/mysqld.sym install -p -m 644 build/Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ install -p -m 644 build/Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ -# Remove handler socket client -rm -f %{buildroot}%{_libdir}/mysql/plugin/handlersocket.so - # Remove debug management for keys Mariadb 101+ rm -f %{buildroot}%{_libdir}/mysql/plugin/debug_key_management.so @@ -470,6 +476,13 @@ rm -f %{buildroot}%{_libdir}/mysql/plugin/daemon_example.ini mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir} +# Remove unused services for mariadb_101 +%if "%{extra_provides}" == "mariadb_101" +rm -f %{buildroot}'%{_unitdir}/mariadb.service' +rm -f %{buildroot}'%{_unitdir}/mariadb@.service' +rm -f %{buildroot}'%{_unitdir}/mariadb@bootstrap.service.d/use_galera_new_cluster.conf' +%endif + # Generate various filelists filelist innochecksum my_print_defaults myisam_ftdump myisamchk myisamlog myisampack mysql_fix_extensions mysql_fix_privilege_tables mysql_ssl_rsa_setup mysql_install_db mysql_secure_installation mysql_upgrade mysqlbug mysqld mysqld_multi mysqld_safe mysqlbinlog mysqldumpslow mysqlmanager mroonga resolve_stack_dump resolveip {m,}aria_chk {m,}aria_dump_log {m,}aria_ftdump {m,}aria_pack {m,}aria_read_log xtstat tokuft_logprint tokuftdump >mysql.files @@ -537,10 +550,9 @@ install -m 660 %{SOURCE14} %{buildroot}%{_sysconfdir}/my.cnf install -D -m 755 %{_sourcedir}/mysql-systemd-helper '%{buildroot}'%{_libexecdir}/mysql/mysql-systemd-helper sed -i 's|@MYSQLVER@|%{version}|' '%{buildroot}'%{_libexecdir}/mysql/mysql-systemd-helper ln -sf service '%{buildroot}'%{_sbindir}/rcmysql -install -D -m 644 %{_sourcedir}/mysql.service '%{buildroot}'%{_libexecdir}/systemd/system/mysql.service -install -D -m 644 %{_sourcedir}/mysql@.service '%{buildroot}'%{_libexecdir}/systemd/system/mysql@.service -install -D -m 644 %{_sourcedir}/mysql.target '%{buildroot}'%{_libexecdir}/systemd/system/mysql.target -ln -s mysql@.service '%{buildroot}'%{_libexecdir}/systemd/system/mysql@default.service +install -D -m 644 %{_sourcedir}/mysql.service '%{buildroot}'%{_unitdir}/mysql.service +install -D -m 644 %{_sourcedir}/mysql@.service '%{buildroot}'%{_unitdir}/mysql@.service +install -D -m 644 %{_sourcedir}/mysql.target '%{buildroot}'%{_unitdir}/mysql.target rm -rf '%{buildroot}'%{_sysconfdir}/init.d # Tmpfiles file to exclude mysql tempfiles that are auto-cleaned up @@ -596,14 +608,17 @@ ln -s mysqlcheck '%{buildroot}'%{_bindir}/mysqloptimize # Use our configuration stuff instead of upstream one rm -rf '%{buildroot}'%{_sysconfdir}/my.cnf.d install -d -m 755 '%{buildroot}'%{_sysconfdir}/my.cnf.d -bzip2 -cd '%{_sourcedir}'/configuration-tweaks.tar.bz2 | tar -C '%{buildroot}'%{_sysconfdir}/my.cnf.d -xvf - +tar -C '%{buildroot}'%{_sysconfdir}/my.cnf.d -xvf %{SOURCE13} # Documentation that was copied to wrong folder -rm -f '%{buildroot}'%{_datadir}/doc/* 2> /dev/null || true +rm -f '%{buildroot}'%{_datadir}/doc/* 2> /dev/null || true # Unwanted packaged stuff rm -rf '%{buildroot}'%{_datadir}/mysql/{solaris,SELinux} +# Create the directory specified in 'secure-file-priv' option +mkdir -p '%{buildroot}'/var/lib/mysql-files + %check cd build @@ -631,19 +646,23 @@ cd mysql-test getent group mysql >/dev/null || groupadd -r mysql getent passwd mysql >/dev/null || useradd -r -o -g mysql -u 60 -c "MySQL database admin" \ -s /bin/false -d %{_localstatedir}/lib/mysql mysql -usermod -g mysql -s /bin/false mysql +# if mysql user is not in mysql group or if mysql user doesn't have '/bin/false' shell set, do so +id -Gn mysql | grep '\bmysql\b' &>/dev/null || usermod -g mysql mysql +getent passwd mysql | cut -d: -f7 | grep '\b/bin/false\b' &>/dev/null || usermod -s /bin/false mysql exit 0 %pre getent group mysql >/dev/null || groupadd -r mysql getent passwd mysql >/dev/null || useradd -r -o -g mysql -u 60 -c "MySQL database admin" \ -s /bin/false -d %{_localstatedir}/lib/mysql mysql -usermod -g mysql -s /bin/false mysql +# if mysql user is not in mysql group or if mysql user doesn't have '/bin/false' shell set, do so +id -Gn mysql | grep '\bmysql\b' &>/dev/null || usermod -g mysql mysql +getent passwd mysql | cut -d: -f7 | grep '\b/bin/false\b' &>/dev/null || usermod -s /bin/false mysql -%service_add_pre mysql.service mysql@.service mysql.target mysql@default.service +%service_add_pre mysql.service %post -%service_add_post mysql.service mysql@.service mysql.target mysql@default.service +%service_add_post mysql.service # Use %%tmpfiles_create when 13.2 is oldest in support scope %{_bindir}/systemd-tmpfiles --create %{_tmpfilesdir}/mysql.conf || : @@ -702,10 +721,10 @@ fi exit 0 %preun -%service_del_preun mysql.service mysql@.service mysql.target mysql@default.service +%service_del_preun mysql.service %postun -%service_del_postun mysql.service mysql@.service mysql.target mysql@default.service +%service_del_postun mysql.service # Remove the /var/adm updatemsg that was hand-created and thus not on filelist rm -f %{_localstatedir}/adm/update-messages/%{name}-%{version}-%{release} @@ -733,10 +752,9 @@ rm -f %{_localstatedir}/adm/update-messages/%{name}-%{version}-%{release} %dir %{_libexecdir}/mysql %dir %attr(0700, mysql, mysql) %{_localstatedir}/log/mysql %{_libexecdir}/mysql/mysql-systemd-helper -%{_libexecdir}/systemd/system/mysql.service -%{_libexecdir}/systemd/system/mysql@.service -%{_libexecdir}/systemd/system/mysql@default.service -%{_libexecdir}/systemd/system/mysql.target +%{_unitdir}/mysql.service +%{_unitdir}/mysql@.service +%{_unitdir}/mysql.target %{_tmpfilesdir}/mysql.conf %{_sbindir}/rcmysql %dir %{_datadir}/%{name} @@ -751,6 +769,25 @@ rm -f %{_localstatedir}/adm/update-messages/%{name}-%{version}-%{release} %dir %{_libdir}/mysql/plugin %{_libdir}/mysql/plugin/[!d]*.so %ghost %{_localstatedir}/adm/update-messages/%{name}-%{version}-%{release} +%dir %attr(0750, mysql, mysql) /var/lib/mysql-files +# Pack files for mariadb_101 +%if "%{extra_provides}" == "mariadb_101" +%{_bindir}/galera_new_cluster +%{_bindir}/galera_recovery +%{_bindir}/mariadb-service-convert +%dir %{_datadir}/mysql/policy +%dir %{_datadir}/mysql/policy/apparmor +%{_datadir}/mysql/policy/apparmor/README +%{_datadir}/mysql/policy/apparmor/usr.sbin.mysqld* +%dir %{_datadir}/mysql/policy/selinux +%{_datadir}/mysql/policy/selinux/README +%{_datadir}/mysql/policy/selinux/mariadb-server.* +%dir %{_datadir}/mysql/systemd +%{_datadir}/mysql/systemd/mariadb.service +%{_datadir}/mysql/systemd/mariadb@.service +%{_datadir}/mysql/systemd/use_galera_new_cluster.conf +%endif + %files errormessages -f errormessages.files %defattr(-, root, root) diff --git a/mysql-patches.tar.bz2 b/mysql-patches.tar.bz2 deleted file mode 100644 index 0189f31..0000000 --- a/mysql-patches.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:919be0b46bad078177bfdd8b377d3226dd3bcba171b68dc6237a12ddef040a57 -size 13956 diff --git a/mysql-patches.tar.xz b/mysql-patches.tar.xz new file mode 100644 index 0000000..bfd53e1 --- /dev/null +++ b/mysql-patches.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fec239e1173d48cbce8f958fb36610261a1ab75f9b3b8259bafef8962702e3ae +size 12024 diff --git a/mysql-systemd-helper b/mysql-systemd-helper index 47e1e0e..80aa2ce 100644 --- a/mysql-systemd-helper +++ b/mysql-systemd-helper @@ -10,7 +10,7 @@ read_config() { MYSQLVER="$(echo @MYSQLVER@ | sed 's|\.[0-9]\+$||')" mysql_daemon_user=mysql mysql_daemon_group=mysql - if [[ -z "$INSTANCE" || "x$INSTANCE" = "xdefault" ]]; then + if [[ -z "$INSTANCE" ]]; then datadir=/var/lib/mysql socket="/var/run/mysql/mysql.sock" else @@ -19,7 +19,7 @@ read_config() { fi # Read options - important for multi setup - if [[ -n "$INSTANCE" && "x$INSTANCE" != "xdefault" ]]; then + if [[ -n "$INSTANCE" ]]; then opts="$(/usr/bin/my_print_defaults mysqld mysqld_multi "$INSTANCE")" tmp_opts="$opts" config="/etc/my${INSTANCE}.cnf" @@ -38,6 +38,14 @@ read_config() { --user=*) mysql_daemon_user="$(echo "$arg" | sed -e 's/^[^=]*=//')" ;; esac done + + # work-around for lost+found directory in $datadir (bug #986251) + if [ -d "$datadir/lost+found" ] + then + ignore_db_dir="--ignore-db-dir=lost+found" + else + ignore_db_dir="" + fi } # Create new empty database if needed @@ -93,6 +101,7 @@ mysql_upgrade() { --user="$mysql_daemon_user" \ --skip-networking \ --skip-grant-tables \ + $ignore_db_dir \ --log-error="$protected/log_upgrade_run" \ --socket="$protected/mysql.sock" \ --pid-file="$protected/mysqld.pid" & @@ -124,8 +133,11 @@ mysql_upgrade() { # Cleanup echo "Final cleanup" - rm -rf "$protected" "/var/run/mysql/protecteddir.$INSTANCE" - [[ -z "$up_ok" ]] || die "Something failed during upgrade, please check logs" + if [[ -z "$up_ok" ]]; then + rm -rf "$protected" "/var/run/mysql/protecteddir.$INSTANCE" + else + die "Something failed during upgrade, please check logs" + fi fi } @@ -148,6 +160,7 @@ mysql_wait() { mysql_start() { exec /usr/sbin/mysqld \ --defaults-file="$config" \ + $ignore_db_dir \ --user="$mysql_daemon_user" } diff --git a/mysql.service b/mysql.service index 1d11134..44d302e 100644 --- a/mysql.service +++ b/mysql.service @@ -1,16 +1,16 @@ [Unit] Description=MySQL server Wants=basic.target -Conflicts=mysql.target mysql@default.service -After=basic.target network.target syslog.target +Conflicts=mysql.target +After=basic.target network.target [Service] Restart=on-failure Type=simple -ExecStartPre=/usr/lib/mysql/mysql-systemd-helper install default -ExecStartPre=/usr/lib/mysql/mysql-systemd-helper upgrade default -ExecStart=/usr/lib/mysql/mysql-systemd-helper start default -ExecStartPost=/usr/lib/mysql/mysql-systemd-helper wait default +ExecStartPre=/usr/lib/mysql/mysql-systemd-helper install +ExecStartPre=/usr/lib/mysql/mysql-systemd-helper upgrade +ExecStart=/usr/lib/mysql/mysql-systemd-helper start +ExecStartPost=/usr/lib/mysql/mysql-systemd-helper wait [Install] WantedBy=multi-user.target diff --git a/mysql@.service b/mysql@.service index 04d02f7..7f158ab 100644 --- a/mysql@.service +++ b/mysql@.service @@ -2,7 +2,7 @@ Description=MySQL server - %I instance Wants=basic.target PartOf=mysql.target -After=basic.target network.target syslog.target +After=basic.target network.target [Service] Restart=on-failure diff --git a/series b/series index 6fe8cb6..d4dbee5 100644 --- a/series +++ b/series @@ -1,15 +1,12 @@ mysql-community-server-5.1.45-multi-configuration.patch mysql-community-server-5.1.46-logrotate.patch mariadb-5.5.28-install_db-quiet.patch -mariadb-10.0.15-mysqld_multi-features.patch +mariadb-10.1.1-mysqld_multi-features.patch mariadb-5.2.3-cnf.patch mysql-community-server-5.5.6-safe-process-in-bin.patch -mariadb-10.0.17-group.patch -mariadb-10.0.5-deharcode-libdir.patch -mariadb-10.0.15-fortify-and-O.patch +mariadb-10.1.4-group.patch +mariadb-10.1.12-deharcode-libdir.patch mariadb-10.0.15-logrotate-su.patch -mariadb-10.0.15-covscan-signexpr.patch -mariadb-10.0.10-string-overflow.patch -mariadb-10.0.20-tabxml-bufferoverflowstrncat.patch -mariadb-10.0.21-mysql-test_main_bootstrap.patch -mariadb-10.0.22-fix_build_denabled_profiling_off.patch +mariadb-10.1.12-fortify-and-O.patch +mariadb-10.1.16-systemd-cmake.patch +mariadb-10.1.18-mysql_install_db-mariadb_dirs.patch