]> git.pld-linux.org Git - packages/mysql.git/blobdiff - mysql.spec
- rel 2
[packages/mysql.git] / mysql.spec
index a5b0bedc8c4dcbf72ffb3f73d21d8aa0eed2dccb..e65cb4d30f520c1cab445fa12502365de153f223 100644 (file)
@@ -2,32 +2,33 @@
 # - 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
-# - what's the libwrapper constistent bcond name? I see in specs 'libwrap', 'tcpd', 'tcp_wrappers'
+# - package man1/mysqlman.1, and make programs without manpage '.so mysqlman'
 #
 # Conditional build:
-%bcond_with    bdb     # Berkeley DB support
-%bcond_without innodb  # Without InnoDB support
-%bcond_without isam    # Without ISAM table format (used in mysql 3.22)
-%bcond_without raid    # Without raid
-%bcond_without ssl     # Without OpenSSL
-%bcond_without tcpd    # Without libwrap (tcp_wrappers) support
+%bcond_with    bdb             # Berkeley DB support
+%bcond_without innodb          # Without InnoDB support
+%bcond_without isam            # Without ISAM table format (used in mysql 3.22)
+%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.
 #
 %include       /usr/lib/rpm/macros.perl
 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:       4.1.12
-Release:       0.2
+Version:       4.1.20
+Release:       2
 License:       GPL + MySQL FLOSS Exception
+Group:         Applications/Databases
 Source0:       http://mysql.dataphone.se/Downloads/MySQL-4.1/%{name}-%{version}.tar.gz
-# Source0-md5: 56a6f5cacd97ae290e07bbe19f279af1
+# Source0-md5: a1dc5375f6580db5073d542200a9ad5b
 Source1:       %{name}.init
 Source2:       %{name}.sysconfig
 Source3:       %{name}.logrotate
@@ -40,6 +41,7 @@ Source9:      %{name}-ndb-mgm.init
 Source10:      %{name}-ndb-mgm.sysconfig
 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
@@ -47,9 +49,8 @@ Patch3:               %{name}-info.patch
 Patch4:                %{name}-sql-cxx-pic.patch
 Patch5:                %{name}-noproc.patch
 Patch6:                %{name}-fix_privilege_tables.patch
-#Patch7:               %{name}-nptl.patch
-Patch8:                %{name}-align.patch
-Icon:          mysql.gif
+Patch7:                %{name}-align.patch
+Patch8:                %{name}-client-config.patch
 URL:           http://www.mysql.com/
 #BuildRequires:        ORBit-devel
 BuildRequires: autoconf
@@ -64,19 +65,19 @@ 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.202
+BuildRequires: rpmbuild(macros) >= 1.228
 BuildRequires: texinfo
 BuildRequires: zlib-devel
-PreReq:                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:      %{name}-libs = %{version}-%{release}
+Requires(triggerpostun):       sed >= 4.0
 Requires:      /usr/bin/setsid
+Requires:      rc-scripts >= 0.2.0
 Provides:      MySQL-server
 Provides:      group(mysql)
 Provides:      msqlormysql
@@ -91,6 +92,9 @@ BuildRoot:    %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _noautoreqdep   'perl(DBD::mysql)'
 
+# innodb confcache has different CFLAGS
+%undefine      configure_cache
+
 %description
 MySQL is a true multi-user, multi-threaded SQL (Structured Query
 Language) database server. SQL is the most popular database language
@@ -252,6 +256,7 @@ Summary:    Shared libraries for MySQL
 Summary(pl):   Biblioteki dzielone MySQL
 Group:         Applications/Databases
 Obsoletes:     libmysql10
+Obsoletes:     mysql-doc < 4.1.12
 
 %description libs
 Shared libraries for MySQL.
@@ -422,7 +427,7 @@ Ten pakiet zawiera standardowego demona MySQL NDB CPC.
 %endif
 %patch5 -p1
 %patch6 -p1
