]> git.pld-linux.org Git - packages/mysql.git/blobdiff - mysql.spec
- fill_help_tables.sql moved to datadir and moved to init; rel 4
[packages/mysql.git] / mysql.spec
index d3ece3bf3e368c84b722c2e9afa8eed6e5d209d4..c6afbe074ec7a49573e079abb54ac6e51e675596 100644 (file)
@@ -1,33 +1,33 @@
 # TODO:
-# - trigger that prepares system from pre-cluster into cluster
-# - trigger /etc/mysqld.conf into /etc/mysql/mysqld.conf. Solve possible
-#   conflict with /var/lib/mysql/mysqld.conf
+# - C(XX)FLAGS for innodb subdirs are overriden by ./configure!
+# - http://bugs.mysql.com/bug.php?id=16470
 #
 # Conditional build:
-%bcond_with    bdb     # Berkeley DB support
-%bcond_without innodb  # Without InnoDB support
-%bcond_without raid    # Without raid
-%bcond_without ssl     # Without OpenSSL
-%bcond_without tcpd    # Without libwrap (tcp_wrappers) support
-%bcond_with    big_tables      # enable '--with-big-tables', some performance loss on 32bit arch,
-                               # but can do >= 4GB database tables.
+%bcond_with    bdb             # Berkeley DB support
+%bcond_without innodb          # Without InnoDB support
+%bcond_without raid            # Without raid
+%bcond_without ssl             # Without OpenSSL
+%bcond_without tcpd            # Without libwrap (tcp_wrappers) support
+%bcond_without big_tables      # Support tables with more than 4G rows even on 32 bit platforms
 #
 %include       /usr/lib/rpm/macros.perl
+#define        _snap   20060111
 Summary:       MySQL: a very fast and reliable SQL database engine
+Summary(de):   MySQL: ist eine SQL-Datenbank
 Summary(fr):   MySQL: un serveur SQL rapide et fiable
 Summary(pl):   MySQL: bardzo szybka i niezawodna baza danych (SQL)
-Summary(de):   MySQL: ist eine SQL-Datenbank
 Summary(pt_BR):        MySQL: Um servidor SQL rápido e confiável
 Summary(ru):   MySQL - ÂÙÓÔÒÙÊ SQL-ÓÅÒ×ÅÒ
 Summary(uk):   MySQL - Û×ÉÄËÉÊ SQL-ÓÅÒ×ÅÒ
 Summary(zh_CN):        MySQLÊý¾Ý¿â·þÎñÆ÷
 Name:          mysql
-Group:         Applications/Databases
-Version:       5.0.15
-Release:       3
+Version:       5.0.24a
+Release:       4
 License:       GPL + MySQL FLOSS Exception
-Source0:       http://sunsite.icm.edu.pl/mysql/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
-# Source0-md5: b19e03de0ec348552b4bfac2e215f335
+Group:         Applications/Databases
+Source0:       http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
+# Source0-md5: 6b07546389f75c52611adb7af38c3667
+#Source0:      http://downloads.mysql.com/snapshots/mysql-5.0/%{name}-%{version}-nightly-%{_snap}.tar.gz
 Source1:       %{name}.init
 Source2:       %{name}.sysconfig
 Source3:       %{name}.logrotate
@@ -42,7 +42,7 @@ Source11:     %{name}-ndb-cpc.init
 Source12:      %{name}-ndb-cpc.sysconfig
 Source13:      %{name}-client.conf
 Patch0:                %{name}-libs.patch
-Patch1:                %{name}-libwrap.patch
+
 Patch2:                %{name}-c++.patch
 Patch3:                %{name}-info.patch
 Patch4:                %{name}-sql-cxx-pic.patch
@@ -52,7 +52,9 @@ Patch7:               %{name}-align.patch
 Patch8:                %{name}-client-config.patch
 Patch9:                %{name}-build.patch
 Patch10:       %{name}-alpha.patch
-Icon:          mysql.gif
+Patch11:       %{name}-ndb-ldflags.patch
+Patch12:       %{name}-bug-20153.patch
+Patch13:       %{name}-test_bug17667.patch
 URL:           http://www.mysql.com/
 BuildRequires: autoconf
 BuildRequires: automake
