mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
833f353e34
Added some alias to SHOW commands Prepare for dynamic changing of MySQL variables man/Makefile.am: Changed safe_mysqld -> mysqld_safe man/isamchk.1: Changed safe_mysqld -> mysqld_safe man/isamlog.1: Changed safe_mysqld -> mysqld_safe man/mysql.1: Changed safe_mysqld -> mysqld_safe man/mysql_zap.1: Changed safe_mysqld -> mysqld_safe man/mysqlaccess.1: Changed safe_mysqld -> mysqld_safe man/mysqladmin.1: Changed safe_mysqld -> mysqld_safe man/mysqld.1: Changed safe_mysqld -> mysqld_safe man/mysqld_multi.1: Changed safe_mysqld -> mysqld_safe man/mysqld_safe.1: Changed safe_mysqld -> mysqld_safe man/mysqldump.1: Changed safe_mysqld -> mysqld_safe man/mysqlshow.1: Changed safe_mysqld -> mysqld_safe man/perror.1: Changed safe_mysqld -> mysqld_safe man/replace.1: Changed safe_mysqld -> mysqld_safe man/which.2: Changed safe_mysqld -> mysqld_safe myisam/mi_search.c: Fixed bug when using packed keys. scripts/Makefile.am: Changed safe_mysqld -> mysqld_safe scripts/make_binary_distribution.sh: Changed safe_mysqld -> mysqld_safe scripts/mysql_install_db.sh: Changed safe_mysqld -> mysqld_safe scripts/mysqld_multi.sh: Changed safe_mysqld -> mysqld_safe scripts/mysqld_safe-watch.sh: Changed safe_mysqld -> mysqld_safe scripts/mysqld_safe.sh: Changed safe_mysqld -> mysqld_safe sql/lex.h: Addex SHOW INDEXES as an alias for SHOW INDEX sql/sql_class.cc: Prepare for dynamic changing of MySQL variables sql/sql_lex.h: Prepare for dynamic changing of MySQL variables sql/sql_yacc.yy: Some changes to SHOW commands. support-files/binary-configure.sh: Changed safe_mysqld -> mysqld_safe support-files/mysql-max.spec.sh: Changed safe_mysqld -> mysqld_safe support-files/mysql-multi.server.sh: Changed safe_mysqld -> mysqld_safe support-files/mysql.server.sh: Changed safe_mysqld -> mysqld_safe support-files/mysql.spec.sh: Changed safe_mysqld -> mysqld_safe
263 lines
8.9 KiB
Bash
263 lines
8.9 KiB
Bash
%define mysql_version @VERSION@
|
|
%define shared_lib_version @SHARED_LIB_VERSION@
|
|
%define release 2
|
|
%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>, Monty <monty@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-max
|
|
|
|
# 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.
|
|
|
|
The MySQL-max version differs from the normal MySQL server distribution
|
|
in that the BDB and Innobase table handlers are enabled by default.
|
|
You can use any normal MySQL client with the MySQL-max server.
|
|
|
|
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.
|
|
|
|
%prep
|
|
%setup -n mysql-max-%{mysql_version}
|
|
# %setup -T -D -a 1 -n mysql-max-%{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 -fno-omit-frame-pointer}\" \
|
|
CXX=\"${MYSQL_BUILD_CXX:-egcs}\" \
|
|
CXXFLAGS=\"${MYSQL_BUILD_CXXFLAGS:- -O6 \
|
|
-felide-constructors -fno-exceptions -fno-rtti \
|
|
-fno-omit-frame-pointer}\" \
|
|
./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 \
|
|
--with-berkeley-db \
|
|
--with-innodb \
|
|
--with-comment=\"Official MySQL-Max RPM\";
|
|
# Add this for more debugging support
|
|
# --with-debug
|
|
# Add this for MyISAM RAID support:
|
|
# --with-raid
|
|
"
|
|
make
|
|
}
|
|
|
|
# Use the build root for temporary storage of the shared libraries.
|
|
|
|
RBR=$RPM_BUILD_ROOT
|
|
MBD=$RPM_BUILD_DIR/mysql-max-%{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
|
|
|
|
#cd $MBD/db-%{db_version}/dist
|
|
#./configure --prefix=$RBR/usr/BDB
|
|
#make install
|
|
#
|
|
#echo $RBR $MBD
|
|
#cd $MBD
|
|
|
|
BuildMySQL "--disable-shared" \
|
|
"--with-mysqld-ldflags='-all-static'" \
|
|
"--with-client-ldflags='-all-static'"
|
|
|
|
%install -n mysql-max-%{mysql_version}
|
|
RBR=$RPM_BUILD_ROOT
|
|
MBD=$RPM_BUILD_DIR/mysql-max-%{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 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-max-%{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 mysqld_safe 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/mysqld_safe
|
|
%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/
|
|
|
|
%changelog
|
|
|
|
* Fri Apr 13 2001 Monty
|
|
First version of mysql-max.spec.sh based on mysql.spec.sh
|