]> git.pld-linux.org Git - packages/mysql.git/blobdiff - mysql.spec
- there is now mysql-client.conf which is always processed by mysql_init()
[packages/mysql.git] / mysql.spec
index 291026b8374b7ddcbde9e00417cad75d27c9f8c8..515ff261692c2326993bdf65ce962e020b3e10c7 100644 (file)
@@ -2,7 +2,6 @@
 # - 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'
 #
 # Conditional build:
 %bcond_with    bdb     # Berkeley DB support
@@ -11,6 +10,7 @@
 %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
@@ -24,7 +24,7 @@ Summary(zh_CN):       MySQL
 Name:          mysql
 Group:         Applications/Databases
 Version:       4.1.12
-Release:       0.1
+Release:       1.4
 License:       GPL + MySQL FLOSS Exception
 Source0:       http://mysql.dataphone.se/Downloads/MySQL-4.1/%{name}-%{version}.tar.gz
 # Source0-md5: 56a6f5cacd97ae290e07bbe19f279af1
@@ -40,6 +40,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,12 +48,11 @@ 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
+Patch7:                %{name}-align.patch
+Patch8:                %{name}-client-config.patch
 Icon:          mysql.gif
 URL:           http://www.mysql.com/
 #BuildRequires:        ORBit-devel
-BuildRequires: /bin/ps
 BuildRequires: autoconf
 BuildRequires: automake
 %{?with_bdb:BuildRequires:     db3-devel}
@@ -76,6 +76,7 @@ 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:      /usr/bin/setsid
 Provides:      MySQL-server
@@ -423,7 +424,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
@@ -436,6 +437,10 @@ Ten pakiet zawiera standardowego demona MySQL NDB CPC.
 # The compiler flags are as per their "official" spec ;)
 CXXFLAGS="%{rpmcflags} -felide-constructors -fno-rtti -fno-exceptions %{!?debug:-fomit-frame-pointer}"
 CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
+
+# NOTE: the PS, FIND_PROC, KILL, CHECK_PID are not used by PLD Linux
+# and therefore do not add BR on these. These are here just to satisfy
+# configure.
 %configure \
        PS='/bin/ps' \
        FIND_PROC='/bin/ps p $$PID' \
@@ -451,6 +456,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 \
@@ -458,25 +464,25 @@ 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-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
-#  cluster it wants)
+# cluster it wants)
 
 echo -e "all:\ninstall:\nclean:\nlink_sources:\n" > libmysqld/examples/Makefile
 
 %{__make} \
        benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench
 
-# workaround for missing files
-(cd Docs; touch Images/cluster-components-1.txt Images/multi-comp-1.txt errmsg-table.texi cl-errmsg-table.texi)
 %{__make} -C Docs mysql.info
 
 %install
@@ -520,6 +526,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
@@ -529,13 +536,40 @@ 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 mysqld's *.po files
-find . $RPM_BUILD_ROOT%{_datadir}/%{name} -name \*.txt | xargs -n 100 rm -f
+# 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
 
+# remove known unpackaged files
 rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
 
+# rename not to be so generic name
+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
+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}/{pre,post}install
+rm $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
+
+# in %doc
+rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf}
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -635,26 +669,33 @@ 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)
                config_file="$clusterdir/mysqld.conf"
        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
 
 %files
 %defattr(644,root,root,755)
+%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(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(755,root,root) %{_bindir}/isamchk
@@ -695,6 +736,7 @@ done
 %lang(hu) %{_datadir}/mysql/hungarian
 %lang(it) %{_datadir}/mysql/italian
 %lang(ja) %{_datadir}/mysql/japanese
+%lang(ja) %{_datadir}/mysql/japanese-sjis
 %lang(ko) %{_datadir}/mysql/korean
 %lang(nl) %{_datadir}/mysql/dutch
 %lang(nb) %{_datadir}/mysql/norwegian
@@ -714,6 +756,10 @@ done
 %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
 %{_mandir}/man1/perror.1*
 %{_mandir}/man1/replace.1*
 
@@ -726,6 +772,9 @@ done
 %attr(755,root,root) %{_bindir}/mysql_zap
 %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_tableinfo
 %{_mandir}/man1/mysql_zap.1*
 %{_mandir}/man1/mysqlaccess.1*
 
@@ -739,7 +788,6 @@ done
 %attr(755,root,root) %{_bindir}/mysqlshow
 %attr(755,root,root) %{_bindir}/mysqlbinlog
 %attr(755,root,root) %{_bindir}/mysqladmin
-%attr(755,root,root) %{_bindir}/mysqltest
 %{_mandir}/man1/mysql.1*
 %{_mandir}/man1/mysqladmin.1*
 %{_mandir}/man1/mysqldump.1*
@@ -749,11 +797,15 @@ done
 %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)
 %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
 %{_libdir}/lib*.la
 %{_libdir}/lib*[!tr].a
 %{_includedir}/mysql
@@ -764,13 +816,18 @@ 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/[bcgrst]*
-
-%files doc
-%defattr(644,root,root,755)
-%doc Docs/manual.html Docs/manual_toc.html
+%attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
+# wrong dir?
+%{_datadir}/mysql/mi_test_all.res
+%attr(755,root,root) %{_datadir}/mysql/mi_test_all
+
+#%files doc
+#%defattr(644,root,root,755)
+#%doc Docs/manual.html Docs/manual_toc.html
 
 %files ndb
 %defattr(644,root,root,755)
This page took 0.091488 seconds and 4 git commands to generate.