]> git.pld-linux.org Git - packages/mysql.git/blobdiff - mysql.spec
- rel 2
[packages/mysql.git] / mysql.spec
index 8fcc0ebaea6f00e8da86d17b4cbfb4973c9c6cc6..e65cb4d30f520c1cab445fa12502365de153f223 100644 (file)
@@ -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,
-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,113 +511,243 @@ 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
 %postun libs -p /sbin/ldconfig
 
-# For clusters in /etc/mysql/clusters.conf
 %triggerpostun -- mysql <= 4.0.20-2
+# 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
This page took 0.068051 seconds and 4 git commands to generate.