Accepting request 39217 from server:database
Copy from server:database/mariadb based on submit request 39217 from user -miska- OBS-URL: https://build.opensuse.org/request/show/39217 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mariadb?expand=0&rev=1
This commit is contained in:
972
mariadb.spec
Normal file
972
mariadb.spec
Normal file
@@ -0,0 +1,972 @@
|
||||
#
|
||||
# spec file for package mariadb (Version 5.1.44)
|
||||
#
|
||||
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
# norootforbuild
|
||||
|
||||
# Few definitions which will alter build
|
||||
%define prefered 0
|
||||
%define cluster 0
|
||||
%define srv_vers 5.1.44
|
||||
|
||||
%if %{?rel:0}%{!?rel:1}
|
||||
%define rel 1
|
||||
%endif
|
||||
#Distribution: %dist
|
||||
#Packager: %packager
|
||||
#Vendor: %vendor
|
||||
|
||||
Name: mariadb
|
||||
Summary: A True Multiuser, Multithreaded SQL Database Server
|
||||
Version: 5.1.44
|
||||
Release: 1
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Group: Productivity/Databases/Servers
|
||||
Url: http://www.mysql.com
|
||||
# http://dev.mysql.com/get/Downloads/MySQL-5.1/%{name}-%{version}.tar.gz/from/pick
|
||||
Source: mariadb-%{version}.tar.bz2
|
||||
Source2: baselibs.conf
|
||||
Source3: README.debug
|
||||
Source4: suse-test-run
|
||||
Source5: mysql.SuSEfirewall2
|
||||
Source7: rc.mysql-multi
|
||||
Source8: README.SuSE
|
||||
# Polishing default config file
|
||||
Patch2: mysql-cnf.patch
|
||||
Patch3: mysql-multi-configuration.patch
|
||||
# Adds option to set group to something else similarly to the user settings
|
||||
Patch4: mysql-group.patch
|
||||
# Warning about initscript in mysql_install_db disabled, since the SUSE RPM comes with an init script installed
|
||||
Patch5: mysql-install_db-quiet.patch
|
||||
# Checks flush-logs exit status in support-files/mysql-log-rotate.sh
|
||||
Patch7: mysql-logrotate.patch
|
||||
# Adds reload funcionality to mysqld_multi.sh perl script and adds --datadir support
|
||||
Patch8: mysqld_multi.patch
|
||||
# Disables failure on one test during update and improves error message during update a little bit
|
||||
Patch13: mysql_upgrade-exit-status.patch
|
||||
# Changes pkglib_LIBRARIES into lib_LIBRARIES in libmysql
|
||||
Patch18: libmysql-no-pkglibdir.patch
|
||||
# Adds option -avoid-version to LDFLAGS for plugins blackhole, archive and example
|
||||
Patch19: mysql-plugins-avoid-version.patch
|
||||
# This patch loads plugins by default if there is no settings regarding plugins.
|
||||
Patch23: mysql-enable-plugins.patch
|
||||
# PATCH-FIX-UPSTREAM mysql-5.1.31-shebang.patch [] mhrusecky@suse.cz -- adds mising shebangs
|
||||
Patch25: mysql-5.1.31-shebang.patch
|
||||
# PATCH-FIX-UPSTREAM mysql-5.1.35-test-variables-big.patch [upstream bug #38811] -- different way to test whether server crashed
|
||||
# http://bugs.mysql.com/bug.php?id=38811
|
||||
Patch27: mysql-5.1.35-test-variables-big.patch
|
||||
# PATCH-FIX-SUSE mysql-5.1.32-myslq-test.patch mhrusecky@suse.cz -- installs tests into datadir not into prefix
|
||||
Patch28: mysql-5.1.42-myslq-test.patch
|
||||
# PATCH-FIX-UPSTREAM mysql-5.1.33-scripts-paths.patch [ upstream#45616 ] mhrusecky@suse.cz -- fixes build of scripts when compilation occurs somewhere else
|
||||
# http://bugs.mysql.com/bug.php?id=45616
|
||||
Patch29: mysql-5.1.33-scripts-paths.patch
|
||||
# PATCH-FIX-SUSE mysql-5.1.33-safe-process-in-bin.patch [] mhrusecky@suse.cz -- this will let us move one binary to /usr/bin instead of /usr/share/mysql-test/...
|
||||
Patch30: mysql-5.1.33-safe-process-in-bin.patch
|
||||
# PATCH-FIX-SUSE mysql-5.1.33-ssl-lib64-macro.patch [] mhrusecky@suse.cz -- search for ssl libraries also in lib64
|
||||
Patch31: mysql-5.1.33-ssl-lib64-macro.patch
|
||||
# PATCH-FIX-SUSE mysql-5.1.35-test-utf8.patch [] mhrusecky@suse.cz -- we use utf-8 by default which produces different output with few tests
|
||||
Patch35: mysql-5.1.35-test-utf8.patch
|
||||
# PATCH-FIX-UPSTREAM mysql-5.1.36-bmove512.patch [ upstream#19975 ] mhrusecky@suse.cz -- using standard memcpy instead of bmove512 as it should be beeter
|
||||
# http://bugs.mysql.com/bug.php?id=19975
|
||||
Patch37: mysql-5.1.36-bmove512.patch
|
||||
# PATCH-FIX-UPSTREAM mysql-5.1.36-hotcopy.patch [ upstream#43594, bnc#525325 ] mhrusecky@suse.cz -- hotcopy ignores log tables
|
||||
# http://bugs.mysql.com/bug.php?id=43594
|
||||
Patch38: mysql-5.1.36-hotcopy.patch
|
||||
# PATCH-FIX-UPSTREAM mysql_config.patch [ upstream#39175, bnc#420313 ] mhrusecky@suse.cz -- Fix linking options.
|
||||
Patch39: mysql_config.patch
|
||||
Patch45: abi_test.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%if 0%{?suse_version}
|
||||
PreReq: pwdutils
|
||||
%else
|
||||
PreReq: /usr/sbin/useradd /usr/sbin/usermod /usr/sbin/groupadd
|
||||
%endif
|
||||
PreReq: coreutils sed grep
|
||||
%if 0%{?suse_version}
|
||||
PreReq: %install_info_prereq %insserv_prereq
|
||||
%endif
|
||||
BuildRequires: gcc-c++ ncurses-devel openssl-devel procps readline-devel zlib-devel
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: pwdutils tcpd-devel
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1030 || 0%{?fedora_version} > 8
|
||||
BuildRequires: fdupes
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1030
|
||||
Recommends: logrotate
|
||||
%else
|
||||
Requires: logrotate
|
||||
%endif
|
||||
# required by rcmysql
|
||||
Requires: %{name}-client perl-base
|
||||
Obsoletes: mysql-Max < %{srv_vers}
|
||||
Provides: mysql-Max = %{srv_vers}
|
||||
Obsoletes: mysql < %{srv_vers}
|
||||
Provides: mysql = %{srv_vers}
|
||||
Conflicts: otherproviders(mysql)
|
||||
|
||||
%description
|
||||
MariaDB is a backward compatible, drop-in replacement branch of the MySQL
|
||||
Database Server. It includes all major open source storage engines, including
|
||||
the Maria storage engine.
|
||||
|
||||
This package only contains the server-side programs.
|
||||
|
||||
%if ! 0%{?prefered} > 0
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%package -n libmariadbclient16
|
||||
#-------------------------------------------------------------------------------
|
||||
Summary: MariaDB Shared Libraries
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Group: Development/Libraries/Other
|
||||
|
||||
%description -n libmariadbclient16
|
||||
This package contains the shared libraries (.so) which certain
|
||||
languages and applications need to dynamically load and use MariaDB.
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Michael Widenius <monty@mysql.com>
|
||||
David Axmark <davida@mysql.com>
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
%package -n libmariadbclient_r16
|
||||
#-------------------------------------------------------------------------------
|
||||
Summary: MariaDB Shared Libraries
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Group: Development/Libraries/Other
|
||||
|
||||
%description -n libmariadbclient_r16
|
||||
This package contains the shared libraries (.so) which certain
|
||||
languages and applications need to dynamically load and use MariaDB.
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Michael Widenius <monty@mysql.com>
|
||||
David Axmark <davida@mysql.com>
|
||||
|
||||
%endif
|
||||
%if 0%{?prefered} > 0
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%package -n libmysqlclient-devel
|
||||
#-------------------------------------------------------------------------------
|
||||
# mysql-devel was last used in openSUSE 10.2
|
||||
Provides: mysql-devel = %srv_vers-%release
|
||||
Obsoletes: mysql-devel < %srv_vers
|
||||
Requires: libmysqlclient16 = %srv_vers libmysqlclient_r16 = %srv_vers glibc-devel zlib-devel openssl-devel
|
||||
Summary: MariaDB Development Header Files and Libraries
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Group: Development/Libraries/C and C++
|
||||
|
||||
%description -n libmysqlclient-devel
|
||||
This package contains the development header files and libraries
|
||||
necessary to develop MariaDB client applications.
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Michael Widenius <monty@mysql.com>
|
||||
David Axmark <davida@mysql.com>
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
%package -n libmysqld0
|
||||
#-------------------------------------------------------------------------------
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Summary: MariaDB embedded server development files
|
||||
# the headers files are the shared
|
||||
Requires: libmysqlclient-devel = %srv_vers
|
||||
Group: Development/Libraries/C and C++
|
||||
|
||||
%description -n libmysqld0
|
||||
This package contains the development header files and libraries
|
||||
for developing application that embed the MariaDB server
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
%package -n libmysqld-devel
|
||||
#-------------------------------------------------------------------------------
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Summary: MariaDB embedded server development files
|
||||
# the headers files are the shared
|
||||
Requires: libmysqlclient-devel = %srv_vers
|
||||
Requires: libmysqld0 = %srv_vers
|
||||
Group: Development/Libraries/C and C++
|
||||
|
||||
%description -n libmysqld-devel
|
||||
This package contains the development header files and libraries
|
||||
for developing application that embed the MariaDB server
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
%package -n libmysqlclient16
|
||||
#-------------------------------------------------------------------------------
|
||||
Summary: MariaDB Shared Libraries
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Group: Development/Libraries/Other
|
||||
|
||||
%description -n libmysqlclient16
|
||||
This package contains the shared libraries (.so) which certain
|
||||
languages and applications need to dynamically load and use MariaDB.
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Michael Widenius <monty@mysql.com>
|
||||
David Axmark <davida@mysql.com>
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
%package -n libmysqlclient_r16
|
||||
#-------------------------------------------------------------------------------
|
||||
Summary: MariaDB Shared Libraries
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Group: Development/Libraries/Other
|
||||
|
||||
%description -n libmysqlclient_r16
|
||||
This package contains the shared libraries (.so) which certain
|
||||
languages and applications need to dynamically load and use MariaDB.
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Michael Widenius <monty@mysql.com>
|
||||
David Axmark <davida@mysql.com>
|
||||
|
||||
%endif
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%package client
|
||||
#-------------------------------------------------------------------------------
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Summary: MariaDB Client
|
||||
Group: Productivity/Databases/Clients
|
||||
Provides: mysql-client = %{srv_vers}
|
||||
Obsoletes: mysql-client < %{srv_vers}
|
||||
Conflicts: otherproviders(mysql-client)
|
||||
|
||||
%description client
|
||||
This package contains the standard MariaDB clients.
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Michael Widenius <monty@mysql.com>
|
||||
David Axmark <davida@mysql.com>
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
%package bench
|
||||
#-------------------------------------------------------------------------------
|
||||
Requires: %{name}-client perl-DBD-mysql
|
||||
License: LGPLv2.1
|
||||
Summary: MariaDB - Benchmarks
|
||||
Group: Productivity/Databases/Tools
|
||||
Provides: mysql-bench = %{srv_vers}
|
||||
Obsoletes: mysql-bench < %{srv_vers}
|
||||
Conflicts: otherproviders(mysql-bench)
|
||||
|
||||
%description bench
|
||||
This package contains MariaDB benchmark scripts and data.
|
||||
|
||||
To run these database benchmarks, start the script "run-all-tests" in
|
||||
the directory /usr/share/sql-bench after starting MariaDB.
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Michael Widenius <monty@mysql.com>
|
||||
David Axmark <davida@mysql.com>
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
%package debug
|
||||
#-------------------------------------------------------------------------------
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Summary: MariaDB server with debug options turned on
|
||||
Group: Productivity/Databases/Servers
|
||||
Requires: %{name} = %{srv_vers}
|
||||
Provides: mysql-debug = %{srv_vers}
|
||||
Obsoletes: mysql-debug < %{srv_vers}
|
||||
Conflicts: otherproviders(mysql-debug)
|
||||
|
||||
%description debug
|
||||
A version of the mysql server that has some debug code turned on.
|
||||
It should be only used to track down problems with the standard
|
||||
servers. Note that merely installing this package won't replace the
|
||||
standard server. Read /usr/share/doc/packages/mysql/README.debug for
|
||||
information on how to use the debug server.
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Michael Widenius <monty@mysql.com>
|
||||
David Axmark <davida@mysql.com>
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
%package test
|
||||
#-------------------------------------------------------------------------------
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Summary: MariaDB testsuite
|
||||
Group: Productivity/Databases/Servers
|
||||
Requires: %{name} = %{srv_vers}
|
||||
Requires: %{name}-client = %{srv_vers}
|
||||
Requires: perl-DBD-mysql
|
||||
Requires: %{name}-tools = %{srv_vers}
|
||||
Requires: %{name}-bench = %{srv_vers}
|
||||
Provides: mysql-test = %{srv_vers}
|
||||
Obsoletes: mysql-test < %{srv_vers}
|
||||
Conflicts: otherproviders(mysql-test)
|
||||
|
||||
%description test
|
||||
This package contains the MariaDB test scripts and data.
|
||||
|
||||
To run the testsuite, run /usr/share/mysql-test/suse-test-run.
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Michael Widenius <monty@mysql.com>
|
||||
David Axmark <davida@mysql.com>
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
%package tools
|
||||
#-------------------------------------------------------------------------------
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Summary: MariaDB tools
|
||||
Group: Productivity/Databases/Servers
|
||||
Requires: perl-DBD-mysql
|
||||
# make sure this package is installed when updating from 10.2 and older
|
||||
Provides: mysql:/usr/bin/mysqlhotcopy mysql-client:/usr/bin/perror
|
||||
Provides: mysql-tools = %{srv_vers}
|
||||
Obsoletes: mysql-tools < %{srv_vers}
|
||||
Conflicts: otherproviders(mysql-tools)
|
||||
|
||||
%description tools
|
||||
A set of scripts for administering a MariaDB server or developing
|
||||
applications with MariaDB.
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Michael Widenius <monty@mysql.com>
|
||||
David Axmark <davida@mysql.com>
|
||||
|
||||
%if 0%{?cluster} > 0
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%package ndb-storage
|
||||
#-------------------------------------------------------------------------------
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Summary: MariaDB - ndbcluster storage engine
|
||||
Group: Productivity/Databases/Servers
|
||||
Provides: mysql-ndb-storage = %{srv_vers}
|
||||
Obsoletes: mysql-ndb-storage < %{srv_vers}
|
||||
Conflicts: otherproviders(mysql-ndb-storage)
|
||||
|
||||
%description ndb-storage
|
||||
This package contains the ndbcluster storage engine.
|
||||
It is necessary to have this package installed on all
|
||||
computers that should store ndbcluster table data.
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
%package ndb-management
|
||||
#-------------------------------------------------------------------------------
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Summary: MariaDB - ndbcluster storage engine management
|
||||
Group: Productivity/Databases/Servers
|
||||
Provides: mysql-ndb-management = %{srv_vers}
|
||||
Obsoletes: mysql-ndb-management < %{srv_vers}
|
||||
Conflicts: otherproviders(mysql-ndb-management)
|
||||
|
||||
%description ndb-management
|
||||
This package contains ndbcluster storage engine management.
|
||||
It is necessary to have this package installed on at least
|
||||
one computer in the cluster.
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
%package ndb-tools
|
||||
#-------------------------------------------------------------------------------
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Summary: MariaDB - ndbcluster storage engine basic tools
|
||||
Group: Productivity/Databases/Servers
|
||||
Provides: mysql-ndb-tools = %{srv_vers}
|
||||
Obsoletes: mysql-ndb-tools < %{srv_vers}
|
||||
Conflicts: otherproviders(mysql-ndb-tools)
|
||||
|
||||
%description ndb-tools
|
||||
This package contains ndbcluster storage engine basic tools.
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
%package ndb-extra
|
||||
#-------------------------------------------------------------------------------
|
||||
License: GPLv2 ; with additional permissions: EXCEPTIONS-CLIENT
|
||||
Summary: MariaDB - ndbcluster storage engine extra tools
|
||||
Group: Productivity/Databases/Servers
|
||||
Provides: mysql-ndb-extra = %{srv_vers}
|
||||
Obsoletes: mysql-ndb-extra < %{srv_vers}
|
||||
Conflicts: otherproviders(mysql-ndb-extra)
|
||||
|
||||
%description ndb-extra
|
||||
This package contains some extra ndbcluster storage engine tools for the
|
||||
advanced user. They should be used with caution.
|
||||
|
||||
%endif
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%prep
|
||||
#-------------------------------------------------------------------------------
|
||||
%setup -q -n mariadb-%version
|
||||
cp %_sourcedir/README.SuSE .
|
||||
cp %_sourcedir/suse-test-run .
|
||||
%patch2
|
||||
%patch3
|
||||
%patch4
|
||||
%patch5
|
||||
%patch7
|
||||
%patch8
|
||||
%patch13
|
||||
%patch18
|
||||
%patch19
|
||||
%patch23
|
||||
%patch25 -p1
|
||||
%patch27
|
||||
%patch28
|
||||
%patch29
|
||||
%patch30
|
||||
%patch31
|
||||
%patch35
|
||||
%patch37
|
||||
%patch38
|
||||
%patch39
|
||||
%patch45 -p1
|
||||
# remove unneeded manpages ('make install' basically installs everything under
|
||||
# man/*)
|
||||
rm -f man/mysqlman.1 # dummy fallback manpage
|
||||
rm -f man/mysql.server.1 # init script, not installed in our rpm
|
||||
rm -f man/make_win_*.1 # windows build scripts
|
||||
rm -f man/comp_err.1 # built-time utility
|
||||
# 5.1 Carrier Grade Edition only / still under development as of 5.1.22
|
||||
rm -f man/ndbd_redo_log_reader.1
|
||||
# breaks VPATH builds when in sourcedir, is generated in the builddirs
|
||||
rm -f sql/sql_builtin.cc
|
||||
sed -i 's|@localstatedir@|/var/log|' support-files/mysql-log-rotate.sh
|
||||
%if ! 0%{?prefered} > 0
|
||||
for i in `grep -Rl mysqlclient .`; do
|
||||
sed -i 's|mysqlclient|mariadbclient|g' $i
|
||||
done
|
||||
%endif
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%build
|
||||
#-------------------------------------------------------------------------------
|
||||
%if 0%{?suse_version} < 1120 && 0%{?suse_version} > 0
|
||||
%define socketpath /var/lib/mysql
|
||||
%else
|
||||
%define socketpath /var/run/mysql
|
||||
%endif
|
||||
autoreconf -f -i
|
||||
export CFLAGS="$RPM_OPT_FLAGS -DPIC -fPIC -DUNDEF_HAVE_INITGROUPS -DFORCE_INIT_OF_VARS -fno-strict-aliasing"
|
||||
export CXXFLAGS="$CFLAGS -fno-exceptions -fno-rtti"
|
||||
# Make the compile a function, since we do multiple builds
|
||||
BuildMySQL() {
|
||||
# The --enable-assembler simply does nothing on systems that do not
|
||||
# support assembler speedups.
|
||||
suffix="$1"; shift
|
||||
mkdir _build$suffix
|
||||
pushd _build$suffix
|
||||
../configure \
|
||||
--enable-assembler \
|
||||
--without-readline \
|
||||
--infodir=%{_infodir} \
|
||||
--libdir=%{_libdir} \
|
||||
--libexecdir=/usr/sbin \
|
||||
--localstatedir=/var/lib/mysql \
|
||||
--mandir=%{_mandir} \
|
||||
--prefix=%{_prefix} \
|
||||
--sysconfdir=/etc \
|
||||
--with-mysqld-user=mysql \
|
||||
--with-mysqld-group=mysql \
|
||||
--without-debug \
|
||||
--datadir=/usr/share \
|
||||
--includedir=/usr/include \
|
||||
--with-charset=utf8 \
|
||||
--with-collation=utf8_unicode_ci \
|
||||
--with-extra-charsets=all \
|
||||
--with-unix-socket-path=%{socketpath}/mysql.sock \
|
||||
--enable-thread-safe-client \
|
||||
--with-comment="SUSE MariaDB RPM" \
|
||||
--with-libwrap \
|
||||
--with-server-suffix=$suffix \
|
||||
%ifarch s390 s390x
|
||||
--with-atomic-ops=rwlocks \
|
||||
%else
|
||||
--with-atomic-ops=smp \
|
||||
%endif
|
||||
--with-ssl=/usr \
|
||||
--with-plugins=partition,csv,heap,myisam,ndbcluster,innobase \
|
||||
HOSTNAME="/bin/hostname -f" \
|
||||
"$@"
|
||||
# Add this for MyISAM RAID support:
|
||||
# --with-raid
|
||||
# benchdir does not fit in above model. Fix when we make a separate package
|
||||
make %{?jobs:-j%jobs}
|
||||
nm --numeric-sort sql/mysqld > sql/mysqld.sym
|
||||
# needed for make check, which is not VPATH aware
|
||||
# copy the files unconditionally so that manual 'make check' after
|
||||
# the build works, too
|
||||
cp -a ../mysql-test/* mysql-test/
|
||||
cp -a ../sql/share/{english,charsets} sql/share/
|
||||
cp -a ../scripts/*.sql scripts/
|
||||
%if %{?_with_testsuite:1}0
|
||||
pushd mysql-test; perl ./mysql-test-run.pl --force; popd
|
||||
%endif
|
||||
popd
|
||||
}
|
||||
# Build the client, extra tools, libraries
|
||||
BuildMySQL "" --with-embedded-server
|
||||
# build mysqld-debug
|
||||
BuildMySQL "-debug" --with-debug --without-embedded-server
|
||||
|
||||
%if 0%{?prefered} > 0
|
||||
mkdir -p _buildlibmysqld/tmp
|
||||
cd _buildlibmysqld/tmp
|
||||
ar -x ../../_build/libmysqld/libmysqld.a
|
||||
gcc $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o ../libmysqld.so.0.0.1 \
|
||||
*.o \
|
||||
-lpthread -lcrypt -lnsl -lssl -lcrypto -lz -lrt -lstdc++ -lm -lc
|
||||
cd ..
|
||||
rm -rf tmp
|
||||
cd ..
|
||||
%endif
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%install
|
||||
#-------------------------------------------------------------------------------
|
||||
# install the debug server first, so that we don't overwrite the standard
|
||||
# /usr/sbin/mysqld
|
||||
mkdir -p %buildroot%_libdir/mysql
|
||||
make -C _build-debug/sql install DESTDIR=%buildroot
|
||||
mv %buildroot/usr/sbin/mysqld %buildroot/usr/sbin/mysqld-debug
|
||||
install -m 644 _build-debug/sql/mysqld.sym %buildroot%_libdir/mysql/mysqld-debug.sym
|
||||
# install the client, extra tools, libraries and the standard server
|
||||
make -C _build install DESTDIR=%buildroot benchdir_root=/usr/share/
|
||||
install -m 644 _build/sql/mysqld.sym %buildroot%_libdir/mysql/mysqld.sym
|
||||
# remove most static libs (FIXME: don't build them at all...)
|
||||
rm -f %buildroot%_libdir/libmysqlclient*a
|
||||
rm -f %buildroot%_libdir/mysql/*.a %buildroot%_libdir/mysql/*.la
|
||||
rm -f %buildroot%_libdir/mysql/plugin/*a
|
||||
# XXX: package these? The ndb tools are linked statically atm
|
||||
rm -f %buildroot%_libdir/mysql/libndbclient.*
|
||||
rm -f %{buildroot}/usr/share/mysql-test/mysql-test-run
|
||||
rm -f %{buildroot}/usr/share/mysql-test/mtr
|
||||
ln -sf mysql-test-run.pl %{buildroot}/usr/share/mysql-test/mtr
|
||||
ln -sf mysql-test-run.pl %{buildroot}/usr/share/mysql-test/mysql-test-run
|
||||
mv %{buildroot}/usr/share/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
|
||||
# generate filelist for binaries and their manpages (easier than enumerating
|
||||
# all the binaries and manapages manually, esp. when there are new manpages in
|
||||
# each release)
|
||||
filelist()
|
||||
{
|
||||
echo '%%defattr(-, root, root)'
|
||||
pushd %buildroot >/dev/null
|
||||
for i; do
|
||||
if test -e usr/sbin/"$i"; then
|
||||
echo /usr/sbin/"$i"
|
||||
fi
|
||||
if test -e usr/bin/"$i"; then
|
||||
echo /usr/bin/"$i"
|
||||
fi
|
||||
if ls usr/share/man/*/"$i".[1-9]* >/dev/null 2>&1; then
|
||||
echo "%%doc %_mandir/*/$i.[1-9]*"
|
||||
fi
|
||||
done
|
||||
popd >/dev/null
|
||||
}
|
||||
filelist innochecksum my_print_defaults myisam_ftdump myisamchk myisamlog myisampack mysql_fix_extensions mysql_fix_privilege_tables mysql_install_db mysql_secure_installation mysql_upgrade mysqlbug mysqld mysqld_multi mysqld_safe mysqlbinlog mysqldumpslow mysqlmanager resolve_stack_dump resolveip >mysql.files
|
||||
filelist mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow >mysql-client.files
|
||||
filelist mysql_config >libmysqlclient-devel.files
|
||||
filelist mysqlslap >mysql-bench.files
|
||||
filelist mysql_client_test mysql_client_test_embedded mysql_waitpid mysqltest mysqltest_embedded >mysql-test.files
|
||||
# all binaries that don't need to be in a "default" install (mysql.rpm +
|
||||
# mysql-client.rpm)
|
||||
filelist msql2mysql mysql_convert_table_format mysql_find_rows mysql_setpermission mysql_tzinfo_to_sql mysql_zap mysqlaccess mysqlhotcopy perror replace >mysql-tools.files
|
||||
filelist ndbd ndbmtd ndbd_redo_log_reader >mysql-ndb-storage.files
|
||||
filelist ndb_mgmd >mysql-ndb-management.files
|
||||
filelist ndb_{config,desc,error_reporter,mgm,print_backup_file,print_schema_file,print_sys_file,restore,select_all,select_count,show_tables,size.pl,test_platform,waiter} >mysql-ndb-tools.files
|
||||
filelist ndb_{cpcd,delete_all,drop_index,drop_table} >mysql-ndb-extra.files
|
||||
### files not installed by make install
|
||||
# Create directory structure
|
||||
DOCS=(COPYING README EXCEPTIONS-CLIENT %_sourcedir/README.debug %_sourcedir/README.SuSE)
|
||||
DOCDIR=%buildroot%_defaultdocdir/%name
|
||||
install -d -m 755 ${DOCDIR}
|
||||
install -d -m 755 %buildroot/etc/logrotate.d
|
||||
install -d -m 755 %buildroot/etc/init.d
|
||||
install -m 644 _build/support-files/mysql-log-rotate %buildroot/etc/logrotate.d/mysql
|
||||
%if 0%{?prefered} > 0
|
||||
install -m 644 _buildlibmysqld/*.so* %buildroot%_libdir
|
||||
ln -s libmysqld.so.0.0.1 %buildroot%_libdir/libmysqld.so.0
|
||||
ln -s libmysqld.so.0.0.1 %buildroot%_libdir/libmysqld.so
|
||||
%endif
|
||||
install -m 660 _build/support-files/my-medium.cnf %buildroot/etc/my.cnf
|
||||
install -m 640 scripts/mysqlaccess.conf %buildroot/etc/mysqlaccess.conf
|
||||
install -m 644 "${DOCS[@]}" ${DOCDIR}
|
||||
install -m 755 %_sourcedir/rc.mysql-multi %buildroot/etc/init.d/mysql
|
||||
ln -sf ../../etc/init.d/mysql %buildroot/usr/sbin/rcmysql
|
||||
# this is used by the init script
|
||||
install -m 755 -d %buildroot/var/run/mysql
|
||||
# SuSEfirewall service description
|
||||
install -D -m 644 %_sourcedir/mysql.SuSEfirewall2 \
|
||||
%buildroot/etc/sysconfig/SuSEfirewall2.d/services/mysql
|
||||
# testsuite
|
||||
mkdir -p '%buildroot'/usr/share/mysql-test/
|
||||
install -m 755 suse-test-run '%buildroot'/usr/share/mysql-test/
|
||||
# XXX this should go under /var/..., but some tests get confused by a symlink
|
||||
# var -> ../../../var/...
|
||||
#ln -sf ../../../var/lib/mysql/mysql-test %buildroot/usr/share/mysql-test/var
|
||||
mkdir '%buildroot'/usr/share/mysql-test/var
|
||||
# Final fixes
|
||||
find '%buildroot'/usr/share/mysql-test -name '*.orig' -delete
|
||||
%if 0%{?suse_version} > 1030
|
||||
%fdupes -s '%buildroot'/usr/share/mysql-test
|
||||
%endif
|
||||
%if 0%{?fedora_version} > 8
|
||||
fdupes -q -n -r '%buildroot'/usr/share/mysql-test
|
||||
%endif
|
||||
dos2unixConversion() {
|
||||
%{__sed} -i 's/\r//g' "$1"
|
||||
}
|
||||
for i in `grep -Rl '\r' '%buildroot'/usr/share/sql-bench`; do
|
||||
dos2unixConversion "$i"
|
||||
done
|
||||
%if ! 0%{cluster} > 0
|
||||
cat mysql-ndb-storage.files mysql-ndb-management.files \
|
||||
mysql-ndb-tools.files mysql-ndb-extra.files | \
|
||||
sed 's|^%%doc\ ||' | while read tmp; do
|
||||
cd '%buildroot'
|
||||
rm -f .$tmp
|
||||
done
|
||||
%endif
|
||||
%if ! 0%{prefered} > 0
|
||||
cat libmysqlclient-devel.files | while read tmp; do
|
||||
cd '%buildroot'
|
||||
rm -f .$tmp
|
||||
done
|
||||
rm -rf '%buildroot'/%_libdir/libmysqld.*
|
||||
rm -rf '%buildroot'/%_libdir/libmysqlclient*
|
||||
rm -rf '%buildroot'/%_libdir/libmariadbclient.{a,la,so}
|
||||
rm -rf '%buildroot'/%_libdir/libmariadbclient_r*.{a,la,so}
|
||||
rm -rf '%buildroot'/%_includedir
|
||||
rm -rf '%buildroot'/%_datadir/man/*/mysql_config*
|
||||
rm -rf '%buildroot'/%_datadir/aclocal
|
||||
%endif
|
||||
sed -i 's|doc/packages/mysql|doc/packages/%{name}|g' '%buildroot'/etc/init.d/mysql
|
||||
ln -s mysqlcheck '%buildroot'%_bindir/mysqlrepair
|
||||
ln -s mysqlcheck '%buildroot'%_bindir/mysqlanalyze
|
||||
ln -s mysqlcheck '%buildroot'%_bindir/mysqloptimize
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%pre
|
||||
#-------------------------------------------------------------------------------
|
||||
/usr/sbin/groupadd -r mysql >/dev/null 2>/dev/null || :
|
||||
/usr/sbin/useradd -r -o -g mysql -u 60 -c "MySQL database admin" \
|
||||
-s /bin/false -d /var/lib/mysql mysql 2> /dev/null || :
|
||||
/usr/sbin/usermod -g mysql -s /bin/false mysql || :
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%preun
|
||||
#-------------------------------------------------------------------------------
|
||||
[ $1 = 1 ] || /usr/sbin/rcmysql stop
|
||||
%pretrans
|
||||
if [ -x /usr/sbin/rcmysql ]; then
|
||||
RESTART=""
|
||||
/usr/sbin/rcmysql status > /dev/null && RESTART="yes"
|
||||
/usr/sbin/rcmysql stop
|
||||
[ "$RESTART" ] && mkdir -p /var/run/mysql/restart
|
||||
fi
|
||||
dbfile=var/mysql/mysql/db.ISM
|
||||
olddir=var/mysql
|
||||
newdir=var/lib/mysql
|
||||
# Do the database files still belong to root (very old installation)?
|
||||
# Change ownerships
|
||||
if [ -O $dbfile ]
|
||||
then
|
||||
chown -Rv mysql:mysql var/mysql/
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%posttrans
|
||||
#-------------------------------------------------------------------------------
|
||||
%install_info --info-dir=%{_infodir} %{_infodir}/mysql.info.gz
|
||||
if [ -d /var/lib/mysql ]; then
|
||||
touch /var/lib/mysql/.run-mysql_upgrade
|
||||
chown -R mysql:mysql /var/lib/mysql
|
||||
fi
|
||||
for i in /var/lib/mysql/{.protected,.tmp}; do
|
||||
( [ -d "$i" ] && rmdir "$i" ) || :
|
||||
done
|
||||
# start mysql again if it should run
|
||||
if [ "`ls /etc/rc.d/rc*.d/S*mysql 2> /dev/null`" ] || [ -d /var/run/mysql/restart ]; then
|
||||
[ -x /usr/sbin/rcmysql ] && /usr/sbin/rcmysql start
|
||||
rmdir /var/run/mysql/restart || :
|
||||
fi
|
||||
|
||||
%if ! 0%{prefered} > 0
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%post -n libmariadbclient16
|
||||
#-------------------------------------------------------------------------------
|
||||
/sbin/ldconfig
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%postun -n libmariadbclient16
|
||||
#-------------------------------------------------------------------------------
|
||||
/sbin/ldconfig
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%post -n libmariadbclient_r16
|
||||
#-------------------------------------------------------------------------------
|
||||
/sbin/ldconfig
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%postun -n libmariadbclient_r16
|
||||
#-------------------------------------------------------------------------------
|
||||
/sbin/ldconfig
|
||||
#-------------------------------------------------------------------------------
|
||||
%endif
|
||||
%if 0%{prefered} > 0
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%post -n libmysqlclient16
|
||||
#-------------------------------------------------------------------------------
|
||||
/sbin/ldconfig
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%postun -n libmysqlclient16
|
||||
#-------------------------------------------------------------------------------
|
||||
/sbin/ldconfig
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%post -n libmysqlclient_r16
|
||||
#-------------------------------------------------------------------------------
|
||||
/sbin/ldconfig
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%postun -n libmysqlclient_r16
|
||||
#-------------------------------------------------------------------------------
|
||||
/sbin/ldconfig
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%post -n libmysqld0
|
||||
#-------------------------------------------------------------------------------
|
||||
/sbin/ldconfig
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%postun -n libmysqld0
|
||||
#-------------------------------------------------------------------------------
|
||||
/sbin/ldconfig
|
||||
#-------------------------------------------------------------------------------
|
||||
%endif
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%postun
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ $1 = 0 ]; then
|
||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/mysql.info.gz
|
||||
%{insserv_cleanup}
|
||||
fi
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%clean
|
||||
#-------------------------------------------------------------------------------
|
||||
[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && %{__rm} -rf $RPM_BUILD_ROOT
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files -f mysql.files
|
||||
#-------------------------------------------------------------------------------
|
||||
%defattr(-, root, root)
|
||||
%config(noreplace) %attr(0640, root, mysql) /etc/my.cnf
|
||||
%config /etc/logrotate.d/mysql
|
||||
%doc %{_defaultdocdir}/%{name}
|
||||
%doc %{_infodir}/mysql.info.gz
|
||||
/etc/init.d/mysql
|
||||
/usr/sbin/rcmysql
|
||||
/usr/share/mysql/
|
||||
%dir %attr(755,mysql,mysql)/var/run/mysql
|
||||
%dir %{_libdir}/mysql
|
||||
%{_libdir}/mysql/mysqld.sym
|
||||
%config /etc/sysconfig/SuSEfirewall2.d/services/mysql
|
||||
%dir %_libdir/mysql/plugin
|
||||
%_libdir/mysql/plugin/*.so
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files client -f mysql-client.files
|
||||
#-------------------------------------------------------------------------------
|
||||
%defattr(-, root, root)
|
||||
%config /etc/mysqlaccess.conf
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%if ! 0%{prefered} > 0
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files -n libmariadbclient16
|
||||
#-------------------------------------------------------------------------------
|
||||
%defattr(-, root, root)
|
||||
%{_libdir}/libmariadbclient.so.*
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files -n libmariadbclient_r16
|
||||
#-------------------------------------------------------------------------------
|
||||
%defattr(-, root, root)
|
||||
%{_libdir}/libmariadbclient_r.so.*
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%endif
|
||||
%if 0%{prefered} > 0
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files -n libmysqlclient-devel -f libmysqlclient-devel.files
|
||||
#-------------------------------------------------------------------------------
|
||||
%defattr(-, root, root)
|
||||
/usr/include/mysql
|
||||
%{_libdir}/libmysqlclient.so
|
||||
%{_libdir}/libmysqlclient_r.so
|
||||
/usr/share/aclocal/mysql.m4
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files -n libmysqld-devel
|
||||
#-------------------------------------------------------------------------------
|
||||
%defattr(-,root,root)
|
||||
%_libdir/libmysqld.a
|
||||
%_libdir/libmysqld.so
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files -n libmysqld0
|
||||
#-------------------------------------------------------------------------------
|
||||
%defattr(-,root,root)
|
||||
%_libdir/libmysqld.so.*
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files -n libmysqlclient16
|
||||
#-------------------------------------------------------------------------------
|
||||
%defattr(-, root, root)
|
||||
%{_libdir}/libmysqlclient.so.*
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files -n libmysqlclient_r16
|
||||
#-------------------------------------------------------------------------------
|
||||
%defattr(-, root, root)
|
||||
%{_libdir}/libmysqlclient_r.so.*
|
||||
#-------------------------------------------------------------------------------
|
||||
%endif
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files bench -f mysql-bench.files
|
||||
#-------------------------------------------------------------------------------
|
||||
%defattr(-, root, root)
|
||||
/usr/share/sql-bench
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files debug
|
||||
#-------------------------------------------------------------------------------
|
||||
%defattr(-, root, root)
|
||||
/usr/sbin/mysqld-debug
|
||||
%{_libdir}/mysql/mysqld-debug.sym
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files test -f mysql-test.files
|
||||
#-------------------------------------------------------------------------------
|
||||
%defattr(-, root, root)
|
||||
%{_bindir}/my_safe_process
|
||||
%_mandir/man1/mysql-test-run.pl.1*
|
||||
%_mandir/man1/mysql-stress-test.pl.1*
|
||||
/usr/share/mysql-test/valgrind.supp
|
||||
%dir %attr(755, root, root)/usr/share/mysql-test
|
||||
/usr/share/mysql-test/[^v]*
|
||||
%dir %attr(755, mysql, mysql) /usr/share/mysql-test/var
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files tools -f mysql-tools.files
|
||||
%defattr(-, root, root)
|
||||
%_bindir/mysqlrepair
|
||||
%_bindir/mysqlanalyze
|
||||
%_bindir/mysqloptimize
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%if 0%{cluster} > 0
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files ndb-storage -f mysql-ndb-storage.files
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files ndb-management -f mysql-ndb-management.files
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files ndb-tools -f mysql-ndb-tools.files
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
%files ndb-extra -f mysql-ndb-extra.files
|
||||
#-------------------------------------------------------------------------------
|
||||
%endif
|
||||
|
||||
%changelog
|
Reference in New Issue
Block a user