2 # - C(XX)FLAGS for innodb subdirs are overriden by ./configure!
3 # - http://bugs.mysql.com/bug.php?id=16470
6 %bcond_without big_tables # Support tables with more than 4G rows even on 32 bit platforms
7 %bcond_without federated # Federated storage engine support
8 %bcond_without innodb # InnoDB storage engine support
9 %bcond_without raid # Without raid
10 %bcond_without ssl # Without OpenSSL
11 %bcond_without tcpd # Without libwrap (tcp_wrappers) support
12 %bcond_without autodeps # BR packages needed only for resolving deps
13 %bcond_with bdb # Berkeley DB support
14 %bcond_without sphinx # Sphinx storage engine support
16 %include /usr/lib/rpm/macros.perl
17 #define _snap 20060111
18 Summary: MySQL: a very fast and reliable SQL database engine
19 Summary(de.UTF-8): MySQL: ist eine SQL-Datenbank
20 Summary(fr.UTF-8): MySQL: un serveur SQL rapide et fiable
21 Summary(pl.UTF-8): MySQL: bardzo szybka i niezawodna baza danych (SQL)
22 Summary(pt_BR.UTF-8): MySQL: Um servidor SQL rápido e confiável
23 Summary(ru.UTF-8): MySQL - быстрый SQL-сервер
24 Summary(uk.UTF-8): MySQL - швидкий SQL-сервер
25 Summary(zh_CN.UTF-8): MySQL数据库服务器
29 License: GPL + MySQL FLOSS Exception
30 Group: Applications/Databases
31 #Source0: ftp://ftp.mysql.com/pub/mysql/src/%{name}-%{version}.tar.gz
32 #Source0: http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
33 #Source0: http://mysql.he.net/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
34 Source0: http://mirror.provenscaling.com/mysql/enterprise/source/5.0/%{name}-%{version}.tar.gz
35 # Source0-md5: bd3228c70f9ae91f2dd72c7d7393fa43
36 Source100: http://www.sphinxsearch.com/downloads/sphinx-0.9.8.1.tar.gz
37 # Source100-md5: 428a14df41fb425e664d9e2d6178c037
39 Source2: %{name}.sysconfig
40 Source3: %{name}.logrotate
41 Source4: %{name}d.conf
42 Source5: %{name}-clusters.conf
43 Source7: %{name}-ndb.init
44 Source8: %{name}-ndb.sysconfig
45 Source9: %{name}-ndb-mgm.init
46 Source10: %{name}-ndb-mgm.sysconfig
47 Source11: %{name}-ndb-cpc.init
48 Source12: %{name}-ndb-cpc.sysconfig
49 Source13: %{name}-client.conf
50 Patch0: %{name}-libs.patch
51 Patch1: %{name}-sphinx.patch
52 Patch2: %{name}-c++.patch
53 Patch3: %{name}-info.patch
54 Patch4: %{name}-sql-cxx-pic.patch
55 Patch5: %{name}-noproc.patch
56 Patch6: %{name}-fix_privilege_tables.patch
57 Patch7: %{name}-align.patch
58 Patch8: %{name}-client-config.patch
59 Patch9: %{name}-build.patch
60 Patch10: %{name}-alpha.patch
61 Patch11: %{name}-ndb-ldflags.patch
62 Patch12: %{name}-bug-20153.patch
63 Patch13: %{name}-bug-34192.patch
64 Patch14: %{name}-bug-16470.patch
65 Patch15: %{name}-system-users.patch
66 # Percona patches, http://www.percona.com/percona-lab.html
67 Patch16: %{name}-control_flush_and_merge_and_read.patch
68 Patch17: %{name}-control_io-threads.patch
69 Patch18: %{name}-microslow_innodb.patch
70 Patch19: %{name}-show_patches.patch
71 Patch20: %{name}-split_buf_pool_mutex_fixed_optimistic_safe.patch
72 Patch21: %{name}-userstatv2.patch
73 Patch22: %{name}-errorlog-no-rename.patch
74 Patch23: %{name}-alpha-stack.patch
75 URL: http://www.mysql.com/products/database/mysql/community_edition.html
76 BuildRequires: autoconf
77 BuildRequires: automake
79 %{?with_bdb:BuildRequires: db3-devel}
81 BuildRequires: libstdc++-devel >= 5:3.0
82 BuildRequires: libtool
83 %{?with_tcpd:BuildRequires: libwrap-devel}
84 BuildRequires: ncurses-devel >= 4.2
85 %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
86 %{?with_autodeps:BuildRequires: perl-DBI}
87 BuildRequires: perl-devel >= 1:5.6.1
88 BuildRequires: readline-devel >= 4.2
89 BuildRequires: rpm-perlprov >= 4.1-13
90 BuildRequires: rpmbuild(macros) >= 1.414
91 BuildRequires: sed >= 4.0
92 BuildRequires: texinfo
93 BuildRequires: zlib-devel
94 Requires(post,preun): /sbin/chkconfig
95 Requires(postun): /usr/sbin/groupdel
96 Requires(postun): /usr/sbin/userdel
97 Requires(pre): /bin/id
98 Requires(pre): /usr/bin/getgid
99 Requires(pre): /usr/sbin/groupadd
100 Requires(pre): /usr/sbin/useradd
101 Requires(triggerpostun): sed >= 4.0
102 Requires: %{name}-charsets = %{version}-%{release}
103 Requires: %{name}-libs = %{version}-%{release}
104 Requires: /usr/bin/setsid
105 Requires: logrotate >= 3.7-4
106 Requires: rc-scripts >= 0.2.0
107 Suggests: mysql-client
108 %{?with_tcpd:Suggests: tcp_wrappers}
109 Provides: MySQL-server
110 Provides: group(mysql)
111 Provides: msqlormysql
112 Provides: user(mysql)
114 Obsoletes: mysql-server
115 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
117 %define _libexecdir %{_sbindir}
118 %define _localstatedir /var/lib/mysql
119 %define _mysqlhome /home/services/mysql
121 %define _noautoreqdep 'perl(DBD::mysql)'
122 # CFLAGS for innodb are altered
123 %undefine configure_cache
126 MySQL is a true multi-user, multi-threaded SQL (Structured Query
127 Language) database server. SQL is the most popular database language
128 in the world. MySQL is a client/server implementation that consists of
129 a server daemon mysqld and many different client programs/libraries.
131 The main goals of MySQL are speed, robustness and easy to use. MySQL
132 was originally developed because we at Tcx needed a SQL server that
133 could handle very big databases with magnitude higher speed than what
134 any database vendor could offer to us. We have now been using MySQL
135 since 1996 in a environment with more than 40 databases, 10,000
136 tables, of which more than 500 have more than 7 million rows. This is
137 about 50G of mission critical data.
139 The base upon which MySQL is built is a set of routines that have been
140 used in a highly demanding production environment for many years.
141 While MySQL is still in development, it already offers a rich and
142 highly useful function set.
144 %description -l fr.UTF-8
145 MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et
146 multi-taches. Le langage SQL est le langage de bases de donnees le
147 plus populaire au monde. MySQL est une implementation client/serveur
148 qui consiste en un serveur (mysqld) et differents
149 programmes/bibliotheques clientes.
151 Les objectifs principaux de MySQL sont: vitesse, robustesse et
152 facilite d'utilisation. MySQL fut originalement developpe parce que
153 nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de
154 tres grandes bases de donnees avec une vitesse d'un ordre de magnitude
155 superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous
156 utilisons MySQL depuis 1996 dans un environnement avec plus de 40
157 bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7
158 millions de lignes. Ceci represente environ 50G de donnees critiques.
160 A la base de la conception de MySQL, on retrouve une serie de routines
161 qui ont ete utilisees dans un environnement de production pendant
162 plusieurs annees. Meme si MySQL est encore en developpement, il offre
163 deja une riche et utile serie de fonctions.
165 %description -l pl.UTF-8
166 MySQL to prawdziwie wieloużytkownikowy, wielowątkowy serwer baz danych
167 SQL. SQL jest najpopularniejszym na świecie językiem używanym do baz
168 danych. MySQL to implementacja klient/serwer składająca się z demona
169 mysqld i wielu różnych programów i bibliotek klienckich.
171 Głównymi celami MySQL-a są szybkość, potęga i łatwość użytkowania.
172 MySQL oryginalnie był tworzony, ponieważ autorzy w Tcx potrzebowali
173 serwera SQL do obsługi bardzo dużych baz danych z szybkością o wiele
174 większą, niż mogli zaoferować inni producenci baz danych. Używają go
175 od 1996 roku w środowisku z ponad 40 bazami danych, 10 000 tabel, z
176 których ponad 500 zawiera ponad 7 milionów rekordów - w sumie około
177 50GB krytycznych danych.
179 Baza, na której oparty jest MySQL, składa się ze zbioru procedur,
180 które były używane w bardzo wymagającym środowisku produkcyjnym przez
181 wiele lat. Pomimo, że MySQL jest ciągle rozwijany, już oferuje bogaty
182 i użyteczny zbiór funkcji.
184 %description -l de.UTF-8
185 MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz zu
186 Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten
187 werden zwar in zweidimensionalen Tabellen gespeichert und können mit
188 einem Primärschlüssel versehen werden. Es ist aber keine Definition
189 eines Fremdschlüssels möglich. Der Benutzer ist somit bei einer
190 MySQL-Datenbank völlig allein für die (referenzielle) Integrität der
191 Daten verantwortlich. Allein durch die Nutzung externer
192 Tabellenformate, wie InnoDB bzw Berkeley DB wird eine Relationalität
193 ermöglicht. Diese Projekte sind aber getrennt von MySQL zu betrachten.
195 %description -l pt_BR.UTF-8
196 O MySQL é um servidor de banco de dados SQL realmente multiusuário e
197 multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de
198 dados no mundo. O MySQL é uma implementação cliente/servidor que
199 consiste de um servidor chamado mysqld e diversos
200 programas/bibliotecas clientes. Os principais objetivos do MySQL são:
201 velocidade, robustez e facilidade de uso. O MySQL foi originalmente
202 desenvolvido porque nós na Tcx precisávamos de um servidor SQL que
203 pudesse lidar com grandes bases de dados e com uma velocidade muito
204 maior do que a que qualquer vendedor podia nos oferecer. Estamos
205 usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados
206 com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de
207 linhas. Isto é o equivalente a aproximadamente 50G de dados críticos.
208 A base da construção do MySQL é uma série de rotinas que foram usadas
209 em um ambiente de produção com alta demanda por muitos anos. Mesmo o
210 MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de
211 funções muito ricas e úteis. Veja a documentação para maiores
214 %description -l ru.UTF-8
215 MySQL - это SQL (Structured Query Language) сервер базы данных. MySQL
216 была написана Michael'ом (monty) Widenius'ом. См. файл CREDITS в
217 дистрибутиве на предмет других участников проекта и прочей информации
220 %description -l uk.UTF-8
221 MySQL - це SQL (Structured Query Language) сервер бази даних. MySQL
222 було написано Michael'ом (monty) Widenius'ом. Див. файл CREDITS в
223 дистрибутиві для інформації про інших учасників проекту та іншої
227 Summary: MySQL - character sets definitions
228 Summary(pl.UTF-8): MySQL - definicje kodowań znaków
229 Group: Applications/Databases
231 %description charsets
232 This package contains character sets definitions needed by both client
235 %description charsets -l pl.UTF-8
236 Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i
240 Summary: MySQL additional utilities
241 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL
242 Group: Applications/Databases
243 Requires: %{name}-libs = %{version}-%{release}
246 MySQL additional utilities except Perl scripts (they may be found in
247 %{name}-extras-perl package).
249 %description extras -l pl.UTF-8
250 Dodatkowe narzędzia do MySQL - z wyjątkiem skryptów Perla (które są w
251 pakiecie %{name}-extras-perl).
254 Summary: MySQL additional utilities written in Perl
255 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL napisane w Perlu
256 Group: Applications/Databases
257 Requires: %{name}-extras = %{version}-%{release}
258 Requires: perl(DBD::mysql)
260 %description extras-perl
261 MySQL additional utilities written in Perl.
263 %description extras-perl -l pl.UTF-8
264 Dodatkowe narzędzia do MySQL napisane w Perlu.
267 Summary: MySQL - Client
268 Summary(pl.UTF-8): MySQL - Klient
269 Summary(pt.UTF-8): MySQL - Cliente
270 Summary(ru.UTF-8): MySQL клиент
271 Summary(uk.UTF-8): MySQL клієнт
272 Group: Applications/Databases
273 Requires: %{name}-charsets = %{version}-%{release}
274 Requires: %{name}-libs = %{version}-%{release}
275 Obsoletes: MySQL-client
278 This package contains the standard MySQL clients.
280 %description client -l fr.UTF-8
281 Ce package contient les clients MySQL standards.
283 %description client -l pl.UTF-8
284 Standardowe programy klienckie MySQL.
286 %description client -l pt_BR.UTF-8
287 Este pacote contém os clientes padrão para o MySQL.
289 %description client -l ru.UTF-8
290 Этот пакет содержит только клиент MySQL.
292 %description client -l uk.UTF-8
293 Цей пакет містить тільки клієнта MySQL.
296 Summary: Shared libraries for MySQL
297 Summary(pl.UTF-8): Biblioteki dzielone MySQL
299 Obsoletes: libmysql10
300 Obsoletes: mysql-doc < 4.1.12
303 Shared libraries for MySQL.
305 %description libs -l pl.UTF-8
306 Biblioteki dzielone MySQL.
309 Summary: MySQL - Development header files and libraries
310 Summary(pl.UTF-8): MySQL - Pliki nagłówkowe i biblioteki dla programistów
311 Summary(pt.UTF-8): MySQL - Medições de desempenho
312 Summary(ru.UTF-8): MySQL - хедеры и библиотеки разработчика
313 Summary(uk.UTF-8): MySQL - хедери та бібліотеки програміста
314 Group: Development/Libraries
315 Requires: %{name}-libs = %{version}-%{release}
316 %{?with_ssl:Requires: openssl-devel}
318 Obsoletes: MySQL-devel
319 Obsoletes: libmysql10-devel
322 This package contains the development header files and libraries
323 necessary to develop MySQL client applications.
325 %description devel -l fr.UTF-8
326 Ce package contient les fichiers entetes et les librairies de
327 developpement necessaires pour developper des applications clientes
330 %description devel -l pl.UTF-8
331 Pliki nagłówkowe i biblioteki konieczne do kompilacji aplikacji
334 %description devel -l pt_BR.UTF-8
335 Este pacote contém os arquivos de cabeçalho (header files) e
336 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
338 %description devel -l ru.UTF-8
339 Этот пакет содержит хедеры и библиотеки разработчика, необходимые для
340 разработки клиентских приложений.
342 %description devel -l uk.UTF-8
343 Цей пакет містить хедери та бібліотеки програміста, необхідні для
344 розробки програм-клієнтів.
347 Summary: MySQL static libraries
348 Summary(pl.UTF-8): Biblioteki statyczne MySQL
349 Summary(ru.UTF-8): MySQL - статические библиотеки
350 Summary(uk.UTF-8): MySQL - статичні бібліотеки
351 Group: Development/Libraries
352 Requires: %{name}-devel = %{version}-%{release}
353 Obsoletes: MySQL-static
356 MySQL static libraries.
358 %description static -l pl.UTF-8
359 Biblioteki statyczne MySQL.
361 %description static -l ru.UTF-8
362 Этот пакет содержит статические библиотеки разработчика, необходимые
363 для разработки клиентских приложений.
365 %description static -l uk.UTF-8
366 Цей пакет містить статичні бібліотеки програміста, необхідні для
367 розробки програм-клієнтів.
370 Summary: MySQL - Benchmarks
371 Summary(pl.UTF-8): MySQL - Programy testujące szybkość działania bazy
372 Summary(pt.UTF-8): MySQL - Medições de desempenho
373 Summary(ru.UTF-8): MySQL - бенчмарки
374 Summary(uk.UTF-8): MySQL - бенчмарки
375 Group: Applications/Databases
376 Requires: %{name} = %{version}-%{release}
377 Requires: %{name}-client
378 Requires: perl(DBD::mysql)
379 Obsoletes: MySQL-bench
382 This package contains MySQL benchmark scripts and data.
384 %description bench -l pl.UTF-8
385 Programy testujące szybkość serwera MySQL.
387 %description bench -l pt_BR.UTF-8
388 Este pacote contém medições de desempenho de scripts e dados do MySQL.
390 %description bench -l ru.UTF-8
391 Этот пакет содержит скрипты и данные для оценки производительности
394 %description bench -l uk.UTF-8
395 Цей пакет містить скрипти та дані для оцінки продуктивності MySQL.
398 Summary: MySQL manual
399 Summary(pl.UTF-8): Podręcznik użytkownika MySQL
400 Group: Applications/Databases
403 This package contains manual in HTML format.
405 %description doc -l pl.UTF-8
406 Podręcznik MySQL-a w formacie HTML.
409 Summary: MySQL - NDB Storage Engine Daemon
410 Summary(pl.UTF-8): MySQL - demon silnika przechowywania danych NDB
411 Group: Applications/Databases
412 Requires: %{name}-libs = %{version}-%{release}
415 This package contains the standard MySQL NDB Storage Engine Daemon.
417 %description ndb -l pl.UTF-8
418 Ten pakiet zawiera standardowego demona silnika przechowywania danych
422 Summary: MySQL - NDB Clients
423 Summary(pl.UTF-8): MySQL - programy klienckie NDB
424 Group: Applications/Databases
425 Requires: %{name}-libs = %{version}-%{release}
427 %description ndb-client
428 This package contains the standard MySQL NDB Clients.
430 %description ndb-client -l pl.UTF-8
431 Ten pakiet zawiera standardowe programy klienckie MySQL NDB.
434 Summary: MySQL - NDB Management Daemon
435 Summary(pl.UTF-8): MySQL - demon zarządzający NDB
436 Group: Applications/Databases
437 Requires: %{name}-libs = %{version}-%{release}
440 This package contains the standard MySQL NDB Management Daemon.
442 %description ndb-mgm -l pl.UTF-8
443 Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB.
446 Summary: MySQL - NDB CPC Daemon
447 Summary(pl.UTF-8): MySQL - demon NDB CPC
448 Group: Applications/Databases
449 Requires: %{name}-libs = %{version}-%{release}
452 This package contains the standard MySQL NDB CPC Daemon.
454 %description ndb-cpc -l pl.UTF-8
455 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
458 %setup -q %{?_snap:-n %{name}-%{version}-nightly-%{_snap}} %{?with_sphinx:-a100}
461 mv sphinx-*/mysqlse sql/sphinx
467 # this is strange: mysqld functions for UDF modules are not explicitly defined,
468 # so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables
469 # in objects compiled without -fPIC
501 # The compiler flags are as per their "official" spec ;)
502 CXXFLAGS="%{rpmcflags} -felide-constructors -fno-rtti -fno-exceptions %{!?debug:-fomit-frame-pointer}"
503 CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
505 # NOTE: the PS, FIND_PROC, KILL, CHECK_PID are not used by PLD Linux
506 # and therefore do not add BR on these. These are here just to satisfy
511 FIND_PROC='/bin/ps p $$PID' \
513 CHECK_PID='/bin/kill -0 $$PID' \
515 --enable-largefile=yes \
518 --enable-thread-safe-client \
519 --with%{!?with_bdb:out}-berkeley-db \
520 --with%{!?with_innodb:out}-innodb \
521 --with%{!?with_raid:out}-raid \
522 --with%{!?with_ssl:out}-openssl \
523 --with%{!?with_tcpd:out}-libwrap \
524 %{?with_big_tables:--with-big-tables} \
525 --with-comment="PLD Linux Distribution MySQL RPM" \
526 --with%{!?debug:out}-debug \
527 --with%{!?debug:out}-ndb-debug \
528 --with-embedded-server \
529 --with-extra-charsets=all \
531 --with-mysqld-user=mysql \
532 --with-named-curses-libs="-lncurses" \
533 --with-named-thread-libs="-lpthread" \
534 --with-unix-socket-path=/var/lib/mysql/mysql.sock \
535 --with-archive-storage-engine \
536 %{?with_sphinx:--with-sphinx-storage-engine} \
537 %{?with_federated:--with-federated-storage-engine} \
544 # --with-ndb-test --with-ndb-docs
546 # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file
547 # (it defaults to first cluster but user may change it to whatever
550 echo -e "all:\ninstall:\nclean:\nlink_sources:\n" > libmysqld/examples/Makefile
553 benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench
555 %{__make} -C Docs mysql.info
558 rm -rf $RPM_BUILD_ROOT
559 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,ssl/certs/mysql} \
560 $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,lib/mysql} \
561 $RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}}
564 install -d $RPM_BUILD_ROOT/var/lib/mysql/bdb/{log,tmp}
569 DESTDIR=$RPM_BUILD_ROOT \
570 benchdir=%{_datadir}/sql-bench \
572 # libsdir is to avoid installing innodb static libs in $RPM_BUILD_ROOT../libs
574 install Docs/mysql.info $RPM_BUILD_ROOT%{_infodir}
576 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
577 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
578 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
579 # This is template for configuration file which is created after 'service mysql init'
580 install %{SOURCE4} mysqld.conf
581 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/clusters.conf
582 touch $RPM_BUILD_ROOT/var/log/mysql/{err,log,update}
584 # remove innodb directives from mysqld.conf if mysqld is configured without
585 %if %{without innodb}
586 cp mysqld.conf mysqld.tmp
587 awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
590 # remove berkeley-db directives from mysqld.conf if mysqld is configured without
592 cp mysqld.conf mysqld.tmp
593 awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
596 install mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.conf
597 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/mysql-client.conf
600 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
601 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb
602 install %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
603 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
604 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
605 install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
607 mv -f $RPM_BUILD_ROOT%{_libdir}/mysql/lib* $RPM_BUILD_ROOT%{_libdir}
608 sed -i -e 's,%{_libdir}/mysql,%{_libdir},' $RPM_BUILD_ROOT{%{_libdir}/libmysqlclient{,_r}.la,%{_bindir}/mysql_config}
609 sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
611 # remove known unpackaged files
612 rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
614 # remove .txt variants for .sys messages
615 rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/*/*.txt
617 # rename not to be so generic name
618 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
619 mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1
621 # not useful without -debug build
622 %{!?debug:rm -f $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
623 %{!?debug:rm -f $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
624 # generate symbols file, so one can generate backtrace using it
625 # mysql_resolve_stack_dump -s %{_datadir}/mysql/mysqld.sym -n mysqld.stack.
626 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
627 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.sym}
629 # do not clobber users $PATH
630 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade
631 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum
632 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk
633 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog
634 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack
635 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables
636 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults
637 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
639 # functionality in initscript / rpm
640 rm $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
641 rm $RPM_BUILD_ROOT%{_bindir}/mysql_upgrade_shell
642 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
643 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
644 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
645 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate
646 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
647 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
648 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg.txt
649 rm $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
650 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
651 rm $RPM_BUILD_ROOT%{_mandir}/man1/safe_mysqld*
652 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
653 rm $RPM_BUILD_ROOT%{_bindir}/resolveip
654 rm $RPM_BUILD_ROOT%{_mandir}/man1/resolveip.1*
655 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_bin_dist.1
656 rm $RPM_BUILD_ROOT%{_bindir}/comp_err
657 rm $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1
658 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_install_db.1
659 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1
660 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_src_distribution.1
661 rm $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld_multi.server
663 # no package for tests
664 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1
665 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1
666 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1
668 rm $RPM_BUILD_ROOT%{_mandir}/man1/ndb_print_backup_file.1
669 rm $RPM_BUILD_ROOT%{_mandir}/man1/ndb_print_schema_file.1
670 rm $RPM_BUILD_ROOT%{_mandir}/man1/ndb_print_sys_file.1
671 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqltest_embedded.1
674 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf}
677 rm -rf $RPM_BUILD_ROOT
680 %groupadd -g 89 mysql
681 %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql
684 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
685 /sbin/chkconfig --add mysql
686 %service mysql restart
689 if [ "$1" = "0" ]; then
690 %service -q mysql stop
691 /sbin/chkconfig --del mysql
695 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
696 if [ "$1" = "0" ]; then
702 /sbin/chkconfig --add mysql-ndb
703 %service mysql-ndb restart "mysql NDB engine"
706 if [ "$1" = "0" ]; then
707 %service mysql-ndb stop
708 /sbin/chkconfig --del mysql-ndb
712 /sbin/chkconfig --add mysql-ndb-mgm
713 %service mysql-ndb-mgm restart "mysql NDB management node"
716 if [ "$1" = "0" ]; then
717 %service mysql-ndb-mgm stop
718 /sbin/chkconfig --del mysql-ndb-mgm
722 /sbin/chkconfig --add mysql-ndb-cpc
723 %service mysql-ndb-cpc restart "mysql NDB CPC"
726 if [ "$1" = "0" ]; then
727 %service mysql-ndb-cpc stop
728 /sbin/chkconfig --del mysql-ndb-cpc
731 %post libs -p /sbin/ldconfig
732 %postun libs -p /sbin/ldconfig
734 %triggerpostun -- mysql < 4.0.20-2.4
735 # For clusters in /etc/mysql/clusters.conf
736 if [ -f /etc/sysconfig/mysql ]; then
737 . /etc/sysconfig/mysql
738 if [ -n "$MYSQL_DB_CLUSTERS" ]; then
739 for i in "$MYSQL_DB_CLUSTERS"; do
740 echo "$i/mysqld.conf=$i" >> /etc/mysql/clusters.conf
742 echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql
743 echo "# USE /etc/mysql/clusters.conf instead" >> /etc/sysconfig/mysql
744 echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/mysql/clusters.conf."
745 echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/mysql/clusters.conf."
749 %triggerpostun -- mysql < 4.1.1
750 # For better compatibility with prevoius versions:
751 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do
752 if echo "$config" | grep -q '^/'; then
753 config_file="$config"
754 elif [ -f "/etc/mysql/$config" ]; then
755 config_file=/etc/mysql/$config
757 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/mysql/clusters.conf)
758 if [ -z "$clusterdir" ]; then
759 echo >&2 "Can't find cluster dir for $config!"
760 echo >&2 "Please remove extra (leading) spaces from /etc/mysql/clusters.conf"
763 config_file="$clusterdir/mysqld.conf"
766 if [ ! -f "$config_file" ]; then
767 echo >&2 "Lost myself! Please report this (with above errors, if any) to http://bugs.pld-linux.org/"
770 echo "Adding option old-passwords to config: $config_file"
771 echo "If you want to use new, better passwords - remove it"
773 # sed magic to add 'old-passwords' to [mysqld] section
774 sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
776 a; Compatibility options:
782 %banner -e %{name}-4.1.x <<-EOF
783 If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data:
784 mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql
789 %defattr(644,root,root,755)
790 %doc support-files/*.cnf support-files/*.ini ChangeLog
791 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/mysql
792 %attr(754,root,root) /etc/rc.d/init.d/mysql
793 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql
794 %dir /etc/ssl/certs/mysql
795 %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/clusters.conf
796 %attr(755,root,root) %{_sbindir}/innochecksum
797 %attr(755,root,root) %{_sbindir}/my_print_defaults
798 %attr(755,root,root) %{_sbindir}/myisamchk
799 %attr(755,root,root) %{_sbindir}/myisamlog
800 %attr(755,root,root) %{_sbindir}/myisampack
801 %attr(755,root,root) %{_sbindir}/mysql_fix_privilege_tables
802 %attr(755,root,root) %{_sbindir}/mysql_upgrade
803 %attr(755,root,root) %{_sbindir}/mysqlcheck
804 %attr(755,root,root) %{_sbindir}/mysqld
805 %{_mandir}/man1/innochecksum.1*
806 %{_mandir}/man1/my_print_defaults.1*
807 %{_mandir}/man1/myisamchk.1*
808 %{_mandir}/man1/myisamlog.1*
809 %{_mandir}/man1/myisampack.1*
810 %{_mandir}/man1/mysql_fix_privilege_tables.1*
811 %{_mandir}/man1/mysql_upgrade.1*
812 %{_mandir}/man1/mysqlcheck.1*
813 %{_mandir}/man8/mysqld.8*
816 %attr(755,root,root) %{_bindir}/*resolve_stack_dump
817 %{_datadir}/mysql/mysqld.sym
818 %{_mandir}/man1/*resolve_stack_dump.1*
821 %attr(700,mysql,mysql) %{_mysqlhome}
822 # root:root is proper here for mysql.rpm while mysql:mysql is potential security hole
823 %attr(751,root,root) /var/lib/mysql
824 %attr(750,mysql,mysql) %dir /var/log/mysql
825 %attr(750,mysql,mysql) %dir /var/log/archive/mysql
826 %attr(640,mysql,mysql) %ghost /var/log/mysql/*
828 %{_infodir}/mysql.info*
829 # This is template for configuration file which is created after 'service mysql init'
830 %{_datadir}/mysql/mysqld.conf
831 %{_datadir}/mysql/mysql_system_tables.sql
832 %{_datadir}/mysql/mysql_system_tables_data.sql
833 %{_datadir}/mysql/mysql_test_data_timezone.sql
835 %{_datadir}/mysql/english
836 %{_datadir}/mysql/fill_help_tables.sql
837 %{_datadir}/mysql/mysql_fix_privilege_tables.sql
838 %lang(cs) %{_datadir}/mysql/czech
839 %lang(da) %{_datadir}/mysql/danish
840 %lang(de) %{_datadir}/mysql/german
841 %lang(el) %{_datadir}/mysql/greek
842 %lang(es) %{_datadir}/mysql/spanish
843 %lang(et) %{_datadir}/mysql/estonian
844 %lang(fr) %{_datadir}/mysql/french
845 %lang(hu) %{_datadir}/mysql/hungarian
846 %lang(it) %{_datadir}/mysql/italian
847 %lang(ja) %{_datadir}/mysql/japanese
848 %lang(ko) %{_datadir}/mysql/korean
849 %lang(nl) %{_datadir}/mysql/dutch
850 %lang(nb) %{_datadir}/mysql/norwegian
851 %lang(nn) %{_datadir}/mysql/norwegian-ny
852 %lang(pl) %{_datadir}/mysql/polish
853 %lang(pt) %{_datadir}/mysql/portuguese
854 %lang(ro) %{_datadir}/mysql/romanian
855 %lang(ru) %{_datadir}/mysql/russian
856 %lang(sr) %{_datadir}/mysql/serbian
857 %lang(sk) %{_datadir}/mysql/slovak
858 %lang(sv) %{_datadir}/mysql/swedish
859 %lang(uk) %{_datadir}/mysql/ukrainian
862 %defattr(644,root,root,755)
863 %dir %{_datadir}/mysql
864 %{_datadir}/mysql/charsets
867 %defattr(644,root,root,755)
868 %attr(755,root,root) %{_bindir}/msql2mysql
869 %attr(755,root,root) %{_bindir}/myisam_ftdump
870 %attr(755,root,root) %{_bindir}/mysql_secure_installation
871 %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql
872 %attr(755,root,root) %{_bindir}/perror
873 %attr(755,root,root) %{_bindir}/replace
874 %{_mandir}/man1/msql2mysql.1*
875 %{_mandir}/man1/myisam_ftdump.1*
876 %{_mandir}/man1/mysql_secure_installation.1*
877 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
878 %{_mandir}/man1/perror.1*
879 %{_mandir}/man1/replace.1*
882 %defattr(644,root,root,755)
883 %attr(755,root,root) %{_bindir}/mysql_convert_table_format
884 %attr(755,root,root) %{_bindir}/mysql_explain_log
885 %attr(755,root,root) %{_bindir}/mysql_find_rows
886 %attr(755,root,root) %{_bindir}/mysql_fix_extensions
887 %attr(755,root,root) %{_bindir}/mysql_setpermission
888 %attr(755,root,root) %{_bindir}/mysql_tableinfo
889 %attr(755,root,root) %{_bindir}/mysql_zap
890 %attr(755,root,root) %{_bindir}/mysqlaccess
891 %attr(755,root,root) %{_bindir}/mysqldumpslow
892 %attr(755,root,root) %{_bindir}/mysqlhotcopy
893 %{_mandir}/man1/mysql_convert_table_format.1*
894 %{_mandir}/man1/mysql_explain_log.1*
895 %{_mandir}/man1/mysql_find_rows.1*
896 %{_mandir}/man1/mysql_fix_extensions.1*
897 %{_mandir}/man1/mysql_setpermission.1*
898 %{_mandir}/man1/mysql_tableinfo.1*
899 %{_mandir}/man1/mysql_zap.1*
900 %{_mandir}/man1/mysqlaccess.1*
901 %{_mandir}/man1/mysqlhotcopy.1*
904 %defattr(644,root,root,755)
905 %attr(755,root,root) %{_bindir}/mysql
906 %attr(755,root,root) %{_bindir}/mysqladmin
907 %attr(755,root,root) %{_bindir}/mysqlbinlog
908 %attr(755,root,root) %{_bindir}/mysqlbug
909 %attr(755,root,root) %{_bindir}/mysqldump
910 %attr(755,root,root) %{_bindir}/mysqlimport
911 %attr(755,root,root) %{_bindir}/mysqlshow
912 %attr(755,root,root) %{_sbindir}/mysqlmanager
913 %{_mandir}/man1/mysql.1*
914 %{_mandir}/man1/mysqladmin.1*
915 %{_mandir}/man1/mysqlbinlog.1*
916 %{_mandir}/man1/mysqlbug.1*
917 %{_mandir}/man1/mysqldump.1*
918 %{_mandir}/man1/mysqlimport.1*
919 %{_mandir}/man1/mysqlshow.1*
920 %{_mandir}/man8/mysqlmanager.8*
923 %defattr(644,root,root,755)
924 %doc EXCEPTIONS-CLIENT
925 %attr(751,root,root) %dir %{_sysconfdir}/mysql
926 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/mysql-client.conf
927 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*
928 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.15
929 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*
930 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.15
931 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*
932 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.2
935 %defattr(644,root,root,755)
936 %attr(755,root,root) %{_bindir}/mysql_config
937 %attr(755,root,root) %{_libdir}/libmysqlclient.so
938 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so
939 %attr(755,root,root) %{_libdir}/libndbclient.so
940 %{_libdir}/libmysqlclient.la
941 %{_libdir}/libmysqlclient_r.la
942 %{_libdir}/libndbclient.la
946 %{_libdir}/libmyisam.a
947 %{_libdir}/libmyisammrg.a
948 %{_libdir}/libmysqld.a
949 %{_libdir}/libmystrings.a
950 %{_libdir}/libmysys.a
953 %{_mandir}/man1/mysql_config.1*
956 %defattr(644,root,root,755)
957 %{_libdir}/libmysqlclient.a
958 %{_libdir}/libmysqlclient_r.a
959 %{_libdir}/libndbclient.a
962 %defattr(644,root,root,755)
963 %attr(755,root,root) %{_bindir}/mysql_client_test
964 %attr(755,root,root) %{_bindir}/mysqltest
965 %attr(755,root,root) %{_bindir}/mysqltestmanager
966 %attr(755,root,root) %{_bindir}/mysqltestmanager-pwgen
967 %attr(755,root,root) %{_bindir}/mysqltestmanagerc
968 %dir %{_datadir}/sql-bench
969 %{_datadir}/sql-bench/[CDRl]*
970 %attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
972 %{_datadir}/mysql/mi_test_all.res
973 %attr(755,root,root) %{_datadir}/mysql/mi_test_all
974 %{_mandir}/man1/mysql_client_test.1*
975 %{_mandir}/man1/mysqltest.1*
978 #%defattr(644,root,root,755)
979 #%doc Docs/manual.html Docs/manual_toc.html
982 %defattr(644,root,root,755)
983 %attr(755,root,root) %{_sbindir}/ndbd
984 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb
985 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb
986 %{_mandir}/man8/ndbd.8*
989 %defattr(644,root,root,755)
990 %attr(755,root,root) %{_bindir}/ndb_config
991 %attr(755,root,root) %{_bindir}/ndb_delete_all
992 %attr(755,root,root) %{_bindir}/ndb_desc
993 %attr(755,root,root) %{_bindir}/ndb_drop_index
994 %attr(755,root,root) %{_bindir}/ndb_drop_table
995 %attr(755,root,root) %{_bindir}/ndb_error_reporter
996 %attr(755,root,root) %{_bindir}/ndb_mgm
997 %attr(755,root,root) %{_bindir}/ndb_restore
998 %attr(755,root,root) %{_bindir}/ndb_select_all
999 %attr(755,root,root) %{_bindir}/ndb_select_count
1000 %attr(755,root,root) %{_bindir}/ndb_show_tables
1001 %attr(755,root,root) %{_bindir}/ndb_size.pl
1002 %attr(755,root,root) %{_bindir}/ndb_test_platform
1003 %attr(755,root,root) %{_bindir}/ndb_waiter
1004 %attr(755,root,root) %{_datadir}/mysql/ndb_size.tmpl
1005 %{_mandir}/man1/ndb_config.1*
1006 %{_mandir}/man1/ndb_delete_all.1*
1007 %{_mandir}/man1/ndb_desc.1*
1008 %{_mandir}/man1/ndb_drop_index.1*
1009 %{_mandir}/man1/ndb_drop_table.1*
1010 %{_mandir}/man1/ndb_error_reporter.1*
1011 %{_mandir}/man1/ndb_mgm.1*
1012 %{_mandir}/man1/ndb_restore.1*
1013 %{_mandir}/man1/ndb_select_all.1*
1014 %{_mandir}/man1/ndb_select_count.1*
1015 %{_mandir}/man1/ndb_show_tables.1*
1016 %{_mandir}/man1/ndb_size.pl.1*
1017 %{_mandir}/man1/ndb_waiter.1*
1020 %defattr(644,root,root,755)
1021 %attr(755,root,root) %{_sbindir}/ndb_mgmd
1022 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm
1023 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm
1024 %{_mandir}/man8/ndb_mgmd.8*
1027 %defattr(644,root,root,755)
1028 %attr(755,root,root) %{_sbindir}/ndb_cpcd
1029 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc
1030 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc
1031 %{_mandir}/man1/ndb_cpcd.1*