# - 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
+# - 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 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 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: 1.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
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
Patch5: %{name}-noproc.patch
Patch6: %{name}-fix_privilege_tables.patch
Patch7: %{name}-align.patch
-Icon: mysql.gif
+Patch8: %{name}-client-config.patch
URL: http://www.mysql.com/
#BuildRequires: ORBit-devel
BuildRequires: autoconf
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(triggerpostun): sed >= 4.0
-Requires: %{name}-libs = %{version}-%{release}
Requires: /usr/bin/setsid
+Requires: rc-scripts >= 0.2.0
Provides: MySQL-server
Provides: group(mysql)
Provides: msqlormysql
%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
Summary(pl): Biblioteki dzielone MySQL
Group: Applications/Databases
Obsoletes: libmysql10
+Obsoletes: mysql-doc < 4.1.12
%description libs
Shared libraries for MySQL.
%patch5 -p1
%patch6 -p1
%patch7 -p1
+%patch8 -p1
%{__perl} -pi -e 's@(ndb_bin_am_ldflags)="-static"@$1=""@' configure.in
--with-comment="PLD Linux Distribution MySQL RPM" \
--with%{!?debug:out}-debug \
--with-embedded-server \
- --with-charset=latin2 \
- --with-collation=latin2_general_ci \
--with-extra-charsets=all \
--with-low-memory \
--with-mysqld-user=mysql \
--with-named-curses-libs="-lncurses" \
--with-named-thread-libs="-lpthread" \
--with-unix-socket-path=/var/lib/mysql/mysql.sock \
+ --with-archive-storage-engine \
--with-vio \
--with-ndbcluster \
--without-readline \
%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
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%{_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}
%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
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"
' $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
%{_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
%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)
%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)
%{_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)
%{_libdir}/lib*.la
%{_libdir}/lib*[!tr].a
%{_includedir}/mysql
+%{_mandir}/man1/mysql_config.1*
%files static
%defattr(644,root,root,755)
%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)