From 78803feced3ffa33b29ee551fff279d356a47ebf4202197052e3d86820e7d04b Mon Sep 17 00:00:00 2001 From: Martin Pluskal Date: Thu, 27 Oct 2016 08:56:24 +0000 Subject: [PATCH] Accepting request 437454 from home:kstreitova:branches:server:database - 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 OBS-URL: https://build.opensuse.org/request/show/437454 OBS-URL: https://build.opensuse.org/package/show/server:database/mariadb?expand=0&rev=184 --- configuration-tweaks.tar.bz2 | 4 +-- mariadb-10.1.14.tar.gz | 3 -- mariadb-10.1.18.tar.gz | 3 ++ mariadb.changes | 42 +++++++++++++++++++++++++ mariadb.spec | 61 ++++++++++++++++++++---------------- mysql-patches.tar.bz2 | 4 +-- mysql-systemd-helper | 14 +++++++-- mysql.service | 12 +++---- mysql@.service | 2 +- series | 2 +- 10 files changed, 103 insertions(+), 44 deletions(-) delete mode 100644 mariadb-10.1.14.tar.gz create mode 100644 mariadb-10.1.18.tar.gz diff --git a/configuration-tweaks.tar.bz2 b/configuration-tweaks.tar.bz2 index 28c79d5..b38442e 100644 --- a/configuration-tweaks.tar.bz2 +++ b/configuration-tweaks.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6454b898e392e90199b2858a4278613518656d07ad8d02d6f86d377418c92316 -size 613 +oid sha256:1b1a75ace8d9140d486db8d22051cc4a736042afcbb5db32eb1f40d46bddf9fe +size 615 diff --git a/mariadb-10.1.14.tar.gz b/mariadb-10.1.14.tar.gz deleted file mode 100644 index 49ff47e..0000000 --- a/mariadb-10.1.14.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:18e71974a059a268a3f28281599607344d548714ade823d575576121f76ada13 -size 55341017 diff --git a/mariadb-10.1.18.tar.gz b/mariadb-10.1.18.tar.gz new file mode 100644 index 0000000..16431be --- /dev/null +++ b/mariadb-10.1.18.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7336907e9ff44496d6453f92526b25bd253638a64a051ca879f953499873b73 +size 61187451 diff --git a/mariadb.changes b/mariadb.changes index fff1ae2..38c36d2 100644 --- a/mariadb.changes +++ b/mariadb.changes @@ -1,3 +1,45 @@ +------------------------------------------------------------------- +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 diff --git a/mariadb.spec b/mariadb.spec index 624e995..930cc1c 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -26,7 +26,8 @@ %define preferred 1 %define builtin_plugins partition,csv,heap,aria,pbxt,myisam,myisammrg,xtradb %define extra_provides mariadb_101 -%define with_mandatory_boost 0 +%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 } @@ -42,7 +43,7 @@ %define with_cassandra 0 %endif Name: mariadb -Version: 10.1.14 +Version: 10.1.18 Release: 0 Summary: Server part of %{pretty_name} License: SUSE-GPL-2.0-with-FLOSS-exception @@ -98,11 +99,10 @@ BuildRequires: sqlite BuildRequires: tcpd-devel BuildRequires: time BuildRequires: zlib-devel -BuildRequires: pkgconfig(systemd) -# Enable systemd features for mariadb-101 on SLE12, openSUSE 13.2 and openSUSE Leap -%if ("%{extra_provides}" == "mariadb_101") && ((0%{?suse_version} == 1315) || (0%{?suse_version} == 1320)) -BuildRequires: systemd-devel -%endif +# pkgconfig(systemd) on most versions is in systemd main pkg, remove +# after oldest supported is Leap 43 +BuildRequires: systemd +BuildRequires: systemd-devel # required by rcmysql Requires: %{name}-client Requires: %{name}-errormessages = %{version} @@ -129,15 +129,16 @@ 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 @@ -168,8 +169,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 @@ -343,6 +346,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 @@ -370,10 +374,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 \ @@ -387,9 +393,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" \ @@ -472,9 +480,9 @@ mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{build # Remove unused services for mariadb_101 %if "%{extra_provides}" == "mariadb_101" -rm -f %{buildroot}'%{_libexecdir}/systemd/system/mariadb.service' -rm -f %{buildroot}'%{_libexecdir}/systemd/system/mariadb@.service' -rm -f %{buildroot}'%{_libexecdir}/systemd/system/mariadb@bootstrap.service.d/use_galera_new_cluster.conf' +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 @@ -544,10 +552,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 @@ -654,10 +661,10 @@ getent passwd mysql >/dev/null || useradd -r -o -g mysql -u 60 -c "MySQL databas 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 || : @@ -716,10 +723,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} @@ -747,10 +754,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} @@ -769,6 +775,7 @@ rm -f %{_localstatedir}/adm/update-messages/%{name}-%{version}-%{release} # 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 diff --git a/mysql-patches.tar.bz2 b/mysql-patches.tar.bz2 index 587ba50..2ec3c29 100644 --- a/mysql-patches.tar.bz2 +++ b/mysql-patches.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9d2a8bb07b80054bc9bd3c87a2711ce262d90e83ec58b005a54b63af7139f96 -size 11977 +oid sha256:3f9d7f6da580e38a74a5e8e5e64e38bc2440063b967b52eb7c0b78fd2515448e +size 12434 diff --git a/mysql-systemd-helper b/mysql-systemd-helper index 088892e..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" & @@ -151,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 0da9f05..6919cc5 100644 --- a/series +++ b/series @@ -8,4 +8,4 @@ mariadb-10.1.4-group.patch mariadb-10.1.12-deharcode-libdir.patch mariadb-10.0.15-logrotate-su.patch mariadb-10.1.12-fortify-and-O.patch -mariadb-10.0.21-mysql-test_main_bootstrap.patch +mariadb-10.1.16-systemd-cmake.patch