-#%patch7 -p1
+%patch7 -p1
 %patch8 -p1
 
 %{__perl} -pi -e 's@(ndb_bin_am_ldflags)="-static"@$1=""@' configure.in
@@ -454,6 +459,7 @@ CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
        --with%{!?with_raid:out}-raid \
        --with%{!?with_ssl:out}-openssl \
        --with%{!?with_tcpd:out}-libwrap \
+       %{?with_big_tables:--with-big-tables} \
        --with-comment="PLD Linux Distribution MySQL RPM" \
        --with%{!?debug:out}-debug \
        --with-embedded-server \
@@ -461,13 +467,16 @@ CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
        --with-low-memory \
        --with-mysqld-user=mysql \
        --with-named-curses-libs="-lncurses" \
-       --with-named-thread-libs="-lpthread" --with-pthread \
+       --with-named-thread-libs="-lpthread" \
        --with-unix-socket-path=/var/lib/mysql/mysql.sock \
+       --with-archive-storage-engine \
        --with-vio \
        --with-ndbcluster \
        --without-readline \
+       --without-libedit \
        --without-docs
 #      --with-mysqlfs
+#      --with-ndb-test --with-ndb-docs
 
 # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file
 # (it defaults to first cluster but user may change it to whatever
@@ -521,6 +530,7 @@ touch $RPM_BUILD_ROOT/var/log/mysql/{err,log,update,isamlog.log}
 %endif
 
 install mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.conf
+install %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/mysql-client.conf
 
 # NDB
 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
@@ -543,12 +553,6 @@ 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 our OS
-rm $RPM_BUILD_ROOT%{_bindir}/make_win_*_distribution
-rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.plist
-# unuseful stuff
-rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.spec
-
 # functionality in initscript / rpm
 rm $RPM_BUILD_ROOT%{_bindir}/mysql_create_system_tables
 rm $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
@@ -558,14 +562,15 @@ 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}/{pre,post}install
+rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
 rm $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
+rm $RPM_BUILD_ROOT%{_mandir}/man1/{mysql.server,safe_mysqld}*
 
 # in %doc
 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf}
 
 %clean
-#rm -rf $RPM_BUILD_ROOT
+rm -rf $RPM_BUILD_ROOT
 
 %pre
 %groupadd -g 89 mysql
@@ -574,17 +579,20 @@ rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf}
 %post
 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
 /sbin/chkconfig --add mysql
-if [ -f /var/lock/subsys/mysql ]; then
-       /etc/rc.d/init.d/mysql restart >&2
-else
-       echo "Run \"/etc/rc.d/init.d/mysql start\" to start mysql." >&2
+
+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 || :
+
 %preun
 if [ "$1" = "0" ]; then
-       if [ -f /var/lock/subsys/mysql ]; then
-               /etc/rc.d/init.d/mysql stop
-       fi
+       %service -q mysql stop
        /sbin/chkconfig --del mysql
 fi
 
@@ -663,29 +671,51 @@ fi
 
 %triggerpostun -- mysql <= 4.1.1
 # For better compatibility with prevoius versions:
-for config in `grep -v "^#" /etc/mysql/clusters.conf | cut -d"=" -f 1`; do
+for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do
        if echo "$config" | grep -q '^/'; then
                config_file="$config"
        elif [ -f "/etc/mysql/$config" ]; then
                config_file=/etc/mysql/$config
        else
+               clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/mysql/clusters.conf)
+               if [ -z "$clusterdir" ]; then
+                       echo >&2 "Can't find cluster dir for $config!"
+                       echo >&2 "Please remove extra (leading) spaces from /etc/mysql/clusters.conf"
+                       exit 1
+               fi
                config_file="$clusterdir/mysqld.conf"
        fi
+
+       if [ ! -f "$config_file" ]; then
+                       echo >&2 "Lost myself! Please report this (with above errors, if any) to http://bugs.pld-linux.org/"
+                       exit 1
+       fi
        echo "Adding option old-passwords to config: $config_file"
        echo "If you want to use new, better passwords - remove it"