@@ -66,20 +68,21 @@ BuildRequires:      perl-DBI
 BuildRequires: perl-devel >= 1:5.6.1
 BuildRequires: readline-devel >= 4.2
 BuildRequires: rpm-perlprov >= 4.1-13
-BuildRequires: rpmbuild(macros) >= 1.228
+BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: sed >= 4.0
 BuildRequires: texinfo
 BuildRequires: zlib-devel
-Requires:      rc-scripts >= 0.2.0
-Requires(pre): /usr/bin/getgid
+Requires(post,preun):  /sbin/chkconfig
+Requires(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
 Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
-Requires(postun):      /usr/sbin/userdel
-Requires(postun):      /usr/sbin/groupdel
-Requires(post,preun):  /sbin/chkconfig
 Requires(triggerpostun):       sed >= 4.0
-Requires:      %{name}-libs = %{version}-%{release}
+Requires:      %{name}-charsets = %{version}-%{release}
 Requires:      /usr/bin/setsid
+Requires:      rc-scripts >= 0.2.0
 Provides:      MySQL-server
 Provides:      group(mysql)
 Provides:      msqlormysql
@@ -93,6 +96,8 @@ BuildRoot:    %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                _mysqlhome      /home/services/mysql
 
 %define                _noautoreqdep   'perl(DBD::mysql)'
+# CFLAGS for innodb are altered
+%undefine      configure_cache
 
 %description
 MySQL is a true multi-user, multi-threaded SQL (Structured Query
@@ -195,6 +200,19 @@ MySQL - 
 ÄÉÓÔÒÉÂÕÔÉצ ÄÌÑ ¦ÎÆÏÒÍÁ槠ÐÒÏ ¦ÎÛÉÈ ÕÞÁÓÎÉ˦נÐÒÏÅËÔÕ ÔÁ ¦ÎÛϧ
 ¦ÎÆÏÒÍÁæ§.
 
+%package charsets
+Summary:       MySQL - character sets definitions
+Summary(pl):   MySQL - definicje kodowañ znaków
+Group:         Applications/Databases
+
+%description charsets
+This package contains character sets definitions needed by both client
+and server.
+
+%description charsets -l pl
+Ten pakiet zawiera definicje kodowañ znaków potrzebne dla serwera i
+klienta.
+
 %package extras
 Summary:       MySQL additional utilities
 Summary(pl):   Dodatkowe narzêdzia do MySQL
@@ -229,6 +247,7 @@ Summary(pt):        MySQL - Cliente
 Summary(ru):   MySQL ËÌÉÅÎÔ
 Summary(uk):   MySQL Ë̦¤ÎÔ
 Group:         Applications/Databases
+Requires:      %{name}-charsets = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
 Obsoletes:     MySQL-client
 
@@ -253,7 +272,7 @@ Este pacote cont
 %package libs
 Summary:       Shared libraries for MySQL
 Summary(pl):   Biblioteki dzielone MySQL
-Group:         Applications/Databases
+Group:         Libraries
 Obsoletes:     libmysql10
 Obsoletes:     mysql-doc < 4.1.12
 
@@ -413,9 +432,9 @@ This package contains the standard MySQL NDB CPC Daemon.
 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
 
 %prep
-%setup -q
+%setup -q %{?_snap:-n %{name}-%{version}-nightly-%{_snap}}
 %patch0 -p1
-%{?with_tcpd:%patch1 -p1}
+
 %patch2 -p1
 %patch3 -p1
 %ifarch alpha
@@ -423,6 +442,7 @@ Ten pakiet zawiera standardowego demona MySQL NDB CPC.
 # so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables
 # in objects compiled without -fPIC
 %patch4 -p1
+# gcc 3.3.x ICE
 %patch10 -p1
 %endif
 %patch5 -p1
@@ -430,8 +450,9 @@ Ten pakiet zawiera standardowego demona MySQL NDB CPC.
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
-
-%{__perl} -pi -e 's@(ndb_bin_am_ldflags)="-static"@$1=""@' configure.in
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
 
 %build
 %{__libtoolize}
@@ -453,6 +474,7 @@ CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
        KILL='/bin/kill' \
        CHECK_PID='/bin/kill -0 $$PID' \
        --enable-assembler \
+       --enable-largefile=yes \
        --enable-shared \
        --enable-static \
        --enable-thread-safe-client \
@@ -464,6 +486,7 @@ CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
        %{?with_big_tables:--with-big-tables} \
        --with-comment="PLD Linux Distribution MySQL RPM" \
        --with%{!?debug:out}-debug \
+       --with%{!?debug:out}-ndb-debug \
        --with-embedded-server \
        --with-extra-charsets=all \
        --with-low-memory \
@@ -541,12 +564,11 @@ install %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
 install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
-
 # remove .txt variants for .sys messages
 rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/*/*.txt
 
 mv -f $RPM_BUILD_ROOT%{_libdir}/mysql/lib* $RPM_BUILD_ROOT%{_libdir}
-%{__perl} -pi -e 's,%{_libdir}/mysql,%{_libdir},;' $RPM_BUILD_ROOT%{_libdir}/libmysqlclient.la
+sed -i -e 's,%{_libdir}/mysql,%{_libdir},' $RPM_BUILD_ROOT{%{_libdir}/libmysqlclient{,_r}.la,%{_bindir}/mysql_config}
 
 # remove known unpackaged files
 rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
@@ -555,17 +577,27 @@ rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}comp_err
 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
 
+# not useful without -debug build
+%{!?debug:rm -f $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
+# generate symbols file, so one can generate backtrace using it
+# mysql_resolve_stack_dump -s %{_datadir}/mysql/mysqld.sym -n mysqld.stack.
+# http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
+%{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.sym}
+
 # functionality in initscript / rpm
 rm $RPM_BUILD_ROOT%{_bindir}/mysql_create_system_tables
 rm $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
-rm $RPM_BUILD_ROOT%{_datadir}/%{name}/fill_help_tables.sql
 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate
 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
+rm $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg.txt
 rm $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
+rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
+rm $RPM_BUILD_ROOT%{_mandir}/man1/safe_mysqld*
+rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
 
 # in %doc
 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf}
@@ -580,16 +612,7 @@ rm -rf $RPM_BUILD_ROOT
 %post
 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
 /sbin/chkconfig --add mysql
-
-if [ "$1" = 1 ]; then
-       %banner -e %{name}-4.1.x <<-EOF
-       If you want to use new help tables in mysql 4.1.x then you'll need to import the help data:
-       zcat %{_docdir}/%{name}-%{version}/fill_help_tables.sql.gz | mysql mysql
-EOF
-#'
-fi
-
-%service mysql restart || :
+%service mysql restart
 
 %preun
 if [ "$1" = "0" ]; then
@@ -606,50 +629,32 @@ fi
 
 %post ndb
 /sbin/chkconfig --add mysql-ndb
-if [ -f /var/lock/subsys/mysql-ndb ]; then
-        /etc/rc.d/init.d/mysql-ndb restart >&2
-else
-        echo "Run \"/etc/rc.d/init.d/mysql-ndb start\" to start mysql NDB engine." >&2
-fi
+%service mysql-ndb restart "mysql NDB engine"
 
 %preun ndb
 if [ "$1" = "0" ]; then
-        if [ -f /var/lock/subsys/mysql-ndb ]; then
-                /etc/rc.d/init.d/mysql-ndb stop
-        fi
-        /sbin/chkconfig --del mysql-ndb
+       %service mysql-ndb stop
+       /sbin/chkconfig --del mysql-ndb
 fi
 
 %post ndb-mgm
 /sbin/chkconfig --add mysql-ndb-mgm
-if [ -f /var/lock/subsys/mysql-ndb-mgm ]; then
-        /etc/rc.d/init.d/mysql-ndb-mgm restart >&2
-else
-        echo "Run \"/etc/rc.d/init.d/mysql-ndb-mgm start\" to start mysql NDB management node." >&2
-fi
+%service mysql-ndb-mgm restart "mysql NDB management node"
 
 %preun ndb-mgm
 if [ "$1" = "0" ]; then
-        if [ -f /var/lock/subsys/mysql-ndb-mgm ]; then
-                /etc/rc.d/init.d/mysql-ndb-mgm stop
-        fi
-        /sbin/chkconfig --del mysql-ndb-mgm
+       %service mysql-ndb-mgm stop
+       /sbin/chkconfig --del mysql-ndb-mgm
 fi
 
 %post ndb-cpc
 /sbin/chkconfig --add mysql-ndb-cpc
-if [ -f /var/lock/subsys/mysql-ndb-cpc ]; then
-        /etc/rc.d/init.d/mysql-ndb-cpc restart >&2
-else
-        echo "Run \"/etc/rc.d/init.d/mysql-ndb-cpc start\" to start mysql NDB CPC." >&2
-fi
+%service mysql-ndb-cpc restart "mysql NDB CPC"
 
 %preun ndb-cpc
 if [ "$1" = "0" ]; then
-        if [ -f /var/lock/subsys/mysql-ndb-cpc ]; then
-                /etc/rc.d/init.d/mysql-ndb-cpc stop
-        fi
-        /sbin/chkconfig --del mysql-ndb-cpc
+       %service mysql-ndb-cpc stop
+       /sbin/chkconfig --del mysql-ndb-cpc
 fi
 
 %post   libs -p /sbin/ldconfig
@@ -704,28 +709,34 @@ for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do
 done
 
 %banner -e %{name}-4.1.x <<-EOF
-       If you want to use new help tables in mysql 4.1.x then you'll need to import the help data:
-       zcat %{_docdir}/%{name}-%{version}/fill_help_tables.sql.gz | mysql mysql
+       If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data:
+       mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql
 EOF
 #'
 
 %files
 %defattr(644,root,root,755)
-%doc support-files/*.cnf support-files/*.ini scripts/fill_help_tables.sql
+%doc support-files/*.cnf support-files/*.ini
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/mysql
 %attr(754,root,root) /etc/rc.d/init.d/mysql
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql
 %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/clusters.conf
-%attr(750,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/monit/*.monitrc
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/monit/*.monitrc
 %attr(755,root,root) %{_bindir}/innochecksum
 %attr(755,root,root) %{_bindir}/myisamchk
 %attr(755,root,root) %{_bindir}/myisamlog
 %attr(755,root,root) %{_bindir}/myisampack
 %attr(755,root,root) %{_bindir}/mysql_fix_privilege_tables
 %attr(755,root,root) %{_bindir}/my_print_defaults
+%attr(755,root,root) %{_bindir}/mysql_upgrade
+%attr(755,root,root) %{_bindir}/mysql_upgrade_shell
 %attr(755,root,root) %{_sbindir}/mysqld
 %{_mandir}/man1/mysql_fix_privilege_tables.1*
 %{_mandir}/man1/mysqld.1*
+%{_mandir}/man1/myisamchk.1*
+%{_mandir}/man1/myisamlog.1*
+%{_mandir}/man1/myisampack.1*
+%{_mandir}/man1/mysql_upgrade.1*
 
 %attr(700,mysql,mysql) %{_mysqlhome}
 # root:root is proper here for AC mysql.rpm while mysql:mysql is potential security hole
@@ -735,11 +746,10 @@ EOF
 %attr(640,mysql,mysql) %ghost /var/log/mysql/*
 
 %{_infodir}/mysql.info*
-%dir %{_datadir}/mysql
 # This is template for configuration file which is created after 'service mysql init'
 %{_datadir}/mysql/mysqld.conf
-%{_datadir}/mysql/charsets
 %{_datadir}/mysql/english
+%{_datadir}/mysql/fill_help_tables.sql
 %{_datadir}/mysql/mysql_fix_privilege_tables.sql
 %lang(cs) %{_datadir}/mysql/czech
 %lang(da) %{_datadir}/mysql/danish
@@ -764,33 +774,43 @@ EOF
 %lang(sv) %{_datadir}/mysql/swedish
 %lang(uk) %{_datadir}/mysql/ukrainian
 
+%files charsets
+%defattr(644,root,root,755)
+%dir %{_datadir}/mysql
+%{_datadir}/mysql/charsets
+
 %files extras
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/msql2mysql
-%attr(755,root,root) %{_bindir}/perror
-%attr(755,root,root) %{_bindir}/replace
-%attr(755,root,root) %{_bindir}/resolveip
 %attr(755,root,root) %{_bindir}/myisam_ftdump
 %attr(755,root,root) %{_bindir}/mysql_secure_installation
 %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql
 %attr(755,root,root) %{_bindir}/mysqlcheck
+%attr(755,root,root) %{_bindir}/perror
+%attr(755,root,root) %{_bindir}/replace
+%attr(755,root,root) %{_bindir}/resolveip
+%{_mandir}/man1/msql2mysql.1*
+%{_mandir}/man1/myisam_ftdump.1*
+%{_mandir}/man1/mysqlcheck.1*
 %{_mandir}/man1/perror.1*
 %{_mandir}/man1/replace.1*
 
 %files extras-perl
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/mysql_convert_table_format
-%attr(755,root,root) %{_bindir}/mysqldumpslow
-%attr(755,root,root) %{_bindir}/mysqlhotcopy
-%attr(755,root,root) %{_bindir}/mysql_setpermission
-%attr(755,root,root) %{_bindir}/mysql_zap
+%attr(755,root,root) %{_bindir}/mysql_explain_log
 %attr(755,root,root) %{_bindir}/mysql_find_rows
-%attr(755,root,root) %{_bindir}/mysqlaccess
 %attr(755,root,root) %{_bindir}/mysql_fix_extensions
-%attr(755,root,root) %{_bindir}/mysql_explain_log
+%attr(755,root,root) %{_bindir}/mysql_setpermission
 %attr(755,root,root) %{_bindir}/mysql_tableinfo
+%attr(755,root,root) %{_bindir}/mysql_zap
+%attr(755,root,root) %{_bindir}/mysqlaccess
+%attr(755,root,root) %{_bindir}/mysqldumpslow
+%attr(755,root,root) %{_bindir}/mysqlhotcopy
+%{_mandir}/man1/mysql_explain_log.1*
 %{_mandir}/man1/mysql_zap.1*
 %{_mandir}/man1/mysqlaccess.1*
+%{_mandir}/man1/mysqlhotcopy.1*
 
 %files client
 %defattr(644,root,root,755)
@@ -807,23 +827,28 @@ EOF
 %{_mandir}/man1/mysqladmin.1*
 %{_mandir}/man1/mysqldump.1*
 %{_mandir}/man1/mysqlshow.1*
+%{_mandir}/man1/mysqlmanager.1*
+%{_mandir}/man1/mysqlbinlog.1*
+%{_mandir}/man1/mysqlimport.1*
 
 %files libs
 %defattr(644,root,root,755)
 %doc EXCEPTIONS-CLIENT
 %attr(755,root,root) %{_libdir}/lib*.so.*.*
 %attr(751,root,root) %dir %{_sysconfdir}/mysql
-%attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/mysql-client.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/mysql-client.conf
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/mysql_config
 %attr(755,root,root) %{_libdir}/lib*.so
 %attr(755,root,root) %{_bindir}/*comp_err
-%attr(755,root,root) %{_bindir}/*resolve_stack_dump
+%{?debug:%attr(755,root,root) %{_bindir}/*resolve_stack_dump}
+%{?debug:%{_datadir}/mysql/mysqld.sym}
 %{_libdir}/lib*.la
 %{_libdir}/lib*[!tr].a
 %{_includedir}/mysql
+%{_mandir}/man1/mysql_config.1*
 
 %files static
 %defattr(644,root,root,755)
@@ -853,6 +878,7 @@ EOF
 %files ndb-client
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/ndb_*
+%attr(755,root,root) %{_datadir}/mysql/ndb_size.tmpl
 
 %files ndb-mgm
 %defattr(644,root,root,755)
This page took 0.132178 seconds and 4 git commands to generate.