031387
# TokuDB engine is now part of MariaDB, but it is available only for x86_64;
031387
# variable tokudb allows to build with TokuDB storage engine
031387
%bcond_with tokudb
031387
031387
Name: mariadb
031387
Version: 5.5.33a
031387
Release: 3%{?dist}
031387
Epoch: 1
031387
031387
Summary: A community developed branch of MySQL
031387
Group: Applications/Databases
031387
URL: http://mariadb.org
031387
# Exceptions allow client libraries to be linked with most open source SW,
031387
# not only GPL code.  See README.mysql-license
031387
# Some innobase code from Percona and Google is under BSD license
031387
# Some code related to test-suite is under LGPLv2
031387
License: GPLv2 with exceptions and LGPLv2 and BSD
031387
031387
# Regression tests take a long time, you can skip 'em with this
031387
%{!?runselftest:%global runselftest 1}
031387
031387
Source0: http://ftp.osuosl.org/pub/mariadb/mariadb-%{version}/kvm-tarbake-jaunty-x86/mariadb-%{version}.tar.gz
031387
Source3: my.cnf
031387
Source5: my_config.h
031387
Source6: README.mysql-docs
031387
Source7: README.mysql-license
031387
Source8: libmysql.version
031387
Source9: mysql-embedded-check.c
031387
Source10: mariadb.tmpfiles.d
031387
Source11: mariadb.service
031387
Source12: mariadb-prepare-db-dir
031387
Source13: mariadb-wait-ready
031387
Source14: rh-skipped-tests-base.list
031387
Source15: rh-skipped-tests-arm.list
031387
# Working around perl dependency checking bug in rpm FTTB. Remove later.
031387
Source999: filter-requires-mysql.sh
031387
031387
# Comments for these patches are in the patch files.
031387
Patch1: mariadb-errno.patch
031387
Patch2: mariadb-strmov.patch
031387
Patch3: mariadb-install-test.patch
031387
Patch4: mariadb-expired-certs.patch
031387
Patch5: mariadb-versioning.patch
031387
Patch6: mariadb-dubious-exports.patch
031387
Patch7: mariadb-s390-tsc.patch
031387
Patch8: mariadb-logrotate.patch
031387
Patch9: mariadb-cipherspec.patch
031387
Patch10: mariadb-file-contents.patch
031387
Patch11: mariadb-string-overflow.patch
031387
Patch12: mariadb-dh1024.patch
031387
Patch14: mariadb-basedir.patch
031387
Patch17: mariadb-covscan-signexpr.patch
031387
Patch18: mariadb-covscan-stroverflow.patch
031387
Patch20: mariadb-cmakehostname.patch
031387
031387
BuildRequires: perl, readline-devel, openssl-devel
031387
BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel
031387
BuildRequires: systemd, systemtap-sdt-devel
031387
BuildRequires: pam-devel
031387
# make test requires time and ps
031387
BuildRequires: time procps
031387
# perl modules needed to run regression tests
031387
BuildRequires: perl(Socket), perl(Time::HiRes)
031387
BuildRequires: perl(Data::Dumper), perl(Test::More), perl(Env)
031387
031387
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
031387
Requires: grep, fileutils, bash
031387
Requires(post): %{_sbindir}/update-alternatives
031387
Requires(postun): %{_sbindir}/update-alternatives
031387
031387
%{?systemd_requires: %systemd_requires}
031387
031387
# MariaDB replaces mysql packages
031387
Provides: mysql = %{epoch}:%{version}-%{release}
031387
Provides: mysql%{?_isa} = %{epoch}:%{version}-%{release}
031387
031387
# When rpm 4.9 is universal, this could be cleaned up:
031387
%global __perl_requires %{SOURCE999}
031387
%global __perllib_requires %{SOURCE999}
031387
031387
# By default, patch(1) creates backup files when chunks apply with offsets.
031387
# Turn that off to ensure such files don't get included in RPMs (cf bz#884755).
031387
%global _default_patch_flags --no-backup-if-mismatch
031387
031387
%description
031387
MariaDB is a community developed branch of MySQL.
031387
MariaDB is a multi-user, multi-threaded SQL database server.
031387
It is a client/server implementation consisting of a server daemon (mysqld)
031387
and many different client programs and libraries. The base package
031387
contains the standard MariaDB/MySQL client programs and generic MySQL files.
031387
031387
%package libs
031387
031387
Summary: The shared libraries required for MariaDB/MySQL clients
031387
Group: Applications/Databases
031387
Requires: /sbin/ldconfig
031387
Provides: mysql-libs = %{epoch}:%{version}-%{release}
031387
Provides: mysql-libs%{?_isa} = %{epoch}:%{version}-%{release}
031387
031387
%description libs
031387
The mariadb-libs package provides the essential shared libraries for any
031387
MariaDB/MySQL client program or interface. You will need to install this
031387
package to use any other MariaDB package or any clients that need to connect
031387
to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL.
031387
031387
%package server
031387
031387
Summary: The MariaDB server and related files
031387
Group: Applications/Databases
031387
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
031387
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
031387
Requires: sh-utils
031387
Requires(pre): /usr/sbin/useradd
031387
# We require this to be present for %%{_tmpfilesdir}
031387
Requires: systemd
031387
# Make sure it's there when scriptlets run, too
031387
Requires(post): systemd %{_sbindir}/update-alternatives
031387
Requires(preun): systemd
031387
Requires(postun): systemd %{_sbindir}/update-alternatives
031387
# mysqlhotcopy needs DBI/DBD support
031387
Requires: perl-DBI, perl-DBD-MySQL
031387
Provides: mysql-compat-server = %{epoch}:%{version}-%{release}
031387
Provides: mysql-compat-server%{?_isa} = %{epoch}:%{version}-%{release}
031387
031387
%description server
031387
MariaDB is a multi-user, multi-threaded SQL database server. It is a
031387
client/server implementation consisting of a server daemon (mysqld)
031387
and many different client programs and libraries. This package contains
031387
the MariaDB server and some accompanying files and directories.
031387
MariaDB is a community developed branch of MySQL.
031387
031387
%package devel
031387
031387
Summary: Files for development of MariaDB/MySQL applications
031387
Group: Applications/Databases
031387
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
031387
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
031387
Requires: openssl-devel%{?_isa}
031387
Provides: mysql-devel = %{epoch}:%{version}-%{release}
031387
Provides: mysql-devel%{?_isa} = %{epoch}:%{version}-%{release}
031387
031387
%description devel
031387
MariaDB is a multi-user, multi-threaded SQL database server. This
031387
package contains the libraries and header files that are needed for
031387
developing MariaDB/MySQL client applications.
031387
MariaDB is a community developed branch of MySQL.
031387
031387
%package embedded
031387
031387
Summary: MariaDB as an embeddable library
031387
Group: Applications/Databases
031387
Requires: /sbin/ldconfig
031387
031387
%description embedded
031387
MariaDB is a multi-user, multi-threaded SQL database server. This
031387
package contains a version of the MariaDB server that can be embedded
031387
into a client application instead of running as a separate process.
031387
MariaDB is a community developed branch of MySQL.
031387
031387
%package embedded-devel
031387
031387
Summary: Development files for MariaDB as an embeddable library
031387
Group: Applications/Databases
031387
Requires: %{name}-embedded%{?_isa} = %{epoch}:%{version}-%{release}
031387
Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release}
031387
031387
%description embedded-devel
031387
MariaDB is a multi-user, multi-threaded SQL database server. This
031387
package contains files needed for developing and testing with
031387
the embedded version of the MariaDB server.
031387
MariaDB is a community developed branch of MySQL.
031387
031387
%package bench
031387
031387
Summary: MariaDB benchmark scripts and data
031387
Group: Applications/Databases
031387
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
031387
031387
%description bench
031387
MariaDB is a multi-user, multi-threaded SQL database server. This
031387
package contains benchmark scripts and data for use when benchmarking
031387
MariaDB.
031387
MariaDB is a community developed branch of MySQL.
031387
031387
%package test
031387
031387
Summary: The test suite distributed with MariaD
031387
Group: Applications/Databases
031387
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
031387
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
031387
Requires: %{name}-server%{?_isa} = %{epoch}:%{version}-%{release}
031387
Requires: perl(Socket), perl(Time::HiRes)
031387
Requires: perl(Data::Dumper), perl(Test::More), perl(Env)
031387
031387
%description test
031387
MariaDB is a multi-user, multi-threaded SQL database server. This
031387
package contains the regression test suite distributed with
031387
the MariaDB sources.
031387
MariaDB is a community developed branch of MySQL.
031387
031387
%prep
031387
%setup -q -n mariadb-%{version}
031387
031387
%patch1 -p1
031387
%patch2 -p1
031387
%patch3 -p1
031387
%patch4 -p1
031387
%patch5 -p1
031387
%patch6 -p1
031387
%patch7 -p1
031387
%patch8 -p1
031387
%patch9 -p1
031387
%patch10 -p1
031387
%patch11 -p1
031387
%patch12 -p1
031387
%patch14 -p1
031387
%patch17 -p1
031387
%patch18 -p1
031387
%patch20 -p1
031387
031387
# workaround for upstream bug #56342
031387
rm -f mysql-test/t/ssl_8k_key-master.opt
031387
031387
# upstream has fallen down badly on symbol versioning, do it ourselves
031387
cp -p %{SOURCE8} libmysql/libmysql.version
031387
031387
# generate a list of tests that fail, but are not disabled by upstream
031387
cat %{SOURCE14} > mysql-test/rh-skipped-tests.list
031387
# disable some tests failing on ARM architectures
031387
%ifarch %{arm}
031387
cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list
031387
%endif
031387
# disable some tests failing on ppc and s390
031387
%ifarch ppc ppc64 ppc64p7 s390 s390x
031387
echo "main.gis-precise : rhbz#906367" >> mysql-test/rh-skipped-tests.list
031387
%endif
031387
%ifarch i686
031387
echo "main.mysql_client_test_nonblock : rhbz#1021450" >> mysql-test/rh-skipped-tests.list
031387
%endif
031387
031387
%build
031387
031387
# fail quickly and obviously if user tries to build as root
031387
%if %runselftest
031387
	if [ x"`id -u`" = x0 ]; then
