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_with bdb # Berkeley DB support
13 %bcond_without sphinx # Sphinx storage engine support
15 %include /usr/lib/rpm/macros.perl
16 #define _snap 20060111
17 Summary: MySQL: a very fast and reliable SQL database engine
18 Summary(de.UTF-8): MySQL: ist eine SQL-Datenbank
19 Summary(fr.UTF-8): MySQL: un serveur SQL rapide et fiable
20 Summary(pl.UTF-8): MySQL: bardzo szybka i niezawodna baza danych (SQL)
21 Summary(pt_BR.UTF-8): MySQL: Um servidor SQL rápido e confiável
22 Summary(ru.UTF-8): MySQL - быстрый SQL-сервер
23 Summary(uk.UTF-8): MySQL - швидкий SQL-сервер
24 Summary(zh_CN.UTF-8): MySQL数据库服务器
28 License: GPL + MySQL FLOSS Exception
29 Group: Applications/Databases
30 #Source0: ftp://ftp.mysql.com/pub/mysql/src/%{name}-%{version}.tar.gz
31 #Source0: http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
32 Source0: http://mirror.provenscaling.com/mysql/enterprise/source/5.0/mysql-5.0.56.tar.gz
33 # Source0-md5: 73969e4bc47a582c1f41c0dcd57f6c4b
34 Source100: http://www.sphinxsearch.com/downloads/sphinx-0.9.7.tar.gz
35 # Source100-md5: 32f2b7e98d8485c86108851d52c5cef4
37 Source2: %{name}.sysconfig
38 Source3: %{name}.logrotate
39 Source4: %{name}d.conf
40 Source5: %{name}-clusters.conf
41 Source7: %{name}-ndb.init
42 Source8: %{name}-ndb.sysconfig
43 Source9: %{name}-ndb-mgm.init
44 Source10: %{name}-ndb-mgm.sysconfig
45 Source11: %{name}-ndb-cpc.init
46 Source12: %{name}-ndb-cpc.sysconfig
47 Source13: %{name}-client.conf
48 Patch0: %{name}-libs.patch
49 Patch1: %{name}-sphinx.patch
50 Patch2: %{name}-c++.patch
51 Patch3: %{name}-info.patch
52 Patch4: %{name}-sql-cxx-pic.patch
53 Patch5: %{name}-noproc.patch
54 Patch6: %{name}-fix_privilege_tables.patch
55 Patch7: %{name}-align.patch
56 Patch8: %{name}-client-config.patch
57 Patch9: %{name}-build.patch
58 Patch10: %{name}-alpha.patch
59 Patch11: %{name}-ndb-ldflags.patch
60 Patch12: %{name}-bug-20153.patch
61 Patch13: %{name}-ssl.patch
62 Patch14: %{name}-bug-34192.patch
63 Patch15: %{name}-bug-29082.patch
64 Patch16: %{name}-bug-16470.patch
65 URL: http://www.mysql.com/products/database/mysql/community_edition.html
66 BuildRequires: autoconf
67 BuildRequires: automake
68 %{?with_bdb:BuildRequires: db3-devel}
69 BuildRequires: libstdc++-devel >= 5:3.0
70 BuildRequires: libtool
71 %{?with_tcpd:BuildRequires: libwrap-devel}
72 BuildRequires: ncurses-devel >= 4.2
73 %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
74 BuildRequires: perl-DBI
75 BuildRequires: perl-devel >= 1:5.6.1
76 BuildRequires: readline-devel >= 4.2
77 BuildRequires: rpm-perlprov >= 4.1-13
78 BuildRequires: rpmbuild(macros) >= 1.268
79 BuildRequires: sed >= 4.0
80 BuildRequires: texinfo
81 BuildRequires: zlib-devel
82 Requires(post,preun): /sbin/chkconfig
83 Requires(postun): /usr/sbin/groupdel
84 Requires(postun): /usr/sbin/userdel
85 Requires(pre): /bin/id
86 Requires(pre): /usr/bin/getgid
87 Requires(pre): /usr/sbin/groupadd
88 Requires(pre): /usr/sbin/useradd
89 Requires(triggerpostun): sed >= 4.0
90 Requires: %{name}-charsets = %{version}-%{release}
91 Requires: /usr/bin/setsid
92 Requires: rc-scripts >= 0.2.0
93 Provides: MySQL-server
94 Provides: group(mysql)
98 Obsoletes: mysql-server
99 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
101 %define _libexecdir %{_sbindir}
102 %define _localstatedir /var/lib/mysql
103 %define _mysqlhome /home/services/mysql
105 %define _noautoreqdep 'perl(DBD::mysql)'
106 # CFLAGS for innodb are altered
107 %undefine configure_cache
110 MySQL is a true multi-user, multi-threaded SQL (Structured Query
111 Language) database server. SQL is the most popular database language
112 in the world. MySQL is a client/server implementation that consists of
113 a server daemon mysqld and many different client programs/libraries.
115 The main goals of MySQL are speed, robustness and easy to use. MySQL
116 was originally developed because we at Tcx needed a SQL server that
117 could handle very big databases with magnitude higher speed than what
118 any database vendor could offer to us. We have now been using MySQL
119 since 1996 in a environment with more than 40 databases, 10,000
120 tables, of which more than 500 have more than 7 million rows. This is
121 about 50G of mission critical data.
123 The base upon which MySQL is built is a set of routines that have been
124 used in a highly demanding production environment for many years.
125 While MySQL is still in development, it already offers a rich and
126 highly useful function set.
128 %description -l fr.UTF-8
129 MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et
130 multi-taches. Le langage SQL est le langage de bases de donnees le
131 plus populaire au monde. MySQL est une implementation client/serveur
132 qui consiste en un serveur (mysqld) et differents
133 programmes/bibliotheques clientes.
135 Les objectifs principaux de MySQL sont: vitesse, robustesse et
136 facilite d'utilisation. MySQL fut originalement developpe parce que
137 nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de
138 tres grandes bases de donnees avec une vitesse d'un ordre de magnitude
139 superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous
140 utilisons MySQL depuis 1996 dans un environnement avec plus de 40
141 bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7
142 millions de lignes. Ceci represente environ 50G de donnees critiques.
144 A la base de la conception de MySQL, on retrouve une serie de routines
145 qui ont ete utilisees dans un environnement de production pendant
146 plusieurs annees. Meme si MySQL est encore en developpement, il offre
147 deja une riche et utile serie de fonctions.
149 %description -l pl.UTF-8
150 MySQL to prawdziwie wieloużytkownikowy, wielowątkowy serwer baz danych
151 SQL. SQL jest najpopularniejszym na świecie językiem używanym do baz
152 danych. MySQL to implementacja klient/serwer składająca się z demona
153 mysqld i wielu różnych programów i bibliotek klienckich.
155 Głównymi celami MySQL-a są szybkość, potęga i łatwość użytkowania.
156 MySQL oryginalnie był tworzony, ponieważ autorzy w Tcx potrzebowali
157 serwera SQL do obsługi bardzo dużych baz danych z szybkością o wiele
158 większą, niż mogli zaoferować inni producenci baz danych. Używają go
159 od 1996 roku w środowisku z ponad 40 bazami danych, 10 000 tabel, z
160 których ponad 500 zawiera ponad 7 milionów rekordów - w sumie około
161 50GB krytycznych danych.
163 Baza, na której oparty jest MySQL, składa się ze zbioru procedur,
164 które były używane w bardzo wymagającym środowisku produkcyjnym przez
165 wiele lat. Pomimo, że MySQL jest ciągle rozwijany, już oferuje bogaty
166 i użyteczny zbiór funkcji.
168 %description -l de.UTF-8
169 MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz zu
170 Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten
171 werden zwar in zweidimensionalen Tabellen gespeichert und können mit
172 einem Primärschlüssel versehen werden. Es ist aber keine Definition
173 eines Fremdschlüssels möglich. Der Benutzer ist somit bei einer
174 MySQL-Datenbank völlig allein für die (referenzielle) Integrität der
175 Daten verantwortlich. Allein durch die Nutzung externer
176 Tabellenformate, wie InnoDB bzw Berkeley DB wird eine Relationalität
177 ermöglicht. Diese Projekte sind aber getrennt von MySQL zu betrachten.
179 %description -l pt_BR.UTF-8
180 O MySQL é um servidor de banco de dados SQL realmente multiusuário e
181 multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de
182 dados no mundo. O MySQL é uma implementação cliente/servidor que
183 consiste de um servidor chamado mysqld e diversos
184 programas/bibliotecas clientes. Os principais objetivos do MySQL são:
185 velocidade, robustez e facilidade de uso. O MySQL foi originalmente
186 desenvolvido porque nós na Tcx precisávamos de um servidor SQL que
187 pudesse lidar com grandes bases de dados e com uma velocidade muito
188 maior do que a que qualquer vendedor podia nos oferecer. Estamos
189 usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados
190 com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de
191 linhas. Isto é o equivalente a aproximadamente 50G de dados críticos.
192 A base da construção do MySQL é uma série de rotinas que foram usadas
193 em um ambiente de produção com alta demanda por muitos anos. Mesmo o
194 MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de
195 funções muito ricas e úteis. Veja a documentação para maiores
198 %description -l ru.UTF-8
199 MySQL - это SQL (Structured Query Language) сервер базы данных. MySQL
200 была написана Michael'ом (monty) Widenius'ом. См. файл CREDITS в
201 дистрибутиве на предмет других участников проекта и прочей информации
204 %description -l uk.UTF-8
205 MySQL - це SQL (Structured Query Language) сервер бази даних. MySQL
206 було написано Michael'ом (monty) Widenius'ом. Див. файл CREDITS в
207 дистрибутиві для інформації про інших учасників проекту та іншої
211 Summary: MySQL - character sets definitions
212 Summary(pl.UTF-8): MySQL - definicje kodowań znaków
213 Group: Applications/Databases
215 %description charsets
216 This package contains character sets definitions needed by both client
219 %description charsets -l pl.UTF-8
220 Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i
224 Summary: MySQL additional utilities
225 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL
226 Group: Applications/Databases
227 Requires: %{name}-libs = %{version}-%{release}
230 MySQL additional utilities except Perl scripts (they may be found in
231 %{name}-extras-perl package).
233 %description extras -l pl.UTF-8
234 Dodatkowe narzędzia do MySQL - z wyjątkiem skryptów Perla (które są w
235 pakiecie %{name}-extras-perl).
238 Summary: MySQL additional utilities written in Perl
239 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL napisane w Perlu
240 Group: Applications/Databases
241 Requires: %{name}-extras = %{version}-%{release}
242 Requires: perl(DBD::mysql)
244 %description extras-perl
245 MySQL additional utilities written in Perl.
247 %description extras-perl -l pl.UTF-8
248 Dodatkowe narzędzia do MySQL napisane w Perlu.
251 Summary: MySQL - Client
252 Summary(pl.UTF-8): MySQL - Klient
253 Summary(pt.UTF-8): MySQL - Cliente
254 Summary(ru.UTF-8): MySQL клиент
255 Summary(uk.UTF-8): MySQL клієнт
256 Group: Applications/Databases
257 Requires: %{name}-charsets = %{version}-%{release}
258 Requires: %{name}-libs = %{version}-%{release}
259 Obsoletes: MySQL-client
262 This package contains the standard MySQL clients.
264 %description client -l fr.UTF-8
265 Ce package contient les clients MySQL standards.
267 %description client -l pl.UTF-8
268 Standardowe programy klienckie MySQL.
270 %description client -l pt_BR.UTF-8
271 Este pacote contém os clientes padrão para o MySQL.
273 %description client -l ru.UTF-8
274 Этот пакет содержит только клиент MySQL.
276 %description client -l uk.UTF-8
277 Цей пакет містить тільки клієнта MySQL.
280 Summary: Shared libraries for MySQL
281 Summary(pl.UTF-8): Biblioteki dzielone MySQL
283 Obsoletes: libmysql10
284 Obsoletes: mysql-doc < 4.1.12
287 Shared libraries for MySQL.
289 %description libs -l pl.UTF-8
290 Biblioteki dzielone MySQL.
293 Summary: MySQL - Development header files and libraries
294 Summary(pl.UTF-8): MySQL - Pliki nagłówkowe i biblioteki dla programistów
295 Summary(pt.UTF-8): MySQL - Medições de desempenho
296 Summary(ru.UTF-8): MySQL - хедеры и библиотеки разработчика
297 Summary(uk.UTF-8): MySQL - хедери та бібліотеки програміста
298 Group: Development/Libraries
299 Requires: %{name}-libs = %{version}-%{release}
300 %{?with_ssl:Requires: openssl-devel}
302 Obsoletes: MySQL-devel
303 Obsoletes: libmysql10-devel
306 This package contains the development header files and libraries
307 necessary to develop MySQL client applications.
309 %description devel -l fr.UTF-8
310 Ce package contient les fichiers entetes et les librairies de
311 developpement necessaires pour developper des applications clientes
314 %description devel -l pl.UTF-8
315 Pliki nagłówkowe i biblioteki konieczne do kompilacji aplikacji
318 %description devel -l pt_BR.UTF-8
319 Este pacote contém os arquivos de cabeçalho (header files) e
320 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
322 %description devel -l ru.UTF-8
323 Этот пакет содержит хедеры и библиотеки разработчика, необходимые для
324 разработки клиентских приложений.
326 %description devel -l uk.UTF-8
327 Цей пакет містить хедери та бібліотеки програміста, необхідні для
328 розробки програм-клієнтів.
331 Summary: MySQL static libraries
332 Summary(pl.UTF-8): Biblioteki statyczne MySQL
333 Summary(ru.UTF-8): MySQL - статические библиотеки
334 Summary(uk.UTF-8): MySQL - статичні бібліотеки
335 Group: Development/Libraries
336 Requires: %{name}-devel = %{version}-%{release}
337 Obsoletes: MySQL-static
340 MySQL static libraries.
342 %description static -l pl.UTF-8
343 Biblioteki statyczne MySQL.
345 %description static -l ru.UTF-8
346 Этот пакет содержит статические библиотеки разработчика, необходимые
347 для разработки клиентских приложений.
349 %description static -l uk.UTF-8
350 Цей пакет містить статичні бібліотеки програміста, необхідні для
351 розробки програм-клієнтів.
354 Summary: MySQL - Benchmarks
355 Summary(pl.UTF-8): MySQL - Programy testujące szybkość działania bazy
356 Summary(pt.UTF-8): MySQL - Medições de desempenho
357 Summary(ru.UTF-8): MySQL - бенчмарки
358 Summary(uk.UTF-8): MySQL - бенчмарки
359 Group: Applications/Databases
360 Requires: %{name} = %{version}-%{release}
361 Requires: %{name}-client
362 Requires: perl(DBD::mysql)
363 Obsoletes: MySQL-bench
366 This package contains MySQL benchmark scripts and data.
368 %description bench -l pl.UTF-8
369 Programy testujące szybkość serwera MySQL.
371 %description bench -l pt_BR.UTF-8
372 Este pacote contém medições de desempenho de scripts e dados do MySQL.
374 %description bench -l ru.UTF-8
375 Этот пакет содержит скрипты и данные для оценки производительности
378 %description bench -l uk.UTF-8
379 Цей пакет містить скрипти та дані для оцінки продуктивності MySQL.
382 Summary: MySQL manual
383 Summary(pl.UTF-8): Podręcznik użytkownika MySQL
384 Group: Applications/Databases
387 This package contains manual in HTML format.
389 %description doc -l pl.UTF-8
390 Podręcznik MySQL-a w formacie HTML.
393 Summary: MySQL - NDB Storage Engine Daemon
394 Summary(pl.UTF-8): MySQL - demon silnika przechowywania danych NDB
395 Group: Applications/Databases
396 Requires: %{name}-libs = %{version}-%{release}
399 This package contains the standard MySQL NDB Storage Engine Daemon.
401 %description ndb -l pl.UTF-8
402 Ten pakiet zawiera standardowego demona silnika przechowywania danych
406 Summary: MySQL - NDB Clients
407 Summary(pl.UTF-8): MySQL - programy klienckie NDB
408 Group: Applications/Databases
409 Requires: %{name}-libs = %{version}-%{release}
411 %description ndb-client
412 This package contains the standard MySQL NDB Clients.
414 %description ndb-client -l pl.UTF-8
415 Ten pakiet zawiera standardowe programy klienckie MySQL NDB.
418 Summary: MySQL - NDB Management Daemon
419 Summary(pl.UTF-8): MySQL - demon zarządzający NDB
420 Group: Applications/Databases
421 Requires: %{name}-libs = %{version}-%{release}
424 This package contains the standard MySQL NDB Management Daemon.
426 %description ndb-mgm -l pl.UTF-8
427 Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB.
430 Summary: MySQL - NDB CPC Daemon
431 Summary(pl.UTF-8): MySQL - demon NDB CPC
432 Group: Applications/Databases
433 Requires: %{name}-libs = %{version}-%{release}
436 This package contains the standard MySQL NDB CPC Daemon.
438 %description ndb-cpc -l pl.UTF-8
439 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
442 %setup -q %{?_snap:-n %{name}-%{version}-nightly-%{_snap}} %{?with_sphinx:-a100}
445 mv sphinx-*/mysqlse sql/sphinx
451 # this is strange: mysqld functions for UDF modules are not explicitly defined,
452 # so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables
453 # in objects compiled without -fPIC
476 # The compiler flags are as per their "official" spec ;)
477 CXXFLAGS="%{rpmcflags} -felide-constructors -fno-rtti -fno-exceptions %{!?debug:-fomit-frame-pointer}"
478 CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
480 # NOTE: the PS, FIND_PROC, KILL, CHECK_PID are not used by PLD Linux
481 # and therefore do not add BR on these. These are here just to satisfy
486 FIND_PROC='/bin/ps p $$PID' \
488 CHECK_PID='/bin/kill -0 $$PID' \
490 --enable-largefile=yes \
493 --enable-thread-safe-client \
494 --with%{!?with_bdb:out}-berkeley-db \
495 --with%{!?with_innodb:out}-innodb \
496 --with%{!?with_raid:out}-raid \
497 --with%{!?with_ssl:out}-openssl \
498 --with%{!?with_tcpd:out}-libwrap \
499 %{?with_big_tables:--with-big-tables} \
500 --with-comment="PLD Linux Distribution MySQL RPM" \
501 --with%{!?debug:out}-debug \
502 --with%{!?debug:out}-ndb-debug \
503 --with-embedded-server \
504 --with-extra-charsets=all \
506 --with-mysqld-user=mysql \
507 --with-named-curses-libs="-lncurses" \
508 --with-named-thread-libs="-lpthread" \
509 --with-unix-socket-path=/var/lib/mysql/mysql.sock \
510 --with-archive-storage-engine \
511 %{?with_sphinx:--with-sphinx-storage-engine} \
512 %{?with_federated:--with-federated-storage-engine} \
519 # --with-ndb-test --with-ndb-docs
521 # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file
522 # (it defaults to first cluster but user may change it to whatever
525 echo -e "all:\ninstall:\nclean:\nlink_sources:\n" > libmysqld/examples/Makefile
528 benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench
530 %{__make} -C Docs mysql.info
533 rm -rf $RPM_BUILD_ROOT
534 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql} \
535 $RPM_BUILD_ROOT/var/{log/{archiv,}/mysql,lib/mysql} \
536 $RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}}
539 install -d $RPM_BUILD_ROOT/var/lib/mysql/bdb/{log,tmp}
544 DESTDIR=$RPM_BUILD_ROOT \
545 benchdir=%{_datadir}/sql-bench \
547 # libsdir is to avoid installing innodb static libs in $RPM_BUILD_ROOT../libs
549 install Docs/mysql.info $RPM_BUILD_ROOT%{_infodir}
551 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
552 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
553 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
554 # This is template for configuration file which is created after 'service mysql init'
555 install %{SOURCE4} mysqld.conf
556 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/clusters.conf
557 touch $RPM_BUILD_ROOT/var/log/mysql/{err,log,update}
559 # remove innodb directives from mysqld.conf if mysqld is configured without
561 echo "BASE_TABLETYPE=MyISAM" >> $RPM_BUILD_ROOT/etc/sysconfig/mysql
562 cp mysqld.conf mysqld.tmp
563 awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
566 # remove berkeley-db directives from mysqld.conf if mysqld is configured without
568 cp mysqld.conf mysqld.tmp
569 awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
572 install mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.conf
573 install %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/mysql-client.conf
576 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
577 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb
578 install %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
579 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
580 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
581 install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
582 # remove .txt variants for .sys messages
583 rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/*/*.txt
585 mv -f $RPM_BUILD_ROOT%{_libdir}/mysql/lib* $RPM_BUILD_ROOT%{_libdir}
586 sed -i -e 's,%{_libdir}/mysql,%{_libdir},' $RPM_BUILD_ROOT{%{_libdir}/libmysqlclient{,_r}.la,%{_bindir}/mysql_config}
588 # remove known unpackaged files
589 rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
591 # rename not to be so generic name
592 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}comp_err
593 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
594 mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1
595 mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}comp_err.1
597 # not useful without -debug build
598 %{!?debug:rm -f $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
599 %{!?debug:rm -f $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
600 # generate symbols file, so one can generate backtrace using it
601 # mysql_resolve_stack_dump -s %{_datadir}/mysql/mysqld.sym -n mysqld.stack.
602 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
603 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.sym}
605 # functionality in initscript / rpm / other os
606 rm $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
607 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
608 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
609 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
610 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate
611 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
612 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
613 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg.txt
614 rm $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
615 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
616 rm $RPM_BUILD_ROOT%{_mandir}/man1/safe_mysqld*
617 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
618 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_bin_dist.1
619 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_install_db.1
620 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1
621 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_src_distribution.1
622 rm $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld_multi.server
624 # no package for tests
625 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1
626 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1
627 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1
630 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf}
633 rm -rf $RPM_BUILD_ROOT
636 %groupadd -g 89 mysql
637 %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql
640 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
641 /sbin/chkconfig --add mysql
642 %service mysql restart
645 if [ "$1" = "0" ]; then
646 %service -q mysql stop
647 /sbin/chkconfig --del mysql
651 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
652 if [ "$1" = "0" ]; then
658 /sbin/chkconfig --add mysql-ndb
659 %service mysql-ndb restart "mysql NDB engine"
662 if [ "$1" = "0" ]; then
663 %service mysql-ndb stop
664 /sbin/chkconfig --del mysql-ndb
668 /sbin/chkconfig --add mysql-ndb-mgm
669 %service mysql-ndb-mgm restart "mysql NDB management node"
672 if [ "$1" = "0" ]; then
673 %service mysql-ndb-mgm stop
674 /sbin/chkconfig --del mysql-ndb-mgm
678 /sbin/chkconfig --add mysql-ndb-cpc
679 %service mysql-ndb-cpc restart "mysql NDB CPC"
682 if [ "$1" = "0" ]; then
683 %service mysql-ndb-cpc stop
684 /sbin/chkconfig --del mysql-ndb-cpc
687 %post libs -p /sbin/ldconfig
688 %postun libs -p /sbin/ldconfig
690 %triggerpostun -- mysql < 4.0.20-2.4
691 # For clusters in /etc/mysql/clusters.conf
692 if [ -f /etc/sysconfig/mysql ]; then
693 . /etc/sysconfig/mysql
694 if [ -n "$MYSQL_DB_CLUSTERS" ]; then
695 for i in "$MYSQL_DB_CLUSTERS"; do
696 echo "$i/mysqld.conf=$i" >> /etc/mysql/clusters.conf
698 echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql
699 echo "# USE /etc/mysql/clusters.conf instead" >> /etc/sysconfig/mysql
700 echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/mysql/clusters.conf."
701 echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/mysql/clusters.conf."
705 %triggerpostun -- mysql < 4.1.1
706 # For better compatibility with prevoius versions:
707 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do
708 if echo "$config" | grep -q '^/'; then
709 config_file="$config"
710 elif [ -f "/etc/mysql/$config" ]; then
711 config_file=/etc/mysql/$config
713 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/mysql/clusters.conf)
714 if [ -z "$clusterdir" ]; then
715 echo >&2 "Can't find cluster dir for $config!"
716 echo >&2 "Please remove extra (leading) spaces from /etc/mysql/clusters.conf"
719 config_file="$clusterdir/mysqld.conf"
722 if [ ! -f "$config_file" ]; then
723 echo >&2 "Lost myself! Please report this (with above errors, if any) to http://bugs.pld-linux.org/"
726 echo "Adding option old-passwords to config: $config_file"
727 echo "If you want to use new, better passwords - remove it"
729 # sed magic to add 'old-passwords' to [mysqld] section
730 sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
732 a; Compatibility options:
738 %banner -e %{name}-4.1.x <<-EOF
739 If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data:
740 mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql
745 %defattr(644,root,root,755)
746 %doc support-files/*.cnf support-files/*.ini
747 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/mysql
748 %attr(754,root,root) /etc/rc.d/init.d/mysql
749 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql
750 %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/clusters.conf
751 %attr(755,root,root) %{_bindir}/innochecksum
752 %attr(755,root,root) %{_bindir}/myisamchk
753 %attr(755,root,root) %{_bindir}/myisamlog
754 %attr(755,root,root) %{_bindir}/myisampack
755 %attr(755,root,root) %{_bindir}/mysql_fix_privilege_tables
756 %attr(755,root,root) %{_bindir}/my_print_defaults
757 %attr(755,root,root) %{_bindir}/mysql_upgrade
758 %attr(755,root,root) %{_bindir}/mysql_upgrade_shell
759 %attr(755,root,root) %{_sbindir}/mysqld
760 %{_mandir}/man1/mysql_fix_privilege_tables.1*
761 %{_mandir}/man1/my_print_defaults.1*
762 %{_mandir}/man1/myisamchk.1*
763 %{_mandir}/man1/myisamlog.1*
764 %{_mandir}/man1/myisampack.1*
765 %{_mandir}/man1/mysql_upgrade.1*
766 %{_mandir}/man1/innochecksum.1*
767 %{_mandir}/man8/mysqld.8*
770 %attr(755,root,root) %{_bindir}/*resolve_stack_dump
771 %{_datadir}/mysql/mysqld.sym
772 %{_mandir}/man1/*resolve_stack_dump.1*
775 %attr(700,mysql,mysql) %{_mysqlhome}
776 # root:root is proper here for AC mysql.rpm while mysql:mysql is potential security hole
777 %attr(751,root,root) /var/lib/mysql
778 %attr(750,mysql,mysql) %dir /var/log/mysql
779 %attr(750,mysql,mysql) %dir /var/log/archiv/mysql
780 %attr(640,mysql,mysql) %ghost /var/log/mysql/*
782 %{_infodir}/mysql.info*
783 # This is template for configuration file which is created after 'service mysql init'
784 %{_datadir}/mysql/mysqld.conf
786 %{_datadir}/mysql/fill_help_tables.sql
787 %{_datadir}/mysql/mysql_fix_privilege_tables.sql
788 %{_datadir}/mysql/mysql_system_tables.sql
789 %{_datadir}/mysql/mysql_system_tables_data.sql
790 %{_datadir}/mysql/mysql_test_data_timezone.sql
792 %{_datadir}/mysql/english
793 %lang(cs) %{_datadir}/mysql/czech
794 %lang(da) %{_datadir}/mysql/danish
795 %lang(de) %{_datadir}/mysql/german
796 %lang(el) %{_datadir}/mysql/greek
797 %lang(es) %{_datadir}/mysql/spanish
798 %lang(et) %{_datadir}/mysql/estonian
799 %lang(fr) %{_datadir}/mysql/french
800 %lang(hu) %{_datadir}/mysql/hungarian
801 %lang(it) %{_datadir}/mysql/italian
802 %lang(ja) %{_datadir}/mysql/japanese
803 %lang(ko) %{_datadir}/mysql/korean
804 %lang(nl) %{_datadir}/mysql/dutch
805 %lang(nb) %{_datadir}/mysql/norwegian
806 %lang(nn) %{_datadir}/mysql/norwegian-ny
807 %lang(pl) %{_datadir}/mysql/polish
808 %lang(pt) %{_datadir}/mysql/portuguese
809 %lang(ro) %{_datadir}/mysql/romanian
810 %lang(ru) %{_datadir}/mysql/russian
811 %lang(sr) %{_datadir}/mysql/serbian
812 %lang(sk) %{_datadir}/mysql/slovak
813 %lang(sv) %{_datadir}/mysql/swedish
814 %lang(uk) %{_datadir}/mysql/ukrainian
817 %defattr(644,root,root,755)
818 %dir %{_datadir}/mysql
819 %{_datadir}/mysql/charsets
822 %defattr(644,root,root,755)
823 %attr(755,root,root) %{_bindir}/msql2mysql
824 %attr(755,root,root) %{_bindir}/myisam_ftdump
825 %attr(755,root,root) %{_bindir}/mysql_secure_installation
826 %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql
827 %attr(755,root,root) %{_bindir}/mysqlcheck
828 %attr(755,root,root) %{_bindir}/perror
829 %attr(755,root,root) %{_bindir}/replace
830 %attr(755,root,root) %{_bindir}/resolveip
831 %{_mandir}/man1/msql2mysql.1*
832 %{_mandir}/man1/myisam_ftdump.1*
833 %{_mandir}/man1/mysql_secure_installation.1*
834 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
835 %{_mandir}/man1/mysqlcheck.1*
836 %{_mandir}/man1/perror.1*
837 %{_mandir}/man1/replace.1*
838 %{_mandir}/man1/resolveip.1*
841 %defattr(644,root,root,755)
842 %attr(755,root,root) %{_bindir}/mysql_convert_table_format
843 %attr(755,root,root) %{_bindir}/mysql_explain_log
844 %attr(755,root,root) %{_bindir}/mysql_find_rows
845 %attr(755,root,root) %{_bindir}/mysql_fix_extensions
846 %attr(755,root,root) %{_bindir}/mysql_setpermission
847 %attr(755,root,root) %{_bindir}/mysql_tableinfo
848 %attr(755,root,root) %{_bindir}/mysql_zap
849 %attr(755,root,root) %{_bindir}/mysqlaccess
850 %attr(755,root,root) %{_bindir}/mysqldumpslow
851 %attr(755,root,root) %{_bindir}/mysqlhotcopy
852 %{_mandir}/man1/mysql_explain_log.1*
853 %{_mandir}/man1/mysql_zap.1*
854 %{_mandir}/man1/mysqlaccess.1*
855 %{_mandir}/man1/mysqlhotcopy.1*
856 %{_mandir}/man1/mysql_setpermission.1*
857 %{_mandir}/man1/mysql_tableinfo.1*
858 %{_mandir}/man1/mysql_fix_extensions.1*
859 %{_mandir}/man1/mysql_find_rows.1*
860 %{_mandir}/man1/mysql_convert_table_format.1*
863 %defattr(644,root,root,755)
864 %attr(755,root,root) %{_bindir}/mysql
865 %attr(755,root,root) %{_bindir}/mysqlbug
866 %attr(755,root,root) %{_bindir}/mysqldump
867 %attr(755,root,root) %{_bindir}/mysqlimport
868 %attr(755,root,root) %{_sbindir}/mysqlmanager*
869 %attr(755,root,root) %{_bindir}/mysqlshow
870 %attr(755,root,root) %{_bindir}/mysqlbinlog
871 %attr(755,root,root) %{_bindir}/mysqladmin
872 %{_mandir}/man1/mysql.1*
873 %{_mandir}/man1/mysqladmin.1*
874 %{_mandir}/man1/mysqldump.1*
875 %{_mandir}/man1/mysqlshow.1*
876 %{_mandir}/man1/mysqlbinlog.1*
877 %{_mandir}/man1/mysqlimport.1*
878 %{_mandir}/man1/mysqlmanager*.1*
879 %{_mandir}/man8/mysqlmanager.8*
882 %defattr(644,root,root,755)
883 %doc EXCEPTIONS-CLIENT
884 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*
885 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*
886 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*
887 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.15
888 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.15
889 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.2
890 %attr(751,root,root) %dir %{_sysconfdir}/mysql
891 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/mysql-client.conf
894 %defattr(644,root,root,755)
895 %attr(755,root,root) %{_bindir}/mysql_config
896 %attr(755,root,root) %{_libdir}/lib*.so
897 %attr(755,root,root) %{_bindir}/*comp_err
899 %{_libdir}/lib*[!tr].a
901 %{_mandir}/man1/mysql_config.1*
902 %{_mandir}/man1/*comp_err.1*
905 %defattr(644,root,root,755)
906 %{_libdir}/lib*[tr].a
909 %defattr(644,root,root,755)
910 %attr(755,root,root) %{_bindir}/mysql_client_test
911 %attr(755,root,root) %{_bindir}/mysqltest
912 %attr(755,root,root) %{_bindir}/mysqltestmanager
913 %attr(755,root,root) %{_bindir}/mysqltestmanager-pwgen
914 %attr(755,root,root) %{_bindir}/mysqltestmanagerc
915 %dir %{_datadir}/sql-bench
916 %{_datadir}/sql-bench/[CDRl]*
917 %attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
919 %{_datadir}/mysql/mi_test_all.res
920 %attr(755,root,root) %{_datadir}/mysql/mi_test_all
921 %{_mandir}/man1/mysqltest*.1*
922 %{_mandir}/man1/mysql_client_test.1*
925 #%defattr(644,root,root,755)
926 #%doc Docs/manual.html Docs/manual_toc.html
929 %defattr(644,root,root,755)
930 %attr(755,root,root) %{_sbindir}/ndbd
931 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb
932 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb
933 %{_mandir}/man1/ndbd.1*
936 %defattr(644,root,root,755)
937 %attr(755,root,root) %{_bindir}/ndb_*
938 %attr(755,root,root) %{_datadir}/mysql/ndb_size.tmpl
939 %{_mandir}/man1/ndb_*.1*
940 %exclude %{_mandir}/man1/ndb_mgmd.1*
941 %exclude %{_mandir}/man1/ndb_cpcd.1*
944 %defattr(644,root,root,755)
945 %attr(755,root,root) %{_sbindir}/ndb_mgmd
946 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm
947 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm
948 %{_mandir}/man1/ndb_mgmd.1*
951 %defattr(644,root,root,755)
952 %attr(755,root,root) %{_sbindir}/ndb_cpcd
953 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc
954 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc
955 %{_mandir}/man1/ndb_cpcd.1*