X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=mysql.spec;h=e65cb4d30f520c1cab445fa12502365de153f223;hb=60f21bd67ec10e7900670df1842ec2db3e38d8e6;hp=7922abfc4a9bfdc40eb45843c08241b01b2989d5;hpb=6564e2d60e2a47b9b83aa8fd3d164639749c80d5;p=packages%2Fmysql.git diff --git a/mysql.spec b/mysql.spec index 7922abf..e65cb4d 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,14 +1,21 @@ # TODO: # - trigger that prepares system from pre-cluster into cluster -# - trigger /etc/mysqld.conf into /etc/mysql/mysqld.conf. Solve possible +# - trigger /etc/mysqld.conf into /etc/mysql/mysqld.conf. Solve possible # conflict with /var/lib/mysql/mysqld.conf -# - fix mysql.init +# - package man1/mysqlman.1, and make programs without manpage '.so mysqlman' # # Conditional build: -%bcond_with bdb # Berkeley DB 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(pt_BR): MySQL: Um servidor SQL rápido e confiável @@ -16,68 +23,77 @@ Summary(ru): MySQL - Summary(uk): MySQL - Û×ÉÄËÉÊ SQL-ÓÅÒ×ÅÒ Summary(zh_CN): MySQLÊý¾Ý¿â·þÎñÆ÷ Name: mysql +Version: 4.1.20 +Release: 2 +License: GPL + MySQL FLOSS Exception Group: Applications/Databases -Version: 4.0.20 -Release: 2.3 -License: GPL/LGPL -Source0: http://mysql.linux.cz/Downloads/MySQL-4.0/mysql-%{version}.tar.gz -# Source0-md5: 7c75ac74e23396bd228dbc2c2d1131df +Source0: http://mysql.dataphone.se/Downloads/MySQL-4.1/%{name}-%{version}.tar.gz +# Source0-md5: a1dc5375f6580db5073d542200a9ad5b Source1: %{name}.init Source2: %{name}.sysconfig Source3: %{name}.logrotate Source4: %{name}d.conf Source5: %{name}-clusters.conf +Source6: %{name}.monitrc +Source7: %{name}-ndb.init +Source8: %{name}-ndb.sysconfig +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 -Patch3: %{name}-_r-link.patch -Patch4: %{name}-info.patch -Patch5: %{name}-dump_quote_db_names.patch -Patch7: %{name}-sql-cxx-pic.patch -Patch8: %{name}-noproc.patch -Patch9: %{name}-fix_privilege_tables.patch -Patch10: %{name}-nptl.patch -Icon: mysql.gif +Patch3: %{name}-info.patch +Patch4: %{name}-sql-cxx-pic.patch +Patch5: %{name}-noproc.patch +Patch6: %{name}-fix_privilege_tables.patch +Patch7: %{name}-align.patch +Patch8: %{name}-client-config.patch URL: http://www.mysql.com/ #BuildRequires: ORBit-devel -BuildRequires: /bin/ps BuildRequires: autoconf BuildRequires: automake %{?with_bdb:BuildRequires: db3-devel} BuildRequires: libstdc++-devel >= 5:3.0 BuildRequires: libtool -BuildRequires: libwrap-devel +%{?with_tcpd:BuildRequires: libwrap-devel} BuildRequires: ncurses-devel >= 4.2 -BuildRequires: openssl-devel >= 0.9.7d +%{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d} 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: 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 -BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +Provides: user(mysql) Obsoletes: MySQL Obsoletes: mysql-server +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _libexecdir %{_sbindir} %define _localstatedir /var/lib/mysql %define _mysqlhome /home/services/mysql %define _noautoreqdep 'perl(DBD::mysql)' -# workaround for buggy gcc 3.3.1 -%define specflags_alpha "-mno-explicit-relocs" + +# innodb confcache has different CFLAGS +%undefine configure_cache %description MySQL is a true multi-user, multi-threaded SQL (Structured Query @@ -129,8 +145,8 @@ G MySQL oryginalnie by³ tworzony, poniewa¿ autorzy w Tcx potrzebowali serwera SQL do obs³ugi bardzo du¿ych baz danych z szybko¶ci± o wiele wiêksz±, ni¿ mogli zaoferowaæ inni producenci baz danych. U¿ywaj± go -od 1996 roku w ¶rodowisku z ponad 40 bazami danych, 10 000 tabel, -z których ponad 500 zawiera ponad 7 milionów rekordów - w sumie oko³o +od 1996 roku w ¶rodowisku z ponad 40 bazami danych, 10 000 tabel, z +których ponad 500 zawiera ponad 7 milionów rekordów - w sumie oko³o 50GB krytycznych danych. Baza, na której oparty jest MySQL, sk³ada siê ze zbioru procedur, @@ -138,6 +154,17 @@ kt wiele lat. Pomimo, ¿e MySQL jest ci±gle rozwijany, ju¿ oferuje bogaty i u¿yteczny zbiór funkcji. +%description -l de +MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz zu +Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten +werden zwar in zweidimensionalen Tabellen gespeichert und können mit +einem Primärschlüssel versehen werden. Es ist aber keine Definition +eines Fremdschlüssels möglich. Der Benutzer ist somit bei einer +MySQL-Datenbank völlig allein für die (referenzielle) Integrität der +Daten verantwortlich. Allein durch die Nutzung externer +Tabellenformate, wie InnoDB bzw Berkeley DB wird eine Relationalität +ermöglicht. Diese Projekte sind aber getrennt von MySQL zu betrachten. + %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 @@ -229,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. @@ -244,7 +272,7 @@ Summary(ru): MySQL - Summary(uk): MySQL - ÈÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ ÐÒÏÇÒÁͦÓÔÁ Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} -Requires: openssl-devel +%{?with_ssl:Requires: openssl-devel} Requires: zlib-devel Obsoletes: MySQL-devel Obsoletes: libmysql10-devel @@ -334,71 +362,136 @@ Group: Applications/Databases This package contains manual in HTML format. %description doc -l pl -Podrêcznik MySQL-a w formacie HTML. +Podrêcznik MySQL-a w formacie HTML. + +%package ndb +Summary: MySQL - NDB Storage Engine Daemon +Summary(pl): MySQL - demon silnika przechowywania danych NDB +Group: Applications/Databases +Requires: %{name}-libs = %{version}-%{release} + +%description ndb +This package contains the standard MySQL NDB Storage Engine Daemon. + +%description ndb -l pl +Ten pakiet zawiera standardowego demona silnika przechowywania danych +NDB. + +%package ndb-client +Summary: MySQL - NDB Clients +Summary(pl): MySQL - programy klienckie NDB +Group: Applications/Databases +Requires: %{name}-libs = %{version}-%{release} + +%description ndb-client +This package contains the standard MySQL NDB Clients. + +%description ndb-client -l pl +Ten pakiet zawiera standardowe programy klienckie MySQL NDB. + +%package ndb-mgm +Summary: MySQL - NDB Management Daemon +Summary(pl): MySQL - demon zarz±dzaj±cy NDB +Group: Applications/Databases +Requires: %{name}-libs = %{version}-%{release} + +%description ndb-mgm +This package contains the standard MySQL NDB Management Daemon. + +%description ndb-mgm -l pl +Ten pakiet zawiera standardowego demona zarz±dzaj±cego MySQL NDB. + +%package ndb-cpc +Summary: MySQL - NDB CPC Daemon +Summary(pl): MySQL - demon NDB CPC +Group: Applications/Databases +Requires: %{name}-libs = %{version}-%{release} + +%description ndb-cpc +This package contains the standard MySQL NDB CPC Daemon. + +%description ndb-cpc -l pl +Ten pakiet zawiera standardowego demona MySQL NDB CPC. %prep %setup -q %patch0 -p1 -%patch1 -p1 +%{?with_tcpd:%patch1 -p1} %patch2 -p1 %patch3 -p1 -%patch4 -p1 -#%patch5 -p1 %ifarch alpha # this is strange: mysqld functions for UDF modules are not explicitly defined, # so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables # in objects compiled without -fPIC -%patch7 -p1 +%patch4 -p1 %endif +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 %patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%{__perl} -pi -e 's@/lib/libpthread@/%{_lib}/libpthread@' configure.in +%{__perl} -pi -e 's@(ndb_bin_am_ldflags)="-static"@$1=""@' configure.in %build %{__libtoolize} %{__aclocal} %{__automake} %{__autoconf} -CXXFLAGS="%{rpmcflags} -fno-rtti -fno-exceptions %{!?debug:-fomit-frame-pointer}" +# 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' \ KILL='/bin/kill' \ CHECK_PID='/bin/kill -0 $$PID' \ - -C \ --enable-assembler \ --enable-shared \ --enable-static \ --enable-thread-safe-client \ - %{?with_bdb:--with-berkeley-db} \ + --with%{!?with_bdb:out}-berkeley-db \ + --with%{!?with_innodb:out}-innodb \ + --with%{!?with_isam:out}-isam \ + --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 \ --with-extra-charsets=all \ - --with-libwrap \ --with-low-memory \ --with-mysqld-user=mysql \ --with-named-curses-libs="-lncurses" \ - --with-openssl \ - --with-pthread \ - --with-raid \ + --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 +# cluster it wants) echo -e "all:\ninstall:\nclean:\nlink_sources:\n" > libmysqld/examples/Makefile -%{__make} benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench +%{__make} \ + benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench + %{__make} -C Docs mysql.info %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql} \ +install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,monit} \ $RPM_BUILD_ROOT/var/{log/{archiv,}/mysql,lib/mysql} \ $RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}} @@ -418,62 +511,144 @@ install Docs/mysql.info $RPM_BUILD_ROOT%{_infodir} install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql -install %{SOURCE4} $RPM_BUILD_ROOT/etc/mysql/mysqld.conf -install %{SOURCE5} $RPM_BUILD_ROOT/etc/mysql/clusters.conf +# This is template for configuration file which is created after 'service mysql init' +install %{SOURCE4} mysqld.conf +install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/clusters.conf +install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/monit touch $RPM_BUILD_ROOT/var/log/mysql/{err,log,update,isamlog.log} -# remove mysqld's *.po files -find . $RPM_BUILD_ROOT%{_datadir}/%{name} -name \*.txt | xargs -n 100 rm -f +# remove innodb directives from mysqld.conf if mysqld is configured without +%if %{without innodb} + cp mysqld.conf mysqld.tmp + awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf +%endif + +# remove berkeley-db directives from mysqld.conf if mysqld is configured without +%if %{without bdb} + cp mysqld.conf mysqld.tmp + awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf +%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 +install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb +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 +# 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 + +# 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%{_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 %pre -if [ -n "`getgid mysql`" ]; then - if [ "`getgid mysql`" != "89" ]; then - echo "Error: group mysql doesn't have gid=89. Correct this before installing mysql." 1>&2 - exit 1 - fi -else - /usr/sbin/groupadd -g 89 -r -f mysql -fi -if [ -n "`id -u mysql 2>/dev/null`" ]; then - if [ "`id -u mysql`" != "89" ]; then - echo "Error: user mysql doesn't have uid=89. Correct this before installing mysql." 1>&2 - exit 1 - fi -else - /usr/sbin/useradd -M -o -r -u 89 \ - -d %{_mysqlhome} -s /bin/sh -g mysql \ - -c "MySQL Server" mysql 1>&2 -fi +%groupadd -g 89 mysql +%useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql %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 %postun [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 if [ "$1" = "0" ]; then - /usr/sbin/userdel mysql - /usr/sbin/groupdel mysql + %userremove mysql + %groupremove mysql +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 + +%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 +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 + +%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 +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 + +%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 fi %post libs -p /sbin/ldconfig @@ -483,48 +658,96 @@ fi # For clusters in /etc/mysql/clusters.conf if [ -f "/etc/sysconfig/mysql" ]; then . /etc/sysconfig/mysql - if [ "$MYSQL_DB_CLUSTERS" ]; then + if [ -n "$MYSQL_DB_CLUSTERS" ]; then for i in "$MYSQL_DB_CLUSTERS"; do echo "$i/mysqld.conf=$i" >> /etc/mysql/clusters.conf done echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql echo "# USE /etc/mysql/clusters.conf instead" >> /etc/sysconfig/mysql - echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/mysql/clusters.conf" - echo "Take a look at that" + echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/mysql/clusters.conf." + echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/mysql/clusters.conf." fi fi +%triggerpostun -- mysql <= 4.1.1 +# For better compatibility with prevoius versions: +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" + + # 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) -%attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/logrotate.d/mysql +%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 size mtime) /etc/sysconfig/mysql -%attr(751,root,root) %dir /etc/mysql -%attr(640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /etc/mysql/mysqld.conf -%attr(640,root,,mysql) %config(noreplace) %verify(not md5 size mtime) /etc/mysql/clusters.conf +%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(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 %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}/pack_isam +%attr(755,root,root) %{_bindir}/my_print_defaults %attr(755,root,root) %{_sbindir}/mysqld %{_mandir}/man1/isamchk.1* %{_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 size mtime) /var/log/mysql/* +%attr(640,mysql,mysql) %ghost /var/log/mysql/* %{_infodir}/mysql.info* %dir %{_datadir}/mysql -# not needed? -#%{_datadir}/mysql/mysqld.conf +# 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/mysql_fix_privilege_tables.sql %lang(cs) %{_datadir}/mysql/czech %lang(da) %{_datadir}/mysql/danish %lang(de) %{_datadir}/mysql/german @@ -535,6 +758,7 @@ fi %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 @@ -543,6 +767,7 @@ fi %lang(pt) %{_datadir}/mysql/portuguese %lang(ro) %{_datadir}/mysql/romanian %lang(ru) %{_datadir}/mysql/russian +%lang(sr) %{_datadir}/mysql/serbian %lang(sk) %{_datadir}/mysql/slovak %lang(sv) %{_datadir}/mysql/swedish %lang(uk) %{_datadir}/mysql/ukrainian @@ -550,14 +775,18 @@ fi %files extras %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/msql2mysql -%attr(755,root,root) %{_bindir}/mysql_fix_privilege_tables %attr(755,root,root) %{_bindir}/perror -%attr(755,root,root) %{_bindir}/my_print_defaults %attr(755,root,root) %{_bindir}/replace %attr(755,root,root) %{_bindir}/resolveip -%{_mandir}/man1/mysql_fix_privilege_tables.1* +%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* +%{_mandir}/man1/msql2mysql* +%{_mandir}/man1/myisam_ftdump.1* +%{_mandir}/man1/mysqlcheck.1* %files extras-perl %defattr(644,root,root,755) @@ -568,8 +797,12 @@ fi %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* +%{_mandir}/man1/mysqlhotcopy.1* %files client %defattr(644,root,root,755) @@ -581,23 +814,30 @@ fi %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* %{_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) %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 +%{_mandir}/man1/mysql_config.1* %files static %defattr(644,root,root,755) @@ -605,10 +845,38 @@ fi %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]* +%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) +%attr(755,root,root) %{_sbindir}/ndbd +%attr(754,root,root) /etc/rc.d/init.d/mysql-ndb +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb + +%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) +%attr(755,root,root) %{_sbindir}/ndb_mgmd +%attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm -%files doc +%files ndb-cpc %defattr(644,root,root,755) -%doc Docs/manual.html Docs/manual_toc.html +%attr(755,root,root) %{_sbindir}/ndb_cpcd +%attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc