mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 10:14:19 +01:00
034b44cb9f
BitKeeper/etc/logging_ok: auto-union scripts/make_win_src_distribution.old: Merge rename: scripts/make_win_src_distribution.sh -> scripts/make_win_src_distribution.old BUILD/compile-pentium-debug-max: Auto merged BitKeeper/deleted/.del-sel000001.result~383913ae4505ec86: Auto merged BitKeeper/deleted/.del-sel000001.test~9567c1646058cc: Auto merged Build-tools/Bootstrap: Auto merged Build-tools/Do-compile: Auto merged Docs/Makefile.am: Auto merged client/get_password.c: Auto merged client/mysql.cc: Auto merged client/mysqltest.c: Auto merged extra/perror.c: Auto merged include/config-win.h: Auto merged include/my_sys.h: Auto merged innobase/btr/btr0cur.c: Auto merged innobase/btr/btr0pcur.c: Auto merged innobase/buf/buf0buf.c: Auto merged innobase/buf/buf0flu.c: Auto merged innobase/dict/dict0dict.c: Auto merged innobase/dict/dict0load.c: Auto merged innobase/include/buf0buf.h: Auto merged innobase/include/log0recv.h: Auto merged innobase/include/row0sel.h: Auto merged innobase/include/srv0srv.h: Auto merged innobase/include/ut0mem.h: Auto merged innobase/lock/lock0lock.c: Auto merged innobase/log/log0log.c: Auto merged innobase/mem/mem0pool.c: Auto merged innobase/os/os0file.c: Auto merged innobase/row/row0mysql.c: Auto merged innobase/row/row0sel.c: Auto merged innobase/srv/srv0srv.c: Auto merged innobase/srv/srv0start.c: Auto merged innobase/trx/trx0sys.c: Auto merged innobase/trx/trx0trx.c: Auto merged innobase/ut/ut0mem.c: Auto merged innobase/ut/ut0ut.c: Auto merged myisam/ft_boolean_search.c: Auto merged myisam/mi_check.c: Auto merged myisam/mi_extra.c: Auto merged myisam/mi_key.c: Auto merged myisam/myisamdef.h: Auto merged myisammrg/myrg_queue.c: Auto merged mysql-test/mysql-test-run.sh: Auto merged mysql-test/r/ctype_latin1_de.result: Auto merged mysql-test/r/flush.result: Auto merged mysql-test/r/func_time.result: Auto merged mysql-test/r/grant_cache.result: Auto merged mysql-test/r/join.result: Auto merged mysql-test/r/join_outer.result: Auto merged mysql-test/r/range.result: Auto merged mysql-test/r/rpl000018.result: Auto merged mysql-test/r/rpl_insert_id.result: Auto merged mysql-test/r/rpl_master_pos_wait.result: Auto merged mysql-test/r/rpl_relayspace.result: Auto merged mysql-test/r/select_safe.result: Auto merged mysql-test/r/symlink.result: Auto merged mysql-test/r/type_date.result: Auto merged mysql-test/r/type_datetime.result: Auto merged mysql-test/t/alias.test: Auto merged mysql-test/t/ctype_latin1_de.test: Auto merged mysql-test/t/fulltext_left_join.test: Auto merged mysql-test/t/func_time.test: Auto merged mysql-test/t/handler.test: Auto merged mysql-test/t/heap.test: Auto merged mysql-test/t/join.test: Auto merged mysql-test/t/join_outer.test: Auto merged mysql-test/t/order_by.test: Auto merged mysql-test/t/range.test: Auto merged mysql-test/t/rpl000001.test: Auto merged mysql-test/t/rpl000018.test: Auto merged mysql-test/t/rpl_insert_id.test: Auto merged mysql-test/t/sel000100.test: Auto merged mysql-test/t/select_safe.test: Auto merged mysql-test/t/type_date.test: Auto merged mysql-test/t/type_datetime.test: Auto merged mysql-test/t/user_var.test: Auto merged mysys/default.c: Auto merged mysys/mf_format.c: Auto merged mysys/my_getopt.c: Auto merged mysys/thr_lock.c: Auto merged mysys/tree.c: Auto merged scripts/Makefile.am: Auto merged scripts/mysql_install_db.sh: Auto merged scripts/mysqld_safe.sh: Auto merged sql/Makefile.am: Auto merged sql/field_conv.cc: Auto merged sql/ha_innodb.h: Auto merged sql/ha_myisam.cc: Auto merged sql/ha_myisammrg.h: Auto merged sql/handler.cc: Auto merged sql/handler.h: Auto merged sql/item.h: Auto merged sql/item_func.cc: Auto merged sql/item_timefunc.cc: Auto merged sql/net_serv.cc: Auto merged sql/nt_servc.cc: Auto merged sql/opt_range.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_cache.h: Auto merged sql/sql_db.cc: Auto merged sql/sql_delete.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_list.h: Auto merged sql/sql_load.cc: Auto merged sql/sql_rename.cc: Auto merged sql/sql_repl.h: Auto merged sql/sql_update.cc: Auto merged sql/table.cc: Auto merged sql/table.h: Auto merged sql/uniques.cc: Auto merged support-files/mysql.spec.sh: Auto merged vio/viosocket.c: Auto merged BitKeeper/deleted/.del-ctype-latin1_de.c~c5d8f9208bceb98e: merge BitKeeper/deleted/.del-mini_client.cc~8677895ec8169183: merge acinclude.m4: Merge with 4.0 (openssl patch) client/mysqlbinlog.cc: Merge with 4.0 in which we had added code from 4.1 (We are basicly only using the 4.1 code here) configure.in: Keep 4.1 file heap/hp_open.c: merge with 4.0 include/my_base.h: merge with 4.0 include/my_global.h: merge with 4.0 include/mysqld_error.h: merge with 4.0 innobase/ha/ha0ha.c: merge with 4.0 (Code should be same but we use indentaion from 4.0) innobase/log/log0recv.c: merge with 4.0 libmysql/libmysql.c: Remove with 4.0 code that was ported from 4.1 libmysqld/lib_sql.cc: merge with 4.0 myisam/mi_open.c: Remove 4.0 specific code myisam/myisamchk.c: merge with 4.0 myisammrg/myrg_rkey.c: merge with 4.0 mysql-test/r/alter_table.result: May need to be fixed after merge mysql-test/r/create.result: May need to be fixed after merge mysql-test/r/distinct.result: May need to be fixed after merge mysql-test/r/drop.result: May need to be fixed after merge mysql-test/r/fulltext.result: May need to be fixed after merge mysql-test/r/func_set.result: May need to be fixed after merge mysql-test/r/func_str.result: May need to be fixed after merge mysql-test/r/func_test.result: May need to be fixed after merge mysql-test/r/grant.result: May need to be fixed after merge mysql-test/r/group_by.result: May need to be fixed after merge mysql-test/r/handler.result: May need to be fixed after merge mysql-test/r/heap.result: May need to be fixed after merge mysql-test/r/innodb.result: May need to be fixed after merge mysql-test/r/insert.result: May need to be fixed after merge mysql-test/r/insert_select.result: May need to be fixed after merge mysql-test/r/key_diff.result: May need to be fixed after merge mysql-test/r/merge.result: May need to be fixed after merge mysql-test/r/myisam.result: May need to be fixed after merge mysql-test/r/order_by.result: May need to be fixed after merge mysql-test/r/query_cache.result: May need to be fixed after merge mysql-test/r/rpl_flush_log_loop.result: May need to be fixed after merge mysql-test/r/rpl_loaddata.result: May need to be fixed after merge mysql-test/r/rpl_log.result: May need to be fixed after merge mysql-test/r/rpl_log_pos.result: May need to be fixed after merge mysql-test/r/rpl_rotate_logs.result: May need to be fixed after merge mysql-test/r/select.result: May need to be fixed after merge mysql-test/r/union.result: May need to be fixed after merge mysql-test/r/user_var.result: May need to be fixed after merge mysql-test/t/alter_table.test: merge with 4.0 mysql-test/t/create.test: merge with 4.0 mysql-test/t/distinct.test: merge with 4.0 mysql-test/t/drop.test: merge with 4.0 mysql-test/t/flush.test: merge with 4.0 mysql-test/t/fulltext.test: merge with 4.0 mysql-test/t/func_set.test: merge with 4.0 mysql-test/t/func_str.test: merge with 4.0 mysql-test/t/func_test.test: merge with 4.0 mysql-test/t/grant.test: merge with 4.0 mysql-test/t/grant_cache.test: merge with 4.0 mysql-test/t/innodb.test: Add back EXPLAIN and SHOW KEYS statements, but make them independent of number of rows returned by InnoDB mysql-test/t/insert.test: merge with 4.0 mysql-test/t/insert_select.test: merge with 4.0 mysql-test/t/merge.test: merge with 4.0 mysql-test/t/query_cache.test: merge with 4.0 mysql-test/t/rpl_flush_log_loop.test: merge with 4.0 mysql-test/t/rpl_loaddata.test: merge with 4.0 mysql-test/t/rpl_rotate_logs.test: merge with 4.0 mysql-test/t/select.test: merge with 4.0 mysql-test/t/symlink.test: merge with 4.0 mysql-test/t/union.test: merge with 4.0 mysys/charset.c: merge with 4.0 scripts/mysql_fix_privilege_tables.sh: merge with 4.0 (Add quoting for some variables) sql/field.h: merge with 4.0 sql/ha_innodb.cc: merge with 4.0 sql/item_cmpfunc.cc: merge with 4.0 sql/item_cmpfunc.h: merge with 4.0 sql/item_func.h: merge with 4.0 sql/item_strfunc.cc: merge with 4.0 Fixed null handling with ELT() sql/item_timefunc.h: merge with 4.0 sql/lex.h: merge with 4.0 sql/log.cc: merge with 4.0 sql/log_event.cc: Merge with 4.0 Cleanups: - Indentation - #endif comments - Replace strmov() with *pos++= for two byte strings - Moved variable declarations to start of functions - Merged identical code (LOAD_EVENT) - Added casts when subtracting pointers Did a full diff between this and 4.0 to ensure that the file is correct after merge. sql/log_event.h: merge with 4.0 sql/mysql_priv.h: merge with 4.0 sql/mysqld.cc: merge with 4.0 sql/repl_failsafe.cc: merge with 4.0 sql/set_var.cc: merge with 4.0 sql/set_var.h: merge with 4.0 sql/share/czech/errmsg.txt: merge with 4.0 sql/share/danish/errmsg.txt: merge with 4.0 sql/share/dutch/errmsg.txt: merge with 4.0 sql/share/english/errmsg.txt: merge with 4.0 sql/share/estonian/errmsg.txt: merge with 4.0 sql/share/french/errmsg.txt: merge with 4.0 sql/share/german/errmsg.txt: merge with 4.0 sql/share/greek/errmsg.txt: merge with 4.0 sql/share/hungarian/errmsg.txt: merge with 4.0 sql/share/italian/errmsg.txt: merge with 4.0 sql/share/japanese/errmsg.txt: merge with 4.0 sql/share/korean/errmsg.txt: merge with 4.0 sql/share/norwegian-ny/errmsg.txt: merge with 4.0 sql/share/norwegian/errmsg.txt: merge with 4.0 sql/share/polish/errmsg.txt: merge with 4.0 sql/share/portuguese/errmsg.txt: merge with 4.0 sql/share/romanian/errmsg.txt: merge with 4.0 sql/share/russian/errmsg.txt: merge with 4.0 sql/share/slovak/errmsg.txt: merge with 4.0 sql/share/spanish/errmsg.txt: merge with 4.0 sql/share/swedish/errmsg.txt: merge with 4.0 sql/share/ukrainian/errmsg.txt: merge with 4.0 sql/slave.cc: Merge + some indentation fixes sql/slave.h: merge with 4.0 sql/sql_acl.cc: merge with 4.0 Some end space removal to make it easier to do future merges sql/sql_acl.h: merge with 4.0 sql/sql_cache.cc: merge with 4.0 sql/sql_class.h: merge with 4.0 sql/sql_handler.cc: merge with 4.0 sql/sql_lex.cc: merge with 4.0 sql/sql_lex.h: merge with 4.0 sql/sql_parse.cc: merge with 4.0 sql/sql_repl.cc: merge with 4.0 sql/sql_select.cc: merge with 4.0 sql/sql_table.cc: merge with 4.0 sql/sql_union.cc: Merge with 4.0 Note that I couldn't find out how to merge OPTION_FOUND_ROWS handling so this has to be fixed later sql/sql_yacc.yy: merge with 4.0 Removed end space to make merge easier vio/Makefile.am: merge with 4.0
727 lines
24 KiB
Bash
727 lines
24 KiB
Bash
%define mysql_version @VERSION@
|
|
%define release 0
|
|
%define mysqld_user mysql
|
|
%define server_suffix -standard
|
|
|
|
%define see_base For a description of MySQL see the base MySQL RPM or http://www.mysql.com
|
|
|
|
Name: MySQL
|
|
Summary: MySQL: a very fast and reliable SQL database server
|
|
Group: Applications/Databases
|
|
Summary(pt_BR): MySQL: Um servidor SQL rápido e confiável.
|
|
Group(pt_BR): Aplicações/Banco_de_Dados
|
|
Version: @MYSQL_NO_DASH_VERSION@
|
|
Release: %{release}
|
|
Copyright: GPL
|
|
Source: http://www.mysql.com/Downloads/MySQL-@MYSQL_BASE_VERSION@/mysql-%{mysql_version}.tar.gz
|
|
URL: http://www.mysql.com/
|
|
Packager: Lenz Grimmer <build@mysql.com>
|
|
Vendor: MySQL AB
|
|
Requires: fileutils sh-utils
|
|
Provides: msqlormysql MySQL-server mysql
|
|
Obsoletes: mysql
|
|
|
|
# Think about what you use here since the first step is to
|
|
# run a rm -rf
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
|
|
# From the manual
|
|
%description
|
|
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
|
|
and robust SQL (Structured Query Language) database server. MySQL Server
|
|
is intended for mission-critical, heavy-load production systems as well
|
|
as for embedding into mass-deployed software. MySQL is a trademark of
|
|
MySQL AB.
|
|
|
|
The MySQL software has Dual Licensing, which means you can use the MySQL
|
|
software free of charge under the GNU General Public License
|
|
(http://www.gnu.org/licenses/). You can also purchase commercial MySQL
|
|
licenses from MySQL AB if you do not wish to be bound by the terms of
|
|
the GPL. See the chapter "Licensing and Support" in the manual for
|
|
further info.
|
|
|
|
The MySQL web site (http://www.mysql.com/) provides the latest
|
|
news and information about the MySQL software. Also please see the
|
|
documentation and the manual for more information.
|
|
|
|
%package server
|
|
Release: %{release}
|
|
Summary: MySQL: a very fast and reliable SQL database server
|
|
Group: Applications/Databases
|
|
Summary(pt_BR): MySQL: Um servidor SQL rápido e confiável.
|
|
Group(pt_BR): Aplicações/Banco_de_Dados
|
|
Requires: fileutils sh-utils
|
|
Provides: msqlormysql mysql-server mysql MySQL
|
|
Obsoletes: MySQL mysql mysql-server
|
|
|
|
%description server
|
|
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
|
|
and robust SQL (Structured Query Language) database server. MySQL Server
|
|
is intended for mission-critical, heavy-load production systems as well
|
|
as for embedding into mass-deployed software. MySQL is a trademark of
|
|
MySQL AB.
|
|
|
|
The MySQL software has Dual Licensing, which means you can use the MySQL
|
|
software free of charge under the GNU General Public License
|
|
(http://www.gnu.org/licenses/). You can also purchase commercial MySQL
|
|
licenses from MySQL AB if you do not wish to be bound by the terms of
|
|
the GPL. See the chapter "Licensing and Support" in the manual for
|
|
further info.
|
|
|
|
The MySQL web site (http://www.mysql.com/) provides the latest
|
|
news and information about the MySQL software. Also please see the
|
|
documentation and the manual for more information.
|
|
|
|
This package includes the MySQL server binary (statically linked,
|
|
compiled with InnoDB support) as well as related utilities to run
|
|
and administrate a MySQL server.
|
|
|
|
If you want to access and work with the database, you have to install
|
|
package "MySQL-client" as well!
|
|
|
|
%package client
|
|
Release: %{release}
|
|
Summary: MySQL - Client
|
|
Group: Applications/Databases
|
|
Summary(pt_BR): MySQL - Cliente
|
|
Group(pt_BR): Aplicações/Banco_de_Dados
|
|
Obsoletes: mysql-client
|
|
Provides: mysql-client
|
|
|
|
%description client
|
|
This package contains the standard MySQL clients and administration tools.
|
|
|
|
%{see_base}
|
|
|
|
%description client -l pt_BR
|
|
Este pacote contém os clientes padrão para o MySQL.
|
|
|
|
%package bench
|
|
Release: %{release}
|
|
Requires: %{name}-client perl-DBI perl
|
|
Summary: MySQL - Benchmarks and test system
|
|
Group: Applications/Databases
|
|
Summary(pt_BR): MySQL - Medições de desempenho
|
|
Group(pt_BR): Aplicações/Banco_de_Dados
|
|
Provides: mysql-bench
|
|
Obsoletes: mysql-bench
|
|
|
|
%description bench
|
|
This package contains MySQL benchmark scripts and data.
|
|
|
|
%{see_base}
|
|
|
|
%description bench -l pt_BR
|
|
Este pacote contém medições de desempenho de scripts e dados do MySQL.
|
|
|
|
%package devel
|
|
Release: %{release}
|
|
Requires: %{name}-client
|
|
Summary: MySQL - Development header files and libraries
|
|
Group: Applications/Databases
|
|
Summary(pt_BR): MySQL - Medições de desempenho
|
|
Group(pt_BR): Aplicações/Banco_de_Dados
|
|
Provides: mysql-devel
|
|
Obsoletes: mysql-devel
|
|
|
|
%description devel
|
|
This package contains the development header files and libraries
|
|
necessary to develop MySQL client applications.
|
|
|
|
%{see_base}
|
|
|
|
%description devel -l pt_BR
|
|
Este pacote contém os arquivos de cabeçalho (header files) e bibliotecas
|
|
necessárias para desenvolver aplicações clientes do MySQL.
|
|
|
|
%package shared
|
|
Release: %{release}
|
|
Summary: MySQL - Shared libraries
|
|
Group: Applications/Databases
|
|
|
|
%description shared
|
|
This package contains the shared libraries (*.so*) which certain
|
|
languages and applications need to dynamically load and use MySQL.
|
|
|
|
%package Max
|
|
Release: %{release}
|
|
Summary: MySQL - server with Berkeley DB, OpenSSL, RAID and UDF support
|
|
Group: Applications/Databases
|
|
Provides: mysql-Max
|
|
Obsoletes: mysql-Max
|
|
Requires: MySQL >= 4.0
|
|
|
|
%description Max
|
|
Optional MySQL server binary that supports additional features like
|
|
Berkeley DB, OpenSSL, RAID and User Defined Functions (UDFs).
|
|
To activate this binary, just install this package in addition to
|
|
the standard MySQL package.
|
|
|
|
Please note that this is a dynamically linked binary!
|
|
|
|
%package embedded
|
|
Release: %{release}
|
|
Requires: %{name}-devel
|
|
Summary: MySQL - embedded library
|
|
Group: Applications/Databases
|
|
Summary(pt_BR): MySQL - Medições de desempenho
|
|
Group(pt_BR): Aplicações/Banco_de_Dados
|
|
Obsoletes: mysql-embedded
|
|
|
|
%description embedded
|
|
This package contains the MySQL server as an embedded library.
|
|
|
|
The embedded MySQL server library makes it possible to run a
|
|
full-featured MySQL server inside the client application.
|
|
The main benefits are increased speed and more simple management
|
|
for embedded applications.
|
|
|
|
The API is identical for the embedded MySQL version and the
|
|
client/server version.
|
|
|
|
%{see_base}
|
|
|
|
%prep
|
|
%setup -n mysql-%{mysql_version}
|
|
|
|
%build
|
|
# The all-static flag is to make the RPM work on different
|
|
# distributions. This version tries to put shared mysqlclient libraries
|
|
# in a separate package.
|
|
|
|
BuildMySQL() {
|
|
# The --enable-assembler simply does nothing on systems that does not
|
|
# support assembler speedups.
|
|
sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \
|
|
CC=\"${CC:-$MYSQL_BUILD_CC}\" \
|
|
CXX=\"${CXX:-$MYSQL_BUILD_CXX}\" \
|
|
CFLAGS=\"${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS}\" \
|
|
CXXFLAGS=\"${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS \
|
|
-felide-constructors -fno-exceptions -fno-rtti \
|
|
}\" \
|
|
./configure \
|
|
$* \
|
|
--enable-assembler \
|
|
--enable-local-infile \
|
|
--with-mysqld-user=%{mysqld_user} \
|
|
--with-unix-socket-path=/var/lib/mysql/mysql.sock \
|
|
--prefix=/ \
|
|
--with-extra-charsets=complex \
|
|
--exec-prefix=%{_exec_prefix} \
|
|
--libexecdir=%{_sbindir} \
|
|
--libdir=%{_libdir} \
|
|
--sysconfdir=%{_sysconfdir} \
|
|
--datadir=%{_datadir} \
|
|
--localstatedir=/var/lib/mysql \
|
|
--infodir=%{_infodir} \
|
|
--includedir=%{_includedir} \
|
|
--mandir=%{_mandir} \
|
|
--enable-thread-safe-client \
|
|
--with-comment=\"Official MySQL RPM\";
|
|
# Add this for more debugging support
|
|
# --with-debug
|
|
# Add this for MyISAM RAID support:
|
|
# --with-raid
|
|
"
|
|
|
|
# benchdir does not fit in above model. Maybe a separate bench distribution
|
|
make benchdir_root=$RPM_BUILD_ROOT/usr/share/
|
|
}
|
|
|
|
# Use our own copy of glibc
|
|
|
|
OTHER_LIBC_DIR=/usr/local/mysql-glibc
|
|
USE_OTHER_LIBC_DIR=""
|
|
if test -d "$OTHER_LIBC_DIR"
|
|
then
|
|
USE_OTHER_LIBC_DIR="--with-other-libc=$OTHER_LIBC_DIR"
|
|
fi
|
|
|
|
# Use the build root for temporary storage of the shared libraries.
|
|
|
|
RBR=$RPM_BUILD_ROOT
|
|
MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}
|
|
|
|
# Clean up the BuildRoot first
|
|
[ "$RBR" != "/" ] && [ -d $RBR ] && rm -rf $RBR;
|
|
mkdir -p $RBR%{_libdir}/mysql
|
|
|
|
#
|
|
# Use MYSQL_BUILD_PATH so that we can use a dedicated version of gcc
|
|
#
|
|
PATH=${MYSQL_BUILD_PATH:-/bin:/usr/bin}
|
|
export PATH
|
|
|
|
# Build the 4.0 Max binary (includes BDB and UDFs and therefore
|
|
# cannot be linked statically against the patched glibc)
|
|
|
|
# If we want to compile with RAID using gcc 3, we need to use
|
|
# gcc instead of g++ to avoid linking problems (RAID code is written in C++)
|
|
if gcc -v 2>&1 | grep 'version 3' > /dev/null 2>&1
|
|
then
|
|
export CXX="gcc"
|
|
fi
|
|
|
|
BuildMySQL "--enable-shared \
|
|
--with-openssl \
|
|
--with-berkeley-db \
|
|
--with-innodb \
|
|
--with-raid \
|
|
--with-embedded-server \
|
|
--with-server-suffix='-Max'"
|
|
|
|
# Save everything for debug
|
|
# tar cf $RBR/all.tar .
|
|
|
|
# Save mysqld-max
|
|
mv sql/mysqld sql/mysqld-max
|
|
nm --numeric-sort sql/mysqld-max > sql/mysqld-max.sym
|
|
|
|
# Install embedded server library in the build root
|
|
install -m 644 libmysqld/libmysqld.a $RBR%{_libdir}/mysql
|
|
|
|
# Save libraries
|
|
(cd libmysql/.libs; tar cf $RBR/shared-libs.tar *.so*)
|
|
(cd libmysql_r/.libs; tar rf $RBR/shared-libs.tar *.so*)
|
|
|
|
# Save manual to avoid rebuilding
|
|
mv Docs/manual.ps Docs/manual.ps.save
|
|
make distclean
|
|
mv Docs/manual.ps.save Docs/manual.ps
|
|
|
|
# RPM:s destroys Makefile.in files, so we generate them here
|
|
# aclocal; autoheader; aclocal; automake; autoconf
|
|
# (cd innobase && aclocal && autoheader && aclocal && automake && autoconf)
|
|
|
|
# Now build the statically linked 4.0 binary (which includes InnoDB)
|
|
BuildMySQL "--disable-shared \
|
|
--with-mysqld-ldflags='-all-static' \
|
|
--with-client-ldflags='-all-static' \
|
|
$USE_OTHER_LIBC_DIR \
|
|
--with-server-suffix='%{server_suffix}' \
|
|
--without-embedded-server \
|
|
--without-berkeley-db \
|
|
--with-innodb \
|
|
--without-vio \
|
|
--without-openssl"
|
|
nm --numeric-sort sql/mysqld > sql/mysqld.sym
|
|
|
|
%install
|
|
RBR=$RPM_BUILD_ROOT
|
|
MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}
|
|
|
|
# Ensure that needed directories exists
|
|
install -d $RBR%{_sysconfdir}/{logrotate.d,init.d}
|
|
install -d $RBR/var/lib/mysql/mysql
|
|
install -d $RBR%{_datadir}/{sql-bench,mysql-test}
|
|
install -d $RBR%{_includedir}
|
|
install -d $RBR%{_libdir}
|
|
install -d $RBR%{_mandir}
|
|
install -d $RBR%{_sbindir}
|
|
|
|
|
|
# Install all binaries stripped
|
|
make install-strip DESTDIR=$RBR benchdir_root=%{_datadir}
|
|
|
|
# Install shared libraries (Disable for architectures that don't support it)
|
|
(cd $RBR%{_libdir}; tar xf $RBR/shared-libs.tar; rm -f $RBR/shared-libs.tar)
|
|
|
|
# install saved mysqld-max
|
|
install -s -m755 $MBD/sql/mysqld-max $RBR%{_sbindir}/mysqld-max
|
|
|
|
# install symbol files ( for stack trace resolution)
|
|
install -m644 $MBD/sql/mysqld-max.sym $RBR%{_libdir}/mysql/mysqld-max.sym
|
|
install -m644 $MBD/sql/mysqld.sym $RBR%{_libdir}/mysql/mysqld.sym
|
|
|
|
# Install logrotate and autostart
|
|
install -m644 $MBD/support-files/mysql-log-rotate $RBR%{_sysconfdir}/logrotate.d/mysql
|
|
install -m755 $MBD/support-files/mysql.server $RBR%{_sysconfdir}/init.d/mysql
|
|
|
|
# Create a symlink "rcmysql", pointing to the init.script. SuSE users
|
|
# will appreciate that, as all services usually offer this.
|
|
ln -s %{_sysconfdir}/init.d/mysql $RPM_BUILD_ROOT%{_sbindir}/rcmysql
|
|
|
|
# Create symbolic compatibility link safe_mysqld -> mysqld_safe
|
|
# (safe_mysqld will be gone in MySQL 4.1)
|
|
ln -sf ./mysqld_safe $RBR%{_bindir}/safe_mysqld
|
|
|
|
# Touch the place where the my.cnf config file might be located
|
|
# Just to make sure it's in the file list and marked as a config file
|
|
touch $RBR%{_sysconfdir}/my.cnf
|
|
|
|
%pre server
|
|
# Shut down a previously installed server first
|
|
if test -x %{_sysconfdir}/init.d/mysql
|
|
then
|
|
%{_sysconfdir}/init.d/mysql stop > /dev/null 2>&1
|
|
echo "Giving mysqld a couple of seconds to exit nicely"
|
|
sleep 5
|
|
elif test -x %{_sysconfdir}/rc.d/init.d/mysql
|
|
then
|
|
%{_sysconfdir}/rc.d/init.d/mysql stop > /dev/null 2>&1
|
|
echo "Giving mysqld a couple of seconds to exit nicely"
|
|
sleep 5
|
|
fi
|
|
|
|
%post server
|
|
mysql_datadir=/var/lib/mysql
|
|
|
|
# Create data directory if needed
|
|
if test ! -d $mysql_datadir; then mkdir -m755 $mysql_datadir; fi
|
|
if test ! -d $mysql_datadir/mysql; then mkdir $mysql_datadir/mysql; fi
|
|
if test ! -d $mysql_datadir/test; then mkdir $mysql_datadir/test; fi
|
|
|
|
# Make MySQL start/shutdown automatically when the machine does it.
|
|
# use insserv for older SuSE Linux versions
|
|
if test -x /sbin/insserv
|
|
then
|
|
/sbin/insserv %{_sysconfdir}/init.d/mysql
|
|
# use chkconfig on Red Hat and newer SuSE releases
|
|
elif test -x /sbin/chkconfig
|
|
then
|
|
/sbin/chkconfig --add mysql
|
|
fi
|
|
|
|
# Create a MySQL user. Do not report any problems if it already
|
|
# exists. This is redhat specific and should be handled more portable
|
|
useradd -M -r -d $mysql_datadir -s /bin/bash -c "MySQL server" mysql 2> /dev/null || true
|
|
|
|
# Change permissions so that the user that will run the MySQL daemon
|
|
# owns all database files.
|
|
chown -R mysql $mysql_datadir
|
|
|
|
# Initiate databases
|
|
mysql_install_db --rpm
|
|
|
|
# Change permissions again to fix any new files.
|
|
chown -R mysql $mysql_datadir
|
|
|
|
# Fix permissions for the permission database so that only the user
|
|
# can read them.
|
|
chmod -R og-rw $mysql_datadir/mysql
|
|
|
|
# Restart in the same way that mysqld will be started normally.
|
|
%{_sysconfdir}/init.d/mysql start
|
|
|
|
# Allow safe_mysqld to start mysqld and print a message before we exit
|
|
sleep 2
|
|
|
|
%post Max
|
|
# Restart mysqld, to use the new binary.
|
|
echo "Restarting mysqld."
|
|
%{_sysconfdir}/init.d/mysql restart > /dev/null 2>&1
|
|
|
|
%preun server
|
|
if test $1 = 0
|
|
then
|
|
# Stop MySQL before uninstalling it
|
|
if test -x %{_sysconfdir}/init.d/mysql
|
|
then
|
|
%{_sysconfdir}/init.d/mysql stop > /dev/null
|
|
fi
|
|
|
|
# Remove autostart of mysql
|
|
# for older SuSE Linux versions
|
|
if test -x /sbin/insserv
|
|
then
|
|
/sbin/insserv -r %{_sysconfdir}/init.d/mysql
|
|
# use chkconfig on Red Hat and newer SuSE releases
|
|
elif test -x /sbin/chkconfig
|
|
then
|
|
/sbin/chkconfig --del mysql
|
|
fi
|
|
fi
|
|
|
|
# We do not remove the mysql user since it may still own a lot of
|
|
# database files.
|
|
|
|
# Clean up the BuildRoot
|
|
%clean
|
|
[ "$RBR" != "/" ] && [ -d $RBR ] && rm -rf $RBR;
|
|
|
|
%files server
|
|
%defattr(755 root, root)
|
|
|
|
%doc %attr(644, root, root) COPYING COPYING.LIB README
|
|
%doc %attr(644, root, root) Docs/manual.{html,ps,texi,txt} Docs/manual_toc.html
|
|
%doc %attr(644, root, root) support-files/my-*.cnf
|
|
|
|
%doc %attr(644, root, root) %{_infodir}/mysql.info*
|
|
|
|
%doc %attr(644, root, man) %{_mandir}/man1/isamchk.1*
|
|
%doc %attr(644, root, man) %{_mandir}/man1/isamlog.1*
|
|
%doc %attr(644, root, man) %{_mandir}/man1/mysql_zap.1*
|
|
%doc %attr(644, root, man) %{_mandir}/man1/mysqld.1*
|
|
%doc %attr(644, root, man) %{_mandir}/man1/mysql_fix_privilege_tables.1*
|
|
%doc %attr(644, root, man) %{_mandir}/man1/mysqld_multi.1*
|
|
%doc %attr(644, root, man) %{_mandir}/man1/mysqld_safe.1*
|
|
%doc %attr(644, root, man) %{_mandir}/man1/perror.1*
|
|
%doc %attr(644, root, man) %{_mandir}/man1/replace.1*
|
|
|
|
%ghost %config(noreplace,missingok) %{_sysconfdir}/my.cnf
|
|
|
|
%attr(755, root, root) %{_bindir}/isamchk
|
|
%attr(755, root, root) %{_bindir}/isamlog
|
|
%attr(755, root, root) %{_bindir}/my_print_defaults
|
|
%attr(755, root, root) %{_bindir}/myisamchk
|
|
%attr(755, root, root) %{_bindir}/myisamlog
|
|
%attr(755, root, root) %{_bindir}/myisampack
|
|
%attr(755, root, root) %{_bindir}/mysql_convert_table_format
|
|
%attr(755, root, root) %{_bindir}/mysql_explain_log
|
|
%attr(755, root, root) %{_bindir}/mysql_fix_extensions
|
|
%attr(755, root, root) %{_bindir}/mysql_fix_privilege_tables
|
|
%attr(755, root, root) %{_bindir}/mysql_install_db
|
|
%attr(755, root, root) %{_bindir}/mysql_secure_installation
|
|
%attr(755, root, root) %{_bindir}/mysql_setpermission
|
|
%attr(755, root, root) %{_bindir}/mysql_zap
|
|
%attr(755, root, root) %{_bindir}/mysqlbug
|
|
%attr(755, root, root) %{_bindir}/mysqld_multi
|
|
%attr(755, root, root) %{_bindir}/mysqld_safe
|
|
%attr(755, root, root) %{_bindir}/mysqlhotcopy
|
|
%attr(755, root, root) %{_bindir}/mysqltest
|
|
%attr(755, root, root) %{_bindir}/pack_isam
|
|
%attr(755, root, root) %{_bindir}/perror
|
|
%attr(755, root, root) %{_bindir}/replace
|
|
%attr(755, root, root) %{_bindir}/resolve_stack_dump
|
|
%attr(755, root, root) %{_bindir}/resolveip
|
|
%attr(755, root, root) %{_bindir}/safe_mysqld
|
|
|
|
%attr(755, root, root) %{_sbindir}/mysqld
|
|
%attr(755, root, root) %{_sbindir}/rcmysql
|
|
%attr(644, root, root) %{_libdir}/mysql/mysqld.sym
|
|
|
|
%attr(644, root, root) %{_sysconfdir}/logrotate.d/mysql
|
|
%attr(755, root, root) %{_sysconfdir}/init.d/mysql
|
|
|
|
%attr(755, root, root) %{_datadir}/mysql/
|
|
|
|
%files client
|
|
%attr(755, root, root) %{_bindir}/msql2mysql
|
|
%attr(755, root, root) %{_bindir}/mysql
|
|
%attr(755, root, root) %{_bindir}/mysql_find_rows
|
|
%attr(755, root, root) %{_bindir}/mysql_tableinfo
|
|
%attr(755, root, root) %{_bindir}/mysql_waitpid
|
|
%attr(755, root, root) %{_bindir}/mysqlaccess
|
|
%attr(755, root, root) %{_bindir}/mysqladmin
|
|
%attr(755, root, root) %{_bindir}/mysqlbinlog
|
|
%attr(755, root, root) %{_bindir}/mysqlcheck
|
|
%attr(755, root, root) %{_bindir}/mysqldump
|
|
%attr(755, root, root) %{_bindir}/mysqldumpslow
|
|
%attr(755, root, root) %{_bindir}/mysqlimport
|
|
%attr(755, root, root) %{_bindir}/mysqlshow
|
|
|
|
%doc %attr(644, root, man) %{_mandir}/man1/mysql.1*
|
|
%doc %attr(644, root, man) %{_mandir}/man1/mysqlaccess.1*
|
|
%doc %attr(644, root, man) %{_mandir}/man1/mysqladmin.1*
|
|
%doc %attr(644, root, man) %{_mandir}/man1/mysqldump.1*
|
|
%doc %attr(644, root, man) %{_mandir}/man1/mysqlshow.1*
|
|
|
|
%post shared
|
|
/sbin/ldconfig
|
|
|
|
%postun shared
|
|
/sbin/ldconfig
|
|
|
|
%files devel
|
|
%defattr(644 root, root)
|
|
%attr(755, root, root) %{_bindir}/comp_err
|
|
%attr(755, root, root) %{_bindir}/mysql_config
|
|
%dir %attr(755, root, root) %{_includedir}/mysql
|
|
%dir %attr(755, root, root) %{_libdir}/mysql
|
|
%{_includedir}/mysql/*
|
|
%{_libdir}/mysql/libdbug.a
|
|
%{_libdir}/mysql/libheap.a
|
|
%{_libdir}/mysql/libmerge.a
|
|
%{_libdir}/mysql/libmyisam.a
|
|
%{_libdir}/mysql/libmyisammrg.a
|
|
%{_libdir}/mysql/libmysqlclient.a
|
|
%{_libdir}/mysql/libmysqlclient.la
|
|
%{_libdir}/mysql/libmysqlclient_r.a
|
|
%{_libdir}/mysql/libmysqlclient_r.la
|
|
%{_libdir}/mysql/libmystrings.a
|
|
%{_libdir}/mysql/libmysys.a
|
|
%{_libdir}/mysql/libnisam.a
|
|
%{_libdir}/mysql/libvio.a
|
|
|
|
%files shared
|
|
%defattr(755 root, root)
|
|
# Shared libraries (omit for architectures that don't support them)
|
|
%{_libdir}/*.so*
|
|
|
|
%files bench
|
|
%attr(-, root, root) %{_datadir}/sql-bench
|
|
%attr(-, root, root) %{_datadir}/mysql-test
|
|
%attr(755, root, root) %{_bindir}/mysqlmanager
|
|
%attr(755, root, root) %{_bindir}/mysqlmanager-pwgen
|
|
%attr(755, root, root) %{_bindir}/mysqlmanagerc
|
|
|
|
%files Max
|
|
%attr(755, root, root) %{_sbindir}/mysqld-max
|
|
%attr(644, root, root) %{_libdir}/mysql/mysqld-max.sym
|
|
|
|
%files embedded
|
|
%attr(644, root, root) %{_libdir}/mysql/libmysqld.a
|
|
|
|
%changelog
|
|
* Tue Aug 05 2003 Lenz Grimmer <lenz@mysql.com>
|
|
|
|
- Fixed BUG#959 (libmysqld not being compiled properly)
|
|
- Fixed BUG#998 (RPM build errors): added missing files to the
|
|
distribution (mysql_fix_extensions, mysql_tableinfo, mysqldumpslow,
|
|
mysql_fix_privilege_tables.1), removed "-n" from %install section.
|
|
|
|
* Wed Jul 09 2003 Lenz Grimmer <lenz@mysql.com>
|
|
|
|
- removed the GIF Icon (file was not included in the sources anyway)
|
|
- removed unused variable %shared_lib_version
|
|
- do not run automake before building the standard binary
|
|
(should not be necessary)
|
|
- add server suffix '-standard' to standard binary (to be in line
|
|
with the binary tarball distributions)
|
|
- Use more RPM macros (_exec_prefix, _sbindir, _libdir, _sysconfdir,
|
|
_datadir, _includedir) throughout the spec file.
|
|
- allow overriding CC and CXX (required when building with other compilers)
|
|
|
|
* Fri May 16 2003 Lenz Grimmer <lenz@mysql.com>
|
|
|
|
- re-enabled RAID again
|
|
|
|
* Wed Apr 30 2003 Lenz Grimmer <lenz@mysql.com>
|
|
|
|
- disabled MyISAM RAID (--with-raid) - it throws an assertion which
|
|
needs to be investigated first.
|
|
|
|
* Mon Mar 10 2003 Lenz Grimmer <lenz@mysql.com>
|
|
|
|
- added missing file mysql_secure_installation to server subpackage
|
|
(bug #141)
|
|
|
|
* Tue Feb 11 2003 Lenz Grimmer <lenz@mysql.com>
|
|
|
|
- re-added missing pre- and post(un)install scripts to server subpackage
|
|
- added config file /etc/my.cnf to the file list (just for completeness)
|
|
- make sure to create the datadir with 755 permissions
|
|
|
|
* Mon Jan 27 2003 Lenz Grimmer <lenz@mysql.com>
|
|
|
|
- removed unused CC and CXX variables
|
|
- CFLAGS and CXXFLAGS should honor RPM_OPT_FLAGS
|
|
|
|
* Fri Jan 24 2003 Lenz Grimmer <lenz@mysql.com>
|
|
|
|
- renamed package "MySQL" to "MySQL-server"
|
|
- fixed Copyright tag
|
|
- added mysql_waitpid to client subpackage (required for mysql-test-run)
|
|
|
|
* Wed Nov 27 2002 Lenz Grimmer <lenz@mysql.com>
|
|
|
|
- moved init script from /etc/rc.d/init.d to /etc/init.d (the majority of
|
|
Linux distributions now support this scheme as proposed by the LSB either
|
|
directly or via a compatibility symlink)
|
|
- Use new "restart" init script action instead of starting and stopping
|
|
separately
|
|
- Be more flexible in activating the automatic bootup - use insserv (on
|
|
older SuSE versions) or chkconfig (Red Hat, newer SuSE versions and
|
|
others) to create the respective symlinks
|
|
|
|
* Wed Sep 25 2002 Lenz Grimmer <lenz@mysql.com>
|
|
|
|
- MySQL-Max now requires MySQL >= 4.0 to avoid version mismatches
|
|
(mixing 3.23 and 4.0 packages)
|
|
|
|
* Fri Aug 09 2002 Lenz Grimmer <lenz@mysql.com>
|
|
|
|
- Turn off OpenSSL in MySQL-Max for now until it works properly again
|
|
- enable RAID for the Max binary instead
|
|
- added compatibility link: safe_mysqld -> mysqld_safe to ease the
|
|
transition from 3.23
|
|
|
|
* Thu Jul 18 2002 Lenz Grimmer <lenz@mysql.com>
|
|
|
|
- Reworked the build steps a little bit: the Max binary is supposed
|
|
to include OpenSSL, which cannot be linked statically, thus trying
|
|
to statically link against a special glibc is futile anyway
|
|
- because of this, it is not required to make yet another build run
|
|
just to compile the shared libs (saves a lot of time)
|
|
- updated package description of the Max subpackage
|
|
- clean up the BuildRoot directory afterwards
|
|
|
|
* Mon Jul 15 2002 Lenz Grimmer <lenz@mysql.com>
|
|
|
|
- Updated Packager information
|
|
- Fixed the build options: the regular package is supposed to
|
|
include InnoDB and linked statically, while the Max package
|
|
should include BDB and SSL support
|
|
|
|
* Fri May 03 2002 Lenz Grimmer <lenz@mysql.com>
|
|
|
|
- Use more RPM macros (e.g. infodir, mandir) to make the spec
|
|
file more portable
|
|
- reorganized the installation of documentation files: let RPM
|
|
take care of this
|
|
- reorganized the file list: actually install man pages along
|
|
with the binaries of the respective subpackage
|
|
- do not include libmysqld.a in the devel subpackage as well, if we
|
|
have a special "embedded" subpackage
|
|
- reworked the package descriptions
|
|
|
|
* Mon Oct 8 2001 Monty
|
|
|
|
- Added embedded server as a separate RPM
|
|
|
|
* Fri Apr 13 2001 Monty
|
|
|
|
- Added mysqld-max to the distribution
|
|
|
|
* Tue Jan 2 2001 Monty
|
|
|
|
- Added mysql-test to the bench package
|
|
|
|
* Fri Aug 18 2000 Tim Smith <tim@mysql.com>
|
|
|
|
- Added separate libmysql_r directory; now both a threaded
|
|
and non-threaded library is shipped.
|
|
|
|
* Wed Sep 28 1999 David Axmark <davida@mysql.com>
|
|
|
|
- Added the support-files/my-example.cnf to the docs directory.
|
|
|
|
- Removed devel dependency on base since it is about client
|
|
development.
|
|
|
|
* Wed Sep 8 1999 David Axmark <davida@mysql.com>
|
|
|
|
- Cleaned up some for 3.23.
|
|
|
|
* Thu Jul 1 1999 David Axmark <davida@mysql.com>
|
|
|
|
- Added support for shared libraries in a separate sub
|
|
package. Original fix by David Fox (dsfox@cogsci.ucsd.edu)
|
|
|
|
- The --enable-assembler switch is now automatically disables on
|
|
platforms there assembler code is unavailable. This should allow
|
|
building this RPM on non i386 systems.
|
|
|
|
* Mon Feb 22 1999 David Axmark <david@detron.se>
|
|
|
|
- Removed unportable cc switches from the spec file. The defaults can
|
|
now be overridden with environment variables. This feature is used
|
|
to compile the official RPM with optimal (but compiler version
|
|
specific) switches.
|
|
|
|
- Removed the repetitive description parts for the sub rpms. Maybe add
|
|
again if RPM gets a multiline macro capability.
|
|
|
|
- Added support for a pt_BR translation. Translation contributed by
|
|
Jorge Godoy <jorge@bestway.com.br>.
|
|
|
|
* Wed Nov 4 1998 David Axmark <david@detron.se>
|
|
|
|
- A lot of changes in all the rpm and install scripts. This may even
|
|
be a working RPM :-)
|
|
|
|
* Sun Aug 16 1998 David Axmark <david@detron.se>
|
|
|
|
- A developers changelog for MySQL is available in the source RPM. And
|
|
there is a history of major user visible changed in the Reference
|
|
Manual. Only RPM specific changes will be documented here.
|