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