mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
fc4a3ef7c1
Fixed bug when deleting keys with possible NULL values many changes to mysqltest Docs/Makefile.am: Don't print warnings when making ..dvi Docs/manual.texi: Documented changes acinclude.m4: Fixed bug in detecting BDB version 3.2.3g client/mysqltest.c: Added TODO Cleanups Free all memory and close all files on exit configure.in: New release include/my_sys.h: Added new function needed for mysqltest.c myisam/mi_create.c: Cleanup myisam/mi_delete.c: Fixed bug when deleting keys with NULL myisam/mi_search.c: cleanup myisam/myisamchk.c: Added info about fulltext to -D mysql-test/mysql-test-run.sh: Use less memory for mysqld Don't remove timefile if only testing one test Send option --debug to mysqltest mysql-test/r/fulltext.result: New tests mysql-test/r/func_math.result: Make test portable mysql-test/t/fulltext.test: New tests mysql-test/t/func_math.test: Make test portable mysys/mf_iocache2.c: Fixed bug when reading over buffers mysys/string.c: Added new function needed for mysqltest.c mysys/typelib.c: cleanup scripts/make_binary_distribution.sh: Added option suffix Removed some warnings for missing files scripts/mysql_install_db.sh: Fixed type scripts/safe_mysqld.sh: Also read options from 'server' group sql-bench/Results/ATIS-mysql-Linux_2.2.13_SMP_alpha: New benchmark run sql-bench/Results/RUN-mysql-Linux_2.2.13_SMP_alpha: New benchmark run sql-bench/Results/alter-table-mysql-Linux_2.2.13_SMP_alpha: New benchmark run sql-bench/Results/big-tables-mysql-Linux_2.2.13_SMP_alpha: New benchmark run sql-bench/Results/connect-mysql-Linux_2.2.13_SMP_alpha: New benchmark run sql-bench/Results/create-mysql-Linux_2.2.13_SMP_alpha: New benchmark run sql-bench/Results/insert-mysql-Linux_2.2.13_SMP_alpha: New benchmark run sql-bench/Results/select-mysql-Linux_2.2.13_SMP_alpha: New benchmark run sql-bench/Results/wisconsin-mysql-Linux_2.2.13_SMP_alpha: New benchmark run sql-bench/bench-init.pl.sh: Added missing option '--silent' sql/mysqld.cc: Added warnings Print backtraces even if 'current_thd' is not active support-files/mysql.spec.sh: Removed duplicate entry
424 lines
14 KiB
Bash
424 lines
14 KiB
Bash
%define mysql_version @VERSION@
|
|
%define shared_lib_version @SHARED_LIB_VERSION@
|
|
%define release 1
|
|
%define mysqld_user mysql
|
|
|
|
%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 engine
|
|
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 / LGPL
|
|
Source: http://www.mysql.com/Downloads/MySQL-@MYSQL_BASE_VERSION@/mysql-%{mysql_version}.tar.gz
|
|
Icon: mysql.gif
|
|
URL: http://www.mysql.com/
|
|
Packager: David Axmark <david@mysql.com>
|
|
Provides: msqlormysql MySQL-server
|
|
Obsoletes: mysql
|
|
|
|
# Think about what you use here since the first step is to
|
|
# run a rm -rf
|
|
BuildRoot: /var/tmp/mysql
|
|
|
|
# From the manual
|
|
%description
|
|
MySQL is a true multi-user, multi-threaded SQL (Structured Query
|
|
Language) database server. MySQL is a client/server implementation
|
|
that consists of a server daemon (mysqld) and many different client
|
|
programs/libraries.
|
|
|
|
The main goals of MySQL are speed, robustness and ease of use. MySQL
|
|
was originally developed because we needed a SQL server that could
|
|
handle very big databases with magnitude higher speed than what any
|
|
database vendor could offer to us. And since we did not need all the
|
|
features that made their server slow we made our own. We have now been
|
|
using MySQL since 1996 in a environment with more than 40 databases,
|
|
10,000 tables, of which more than 500 have more than 7 million
|
|
rows. This is about 200G of data.
|
|
|
|
The base upon which MySQL is built is a set of routines that have been
|
|
used in a highly demanding production environment for many
|
|
years. While MySQL is still in development, it already offers a rich
|
|
and highly useful function set.
|
|
|
|
See the documentation for more information
|
|
|
|
%description -l pt_BR
|
|
O MySQL é um servidor de banco de dados SQL realmente multiusuário e\
|
|
multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de\
|
|
dados no mundo. O MySQL é uma implementação cliente/servidor que\
|
|
consiste de um servidor chamado mysqld e diversos\
|
|
programas/bibliotecas clientes. Os principais objetivos do MySQL são:\
|
|
velocidade, robustez e facilidade de uso. O MySQL foi originalmente\
|
|
desenvolvido porque nós na Tcx precisávamos de um servidor SQL que\
|
|
pudesse lidar com grandes bases de dados e com uma velocidade muito\
|
|
maior do que a que qualquer vendedor podia nos oferecer. Estamos\
|
|
usando\
|
|
o MySQL desde 1996 em um ambiente com mais de 40 bases de dados com 10.000\
|
|
tabelas, das quais mais de 500 têm mais de 7 milhões de linhas. Isto é o\
|
|
equivalente a aproximadamente 50G de dados críticos. A base da construção do\
|
|
MySQL é uma série de rotinas que foram usadas em um ambiente de produção com\
|
|
alta demanda por muitos anos. Mesmo o MySQL estando ainda em desenvolvimento,\
|
|
ele já oferece um conjunto de funções muito ricas e úteis. Veja a documentação\
|
|
para maiores informações.
|
|
|
|
%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
|
|
|
|
%description client
|
|
This package contains the standard MySQL clients.
|
|
|
|
%{see_base}
|
|
|
|
%description client -l pt_BR
|
|
Este pacote contém os clientes padrão para o MySQL.
|
|
|
|
%package bench
|
|
Release: %{release}
|
|
Requires: MySQL-client MySQL-DBI-perl-bin 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
|
|
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: MySQL-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
|
|
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.
|
|
|
|
%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:-/bin:/usr/bin}\" \
|
|
CC=\"${MYSQL_BUILD_CC:-egcs}\" \
|
|
CFLAGS=\"${MYSQL_BUILD_CFLAGS:- -O6}\" \
|
|
CXX=\"${MYSQL_BUILD_CXX:-egcs}\" \
|
|
CXXFLAGS=\"${MYSQL_BUILD_CXXFLAGS:- -O6 \
|
|
-felide-constructors -fno-exceptions -fno-rtti}\" \
|
|
./configure \
|
|
$* \
|
|
--enable-assembler \
|
|
--with-mysqld-user=%{mysqld_user} \
|
|
--with-unix-socket-path=/var/lib/mysql/mysql.sock \
|
|
--prefix=/ \
|
|
--with-extra-charsets=complex \
|
|
--exec-prefix=/usr \
|
|
--libexecdir=/usr/sbin \
|
|
--sysconfdir=/etc \
|
|
--datadir=/usr/share \
|
|
--localstatedir=/var/lib/mysql \
|
|
--infodir=/usr/info \
|
|
--includedir=/usr/include \
|
|
--mandir=/usr/man \
|
|
--without-berkeley-db \
|
|
--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 the build root for temporary storage of the shared libraries.
|
|
|
|
RBR=$RPM_BUILD_ROOT
|
|
MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}
|
|
if test -z "$RBR" -o "$RBR" = "/"
|
|
then
|
|
echo "RPM_BUILD_ROOT has stupid value"
|
|
exit 1
|
|
fi
|
|
rm -rf $RBR
|
|
mkdir -p $RBR
|
|
|
|
BuildMySQL "--enable-shared --enable-thread-safe-client --without-server"
|
|
|
|
# Save everything for debus
|
|
tar cf $RBR/all.tar .
|
|
|
|
# Save shared 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
|
|
|
|
BuildMySQL "--disable-shared" \
|
|
"--with-mysqld-ldflags='-all-static'" \
|
|
"--with-client-ldflags='-all-static'"
|
|
|
|
%install -n mysql-%{mysql_version}
|
|
RBR=$RPM_BUILD_ROOT
|
|
MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}
|
|
# Ensure that needed directories exists
|
|
install -d $RBR/etc/{logrotate.d,rc.d/init.d}
|
|
install -d $RBR/var/lib/mysql/mysql
|
|
install -d $RBR/usr/share/sql-bench
|
|
install -d $RBR/usr/share/mysql-test
|
|
install -d $RBR/usr/{sbin,share,man,include}
|
|
install -d $RBR/usr/doc/MySQL-%{mysql_version}
|
|
install -d $RBR/usr/lib
|
|
# Make install
|
|
make install DESTDIR=$RBR benchdir_root=/usr/share/
|
|
|
|
# Install shared libraries (Disable for architectures that don't support it)
|
|
(cd $RBR/usr/lib; tar xf $RBR/shared-libs.tar)
|
|
|
|
# Install logrotate and autostart
|
|
install -m644 $MBD/support-files/mysql-log-rotate $RBR/etc/logrotate.d/mysql
|
|
install -m755 $MBD/support-files/mysql.server $RBR/etc/rc.d/init.d/mysql
|
|
|
|
# Install docs
|
|
install -m644 $RPM_BUILD_DIR/mysql-%{mysql_version}/Docs/mysql.info \
|
|
$RBR/usr/info/mysql.info
|
|
for file in README COPYING COPYING.LIB Docs/manual_toc.html Docs/manual.html \
|
|
Docs/manual.txt Docs/manual.texi Docs/manual.ps \
|
|
support-files/my-huge.cnf support-files/my-large.cnf \
|
|
support-files/my-medium.cnf support-files/my-small.cnf
|
|
do
|
|
b=`basename $file`
|
|
install -m644 $MBD/$file $RBR/usr/doc/MySQL-%{mysql_version}/$b
|
|
done
|
|
|
|
%pre
|
|
if test -x /etc/rc.d/init.d/mysql
|
|
then
|
|
/etc/rc.d/init.d/mysql stop > /dev/null 2>&1
|
|
echo "Giving mysqld a couple of seconds to exit nicely"
|
|
sleep 5
|
|
fi
|
|
|
|
%post
|
|
mysql_datadir=/var/lib/mysql
|
|
|
|
# Create data directory if needed
|
|
if test ! -d $mysql_datadir; then mkdir $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.
|
|
/sbin/chkconfig --add mysql
|
|
|
|
# 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 -IN-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.
|
|
/etc/rc.d/init.d/mysql start
|
|
|
|
# Allow safe_mysqld to start mysqld and print a message before we exit
|
|
sleep 2
|
|
|
|
%preun
|
|
if test -x /etc/rc.d/init.d/mysql
|
|
then
|
|
/etc/rc.d/init.d/mysql stop > /dev/null
|
|
fi
|
|
# Remove autostart of mysql
|
|
if test $1 = 0
|
|
then
|
|
/sbin/chkconfig --del mysql
|
|
fi
|
|
# We do not remove the mysql user since it may still own a lot of
|
|
# database files.
|
|
|
|
%files
|
|
%attr(-, root, root) %doc /usr/doc/MySQL-%{mysql_version}/
|
|
|
|
%attr(755, root, root) /usr/bin/isamchk
|
|
%attr(755, root, root) /usr/bin/isamlog
|
|
%attr(755, root, root) /usr/bin/pack_isam
|
|
%attr(755, root, root) /usr/bin/myisamchk
|
|
%attr(755, root, root) /usr/bin/myisamlog
|
|
%attr(755, root, root) /usr/bin/myisampack
|
|
%attr(755, root, root) /usr/bin/mysql_fix_privilege_tables
|
|
%attr(755, root, root) /usr/bin/mysql_convert_table_format
|
|
%attr(755, root, root) /usr/bin/mysql_install_db
|
|
%attr(755, root, root) /usr/bin/mysql_setpermission
|
|
%attr(755, root, root) /usr/bin/mysql_zap
|
|
%attr(755, root, root) /usr/bin/mysqlbug
|
|
%attr(755, root, root) /usr/bin/mysqltest
|
|
%attr(755, root, root) /usr/bin/mysqlhotcopy
|
|
%attr(755, root, root) /usr/bin/perror
|
|
%attr(755, root, root) /usr/bin/replace
|
|
%attr(755, root, root) /usr/bin/resolveip
|
|
%attr(755, root, root) /usr/bin/safe_mysqld
|
|
%attr(755, root, root) /usr/bin/mysqld_multi
|
|
%attr(755, root, root) /usr/bin/my_print_defaults
|
|
|
|
%attr(644, root, root) /usr/info/mysql.info*
|
|
|
|
%attr(755, root, root) /usr/sbin/mysqld
|
|
|
|
%attr(644, root, root) /etc/logrotate.d/mysql
|
|
%attr(755, root, root) /etc/rc.d/init.d/mysql
|
|
|
|
%attr(755, root, root) /usr/share/mysql/
|
|
|
|
%files client
|
|
%attr(755, root, root) /usr/bin/msql2mysql
|
|
%attr(755, root, root) /usr/bin/mysql
|
|
%attr(755, root, root) /usr/bin/mysqlaccess
|
|
%attr(755, root, root) /usr/bin/mysqladmin
|
|
%attr(755, root, root) /usr/bin/mysql_find_rows
|
|
%attr(755, root, root) /usr/bin/mysqldump
|
|
%attr(755, root, root) /usr/bin/mysqlimport
|
|
%attr(755, root, root) /usr/bin/mysqlshow
|
|
%attr(755, root, root) /usr/bin/mysqlbinlog
|
|
|
|
%attr(644, root, man) %doc /usr/man/man1/mysql.1*
|
|
%attr(644, root, man) %doc /usr/man/man1/isamchk.1*
|
|
%attr(644, root, man) %doc /usr/man/man1/isamlog.1*
|
|
%attr(644, root, man) %doc /usr/man/man1/mysql_zap.1*
|
|
%attr(644, root, man) %doc /usr/man/man1/mysqlaccess.1*
|
|
%attr(644, root, man) %doc /usr/man/man1/mysqladmin.1*
|
|
%attr(644, root, man) %doc /usr/man/man1/mysqld.1*
|
|
%attr(644, root, man) %doc /usr/man/man1/mysqld_multi.1*
|
|
%attr(644, root, man) %doc /usr/man/man1/mysqldump.1*
|
|
%attr(644, root, man) %doc /usr/man/man1/mysqlshow.1*
|
|
%attr(644, root, man) %doc /usr/man/man1/perror.1*
|
|
%attr(644, root, man) %doc /usr/man/man1/replace.1*
|
|
%attr(644, root, man) %doc /usr/man/man1/safe_mysqld.1*
|
|
|
|
%post shared
|
|
/sbin/ldconfig
|
|
|
|
%postun shared
|
|
/sbin/ldconfig
|
|
|
|
%files devel
|
|
%attr(755, root, root) /usr/bin/comp_err
|
|
%attr(755, root, root) /usr/include/mysql/
|
|
%attr(755, root, root) /usr/lib/mysql/
|
|
%attr(755, root, root) /usr/bin/mysql_config
|
|
|
|
%files shared
|
|
# Shared libraries (omit for architectures that don't support them)
|
|
%attr(755, root, root) /usr/lib/*.so*
|
|
|
|
%files bench
|
|
%attr(-, root, root) /usr/share/sql-bench
|
|
%attr(-, root, root) /usr/share/mysql-test
|
|
|
|
%changelog
|
|
|
|
* 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.
|