031387
		echo "The mariadb's regression tests may fail if run as root."
031387
		echo "If you really need to build the RPM as root, use"
031387
		echo "--define='runselftest 0' to skip the regression tests."
031387
		exit 1
031387
	fi
031387
%endif
031387
031387
CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
031387
# force PIC mode so that we can build libmysqld.so
031387
CFLAGS="$CFLAGS -fPIC"
031387
# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization
031387
# submitted as bz #529298
031387
%ifarch sparc sparcv9 sparc64
031387
CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `
031387
%endif
031387
CXXFLAGS="$CFLAGS"
031387
export CFLAGS CXXFLAGS
031387
# building with PIE
031387
LDFLAGS="$LDFLAGS -pie"
031387
export LDFLAGS
031387
031387
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
031387
# so we can't use %%{_datadir} and so forth here.
031387
031387
cmake . -DBUILD_CONFIG=mysql_release \
031387
	-DFEATURE_SET="community" \
031387
	-DINSTALL_LAYOUT=RPM \
031387
	-DCMAKE_INSTALL_PREFIX="%{_prefix}" \
031387
	-DINSTALL_INCLUDEDIR=include/mysql \
031387
	-DINSTALL_INFODIR=share/info \
031387
	-DINSTALL_LIBDIR="%{_lib}/mysql" \
031387
	-DINSTALL_MANDIR=share/man \
031387
	-DINSTALL_MYSQLSHAREDIR=share/mysql \
031387
	-DINSTALL_MYSQLTESTDIR=share/mysql-test \
031387
	-DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \
031387
	-DINSTALL_SBINDIR=libexec \
031387
	-DINSTALL_SCRIPTDIR=bin \
031387
	-DINSTALL_SQLBENCHDIR=share \
031387
	-DINSTALL_SUPPORTFILESDIR=share/mysql \
031387
	-DMYSQL_DATADIR="%{_localstatedir}/lib/mysql" \
031387
	-DMYSQL_UNIX_ADDR="%{_localstatedir}/lib/mysql/mysql.sock" \
031387
	-DENABLED_LOCAL_INFILE=ON \
031387
	-DENABLE_DTRACE=ON \
031387
	-DWITH_EMBEDDED_SERVER=ON \
031387
	-DWITH_READLINE=ON \
031387
	-DWITH_SSL=system \
031387
	-DWITH_ZLIB=system \
031387
	-DWITH_JEMALLOC=no \
031387
%{!?with_tokudb:	-DWITHOUT_TOKUDB=ON}\
031387
	-DTMPDIR=%{_localstatedir}/tmp \
031387
	-DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now"
031387
031387
make %{?_smp_mflags} VERBOSE=1
031387
031387
# debuginfo extraction scripts fail to find source files in their real
031387
# location -- satisfy them by copying these files into location, which
031387
# is expected by scripts
031387
for e in innobase xtradb ; do
031387
  for f in pars0grm.c pars0grm.y pars0lex.l lexyy.c ; do
031387
    cp -p "storage/$e/pars/$f" "storage/$e/$f"
031387
  done
031387
done
031387
031387
%check
031387
%if %runselftest
031387
  # hack to let 32- and 64-bit tests run concurrently on same build machine
031387
  case `uname -m` in
031387
    ppc64 | ppc64p7 | s390x | x86_64 | sparc64 )
031387
      MTR_BUILD_THREAD=7
031387
      ;;
031387
    *)
031387
      MTR_BUILD_THREAD=11
031387
      ;;
031387
  esac
031387
  export MTR_BUILD_THREAD
031387
  export MTR_PARALLEL=1
031387
031387
  make test VERBOSE=1
031387
031387
  # The cmake build scripts don't provide any simple way to control the
031387
  # options for mysql-test-run, so ignore the make target and just call it
031387
  # manually.  Nonstandard options chosen are:
031387
  # --force to continue tests after a failure
031387
  # no retries please
031387
  # test SSL with --ssl
031387
  # skip tests that are listed in rh-skipped-tests.list
031387
  # avoid redundant test runs with --binlog-format=mixed
031387
  # increase timeouts to prevent unwanted failures during mass rebuilds
031387
  (
031387
    cd mysql-test
031387
    perl ./mysql-test-run.pl --force --retry=0 --ssl \
031387
	--skip-test-list=rh-skipped-tests.list \
031387
	--suite-timeout=720 --testcase-timeout=30 \
031387
	--mysqld=--binlog-format=mixed --force-restart \
031387
	--shutdown-timeout=60
031387
    # cmake build scripts will install the var cruft if left alone :-(
031387
    rm -rf var
031387
  )
031387
%endif
031387
031387
%install
031387
make DESTDIR=$RPM_BUILD_ROOT install
031387
031387
# List the installed tree for RPM package maintenance purposes.
031387
find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES
031387
031387
# multilib header hacks
031387
# we only apply this to known Red Hat multilib arches, per bug #181335
031387
case `uname -i` in
031387
  i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 | aarch64 )
031387
    mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_`uname -i`.h
031387
    mv $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h $RPM_BUILD_ROOT%{_includedir}/mysql/private/my_config_`uname -i`.h
031387
    install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/
031387
    install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h
031387
    ;;
031387
  arm* )
031387
    mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_arm.h
031387
    mv $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h $RPM_BUILD_ROOT%{_includedir}/mysql/private/my_config_arm.h
031387
    install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/
031387
    install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/private/config.h
031387
    ;;
031387
  *)
031387
    ;;
031387
esac
031387
031387
# cmake generates some completely wacko references to -lprobes_mysql when
031387
# building with dtrace support.  Haven't found where to shut that off,
031387
# so resort to this blunt instrument.  While at it, let's not reference
031387
# libmysqlclient_r anymore either.
031387
sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \
031387
	${RPM_BUILD_ROOT}%{_bindir}/mysql_config >mysql_config.tmp
031387
cp -p -f mysql_config.tmp ${RPM_BUILD_ROOT}%{_bindir}/mysql_config
031387
chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/mysql_config
031387
031387
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
031387
# but that's pretty wacko --- see also mariadb-file-contents.patch)
031387
install -p -m 644 Docs/INFO_SRC ${RPM_BUILD_ROOT}%{_libdir}/mysql/
031387
install -p -m 644 Docs/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql/
031387
031387
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/mariadb
031387
chmod 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/mariadb
031387
touch $RPM_BUILD_ROOT%{_localstatedir}/log/mariadb/mariadb.log
031387
031387
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/mariadb
031387
install -m 0755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/mysql
031387
031387
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
031387
install -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/my.cnf
031387
031387
# install systemd unit files and scripts for handling server startup
031387
mkdir -p ${RPM_BUILD_ROOT}%{_unitdir}
031387
install -p -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service
031387
install -p -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/
031387
install -p -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/
031387
031387
mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir}
031387
install -p -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf
031387
031387
# Fix funny permissions that cmake build scripts apply to config files
031387
chmod 644 ${RPM_BUILD_ROOT}%{_datadir}/mysql/config.*.ini
031387
031387
# Fix scripts for multilib safety
031387
mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config
031387
touch ${RPM_BUILD_ROOT}%{_bindir}/mysql_config
031387
031387
mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysqlbug
031387
touch ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug
031387
031387
# Remove libmysqld.a
031387
rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a
031387
031387
# libmysqlclient_r is no more.  Upstream tries to replace it with symlinks
031387
# but that really doesn't work (wrong soname in particular).  We'll keep
031387
# just the devel libmysqlclient_r.so link, so that rebuilding without any
031387
# source change is enough to get rid of dependency on libmysqlclient_r.
031387
rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so*
031387
ln -s libmysqlclient.so ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so
031387
031387
# mysql-test includes one executable that doesn't belong under /usr/share,
031387
# so move it and provide a symlink
031387
mv ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process ${RPM_BUILD_ROOT}%{_bindir}
031387
ln -s ../../../../../bin/my_safe_process ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
031387
031387
# should move this to /etc/ ?
031387
rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysql_embedded
031387
rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/*.a
031387
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure
031387
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/magic
031387
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb-config-2-node.ini
031387
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server
031387
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysqld_multi.server
031387
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1*
031387
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1*
031387
rm -f ${RPM_BUILD_ROOT}%{_bindir}/mytop
031387
031387
# put logrotate script where it needs to be
031387
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
031387
mv ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mariadb
031387
chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mariadb
031387
031387
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d
031387
echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
031387
031387
# copy additional docs into build tree so %%doc will find them
031387
cp -p %{SOURCE6} README.mysql-docs
031387
cp -p %{SOURCE7} README.mysql-license
031387
031387
# install the list of skipped tests to be available for user runs
031387
install -p -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/mysql-test
031387
031387
# remove unneeded RHEL-4 SELinux stuff
031387
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/mysql/SELinux/
031387
031387
# remove SysV init script
031387
rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/init.d/mysql
031387
031387
# remove duplicate logrotate script
031387
rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/mysql
031387
031387
# remove doc files that we rather pack using %%doc
031387
rm -f ${RPM_BUILD_ROOT}%{_datadir}/doc/COPYING
031387
rm -f ${RPM_BUILD_ROOT}%{_datadir}/doc/COPYING.LESSER
031387
rm -f ${RPM_BUILD_ROOT}%{_datadir}/doc/INFO_BIN
031387
rm -f ${RPM_BUILD_ROOT}%{_datadir}/doc/INFO_SRC
031387
rm -f ${RPM_BUILD_ROOT}%{_datadir}/doc/INSTALL-BINARY
031387
rm -f ${RPM_BUILD_ROOT}%{_datadir}/doc/README
031387
031387
# we don't care about scripts for solaris
031387
rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris
031387
031387
%pre server
031387
/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
031387
/usr/sbin/useradd -M -N -g mysql -o -r -d %{_localstatedir}/lib/mysql -s /sbin/nologin \
031387
	-c "MariaDB Server" -u 27 mysql >/dev/null 2>&1 || :
031387
031387
%post
031387
%{_sbindir}/update-alternatives --install %{_bindir}/mysql_config \
031387
	mysql_config %{_libdir}/mysql/mysql_config %{__isa_bits}
031387
031387
%post libs -p /sbin/ldconfig
031387
031387
%post server
031387
%systemd_post mariadb.service
031387
/bin/chmod 0755 %{_localstatedir}/lib/mysql
031387
/bin/touch %{_localstatedir}/log/mariadb/mariadb.log
031387
031387
%{_sbindir}/update-alternatives --install %{_bindir}/mysqlbug \
031387
	mysqlbug %{_libdir}/mysql/mysqlbug %{__isa_bits}
031387
031387
%post embedded -p /sbin/ldconfig
031387
031387
%preun server
031387
%systemd_preun mariadb.service
031387
031387
%postun
031387
if [ $1 -eq 0 ] ; then
031387
	%{_sbindir}/update-alternatives --remove mysql_config %{_libdir}/mysql/mysql_config
031387
fi
031387
031387
%postun libs -p /sbin/ldconfig
031387
031387
%postun server
031387
%systemd_postun_with_restart mariadb.service
031387
if [ $1 -eq 0 ] ; then
031387
	%{_sbindir}/update-alternatives --remove mysqlbug %{_libdir}/mysql/mysqlbug
031387
fi
031387
031387
%postun embedded -p /sbin/ldconfig
031387
031387
%files
031387
%doc README COPYING COPYING.LESSER README.mysql-license
031387
%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google
031387
%doc README.mysql-docs
031387
031387
%{_bindir}/msql2mysql
031387
%{_bindir}/mysql
031387
%ghost %{_bindir}/mysql_config
031387
%{_bindir}/mysql_find_rows
031387
%{_bindir}/mysql_waitpid
031387
%{_bindir}/mysqlaccess
031387
%{_bindir}/mysqladmin
031387
%{_bindir}/mysqlbinlog
031387
%{_bindir}/mysqlcheck
031387
%{_bindir}/mysqldump
031387
%{?with_tokudb:%{_bindir}/tokuftdump}
031387
%{_bindir}/mysqlimport
031387
%{_bindir}/mysqlshow
031387
%{_bindir}/mysqlslap
031387
%{_bindir}/my_print_defaults
031387
%{_bindir}/aria_chk
031387
%{_bindir}/aria_dump_log
031387
%{_bindir}/aria_ftdump
031387
%{_bindir}/aria_pack
031387
%{_bindir}/aria_read_log
031387
031387
%{_mandir}/man1/mysql.1*
031387
%{_mandir}/man1/mysql_config.1*
031387
%{_mandir}/man1/mysql_find_rows.1*
031387
%{_mandir}/man1/mysql_waitpid.1*
031387
%{_mandir}/man1/mysqlaccess.1*
031387
%{_mandir}/man1/mysqladmin.1*
031387
%{_mandir}/man1/mysqldump.1*
031387
%{_mandir}/man1/mysqlshow.1*
031387
%{_mandir}/man1/mysqlslap.1*
031387
%{_mandir}/man1/my_print_defaults.1*
031387
%{_mandir}/man1/mysql_fix_privilege_tables.1*
031387
%{_mandir}/man8/mysqlmanager.8*
031387
031387
%{_libdir}/mysql/mysql_config
031387
%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf
031387
031387
%files libs
031387
%doc README COPYING COPYING.LESSER README.mysql-license
031387
%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google
031387
# although the default my.cnf contains only server settings, we put it in the
031387
# libs package because it can be used for client settings too.
031387
%config(noreplace) %{_sysconfdir}/my.cnf
031387
%config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf
031387
%dir %{_sysconfdir}/my.cnf.d
031387
%dir %{_libdir}/mysql
031387
%{_libdir}/mysql/libmysqlclient.so.*
031387
%{_sysconfdir}/ld.so.conf.d/*
031387
031387
%dir %{_datadir}/mysql
031387
%{_datadir}/mysql/english
031387
%lang(cs) %{_datadir}/mysql/czech
031387
%lang(da) %{_datadir}/mysql/danish
031387
%lang(nl) %{_datadir}/mysql/dutch
031387
%lang(et) %{_datadir}/mysql/estonian
031387
%lang(fr) %{_datadir}/mysql/french
031387
%lang(de) %{_datadir}/mysql/german
031387
%lang(el) %{_datadir}/mysql/greek
031387
%lang(hu) %{_datadir}/mysql/hungarian
031387
%lang(it) %{_datadir}/mysql/italian
031387
%lang(ja) %{_datadir}/mysql/japanese
031387
%lang(ko) %{_datadir}/mysql/korean
031387
%lang(no) %{_datadir}/mysql/norwegian
031387
%lang(no) %{_datadir}/mysql/norwegian-ny
031387
%lang(pl) %{_datadir}/mysql/polish
031387
%lang(pt) %{_datadir}/mysql/portuguese
031387
%lang(ro) %{_datadir}/mysql/romanian
031387
%lang(ru) %{_datadir}/mysql/russian
031387
%lang(sr) %{_datadir}/mysql/serbian
031387
%lang(sk) %{_datadir}/mysql/slovak
031387
%lang(es) %{_datadir}/mysql/spanish
031387
%lang(sv) %{_datadir}/mysql/swedish
031387
%lang(uk) %{_datadir}/mysql/ukrainian
031387
%{_datadir}/mysql/charsets
031387
031387
%files server
031387
%doc support-files/*.cnf
031387
031387
%{_bindir}/myisamchk
031387
%{_bindir}/myisam_ftdump
031387
%{_bindir}/myisamlog
031387
%{_bindir}/myisampack
031387
%{_bindir}/mysql_convert_table_format
031387
%{_bindir}/mysql_fix_extensions
031387
%{_bindir}/mysql_install_db
031387
%{_bindir}/mysql_plugin
031387
%{_bindir}/mysql_secure_installation
031387
%{_bindir}/mysql_setpermission
031387
%{_bindir}/mysql_tzinfo_to_sql
031387
%{_bindir}/mysql_upgrade
031387
%{_bindir}/mysql_zap
031387
%ghost %{_bindir}/mysqlbug
031387
%{_bindir}/mysqldumpslow
031387
%{_bindir}/mysqld_multi
031387
%{_bindir}/mysqld_safe
031387
%{_bindir}/mysqlhotcopy
031387
%{_bindir}/mysqltest
031387
%{_bindir}/innochecksum
031387
%{_bindir}/perror
031387
%{_bindir}/replace
031387
%{_bindir}/resolve_stack_dump
031387
%{_bindir}/resolveip
031387
031387
%config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf
031387
%{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf}
031387
031387
%{_libexecdir}/mysqld
031387
031387
%{_libdir}/mysql/INFO_SRC
031387
%{_libdir}/mysql/INFO_BIN
031387
031387
%{_libdir}/mysql/mysqlbug
031387
031387
%{_libdir}/mysql/plugin
031387
031387
%{_mandir}/man1/msql2mysql.1*
031387
%{_mandir}/man1/myisamchk.1*
031387
%{_mandir}/man1/myisamlog.1*
031387
%{_mandir}/man1/myisampack.1*
031387
%{_mandir}/man1/mysql_convert_table_format.1*
031387
%{_mandir}/man1/myisam_ftdump.1*
031387
%{_mandir}/man1/mysql.server.1*
031387
%{_mandir}/man1/mysql_fix_extensions.1*
031387
%{_mandir}/man1/mysql_install_db.1*
031387
%{_mandir}/man1/mysql_plugin.1*
031387
%{_mandir}/man1/mysql_secure_installation.1*
031387
%{_mandir}/man1/mysql_upgrade.1*
031387
%{_mandir}/man1/mysql_zap.1*
031387
%{_mandir}/man1/mysqlbug.1*
031387
%{_mandir}/man1/mysqldumpslow.1*
031387
%{_mandir}/man1/mysqlbinlog.1*
031387
%{_mandir}/man1/mysqlcheck.1*
031387
%{_mandir}/man1/mysqld_multi.1*
031387
%{_mandir}/man1/mysqld_safe.1*
031387
%{_mandir}/man1/mysqlhotcopy.1*
031387
%{_mandir}/man1/mysqlimport.1*
031387
%{_mandir}/man1/mysqlman.1*
031387
%{_mandir}/man1/mysql_setpermission.1*
031387
%{_mandir}/man1/mysqltest.1*
031387
%{_mandir}/man1/innochecksum.1*
031387
%{_mandir}/man1/perror.1*
031387
%{_mandir}/man1/replace.1*
031387
%{_mandir}/man1/resolve_stack_dump.1*
031387
%{_mandir}/man1/resolveip.1*
031387
%{_mandir}/man1/mysql_tzinfo_to_sql.1*
031387
%{_mandir}/man8/mysqld.8*
031387
031387
%{_datadir}/mysql/errmsg-utf8.txt
031387
%{_datadir}/mysql/fill_help_tables.sql
031387
%{_datadir}/mysql/mysql_system_tables.sql
031387
%{_datadir}/mysql/mysql_system_tables_data.sql
031387
%{_datadir}/mysql/mysql_test_data_timezone.sql
031387
%{_datadir}/mysql/mysql_performance_tables.sql
031387
%{_datadir}/mysql/my-*.cnf
031387
%{_datadir}/mysql/config.*.ini
031387
031387
%{_unitdir}/mariadb.service
031387
%{_libexecdir}/mariadb-prepare-db-dir
031387
%{_libexecdir}/mariadb-wait-ready
031387
031387
%{_tmpfilesdir}/%{name}.conf
031387
%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mariadb
031387
%attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql
031387
%attr(0750,mysql,mysql) %dir %{_localstatedir}/log/mariadb
031387
%attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) %{_localstatedir}/log/mariadb/mariadb.log
031387
%config(noreplace) %{_sysconfdir}/logrotate.d/mariadb
031387
031387
%files devel
031387
%{_includedir}/mysql
031387
%{_datadir}/aclocal/mysql.m4
031387
%{_libdir}/mysql/libmysqlclient.so
031387
%{_libdir}/mysql/libmysqlclient_r.so
031387
031387
%files embedded
031387
%doc README COPYING COPYING.LESSER README.mysql-license
031387
%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google
031387
%{_libdir}/mysql/libmysqld.so.*
031387
031387
%files embedded-devel
031387
%{_libdir}/mysql/libmysqld.so
031387
%{_bindir}/mysql_client_test_embedded
031387
%{_bindir}/mysqltest_embedded
031387
%{_mandir}/man1/mysql_client_test_embedded.1*
031387
%{_mandir}/man1/mysqltest_embedded.1*
031387
031387
%files bench
031387
%{_datadir}/sql-bench
031387
031387
%files test
031387
%{_bindir}/mysql_client_test
031387
%{_bindir}/my_safe_process
031387
%attr(-,mysql,mysql) %{_datadir}/mysql-test
031387
031387
%{_mandir}/man1/mysql_client_test.1*
031387
031387
%changelog
031387
* Mon Nov  4 2013 Honza Horak <hhorak@redhat.com> 1:5.5.33a-3
031387
- Check if correct process is running in mysql-wait-ready script
031387
  Resolves: #1026313
031387
031387
* Mon Nov  4 2013 Jakub Dorňák <jdornak@redhat.com> - 1:5.5.33a-2
031387
- Add pam-devel to BuildRequires for auth_pam.so to be built
031387
  Resolves: #1019945
031387
031387
* Wed Oct 23 2013 Jakub Dorňák <jdornak@redhat.com> - 1:5.5.33a-1
031387
- Rebase to 5.5.33a
031387
- Disable main.mysql_client_test_nonblock on i686
031387
  Resolves: #1020032
031387
031387
* Wed Oct  9 2013 Jakub Dorňák <jdornak@redhat.com> - 1:5.5.32-11
031387
- Remove outfile_loaddata from rh-skipped-tests-base.list
031387
  Resolves: #950489
031387
031387
* Wed Sep  4 2013 Honza Horak <hhorak@redhat.com> - 1:5.5.32-10
031387
- Multilib issues solved by alternatives
031387
  Resolves: #986959
031387
031387
* Thu Aug 29 2013 Honza Horak <hhorak@redhat.com> - 1:5.5.32-9
031387
- Move log file into /var/log/mariadb/mariadb.log
031387
- Rename logrotate script to mariadb
031387
- Resolves: #999589
031387
031387
* Mon Aug 19 2013 Honza Horak <hhorak@redhat.com> 5.5.32-8
031387
- Fix comments in mariadb.service file
031387
031387
* Wed Jul 31 2013 Honza Horak <hhorak@redhat.com> 5.5.32-7
031387
- Do not use login shell for mysql user
031387
031387
* Tue Jul 30 2013 Honza Horak <hhorak@redhat.com> 5.5.32-6
031387
- Remove unneeded systemd-sysv requires
031387
- Provide mysql-compat-server symbol
031387
- Create mariadb.service symlink
031387
- Fix multilib header location for arm
031387
- Enhance documentation in the unit file
031387
- Use scriptstub instead of links to avoid multilib conflicts
031387
- Revert docs in unversioned dir
031387
- Remove mysql provides from server-side and obsoleting mysql
031387
- Revert explicit enabling mysqld in the beggining of the transaction
031387
031387
* Sun Jul 28 2013 Dennis Gilmore <dennis@ausil.us> - 5.5.32-5
031387
- remove "Requires(pretrans): systemd" since its not possible
031387
- when installing mariadb and systemd at the same time. as in a new install
031387
031387
* Sat Jul 27 2013 Kevin Fenzi <kevin@scrye.com> 5.5.32-4
031387
- Set rpm doc macro to install docs in unversioned dir
031387
031387
* Fri Jul 26 2013 Dennis Gilmore <dennis@ausil.us> 5.5.32-3
031387
- add Requires(pre) on systemd for the server package
031387
031387
* Tue Jul 23 2013 Dennis Gilmore <dennis@ausil.us> 5.5.32-2
031387
- replace systemd-units requires with systemd
031387
- remove solaris files
031387
031387
* Fri Jul 19 2013 Honza Horak <hhorak@redhat.com> 5.5.32-1
031387
- Rebase to 5.5.32
031387
  https://kb.askmonty.org/en/mariadb-5532-changelog/
031387
- Clean-up un-necessary systemd snippets
031387
031387
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 1:5.5.31-7
031387
- Perl 5.18 rebuild
031387
031387
* Mon Jul  1 2013 Honza Horak <hhorak@redhat.com> 5.5.31-6
031387
- Test suite params enhanced to decrease server condition influence
031387
- Fix misleading error message when uninstalling built-in plugins
031387
  Related: #966873
031387
031387
* Thu Jun 27 2013 Honza Horak <hhorak@redhat.com> 5.5.31-5
031387
- Apply fixes found by Coverity static analysis tool
031387
031387
* Wed Jun 19 2013 Honza Horak <hhorak@redhat.com> 5.5.31-4
031387
- Do not use pretrans scriptlet, which doesn't work in anaconda
031387
  Resolves: #975348
031387
031387
* Fri Jun 14 2013 Honza Horak <hhorak@redhat.com> 5.5.31-3
031387
- Explicitly enable mysqld if it was enabled in the beggining
031387
  of the transaction.
031387
031387
* Thu Jun 13 2013 Honza Horak <hhorak@redhat.com> 5.5.31-2
031387
- Apply man page fix from Jan Stanek
031387
031387
* Fri May 24 2013 Honza Horak <hhorak@redhat.com> 5.5.31-1
031387
- Rebase to 5.5.31
031387
  https://kb.askmonty.org/en/mariadb-5531-changelog/
031387
- Preserve time-stamps in case of installed files
031387
- Use /var/tmp instead of /tmp, since the later is using tmpfs,
031387
  which can cause problems
031387
  Resolves: #962087
031387
- Fix test suite requirements
031387
031387
* Sun May  5 2013 Honza Horak <hhorak@redhat.com> 5.5.30-2
031387
- Remove mytop utility, which is packaged separately
031387
- Resolve multilib conflicts in mysql/private/config.h
031387
031387
* Fri Mar 22 2013 Honza Horak <hhorak@redhat.com> 5.5.30-1
031387
- Rebase to 5.5.30
031387
  https://kb.askmonty.org/en/mariadb-5530-changelog/
031387
031387
* Fri Mar 22 2013 Honza Horak <hhorak@redhat.com> 1:5.5.29-11
031387
- Obsolete MySQL since it is now renamed to community-mysql
031387
- Remove real- virtual names
031387
031387
* Thu Mar 21 2013 Honza Horak <hhorak@redhat.com> 1:5.5.29-10
031387
- Adding epoch to have higher priority than other mysql implementations
031387
  when comes to provider comparison
031387
031387
* Wed Mar 13 2013 Honza Horak <hhorak@redhat.com> 5.5.29-9
031387
- Let mariadb-embedded-devel conflict with MySQL-embedded-devel
031387
- Adjust mariadb-sortbuffer.patch to correspond with upstream patch
031387
031387
* Mon Mar  4 2013 Honza Horak <hhorak@redhat.com> 5.5.29-8
031387
- Mask expected warnings about setrlimit in test suite
031387
031387
* Thu Feb 28 2013 Honza Horak <hhorak@redhat.com> 5.5.29-7
031387
- Use configured prefix value instead of guessing basedir
031387
  in mysql_config
031387
Resolves: #916189
031387
- Export dynamic columns and non-blocking API functions documented
031387
  by upstream
031387
031387
* Wed Feb 27 2013 Honza Horak <hhorak@redhat.com> 5.5.29-6
031387
- Fix sort_buffer_length option type
031387
031387
* Wed Feb 13 2013 Honza Horak <hhorak@redhat.com> 5.5.29-5
031387
- Suppress warnings in tests and skip tests also on ppc64p7
031387
031387
* Tue Feb 12 2013 Honza Horak <hhorak@redhat.com> 5.5.29-4
031387
- Suppress warning in tests on ppc
031387
- Enable fixed index_merge_myisam test case
031387
031387
* Thu Feb 07 2013 Honza Horak <hhorak@redhat.com> 5.5.29-3
031387
- Packages need to provide also %%_isa version of mysql package
031387
- Provide own symbols with real- prefix to distinguish from mysql
031387
  unambiguously
031387
- Fix format for buffer size in error messages (MDEV-4156)
031387
- Disable some tests that fail on ppc and s390
031387
- Conflict only with real-mysql, otherwise mariadb conflicts with ourself
031387
031387
* Tue Feb 05 2013 Honza Horak <hhorak@redhat.com> 5.5.29-2
031387
- Let mariadb-libs to own /etc/my.cnf.d
031387
031387
* Thu Jan 31 2013 Honza Horak <hhorak@redhat.com> 5.5.29-1
031387
- Rebase to 5.5.29
031387
  https://kb.askmonty.org/en/mariadb-5529-changelog/
031387
- Fix inaccurate default for socket location in mysqld-wait-ready
031387
  Resolves: #890535
031387
031387
* Thu Jan 31 2013 Honza Horak <hhorak@redhat.com> 5.5.28a-8
031387
- Enable obsoleting mysql
031387
031387
* Wed Jan 30 2013 Honza Horak <hhorak@redhat.com> 5.5.28a-7
031387
- Adding necessary hacks for perl dependency checking, rpm is still
031387
  not wise enough
031387
- Namespace sanity re-added for symbol default_charset_info
031387
031387
* Mon Jan 28 2013 Honza Horak <hhorak@redhat.com> 5.5.28a-6
031387
- Removed %%{_isa} from provides/obsoletes, which doesn't allow
031387
  proper obsoleting
031387
- Do not obsolete mysql at the time of testing
031387
031387
* Thu Jan 10 2013 Honza Horak <hhorak@redhat.com> 5.5.28a-5
031387
- Added licenses LGPLv2 and BSD
031387
- Removed wrong usage of %%{epoch}
031387
- Test-suite is run in %%check
031387
- Removed perl dependency checking adjustment, rpm seems to be smart enough
031387
- Other minor spec file fixes
031387
031387
* Tue Dec 18 2012 Honza Horak <hhorak@redhat.com> 5.5.28a-4
031387
- Packaging of MariaDB based on MySQL package
031387