2 # - http://bugs.mysql.com/bug.php?id=16470
3 # - innodb are dynamic (= as plugins) ?
4 # - missing have_archive, have_merge
5 # - is plugin_dir lib64 safe?
6 # - Using NDB Cluster... could not find sci transporter in /{include, lib}
9 %bcond_without innodb # InnoDB storage engine support
10 %bcond_without big_tables # Support tables with more than 4G rows even on 32 bit platforms
11 %bcond_without federated # Federated storage engine support
12 %bcond_without raid # RAID support
13 %bcond_without ssl # OpenSSL support
14 %bcond_without tcpd # libwrap (tcp_wrappers) support
15 %bcond_with autodeps # BR packages needed only for resolving deps
16 %bcond_with sphinx # Sphinx storage engine support
17 %bcond_with tests # FIXME: don't run correctly
19 %include /usr/lib/rpm/macros.perl
20 Summary: MySQL: a very fast and reliable SQL database engine
21 Summary(de.UTF-8): MySQL: ist eine SQL-Datenbank
22 Summary(fr.UTF-8): MySQL: un serveur SQL rapide et fiable
23 Summary(pl.UTF-8): MySQL: bardzo szybka i niezawodna baza danych (SQL)
24 Summary(pt_BR.UTF-8): MySQL: Um servidor SQL rápido e confiável
25 Summary(ru.UTF-8): MySQL - быстрый SQL-сервер
26 Summary(uk.UTF-8): MySQL - швидкий SQL-сервер
27 Summary(zh_CN.UTF-8): MySQL数据库服务器
31 License: GPL + MySQL FLOSS Exception
32 Group: Applications/Databases
33 #Source0Download: http://dev.mysql.com/downloads/mysql/5.1.html#source
34 Source0: http://mysql.easynet.be/Downloads/MySQL-5.1/%{name}-%{version}-rc.tar.gz
35 # Source0-md5: 4cb2369d141c0e3dfb2f76af4e21b085
36 Source100: http://www.sphinxsearch.com/downloads/sphinx-0.9.7.tar.gz
37 # Source100-md5: 32f2b7e98d8485c86108851d52c5cef4
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}-libwrap.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}-system-users.patch
57 Patch7: %{name}-bug-34192.patch
58 Patch8: %{name}-client-config.patch
59 Patch9: %{name}-build.patch
60 Patch10: %{name}-alpha.patch
61 Patch11: %{name}-upgrade.patch
62 Patch12: %{name}-config.patch
63 Patch13: %{name}-errorlog-no-rename.patch
64 URL: http://www.mysql.com/products/database/mysql/community_edition.html
65 BuildRequires: autoconf
66 BuildRequires: automake
67 BuildRequires: doxygen
68 BuildRequires: libstdc++-devel >= 5:3.0
69 BuildRequires: libtool
70 %{?with_tcpd:BuildRequires: libwrap-devel}
71 BuildRequires: ncurses-devel >= 4.2
72 %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
73 %{?with_autodeps:BuildRequires: perl-DBI}
74 BuildRequires: perl-devel >= 1:5.6.1
75 BuildRequires: readline-devel >= 4.2
76 BuildRequires: rpm-perlprov >= 4.1-13
77 BuildRequires: rpmbuild(macros) >= 1.414
78 BuildRequires: sed >= 4.0
79 BuildRequires: texinfo
80 BuildRequires: zlib-devel
81 Requires(post,preun): /sbin/chkconfig
82 Requires(postun): /usr/sbin/groupdel
83 Requires(postun): /usr/sbin/userdel
84 Requires(pre): /bin/id
85 Requires(pre): /usr/bin/getgid
86 Requires(pre): /usr/sbin/groupadd
87 Requires(pre): /usr/sbin/useradd
88 Requires(triggerpostun): sed >= 4.0
89 Requires: %{name}-charsets = %{version}-%{release}
90 Requires: %{name}-libs = %{version}-%{release}
91 Requires: /usr/bin/setsid
92 Requires: logrotate >= 3.7-4
93 Requires: rc-scripts >= 0.2.0
94 Suggests: mysql-client
95 %{?with_tcpd:Suggests: tcp_wrappers}
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)'
110 # readline/libedit detection goes wrong
111 %undefine configure_cache
114 MySQL is a true multi-user, multi-threaded SQL (Structured Query
115 Language) database server. SQL is the most popular database language
116 in the world. MySQL is a client/server implementation that consists of
117 a server daemon mysqld and many different client programs/libraries.
119 The main goals of MySQL are speed, robustness and easy to use. MySQL
120 was originally developed because we at Tcx needed a SQL server that
121 could handle very big databases with magnitude higher speed than what
122 any database vendor could offer to us. We have now been using MySQL
123 since 1996 in a environment with more than 40 databases, 10,000
124 tables, of which more than 500 have more than 7 million rows. This is
125 about 50G of mission critical data.
127 The base upon which MySQL is built is a set of routines that have been
128 used in a highly demanding production environment for many years.
129 While MySQL is still in development, it already offers a rich and
130 highly useful function set.
132 %description -l fr.UTF-8
133 MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et
134 multi-taches. Le langage SQL est le langage de bases de donnees le
135 plus populaire au monde. MySQL est une implementation client/serveur
136 qui consiste en un serveur (mysqld) et differents
137 programmes/bibliotheques clientes.
139 Les objectifs principaux de MySQL sont: vitesse, robustesse et
140 facilite d'utilisation. MySQL fut originalement developpe parce que
141 nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de
142 tres grandes bases de donnees avec une vitesse d'un ordre de magnitude
143 superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous
144 utilisons MySQL depuis 1996 dans un environnement avec plus de 40
145 bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7
146 millions de lignes. Ceci represente environ 50G de donnees critiques.
148 A la base de la conception de MySQL, on retrouve une serie de routines
149 qui ont ete utilisees dans un environnement de production pendant
150 plusieurs annees. Meme si MySQL est encore en developpement, il offre
151 deja une riche et utile serie de fonctions.
153 %description -l pl.UTF-8
154 MySQL to prawdziwie wieloużytkownikowy, wielowątkowy serwer baz danych
155 SQL. SQL jest najpopularniejszym na świecie językiem używanym do baz
156 danych. MySQL to implementacja klient/serwer składająca się z demona
157 mysqld i wielu różnych programów i bibliotek klienckich.
159 Głównymi celami MySQL-a są szybkość, potęga i łatwość użytkowania.
160 MySQL oryginalnie był tworzony, ponieważ autorzy w Tcx potrzebowali
161 serwera SQL do obsługi bardzo dużych baz danych z szybkością o wiele
162 większą, niż mogli zaoferować inni producenci baz danych. Używają go
163 od 1996 roku w środowisku z ponad 40 bazami danych, 10 000 tabel, z
164 których ponad 500 zawiera ponad 7 milionów rekordów - w sumie około
165 50GB krytycznych danych.
167 Baza, na której oparty jest MySQL, składa się ze zbioru procedur,
168 które były używane w bardzo wymagającym środowisku produkcyjnym przez
169 wiele lat. Pomimo, że MySQL jest ciągle rozwijany, już oferuje bogaty
170 i użyteczny zbiór funkcji.
172 %description -l de.UTF-8
173 MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz zu
174 Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten
175 werden zwar in zweidimensionalen Tabellen gespeichert und können mit
176 einem Primärschlüssel versehen werden. Es ist aber keine Definition
177 eines Fremdschlüssels möglich. Der Benutzer ist somit bei einer
178 MySQL-Datenbank völlig allein für die (referenzielle) Integrität der
179 Daten verantwortlich. Allein durch die Nutzung externer
180 Tabellenformate, wie InnoDB bzw Berkeley DB wird eine Relationalität
181 ermöglicht. Diese Projekte sind aber getrennt von MySQL zu betrachten.
183 %description -l pt_BR.UTF-8
184 O MySQL é um servidor de banco de dados SQL realmente multiusuário e
185 multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de
186 dados no mundo. O MySQL é uma implementação cliente/servidor que
187 consiste de um servidor chamado mysqld e diversos
188 programas/bibliotecas clientes. Os principais objetivos do MySQL são:
189 velocidade, robustez e facilidade de uso. O MySQL foi originalmente
190 desenvolvido porque nós na Tcx precisávamos de um servidor SQL que
191 pudesse lidar com grandes bases de dados e com uma velocidade muito
192 maior do que a que qualquer vendedor podia nos oferecer. Estamos
193 usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados
194 com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de
195 linhas. Isto é o equivalente a aproximadamente 50G de dados críticos.
196 A base da construção do MySQL é uma série de rotinas que foram usadas
197 em um ambiente de produção com alta demanda por muitos anos. Mesmo o
198 MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de
199 funções muito ricas e úteis. Veja a documentação para maiores
202 %description -l ru.UTF-8
203 MySQL - это SQL (Structured Query Language) сервер базы данных. MySQL
204 была написана Michael'ом (monty) Widenius'ом. См. файл CREDITS в
205 дистрибутиве на предмет других участников проекта и прочей информации
208 %description -l uk.UTF-8
209 MySQL - це SQL (Structured Query Language) сервер бази даних. MySQL
210 було написано Michael'ом (monty) Widenius'ом. Див. файл CREDITS в
211 дистрибутиві для інформації про інших учасників проекту та іншої
215 Summary: MySQL - character sets definitions
216 Summary(pl.UTF-8): MySQL - definicje kodowań znaków
217 Group: Applications/Databases
219 %description charsets
220 This package contains character sets definitions needed by both client
223 %description charsets -l pl.UTF-8
224 Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i
228 Summary: MySQL additional utilities
229 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL
230 Group: Applications/Databases
231 Requires: %{name}-libs = %{version}-%{release}
234 MySQL additional utilities except Perl scripts (they may be found in
235 %{name}-extras-perl package).
237 %description extras -l pl.UTF-8
238 Dodatkowe narzędzia do MySQL - z wyjątkiem skryptów Perla (które są w
239 pakiecie %{name}-extras-perl).
242 Summary: MySQL additional utilities written in Perl
243 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL napisane w Perlu
244 Group: Applications/Databases
245 Requires: %{name}-extras = %{version}-%{release}
246 Requires: perl(DBD::mysql)
248 %description extras-perl
249 MySQL additional utilities written in Perl.
251 %description extras-perl -l pl.UTF-8
252 Dodatkowe narzędzia do MySQL napisane w Perlu.
255 Summary: MySQL - Client
256 Summary(pl.UTF-8): MySQL - Klient
257 Summary(pt.UTF-8): MySQL - Cliente
258 Summary(ru.UTF-8): MySQL клиент
259 Summary(uk.UTF-8): MySQL клієнт
260 Group: Applications/Databases
261 Requires: %{name}-charsets = %{version}-%{release}
262 Requires: %{name}-libs = %{version}-%{release}
263 Obsoletes: MySQL-client
266 This package contains the standard MySQL clients.
268 %description client -l fr.UTF-8
269 Ce package contient les clients MySQL standards.
271 %description client -l pl.UTF-8
272 Standardowe programy klienckie MySQL.
274 %description client -l pt_BR.UTF-8
275 Este pacote contém os clientes padrão para o MySQL.
277 %description client -l ru.UTF-8
278 Этот пакет содержит только клиент MySQL.
280 %description client -l uk.UTF-8
281 Цей пакет містить тільки клієнта MySQL.
284 Summary: Shared libraries for MySQL
285 Summary(pl.UTF-8): Biblioteki dzielone MySQL
287 Obsoletes: libmysql10
288 Obsoletes: mysql-doc < 4.1.12
291 Shared libraries for MySQL.
293 %description libs -l pl.UTF-8
294 Biblioteki dzielone MySQL.
297 Summary: MySQL - Development header files and libraries
298 Summary(pl.UTF-8): MySQL - Pliki nagłówkowe i biblioteki dla programistów
299 Summary(pt.UTF-8): MySQL - Medições de desempenho
300 Summary(ru.UTF-8): MySQL - хедеры и библиотеки разработчика
301 Summary(uk.UTF-8): MySQL - хедери та бібліотеки програміста
302 Group: Development/Libraries
303 Requires: %{name}-libs = %{version}-%{release}
304 %{?with_ssl:Requires: openssl-devel}
306 Obsoletes: MySQL-devel
307 Obsoletes: libmysql10-devel
310 This package contains the development header files and libraries
311 necessary to develop MySQL client applications.
313 %description devel -l fr.UTF-8
314 Ce package contient les fichiers entetes et les librairies de
315 developpement necessaires pour developper des applications clientes
318 %description devel -l pl.UTF-8
319 Pliki nagłówkowe i biblioteki konieczne do kompilacji aplikacji
322 %description devel -l pt_BR.UTF-8
323 Este pacote contém os arquivos de cabeçalho (header files) e
324 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
326 %description devel -l ru.UTF-8
327 Этот пакет содержит хедеры и библиотеки разработчика, необходимые для
328 разработки клиентских приложений.
330 %description devel -l uk.UTF-8
331 Цей пакет містить хедери та бібліотеки програміста, необхідні для
332 розробки програм-клієнтів.
335 Summary: MySQL static libraries
336 Summary(pl.UTF-8): Biblioteki statyczne MySQL
337 Summary(ru.UTF-8): MySQL - статические библиотеки
338 Summary(uk.UTF-8): MySQL - статичні бібліотеки
339 Group: Development/Libraries
340 Requires: %{name}-devel = %{version}-%{release}
341 Obsoletes: MySQL-static
344 MySQL static libraries.
346 %description static -l pl.UTF-8
347 Biblioteki statyczne MySQL.
349 %description static -l ru.UTF-8
350 Этот пакет содержит статические библиотеки разработчика, необходимые
351 для разработки клиентских приложений.
353 %description static -l uk.UTF-8
354 Цей пакет містить статичні бібліотеки програміста, необхідні для
355 розробки програм-клієнтів.
358 Summary: MySQL - Benchmarks
359 Summary(pl.UTF-8): MySQL - Programy testujące szybkość działania bazy
360 Summary(pt.UTF-8): MySQL - Medições de desempenho
361 Summary(ru.UTF-8): MySQL - бенчмарки
362 Summary(uk.UTF-8): MySQL - бенчмарки
363 Group: Applications/Databases
364 Requires: %{name} = %{version}-%{release}
365 Requires: %{name}-client
366 Requires: perl(DBD::mysql)
367 Obsoletes: MySQL-bench
370 This package contains MySQL benchmark scripts and data.
372 %description bench -l pl.UTF-8
373 Programy testujące szybkość serwera MySQL.
375 %description bench -l pt_BR.UTF-8
376 Este pacote contém medições de desempenho de scripts e dados do MySQL.
378 %description bench -l ru.UTF-8
379 Этот пакет содержит скрипты и данные для оценки производительности
382 %description bench -l uk.UTF-8
383 Цей пакет містить скрипти та дані для оцінки продуктивності MySQL.
386 Summary: MySQL manual
387 Summary(pl.UTF-8): Podręcznik użytkownika MySQL
388 Group: Applications/Databases
391 This package contains manual in HTML format.
393 %description doc -l pl.UTF-8
394 Podręcznik MySQL-a w formacie HTML.
397 Summary: MySQL - NDB Storage Engine Daemon
398 Summary(pl.UTF-8): MySQL - demon silnika przechowywania danych NDB
399 Group: Applications/Databases
400 Requires: %{name}-libs = %{version}-%{release}
403 This package contains the standard MySQL NDB Storage Engine Daemon.
405 %description ndb -l pl.UTF-8
406 Ten pakiet zawiera standardowego demona silnika przechowywania danych
410 Summary: MySQL - NDB Clients
411 Summary(pl.UTF-8): MySQL - programy klienckie NDB
412 Group: Applications/Databases
413 Requires: %{name}-libs = %{version}-%{release}
415 %description ndb-client
416 This package contains the standard MySQL NDB Clients.
418 %description ndb-client -l pl.UTF-8
419 Ten pakiet zawiera standardowe programy klienckie MySQL NDB.
422 Summary: MySQL - NDB Management Daemon
423 Summary(pl.UTF-8): MySQL - demon zarządzający NDB
424 Group: Applications/Databases
425 Requires: %{name}-libs = %{version}-%{release}
428 This package contains the standard MySQL NDB Management Daemon.
430 %description ndb-mgm -l pl.UTF-8
431 Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB.
434 Summary: MySQL - NDB CPC Daemon
435 Summary(pl.UTF-8): MySQL - demon NDB CPC
436 Group: Applications/Databases
437 Requires: %{name}-libs = %{version}-%{release}
440 This package contains the standard MySQL NDB CPC Daemon.
442 %description ndb-cpc -l pl.UTF-8
443 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
446 %setup -q -n %{name}-%{version}-rc %{?with_sphinx:-a100}
448 mv sphinx-*/mysqlse storage/sphinx
451 #%{?with_tcpd:%patch1 -p1} # WHATS PURPOSE OF THIS PATCH?
452 #%patch2 -p1 # NEEDS CHECK, which exact program needs -lc++
455 # this is strange: mysqld functions for UDF modules are not explicitly defined,
456 # so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables
457 # in objects compiled without -fPIC
473 %{__aclocal} -I config/ac-macros
477 # The compiler flags are as per their "official" spec ;)
478 CXXFLAGS="%{rpmcflags} -felide-constructors -fno-rtti -fno-exceptions %{!?debug:-fomit-frame-pointer}"
479 CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
481 # NOTE: the PS, FIND_PROC, KILL, CHECK_PID are not used by PLD Linux
482 # and therefore do not add BR on these. These are here just to satisfy
487 FIND_PROC='/bin/ps p $$PID' \
489 CHECK_PID='/bin/kill -0 $$PID' \
491 --enable-largefile=yes \
494 --enable-thread-safe-client \
495 --with%{!?with_innodb:out}-innodb \
496 --with%{!?with_raid:out}-raid \
497 --with%{!?with_ssl:out}-ssl=/usr \
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%{?debug:=full} \
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 \
512 %{?with_federated:--with-federated-storage-engine} \
513 --with-fast-mutexes \
523 # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file
524 # (it defaults to first cluster but user may change it to whatever
527 echo -e "all:\ninstall:\nclean:\nlink_sources:\n" > libmysqld/examples/Makefile
530 benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench
532 %{__make} -C Docs mysql.info
534 %{?with_tests:%{__make} test}
537 rm -rf $RPM_BUILD_ROOT
538 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,ssl/certs/mysql} \
539 $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,lib/mysql} \
540 $RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}}
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
560 %if %{without innodb}
561 cp mysqld.conf mysqld.tmp
562 awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
565 # remove berkeley-db directives from mysqld.conf if mysqld is configured without
566 cp mysqld.conf mysqld.tmp
567 awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
569 install mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.conf
570 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/mysql-client.conf
573 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
574 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb
575 install %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
576 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
577 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
578 install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
580 mv -f $RPM_BUILD_ROOT%{_libdir}/mysql/lib* $RPM_BUILD_ROOT%{_libdir}
581 sed -i -e 's,%{_libdir}/mysql,%{_libdir},' $RPM_BUILD_ROOT{%{_libdir}/libmysqlclient{,_r}.la,%{_bindir}/mysql_config}
582 sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
584 # remove known unpackaged files
585 rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
587 # remove .txt variants for .sys messages
588 rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/*/*.txt
590 # rename not to be so generic name
591 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
592 mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1
594 # not useful without -debug build
595 %{!?debug:rm -f $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
596 %{!?debug:rm -f $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
597 # generate symbols file, so one can generate backtrace using it
598 # mysql_resolve_stack_dump -s %{_datadir}/mysql/mysqld.sym -n mysqld.stack.
599 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
600 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.sym}
602 # do not clobber users $PATH
603 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade
604 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum
605 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk
606 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog
607 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack
608 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables
609 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults
610 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
612 # functionality in initscript / rpm
613 rm $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
614 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_install_db.1*
615 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
616 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
617 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
618 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate
619 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
620 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
621 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg.txt
622 rm $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
623 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1*
624 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
625 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
626 rm $RPM_BUILD_ROOT%{_bindir}/resolveip
627 rm $RPM_BUILD_ROOT%{_mandir}/man1/resolveip.1*
628 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_bin_dist.1*
629 rm $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1*
630 rm $RPM_BUILD_ROOT%{_datadir}/mysql/ChangeLog
632 # we don't package those (we have no -test or -testsuite pkg) and some of them just segfault
633 rm $RPM_BUILD_ROOT%{_bindir}/mysql_client_test
634 rm $RPM_BUILD_ROOT%{_datadir}/mysql/mi_test_all
635 rm $RPM_BUILD_ROOT%{_datadir}/mysql/mi_test_all.res
636 rm $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld_multi.server
637 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test.1*
638 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1*
639 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1*
640 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1*
643 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf}
646 rm -f $RPM_BUILD_ROOT%{_libdir}/mysql/plugin/ha_example.{a,la}
649 rm -rf $RPM_BUILD_ROOT
652 %groupadd -g 89 mysql
653 %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql
656 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
657 /sbin/chkconfig --add mysql
658 %service mysql restart
661 if [ "$1" = "0" ]; then
662 %service -q mysql stop
663 /sbin/chkconfig --del mysql
667 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
669 if [ "$1" = "0" ]; then
675 /sbin/chkconfig --add mysql-ndb
676 %service mysql-ndb restart "mysql NDB engine"
679 if [ "$1" = "0" ]; then
680 %service mysql-ndb stop
681 /sbin/chkconfig --del mysql-ndb
685 /sbin/chkconfig --add mysql-ndb-mgm
686 %service mysql-ndb-mgm restart "mysql NDB management node"
689 if [ "$1" = "0" ]; then
690 %service mysql-ndb-mgm stop
691 /sbin/chkconfig --del mysql-ndb-mgm
695 /sbin/chkconfig --add mysql-ndb-cpc
696 %service mysql-ndb-cpc restart "mysql NDB CPC"
699 if [ "$1" = "0" ]; then
700 %service mysql-ndb-cpc stop
701 /sbin/chkconfig --del mysql-ndb-cpc
704 %post libs -p /sbin/ldconfig
705 %postun libs -p /sbin/ldconfig
707 %triggerpostun -- mysql < 4.0.20-2.4
708 # For clusters in /etc/mysql/clusters.conf
709 if [ -f /etc/sysconfig/mysql ]; then
710 . /etc/sysconfig/mysql
711 if [ -n "$MYSQL_DB_CLUSTERS" ]; then
712 for i in "$MYSQL_DB_CLUSTERS"; do
713 echo "$i/mysqld.conf=$i" >> /etc/mysql/clusters.conf
715 echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql
716 echo "# USE /etc/mysql/clusters.conf instead" >> /etc/sysconfig/mysql
717 echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/mysql/clusters.conf."
718 echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/mysql/clusters.conf."
722 %triggerpostun -- mysql < 4.1.1
723 # For better compatibility with prevoius versions:
724 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do
725 if echo "$config" | grep -q '^/'; then
726 config_file="$config"
727 elif [ -f "/etc/mysql/$config" ]; then
728 config_file=/etc/mysql/$config
730 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/mysql/clusters.conf)
731 if [ -z "$clusterdir" ]; then
732 echo >&2 "Can't find cluster dir for $config!"
733 echo >&2 "Please remove extra (leading) spaces from /etc/mysql/clusters.conf"
736 config_file="$clusterdir/mysqld.conf"
739 if [ ! -f "$config_file" ]; then
740 echo >&2 "Lost myself! Please report this (with above errors, if any) to http://bugs.pld-linux.org/"
743 echo "Adding option old-passwords to config: $config_file"
744 echo "If you want to use new, better passwords - remove it"
746 # sed magic to add 'old-passwords' to [mysqld] section
747 sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
749 a; Compatibility options:
755 %banner -e %{name}-4.1.x <<-EOF
756 If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data:
757 mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql
761 %triggerpostun -- mysql < 5.1.0
763 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do
764 if echo "$config" | grep -q '^/'; then
765 config_file="$config"
766 elif [ -f "/etc/mysql/$config" ]; then
767 config_file=/etc/mysql/$config
769 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/mysql/clusters.conf)
770 if [ -z "$clusterdir" ]; then
771 echo >&2 "Can't find cluster dir for $config!"
772 echo >&2 "Please remove extra (leading) spaces from /etc/mysql/clusters.conf"
775 config_file="$clusterdir/mysqld.conf"
778 if [ ! -f "$config_file" ]; then
779 echo >&2 "ERROR: Can't find real config file for $config! Please report this (with above errors, if any) to http://bugs.pld-linux.org/"
782 configs="$configs $config_file"
786 echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.'
787 echo 'Thus, you should invoke:'
788 for config in $configs; do
789 datadir=$(awk -F= '!/^#/ && $1 ~ /datadir/{print $2}' $config | xargs)
790 echo "# mysql_upgrade --datadir=$datadir"
792 ) | %banner -e %{name}-5.1
795 %defattr(644,root,root,755)
796 %doc support-files/*.cnf support-files/*.ini ChangeLog
797 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/mysql
798 %attr(754,root,root) /etc/rc.d/init.d/mysql
799 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql
800 %dir /etc/ssl/certs/mysql
801 %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/clusters.conf
802 %attr(755,root,root) %{_sbindir}/innochecksum
803 %attr(755,root,root) %{_sbindir}/my_print_defaults
804 %attr(755,root,root) %{_sbindir}/myisamchk
805 %attr(755,root,root) %{_sbindir}/myisamlog
806 %attr(755,root,root) %{_sbindir}/myisampack
807 %attr(755,root,root) %{_sbindir}/mysql_fix_privilege_tables
808 %attr(755,root,root) %{_sbindir}/mysql_upgrade
809 %attr(755,root,root) %{_sbindir}/mysqlcheck
810 %attr(755,root,root) %{_sbindir}/mysqld
811 %dir %{_libdir}/mysql
812 %dir %{_libdir}/mysql/plugin
813 %attr(755,root,root) %{_libdir}/mysql/plugin/ha_example.so.*.*.*
814 %attr(755,root,root) %{_libdir}/mysql/plugin/ha_example.so.0
815 %attr(755,root,root) %{_libdir}/mysql/plugin/ha_example.so
816 %{_mandir}/man1/innochecksum.1*
817 %{_mandir}/man1/my_print_defaults.1*
818 %{_mandir}/man1/myisamchk.1*
819 %{_mandir}/man1/myisamlog.1*
820 %{_mandir}/man1/myisampack.1*
821 %{_mandir}/man1/mysql_fix_privilege_tables.1*
822 %{_mandir}/man1/mysql_upgrade.1*
823 %{_mandir}/man1/mysqlcheck.1*
824 %{_mandir}/man8/mysqld.8*
827 %attr(755,root,root) %{_bindir}/*resolve_stack_dump
828 %{_datadir}/mysql/mysqld.sym
829 %{_mandir}/man1/*resolve_stack_dump.1*
832 %attr(700,mysql,mysql) %{_mysqlhome}
833 # root:root is proper here for mysql.rpm while mysql:mysql is potential security hole
834 %attr(751,root,root) /var/lib/mysql
835 %attr(750,mysql,mysql) %dir /var/log/mysql
836 %attr(750,mysql,mysql) %dir /var/log/archive/mysql
837 %attr(640,mysql,mysql) %ghost /var/log/mysql/*
839 %{_infodir}/mysql.info*
840 # This is template for configuration file which is created after 'service mysql init'
841 %{_datadir}/mysql/mysqld.conf
842 %{_datadir}/mysql/mysql_system_tables.sql
843 %{_datadir}/mysql/mysql_system_tables_data.sql
844 %{_datadir}/mysql/mysql_test_data_timezone.sql
846 %{_datadir}/mysql/english
847 %{_datadir}/mysql/fill_help_tables.sql
848 %{_datadir}/mysql/mysql_fix_privilege_tables.sql
849 %lang(cs) %{_datadir}/mysql/czech
850 %lang(da) %{_datadir}/mysql/danish
851 %lang(de) %{_datadir}/mysql/german
852 %lang(el) %{_datadir}/mysql/greek
853 %lang(es) %{_datadir}/mysql/spanish
854 %lang(et) %{_datadir}/mysql/estonian
855 %lang(fr) %{_datadir}/mysql/french
856 %lang(hu) %{_datadir}/mysql/hungarian
857 %lang(it) %{_datadir}/mysql/italian
858 %lang(ja) %{_datadir}/mysql/japanese
859 %lang(ko) %{_datadir}/mysql/korean
860 %lang(nl) %{_datadir}/mysql/dutch
861 %lang(nb) %{_datadir}/mysql/norwegian
862 %lang(nn) %{_datadir}/mysql/norwegian-ny
863 %lang(pl) %{_datadir}/mysql/polish
864 %lang(pt) %{_datadir}/mysql/portuguese
865 %lang(ro) %{_datadir}/mysql/romanian
866 %lang(ru) %{_datadir}/mysql/russian
867 %lang(sr) %{_datadir}/mysql/serbian
868 %lang(sk) %{_datadir}/mysql/slovak
869 %lang(sv) %{_datadir}/mysql/swedish
870 %lang(uk) %{_datadir}/mysql/ukrainian
873 %defattr(644,root,root,755)
874 %dir %{_datadir}/mysql
875 %{_datadir}/mysql/charsets
878 %defattr(644,root,root,755)
879 %attr(755,root,root) %{_bindir}/msql2mysql
880 %attr(755,root,root) %{_bindir}/myisam_ftdump
881 %attr(755,root,root) %{_bindir}/mysql_secure_installation
882 %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql
883 %attr(755,root,root) %{_bindir}/perror
884 %attr(755,root,root) %{_bindir}/replace
885 %{_mandir}/man1/msql2mysql.1*
886 %{_mandir}/man1/myisam_ftdump.1*
887 %{_mandir}/man1/mysql_secure_installation.1*
888 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
889 %{_mandir}/man1/perror.1*
890 %{_mandir}/man1/replace.1*
893 %defattr(644,root,root,755)
894 %attr(755,root,root) %{_bindir}/mysql_convert_table_format
895 %attr(755,root,root) %{_bindir}/mysql_find_rows
896 %attr(755,root,root) %{_bindir}/mysql_fix_extensions
897 %attr(755,root,root) %{_bindir}/mysql_setpermission
898 %attr(755,root,root) %{_bindir}/mysql_zap
899 %attr(755,root,root) %{_bindir}/mysqlaccess
900 %attr(755,root,root) %{_bindir}/mysqldumpslow
901 %attr(755,root,root) %{_bindir}/mysqlhotcopy
902 %{_mandir}/man1/mysql_convert_table_format.1*
903 %{_mandir}/man1/mysql_find_rows.1*
904 %{_mandir}/man1/mysql_fix_extensions.1*
905 %{_mandir}/man1/mysql_setpermission.1*
906 %{_mandir}/man1/mysql_zap.1*
907 %{_mandir}/man1/mysqlaccess.1*
908 %{_mandir}/man1/mysqlhotcopy.1*
911 %defattr(644,root,root,755)
912 %attr(755,root,root) %{_bindir}/mysql
913 %attr(755,root,root) %{_bindir}/mysqladmin
914 %attr(755,root,root) %{_bindir}/mysqlbinlog
915 %attr(755,root,root) %{_bindir}/mysqlbug
916 %attr(755,root,root) %{_bindir}/mysqldump
917 %attr(755,root,root) %{_bindir}/mysqlimport
918 %attr(755,root,root) %{_bindir}/mysqlshow
919 %attr(755,root,root) %{_sbindir}/mysqlmanager
920 %{_mandir}/man1/mysql.1*
921 %{_mandir}/man1/mysqladmin.1*
922 %{_mandir}/man1/mysqlbinlog.1*
923 %{_mandir}/man1/mysqlbug.1*
924 %{_mandir}/man1/mysqldump.1*
925 %{_mandir}/man1/mysqlimport.1*
926 %{_mandir}/man1/mysqlshow.1*
927 %{_mandir}/man8/mysqlmanager.8*
930 %defattr(644,root,root,755)
931 %doc EXCEPTIONS-CLIENT
932 %attr(751,root,root) %dir %{_sysconfdir}/mysql
933 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/mysql-client.conf
934 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.*
935 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.16
936 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*.*
937 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.16
938 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.*
939 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3
942 %defattr(644,root,root,755)
943 %attr(755,root,root) %{_bindir}/mysql_config
944 %attr(755,root,root) %{_libdir}/libmysqlclient.so
945 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so
946 %attr(755,root,root) %{_libdir}/libndbclient.so
947 %{_libdir}/libmysqlclient.la
948 %{_libdir}/libmysqlclient_r.la
949 %{_libdir}/libndbclient.la
953 %{_libdir}/libmyisam.a
954 %{_libdir}/libmyisammrg.a
955 %{_libdir}/libmysqld.a
956 %{_libdir}/libmystrings.a
957 %{_libdir}/libmysys.a
960 %{_aclocaldir}/mysql.m4
961 %{_mandir}/man1/mysql_config.1*
964 %defattr(644,root,root,755)
965 %{_libdir}/libmysqlclient.a
966 %{_libdir}/libmysqlclient_r.a
967 %{_libdir}/libndbclient.a
970 %defattr(644,root,root,755)
971 %attr(755,root,root) %{_bindir}/mysqlslap
972 %attr(755,root,root) %{_bindir}/mysqltest
973 %dir %{_datadir}/sql-bench
974 %{_datadir}/sql-bench/[CDRl]*
975 %attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
976 %{_mandir}/man1/mysqlslap.1*
977 %{_mandir}/man1/mysqltest.1*
978 %{_mandir}/man1/mysqltest_embedded.1*
981 #%defattr(644,root,root,755)
982 #%doc Docs/manual.html Docs/manual_toc.html
985 %defattr(644,root,root,755)
986 %attr(755,root,root) %{_sbindir}/ndbd
987 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb
988 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb
989 %{_mandir}/man1/ndbd_redo_log_reader.1*
990 %{_mandir}/man8/ndbd.8*
993 %defattr(644,root,root,755)
994 %attr(755,root,root) %{_bindir}/ndb_config
995 %attr(755,root,root) %{_bindir}/ndb_delete_all
996 %attr(755,root,root) %{_bindir}/ndb_desc
997 %attr(755,root,root) %{_bindir}/ndb_drop_index
998 %attr(755,root,root) %{_bindir}/ndb_drop_table
999 %attr(755,root,root) %{_bindir}/ndb_error_reporter
1000 %attr(755,root,root) %{_bindir}/ndb_mgm
1001 %attr(755,root,root) %{_bindir}/ndb_print_backup_file
1002 %attr(755,root,root) %{_bindir}/ndb_print_schema_file
1003 %attr(755,root,root) %{_bindir}/ndb_print_sys_file
1004 %attr(755,root,root) %{_bindir}/ndb_restore
1005 %attr(755,root,root) %{_bindir}/ndb_select_all
1006 %attr(755,root,root) %{_bindir}/ndb_select_count
1007 %attr(755,root,root) %{_bindir}/ndb_show_tables
1008 %attr(755,root,root) %{_bindir}/ndb_size.pl
1009 %attr(755,root,root) %{_bindir}/ndb_test_platform
1010 %attr(755,root,root) %{_bindir}/ndb_waiter
1011 %{_mandir}/man1/ndb_config.1*
1012 %{_mandir}/man1/ndb_delete_all.1*
1013 %{_mandir}/man1/ndb_desc.1*
1014 %{_mandir}/man1/ndb_drop_index.1*
1015 %{_mandir}/man1/ndb_drop_table.1*
1016 %{_mandir}/man1/ndb_error_reporter.1*
1017 %{_mandir}/man1/ndb_mgm.1*
1018 %{_mandir}/man1/ndb_print_backup_file.1*
1019 %{_mandir}/man1/ndb_print_schema_file.1*
1020 %{_mandir}/man1/ndb_print_sys_file.1*
1021 %{_mandir}/man1/ndb_restore.1*
1022 %{_mandir}/man1/ndb_select_all.1*
1023 %{_mandir}/man1/ndb_select_count.1*
1024 %{_mandir}/man1/ndb_show_tables.1*
1025 %{_mandir}/man1/ndb_size.pl.1*
1026 %{_mandir}/man1/ndb_waiter.1*
1029 %defattr(644,root,root,755)
1030 %attr(755,root,root) %{_sbindir}/ndb_mgmd
1031 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm
1032 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm
1033 %{_mandir}/man8/ndb_mgmd.8*
1036 %defattr(644,root,root,755)
1037 %attr(755,root,root) %{_sbindir}/ndb_cpcd
1038 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc
1039 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc
1040 %{_mandir}/man1/ndb_cpcd.1*