-       echo "# Compatibility options:" >> $config_file
-       echo "old-passwords" >> $config_file
+
+       # sed magic to add 'old-passwords' to [mysqld] section
+       sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
+               a
+               a; Compatibility options:
+               aold-passwords
+       }
+       ' $config_file
 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
+EOF
+#'
+
 %files
 %defattr(644,root,root,755)
-%doc support-files/*.cnf support-files/*.ini
+%doc support-files/*.cnf support-files/*.ini scripts/fill_help_tables.sql
 %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(751,root,root) %dir %{_sysconfdir}/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}/isamchk
 %attr(755,root,root) %{_bindir}/isamlog
 %attr(755,root,root) %{_bindir}/myisamchk
@@ -699,13 +729,17 @@ done
 %{_mandir}/man1/isamlog.1*
 %{_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/pack_isam.1*
 
 %attr(700,mysql,mysql) %{_mysqlhome}
 # root:root is proper here for AC mysql.rpm while mysql:mysql is potential security hole
 %attr(751,root,root) /var/lib/mysql
 %attr(750,mysql,mysql) %dir /var/log/mysql
 %attr(750,mysql,mysql) %dir /var/log/archiv/mysql
-%attr(640,mysql,mysql) %config(noreplace) %verify(not md5 mtime size) /var/log/mysql/*
+%attr(640,mysql,mysql) %ghost /var/log/mysql/*
 
 %{_infodir}/mysql.info*
 %dir %{_datadir}/mysql
@@ -724,7 +758,7 @@ done
 %lang(hu) %{_datadir}/mysql/hungarian
 %lang(it) %{_datadir}/mysql/italian
 %lang(ja) %{_datadir}/mysql/japanese
-%lang(ja_JP.SJIS) %{_datadir}/mysql/japanese-sjis
+%lang(ja) %{_datadir}/mysql/japanese-sjis
 %lang(ko) %{_datadir}/mysql/korean
 %lang(nl) %{_datadir}/mysql/dutch
 %lang(nb) %{_datadir}/mysql/norwegian
@@ -747,10 +781,12 @@ done
 %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}/mysql_client_test
 %attr(755,root,root) %{_bindir}/mysqlcheck
 %{_mandir}/man1/perror.1*
 %{_mandir}/man1/replace.1*
+%{_mandir}/man1/msql2mysql*
+%{_mandir}/man1/myisam_ftdump.1*
+%{_mandir}/man1/mysqlcheck.1*
 
 %files extras-perl
 %defattr(644,root,root,755)
@@ -766,6 +802,7 @@ done
 %attr(755,root,root) %{_bindir}/mysql_tableinfo
 %{_mandir}/man1/mysql_zap.1*
 %{_mandir}/man1/mysqlaccess.1*
+%{_mandir}/man1/mysqlhotcopy.1*
 
 %files client
 %defattr(644,root,root,755)
@@ -781,11 +818,15 @@ done
 %{_mandir}/man1/mysqladmin.1*
 %{_mandir}/man1/mysqldump.1*
 %{_mandir}/man1/mysqlshow.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
 
 %files devel
 %defattr(644,root,root,755)
@@ -796,6 +837,7 @@ done
 %{_libdir}/lib*.la
 %{_libdir}/lib*[!tr].a
 %{_includedir}/mysql
+%{_mandir}/man1/mysql_config.1*
 
 %files static
 %defattr(644,root,root,755)
@@ -804,6 +846,7 @@ done
 %files bench
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/mysqltest
+%attr(755,root,root) %{_bindir}/mysql_client_test
 %dir %{_datadir}/sql-bench
 %{_datadir}/sql-bench/[CDRl]*
 %attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
@@ -824,6 +867,7 @@ done
 %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.03815 seconds and 4 git commands to generate.