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}
7 # - configure: WARNING: unrecognized options: --with-innodb, --with-raid, --with-archive-storage-engine, --with-federated-storage-engine, --with-vio, --without-ndbcluster
8 # - !!! Makefiles for libmysqld.so !!!
11 %bcond_without innodb # InnoDB storage engine support
12 %bcond_without big_tables # Support tables with more than 4G rows even on 32 bit platforms
13 %bcond_without federated # Federated storage engine support
14 %bcond_without raid # RAID support
15 %bcond_without ssl # OpenSSL support
16 %bcond_without tcpd # libwrap (tcp_wrappers) support
17 %bcond_with autodeps # BR packages needed only for resolving deps
18 %bcond_with sphinx # Sphinx storage engine support
19 %bcond_with tests # FIXME: don't run correctly
20 %bcond_with ndb # NDB is now a separate product, this here is broken, so disable it
22 %include /usr/lib/rpm/macros.perl
23 Summary: MySQL: a very fast and reliable SQL database engine
24 Summary(de.UTF-8): MySQL: ist eine SQL-Datenbank
25 Summary(fr.UTF-8): MySQL: un serveur SQL rapide et fiable
26 Summary(pl.UTF-8): MySQL: bardzo szybka i niezawodna baza danych (SQL)
27 Summary(pt_BR.UTF-8): MySQL: Um servidor SQL rápido e confiável
28 Summary(ru.UTF-8): MySQL - быстрый SQL-сервер
29 Summary(uk.UTF-8): MySQL - швидкий SQL-сервер
30 Summary(zh_CN.UTF-8): MySQL数据库服务器
34 License: GPL + MySQL FLOSS Exception
35 Group: Applications/Databases
36 #Source0Download: http://dev.mysql.com/downloads/mysql/5.1.html#source
37 Source0: http://mysql.easynet.be/Downloads/MySQL-5.1/%{name}-%{version}.tar.gz
38 # Source0-md5: 42493187729677cf8f77faeeebd5b3c2
39 Source100: http://www.sphinxsearch.com/downloads/sphinx-0.9.7.tar.gz
40 # Source100-md5: 32f2b7e98d8485c86108851d52c5cef4
42 Source2: %{name}.sysconfig
43 Source3: %{name}.logrotate
44 Source4: %{name}d.conf
45 Source5: %{name}-clusters.conf
46 Source7: %{name}-ndb.init
47 Source8: %{name}-ndb.sysconfig
48 Source9: %{name}-ndb-mgm.init
49 Source10: %{name}-ndb-mgm.sysconfig
50 Source11: %{name}-ndb-cpc.init
51 Source12: %{name}-ndb-cpc.sysconfig
52 Source13: %{name}-client.conf
53 Patch0: %{name}-libs.patch
54 Patch1: %{name}-libwrap.patch
55 Patch2: %{name}-c++.patch
56 Patch3: %{name}-info.patch
57 Patch4: %{name}-sql-cxx-pic.patch
58 Patch5: %{name}-noproc.patch
59 Patch6: %{name}-system-users.patch
60 Patch7: %{name}-bug-34192.patch
61 Patch8: %{name}-client-config.patch
62 Patch9: %{name}-build.patch
63 Patch10: %{name}-alpha.patch
64 Patch11: %{name}-upgrade.patch
65 Patch12: %{name}-config.patch
66 Patch13: %{name}-errorlog-no-rename.patch
67 Patch14: %{name}-bug-43594.patch
68 # <percona patches, http://www.percona.com/percona-lab.html>
69 Patch15: %{name}-userstats.patch
70 Patch16: %{name}-microslow.patch
71 Patch17: %{name}-acc-pslist.patch
73 URL: http://www.mysql.com/products/database/mysql/community_edition.html
74 BuildRequires: autoconf
75 BuildRequires: automake
76 BuildRequires: doxygen
77 BuildRequires: libstdc++-devel >= 5:3.0
78 BuildRequires: libtool
79 %{?with_tcpd:BuildRequires: libwrap-devel}
80 BuildRequires: ncurses-devel >= 4.2
81 %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
82 %{?with_autodeps:BuildRequires: perl-DBI}
83 BuildRequires: perl-devel >= 1:5.6.1
84 BuildRequires: readline-devel >= 4.2
85 BuildRequires: rpm-perlprov >= 4.1-13
86 BuildRequires: rpmbuild(macros) >= 1.414
87 BuildRequires: sed >= 4.0
88 BuildRequires: texinfo
89 BuildRequires: zlib-devel
90 Requires(post,preun): /sbin/chkconfig
91 Requires(postun): /usr/sbin/groupdel
92 Requires(postun): /usr/sbin/userdel
93 Requires(pre): /bin/id
94 Requires(pre): /usr/bin/getgid
95 Requires(pre): /usr/sbin/groupadd
96 Requires(pre): /usr/sbin/useradd
97 Requires(triggerpostun): sed >= 4.0
98 Requires: %{name}-charsets = %{version}-%{release}
99 Requires: %{name}-libs = %{version}-%{release}
100 Requires: /usr/bin/setsid
101 Requires: rc-scripts >= 0.2.0
102 Suggests: mysql-client
103 %{?with_tcpd:Suggests: tcp_wrappers}
104 Provides: MySQL-server
105 Provides: group(mysql)
106 Provides: msqlormysql
107 Provides: user(mysql)
109 Obsoletes: mysql-server
110 Conflicts: logrotate < 3.7-4
111 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
113 %define _libexecdir %{_sbindir}
114 %define _localstatedir /var/lib/mysql
115 %define _mysqlhome /home/services/mysql
117 %define _noautoreqdep 'perl(DBD::mysql)'
119 # readline/libedit detection goes wrong
120 %undefine configure_cache
123 MySQL is a true multi-user, multi-threaded SQL (Structured Query
124 Language) database server. SQL is the most popular database language
125 in the world. MySQL is a client/server implementation that consists of
126 a server daemon mysqld and many different client programs/libraries.
128 The main goals of MySQL are speed, robustness and easy to use. MySQL
129 was originally developed because we at Tcx needed a SQL server that
130 could handle very big databases with magnitude higher speed than what
131 any database vendor could offer to us. We have now been using MySQL
132 since 1996 in a environment with more than 40 databases, 10,000
133 tables, of which more than 500 have more than 7 million rows. This is
134 about 50G of mission critical data.
136 The base upon which MySQL is built is a set of routines that have been
137 used in a highly demanding production environment for many years.
138 While MySQL is still in development, it already offers a rich and
139 highly useful function set.
141 %description -l fr.UTF-8
142 MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et
143 multi-taches. Le langage SQL est le langage de bases de donnees le
144 plus populaire au monde. MySQL est une implementation client/serveur
145 qui consiste en un serveur (mysqld) et differents
146 programmes/bibliotheques clientes.
148 Les objectifs principaux de MySQL sont: vitesse, robustesse et
149 facilite d'utilisation. MySQL fut originalement developpe parce que
150 nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de
151 tres grandes bases de donnees avec une vitesse d'un ordre de magnitude
152 superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous
153 utilisons MySQL depuis 1996 dans un environnement avec plus de 40
154 bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7
155 millions de lignes. Ceci represente environ 50G de donnees critiques.
157 A la base de la conception de MySQL, on retrouve une serie de routines
158 qui ont ete utilisees dans un environnement de production pendant
159 plusieurs annees. Meme si MySQL est encore en developpement, il offre
160 deja une riche et utile serie de fonctions.
162 %description -l pl.UTF-8
163 MySQL to prawdziwie wieloużytkownikowy, wielowątkowy serwer baz danych
164 SQL. SQL jest najpopularniejszym na świecie językiem używanym do baz
165 danych. MySQL to implementacja klient/serwer składająca się z demona
166 mysqld i wielu różnych programów i bibliotek klienckich.
168 Głównymi celami MySQL-a są szybkość, potęga i łatwość użytkowania.
169 MySQL oryginalnie był tworzony, ponieważ autorzy w Tcx potrzebowali
170 serwera SQL do obsługi bardzo dużych baz danych z szybkością o wiele
171 większą, niż mogli zaoferować inni producenci baz danych. Używają go
172 od 1996 roku w środowisku z ponad 40 bazami danych, 10 000 tabel, z
173 których ponad 500 zawiera ponad 7 milionów rekordów - w sumie około
174 50GB krytycznych danych.
176 Baza, na której oparty jest MySQL, składa się ze zbioru procedur,
177 które były używane w bardzo wymagającym środowisku produkcyjnym przez
178 wiele lat. Pomimo, że MySQL jest ciągle rozwijany, już oferuje bogaty
179 i użyteczny zbiór funkcji.
181 %description -l de.UTF-8
182 MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz zu
183 Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten
184 werden zwar in zweidimensionalen Tabellen gespeichert und können mit
185 einem Primärschlüssel versehen werden. Es ist aber keine Definition
186 eines Fremdschlüssels möglich. Der Benutzer ist somit bei einer
187 MySQL-Datenbank völlig allein für die (referenzielle) Integrität der
188 Daten verantwortlich. Allein durch die Nutzung externer
189 Tabellenformate, wie InnoDB bzw Berkeley DB wird eine Relationalität
190 ermöglicht. Diese Projekte sind aber getrennt von MySQL zu betrachten.
192 %description -l pt_BR.UTF-8
193 O MySQL é um servidor de banco de dados SQL realmente multiusuário e
194 multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de
195 dados no mundo. O MySQL é uma implementação cliente/servidor que
196 consiste de um servidor chamado mysqld e diversos
197 programas/bibliotecas clientes. Os principais objetivos do MySQL são:
198 velocidade, robustez e facilidade de uso. O MySQL foi originalmente
199 desenvolvido porque nós na Tcx precisávamos de um servidor SQL que
200 pudesse lidar com grandes bases de dados e com uma velocidade muito
201 maior do que a que qualquer vendedor podia nos oferecer. Estamos
202 usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados
203 com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de
204 linhas. Isto é o equivalente a aproximadamente 50G de dados críticos.
205 A base da construção do MySQL é uma série de rotinas que foram usadas
206 em um ambiente de produção com alta demanda por muitos anos. Mesmo o
207 MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de
208 funções muito ricas e úteis. Veja a documentação para maiores
211 %description -l ru.UTF-8
212 MySQL - это SQL (Structured Query Language) сервер базы данных. MySQL
213 была написана Michael'ом (monty) Widenius'ом. См. файл CREDITS в
214 дистрибутиве на предмет других участников проекта и прочей информации
217 %description -l uk.UTF-8
218 MySQL - це SQL (Structured Query Language) сервер бази даних. MySQL
219 було написано Michael'ом (monty) Widenius'ом. Див. файл CREDITS в
220 дистрибутиві для інформації про інших учасників проекту та іншої
224 Summary: MySQL - character sets definitions
225 Summary(pl.UTF-8): MySQL - definicje kodowań znaków
226 Group: Applications/Databases
228 %description charsets
229 This package contains character sets definitions needed by both client
232 %description charsets -l pl.UTF-8
233 Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i
237 Summary: MySQL additional utilities
238 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL
239 Group: Applications/Databases
240 Requires: %{name}-libs = %{version}-%{release}
243 MySQL additional utilities except Perl scripts (they may be found in
244 %{name}-extras-perl package).
246 %description extras -l pl.UTF-8
247 Dodatkowe narzędzia do MySQL - z wyjątkiem skryptów Perla (które są w
248 pakiecie %{name}-extras-perl).
251 Summary: MySQL additional utilities written in Perl
252 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL napisane w Perlu
253 Group: Applications/Databases
254 Requires: %{name}-extras = %{version}-%{release}
255 Requires: perl(DBD::mysql)
257 %description extras-perl
258 MySQL additional utilities written in Perl.
260 %description extras-perl -l pl.UTF-8
261 Dodatkowe narzędzia do MySQL napisane w Perlu.
264 Summary: MySQL - Client
265 Summary(pl.UTF-8): MySQL - Klient
266 Summary(pt.UTF-8): MySQL - Cliente
267 Summary(ru.UTF-8): MySQL клиент
268 Summary(uk.UTF-8): MySQL клієнт
269 Group: Applications/Databases
270 Requires: %{name}-charsets = %{version}-%{release}
271 Requires: %{name}-libs = %{version}-%{release}
272 Obsoletes: MySQL-client
275 This package contains the standard MySQL clients.
277 %description client -l fr.UTF-8
278 Ce package contient les clients MySQL standards.
280 %description client -l pl.UTF-8
281 Standardowe programy klienckie MySQL.
283 %description client -l pt_BR.UTF-8
284 Este pacote contém os clientes padrão para o MySQL.
286 %description client -l ru.UTF-8
287 Этот пакет содержит только клиент MySQL.
289 %description client -l uk.UTF-8
290 Цей пакет містить тільки клієнта MySQL.
293 Summary: Shared libraries for MySQL
294 Summary(pl.UTF-8): Biblioteki dzielone MySQL
296 Obsoletes: libmysql10
297 Obsoletes: mysql-doc < 4.1.12
300 Shared libraries for MySQL.
302 %description libs -l pl.UTF-8
303 Biblioteki dzielone MySQL.
306 Summary: MySQL - Development header files and libraries
307 Summary(pl.UTF-8): MySQL - Pliki nagłówkowe i biblioteki dla programistów
308 Summary(pt.UTF-8): MySQL - Medições de desempenho
309 Summary(ru.UTF-8): MySQL - хедеры и библиотеки разработчика
310 Summary(uk.UTF-8): MySQL - хедери та бібліотеки програміста
311 Group: Development/Libraries
312 Requires: %{name}-libs = %{version}-%{release}
313 %{?with_ssl:Requires: openssl-devel}
315 Obsoletes: MySQL-devel
316 Obsoletes: libmysql10-devel
319 This package contains the development header files and libraries
320 necessary to develop MySQL client applications.
322 %description devel -l fr.UTF-8
323 Ce package contient les fichiers entetes et les librairies de
324 developpement necessaires pour developper des applications clientes
327 %description devel -l pl.UTF-8
328 Pliki nagłówkowe i biblioteki konieczne do kompilacji aplikacji
331 %description devel -l pt_BR.UTF-8
332 Este pacote contém os arquivos de cabeçalho (header files) e
333 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
335 %description devel -l ru.UTF-8
336 Этот пакет содержит хедеры и библиотеки разработчика, необходимые для
337 разработки клиентских приложений.
339 %description devel -l uk.UTF-8
340 Цей пакет містить хедери та бібліотеки програміста, необхідні для
341 розробки програм-клієнтів.
344 Summary: MySQL static libraries
345 Summary(pl.UTF-8): Biblioteki statyczne MySQL
346 Summary(ru.UTF-8): MySQL - статические библиотеки
347 Summary(uk.UTF-8): MySQL - статичні бібліотеки
348 Group: Development/Libraries
349 Requires: %{name}-devel = %{version}-%{release}
350 Obsoletes: MySQL-static
353 MySQL static libraries.
355 %description static -l pl.UTF-8
356 Biblioteki statyczne MySQL.
358 %description static -l ru.UTF-8
359 Этот пакет содержит статические библиотеки разработчика, необходимые
360 для разработки клиентских приложений.
362 %description static -l uk.UTF-8
363 Цей пакет містить статичні бібліотеки програміста, необхідні для
364 розробки програм-клієнтів.
367 Summary: MySQL - Benchmarks
368 Summary(pl.UTF-8): MySQL - Programy testujące szybkość działania bazy
369 Summary(pt.UTF-8): MySQL - Medições de desempenho
370 Summary(ru.UTF-8): MySQL - бенчмарки
371 Summary(uk.UTF-8): MySQL - бенчмарки
372 Group: Applications/Databases
373 Requires: %{name} = %{version}-%{release}
374 Requires: %{name}-client
375 Requires: perl(DBD::mysql)
376 Obsoletes: MySQL-bench
379 This package contains MySQL benchmark scripts and data.
381 %description bench -l pl.UTF-8
382 Programy testujące szybkość serwera MySQL.
384 %description bench -l pt_BR.UTF-8
385 Este pacote contém medições de desempenho de scripts e dados do MySQL.
387 %description bench -l ru.UTF-8
388 Этот пакет содержит скрипты и данные для оценки производительности
391 %description bench -l uk.UTF-8
392 Цей пакет містить скрипти та дані для оцінки продуктивності MySQL.
395 Summary: MySQL manual
396 Summary(pl.UTF-8): Podręcznik użytkownika MySQL
397 Group: Applications/Databases
400 This package contains manual in HTML format.
402 %description doc -l pl.UTF-8
403 Podręcznik MySQL-a w formacie HTML.
406 Summary: MySQL - NDB Storage Engine Daemon
407 Summary(pl.UTF-8): MySQL - demon silnika przechowywania danych NDB
408 Group: Applications/Databases
409 Requires: %{name}-libs = %{version}-%{release}
412 This package contains the standard MySQL NDB Storage Engine Daemon.
414 %description ndb -l pl.UTF-8
415 Ten pakiet zawiera standardowego demona silnika przechowywania danych
419 Summary: MySQL - NDB Clients
420 Summary(pl.UTF-8): MySQL - programy klienckie NDB
421 Group: Applications/Databases
422 Requires: %{name}-libs = %{version}-%{release}
424 %description ndb-client
425 This package contains the standard MySQL NDB Clients.
427 %description ndb-client -l pl.UTF-8
428 Ten pakiet zawiera standardowe programy klienckie MySQL NDB.
431 Summary: MySQL - NDB Management Daemon
432 Summary(pl.UTF-8): MySQL - demon zarządzający NDB
433 Group: Applications/Databases
434 Requires: %{name}-libs = %{version}-%{release}
437 This package contains the standard MySQL NDB Management Daemon.
439 %description ndb-mgm -l pl.UTF-8
440 Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB.
443 Summary: MySQL - NDB CPC Daemon
444 Summary(pl.UTF-8): MySQL - demon NDB CPC
445 Group: Applications/Databases
446 Requires: %{name}-libs = %{version}-%{release}
449 This package contains the standard MySQL NDB CPC Daemon.
451 %description ndb-cpc -l pl.UTF-8
452 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
455 %setup -q %{?with_sphinx:-a100}
457 mv sphinx-*/mysqlse storage/sphinx
460 #%{?with_tcpd:%patch1 -p1} # WHATS PURPOSE OF THIS PATCH?
461 #%patch2 -p1 # NEEDS CHECK, which exact program needs -lc++
464 # this is strange: mysqld functions for UDF modules are not explicitly defined,
465 # so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables
466 # in objects compiled without -fPIC
486 %{__aclocal} -I config/ac-macros
490 # The compiler flags are as per their "official" spec ;)
491 CXXFLAGS="%{rpmcflags} -fPIC -felide-constructors -fno-rtti -fno-exceptions %{!?debug:-fomit-frame-pointer}"
492 CFLAGS="%{rpmcflags} -fPIC %{!?debug:-fomit-frame-pointer}"
494 # NOTE: the PS, FIND_PROC, KILL, CHECK_PID are not used by PLD Linux
495 # and therefore do not add BR on these. These are here just to satisfy
500 FIND_PROC='/bin/ps p $$PID' \
502 CHECK_PID='/bin/kill -0 $$PID' \
504 --enable-largefile=yes \
507 --enable-thread-safe-client \
508 --with%{!?with_innodb:out}-innodb \
509 --with%{!?with_raid:out}-raid \
510 --with%{!?with_ssl:out}-ssl=/usr \
511 --with%{!?with_tcpd:out}-libwrap \
512 %{?with_big_tables:--with-big-tables} \
513 --with-comment="PLD Linux Distribution MySQL RPM" \
514 --with%{!?debug:out}-debug%{?debug:=full} \
515 --with-embedded-server \
516 --with-extra-charsets=all \
518 --with-mysqld-user=mysql \
519 --with-named-curses-libs="-lncurses" \
520 --with-named-thread-libs="-lpthread" \
521 --with-unix-socket-path=/var/lib/mysql/mysql.sock \
522 --with-archive-storage-engine \
524 %{?with_federated:--with-federated-storage-engine} \
525 --with-fast-mutexes \
530 --with%{!?debug:out}-ndb-debug \
534 --without-ndbcluster \
540 # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file
541 # (it defaults to first cluster but user may change it to whatever
544 echo -e "all:\ninstall:\nclean:\nlink_sources:\n" > libmysqld/examples/Makefile
547 benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench
549 %{__make} -C Docs mysql.info
551 %{?with_tests:%{__make} test}
554 rm -rf $RPM_BUILD_ROOT
555 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql} \
556 $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,lib/mysql} \
557 $RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}}
561 DESTDIR=$RPM_BUILD_ROOT \
562 benchdir=%{_datadir}/sql-bench \
564 # libsdir is to avoid installing innodb static libs in $RPM_BUILD_ROOT../libs
566 install Docs/mysql.info $RPM_BUILD_ROOT%{_infodir}
568 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
569 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
570 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
571 # This is template for configuration file which is created after 'service mysql init'
572 install %{SOURCE4} mysqld.conf
573 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/clusters.conf
574 touch $RPM_BUILD_ROOT/var/log/mysql/{mysqld,query,slow}.log
576 # remove innodb directives from mysqld.conf if mysqld is configured without
577 %if %{without innodb}
578 cp mysqld.conf mysqld.tmp
579 awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
582 # remove berkeley-db directives from mysqld.conf if mysqld is configured without
583 cp mysqld.conf mysqld.tmp
584 awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
586 install mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.conf
587 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/mysql-client.conf
590 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
591 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb
592 install %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
593 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
594 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
595 install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
597 mv -f $RPM_BUILD_ROOT%{_libdir}/mysql/lib* $RPM_BUILD_ROOT%{_libdir}
598 sed -i -e 's,%{_libdir}/mysql,%{_libdir},' $RPM_BUILD_ROOT{%{_libdir}/libmysqlclient{,_r}.la,%{_bindir}/mysql_config}
599 sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
601 # remove known unpackaged files
602 rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
604 # remove .txt variants for .sys messages
605 rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/*/*.txt
607 # rename not to be so generic name
608 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
609 mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1
611 # not useful without -debug build
612 %{!?debug:rm -f $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
613 %{!?debug:rm -f $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
614 # generate symbols file, so one can generate backtrace using it
615 # mysql_resolve_stack_dump -s %{_datadir}/mysql/mysqld.sym -n mysqld.stack.
616 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
617 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.sym}
619 # do not clobber users $PATH
620 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade
621 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum
622 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk
623 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog
624 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack
625 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables
626 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults
627 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
629 # functionality in initscript / rpm
630 rm $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
631 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_install_db.1*
632 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
633 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
634 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
635 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate
636 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
637 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
638 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg.txt
639 rm $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
640 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1*
641 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
642 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
643 rm $RPM_BUILD_ROOT%{_bindir}/resolveip
644 rm $RPM_BUILD_ROOT%{_mandir}/man1/resolveip.1*
645 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_bin_dist.1*
646 rm $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1*
647 rm $RPM_BUILD_ROOT%{_datadir}/mysql/ChangeLog
649 # we don't package those (we have no -test or -testsuite pkg) and some of them just segfault
650 rm $RPM_BUILD_ROOT%{_bindir}/mysql_client_test
651 rm $RPM_BUILD_ROOT%{_datadir}/mysql/mi_test_all
652 rm $RPM_BUILD_ROOT%{_datadir}/mysql/mi_test_all.res
653 rm $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld_multi.server
654 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test.1*
655 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1*
656 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1*
657 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1*
660 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf}
663 rm -f $RPM_BUILD_ROOT%{_libdir}/mysql/plugin/ha_example.{a,la}
666 rm -rf $RPM_BUILD_ROOT
669 %groupadd -g 89 mysql
670 %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql
673 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
674 /sbin/chkconfig --add mysql
675 %service mysql restart
678 if [ "$1" = "0" ]; then
679 %service -q mysql stop
680 /sbin/chkconfig --del mysql
684 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
686 if [ "$1" = "0" ]; then
692 /sbin/chkconfig --add mysql-ndb
693 %service mysql-ndb restart "mysql NDB engine"
696 if [ "$1" = "0" ]; then
697 %service mysql-ndb stop
698 /sbin/chkconfig --del mysql-ndb
702 /sbin/chkconfig --add mysql-ndb-mgm
703 %service mysql-ndb-mgm restart "mysql NDB management node"
706 if [ "$1" = "0" ]; then
707 %service mysql-ndb-mgm stop
708 /sbin/chkconfig --del mysql-ndb-mgm
712 /sbin/chkconfig --add mysql-ndb-cpc
713 %service mysql-ndb-cpc restart "mysql NDB CPC"
716 if [ "$1" = "0" ]; then
717 %service mysql-ndb-cpc stop
718 /sbin/chkconfig --del mysql-ndb-cpc
721 %post libs -p /sbin/ldconfig
722 %postun libs -p /sbin/ldconfig
724 %triggerpostun -- mysql < 4.0.20-2.4
725 # For clusters in /etc/mysql/clusters.conf
726 if [ -f /etc/sysconfig/mysql ]; then
727 . /etc/sysconfig/mysql
728 if [ -n "$MYSQL_DB_CLUSTERS" ]; then
729 for i in "$MYSQL_DB_CLUSTERS"; do
730 echo "$i/mysqld.conf=$i" >> /etc/mysql/clusters.conf
732 echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql
733 echo "# USE /etc/mysql/clusters.conf instead" >> /etc/sysconfig/mysql
734 echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/mysql/clusters.conf."
735 echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/mysql/clusters.conf."
739 %triggerpostun -- mysql < 4.1.1
740 # For better compatibility with prevoius versions:
741 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do
742 if echo "$config" | grep -q '^/'; then
743 config_file="$config"
744 elif [ -f "/etc/mysql/$config" ]; then
745 config_file=/etc/mysql/$config
747 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/mysql/clusters.conf)
748 if [ -z "$clusterdir" ]; then
749 echo >&2 "Can't find cluster dir for $config!"
750 echo >&2 "Please remove extra (leading) spaces from /etc/mysql/clusters.conf"
753 config_file="$clusterdir/mysqld.conf"
756 if [ ! -f "$config_file" ]; then
757 echo >&2 "Lost myself! Please report this (with above errors, if any) to http://bugs.pld-linux.org/"
760 echo "Adding option old-passwords to config: $config_file"
761 echo "If you want to use new, better passwords - remove it"
763 # sed magic to add 'old-passwords' to [mysqld] section
764 sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
766 a; Compatibility options:
772 %banner -e %{name}-4.1.x <<-EOF
773 If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data:
774 mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql
778 %triggerpostun -- mysql < 5.1.0
780 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do
781 if echo "$config" | grep -q '^/'; then
782 config_file="$config"
783 elif [ -f "/etc/mysql/$config" ]; then
784 config_file=/etc/mysql/$config
786 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/mysql/clusters.conf)
787 if [ -z "$clusterdir" ]; then
788 echo >&2 "Can't find cluster dir for $config!"
789 echo >&2 "Please remove extra (leading) spaces from /etc/mysql/clusters.conf"
792 config_file="$clusterdir/mysqld.conf"
795 if [ ! -f "$config_file" ]; then
796 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/"
799 configs="$configs $config_file"
803 echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.'
804 echo 'Thus, you should invoke:'
805 for config in $configs; do
806 datadir=$(awk -F= '!/^#/ && $1 ~ /datadir/{print $2}' $config | xargs)
807 echo "# mysql_upgrade --datadir=$datadir"
809 ) | %banner -e %{name}-5.1
812 %defattr(644,root,root,755)
813 %doc support-files/*.cnf support-files/*.ini ChangeLog
814 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/mysql
815 %attr(754,root,root) /etc/rc.d/init.d/mysql
816 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql
817 %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/clusters.conf
818 %attr(755,root,root) %{_sbindir}/innochecksum
819 %attr(755,root,root) %{_sbindir}/my_print_defaults
820 %attr(755,root,root) %{_sbindir}/myisamchk
821 %attr(755,root,root) %{_sbindir}/myisamlog
822 %attr(755,root,root) %{_sbindir}/myisampack
823 %attr(755,root,root) %{_sbindir}/mysql_fix_privilege_tables
824 %attr(755,root,root) %{_sbindir}/mysql_upgrade
825 %attr(755,root,root) %{_sbindir}/mysqlcheck
826 %attr(755,root,root) %{_sbindir}/mysqld
827 %dir %{_libdir}/mysql
828 %dir %{_libdir}/mysql/plugin
829 %attr(755,root,root) %{_libdir}/mysql/plugin/ha_example.so.*.*.*
830 %attr(755,root,root) %{_libdir}/mysql/plugin/ha_example.so.0
831 %attr(755,root,root) %{_libdir}/mysql/plugin/ha_example.so
832 %{_mandir}/man1/innochecksum.1*
833 %{_mandir}/man1/my_print_defaults.1*
834 %{_mandir}/man1/myisamchk.1*
835 %{_mandir}/man1/myisamlog.1*
836 %{_mandir}/man1/myisampack.1*
837 %{_mandir}/man1/mysql_fix_privilege_tables.1*
838 %{_mandir}/man1/mysql_upgrade.1*
839 %{_mandir}/man1/mysqlcheck.1*
840 %{_mandir}/man8/mysqld.8*
843 %attr(755,root,root) %{_bindir}/*resolve_stack_dump
844 %{_datadir}/mysql/mysqld.sym
845 %{_mandir}/man1/*resolve_stack_dump.1*
848 %attr(700,mysql,mysql) %{_mysqlhome}
849 # root:root is proper here for mysql.rpm while mysql:mysql is potential security hole
850 %attr(751,root,root) /var/lib/mysql
851 %attr(750,mysql,mysql) %dir /var/log/mysql
852 %attr(750,mysql,mysql) %dir /var/log/archive/mysql
853 %attr(640,mysql,mysql) %ghost /var/log/mysql/*
855 %{_infodir}/mysql.info*
856 # This is template for configuration file which is created after 'service mysql init'
857 %{_datadir}/mysql/mysqld.conf
858 %{_datadir}/mysql/mysql_system_tables.sql
859 %{_datadir}/mysql/mysql_system_tables_data.sql
860 %{_datadir}/mysql/mysql_test_data_timezone.sql
862 %{_datadir}/mysql/english
863 %{_datadir}/mysql/fill_help_tables.sql
864 %{_datadir}/mysql/mysql_fix_privilege_tables.sql
865 %lang(cs) %{_datadir}/mysql/czech
866 %lang(da) %{_datadir}/mysql/danish
867 %lang(de) %{_datadir}/mysql/german
868 %lang(el) %{_datadir}/mysql/greek
869 %lang(es) %{_datadir}/mysql/spanish
870 %lang(et) %{_datadir}/mysql/estonian
871 %lang(fr) %{_datadir}/mysql/french
872 %lang(hu) %{_datadir}/mysql/hungarian
873 %lang(it) %{_datadir}/mysql/italian
874 %lang(ja) %{_datadir}/mysql/japanese
875 %lang(ko) %{_datadir}/mysql/korean
876 %lang(nl) %{_datadir}/mysql/dutch
877 %lang(nb) %{_datadir}/mysql/norwegian
878 %lang(nn) %{_datadir}/mysql/norwegian-ny
879 %lang(pl) %{_datadir}/mysql/polish
880 %lang(pt) %{_datadir}/mysql/portuguese
881 %lang(ro) %{_datadir}/mysql/romanian
882 %lang(ru) %{_datadir}/mysql/russian
883 %lang(sr) %{_datadir}/mysql/serbian
884 %lang(sk) %{_datadir}/mysql/slovak
885 %lang(sv) %{_datadir}/mysql/swedish
886 %lang(uk) %{_datadir}/mysql/ukrainian
889 %defattr(644,root,root,755)
890 %dir %{_datadir}/mysql
891 %{_datadir}/mysql/charsets
894 %defattr(644,root,root,755)
895 %attr(755,root,root) %{_bindir}/msql2mysql
896 %attr(755,root,root) %{_bindir}/myisam_ftdump
897 %attr(755,root,root) %{_bindir}/mysql_secure_installation
898 %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql
899 %attr(755,root,root) %{_bindir}/perror
900 %attr(755,root,root) %{_bindir}/replace
901 %{_mandir}/man1/msql2mysql.1*
902 %{_mandir}/man1/myisam_ftdump.1*
903 %{_mandir}/man1/mysql_secure_installation.1*
904 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
905 %{_mandir}/man1/perror.1*
906 %{_mandir}/man1/replace.1*
909 %defattr(644,root,root,755)
910 %attr(755,root,root) %{_bindir}/mysql_convert_table_format
911 %attr(755,root,root) %{_bindir}/mysql_find_rows
912 %attr(755,root,root) %{_bindir}/mysql_fix_extensions
913 %attr(755,root,root) %{_bindir}/mysql_setpermission
914 %attr(755,root,root) %{_bindir}/mysql_zap
915 %attr(755,root,root) %{_bindir}/mysqlaccess
916 %attr(755,root,root) %{_bindir}/mysqldumpslow
917 %attr(755,root,root) %{_bindir}/mysqlhotcopy
918 %{_mandir}/man1/mysql_convert_table_format.1*
919 %{_mandir}/man1/mysql_find_rows.1*
920 %{_mandir}/man1/mysql_fix_extensions.1*
921 %{_mandir}/man1/mysql_setpermission.1*
922 %{_mandir}/man1/mysql_zap.1*
923 %{_mandir}/man1/mysqlaccess.1*
924 %{_mandir}/man1/mysqldumpslow.1*
925 %{_mandir}/man1/mysqlhotcopy.1*
928 %defattr(644,root,root,755)
929 %attr(755,root,root) %{_bindir}/mysql
930 %attr(755,root,root) %{_bindir}/mysqladmin
931 %attr(755,root,root) %{_bindir}/mysqlbinlog
932 %attr(755,root,root) %{_bindir}/mysqlbug
933 %attr(755,root,root) %{_bindir}/mysqldump
934 %attr(755,root,root) %{_bindir}/mysqlimport
935 %attr(755,root,root) %{_bindir}/mysqlshow
936 %attr(755,root,root) %{_sbindir}/mysqlmanager
937 %{_mandir}/man1/mysql.1*
938 %{_mandir}/man1/mysqladmin.1*
939 %{_mandir}/man1/mysqlbinlog.1*
940 %{_mandir}/man1/mysqlbug.1*
941 %{_mandir}/man1/mysqldump.1*
942 %{_mandir}/man1/mysqlimport.1*
943 %{_mandir}/man1/mysqlshow.1*
944 %{_mandir}/man8/mysqlmanager.8*
947 %defattr(644,root,root,755)
948 %doc EXCEPTIONS-CLIENT
949 %attr(751,root,root) %dir %{_sysconfdir}/mysql
950 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/mysql-client.conf
951 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.*
952 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.16
953 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*.*
954 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.16
956 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.*
957 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3
961 %defattr(644,root,root,755)
962 %attr(755,root,root) %{_bindir}/mysql_config
963 %attr(755,root,root) %{_libdir}/libmysqlclient.so
964 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so
966 %attr(755,root,root) %{_libdir}/libndbclient.so
967 %{_libdir}/libndbclient.la
969 %{_libdir}/libmysqlclient.la
970 %{_libdir}/libmysqlclient_r.la
974 %{_libdir}/libmyisam.a
975 %{_libdir}/libmyisammrg.a
976 %{_libdir}/libmysqld.a
977 %{_libdir}/libmystrings.a
978 %{_libdir}/libmysys.a
981 %{_aclocaldir}/mysql.m4
982 %{_mandir}/man1/mysql_config.1*
985 %defattr(644,root,root,755)
986 %{_libdir}/libmysqlclient.a
987 %{_libdir}/libmysqlclient_r.a
989 %{_libdir}/libndbclient.a
993 %defattr(644,root,root,755)
994 %attr(755,root,root) %{_bindir}/mysqlslap
995 %attr(755,root,root) %{_bindir}/mysqltest
996 %dir %{_datadir}/sql-bench
997 %{_datadir}/sql-bench/[CDRl]*
998 %attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
999 %{_mandir}/man1/mysqlslap.1*
1000 %{_mandir}/man1/mysqltest.1*
1001 %{_mandir}/man1/mysqltest_embedded.1*
1004 #%defattr(644,root,root,755)
1005 #%doc Docs/manual.html Docs/manual_toc.html
1009 %defattr(644,root,root,755)
1010 %attr(755,root,root) %{_sbindir}/ndbd
1011 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb
1012 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb
1013 %{_mandir}/man1/ndbd_redo_log_reader.1*
1014 %{_mandir}/man8/ndbd.8*
1017 %defattr(644,root,root,755)
1018 %attr(755,root,root) %{_bindir}/ndb_config
1019 %attr(755,root,root) %{_bindir}/ndb_delete_all
1020 %attr(755,root,root) %{_bindir}/ndb_desc
1021 %attr(755,root,root) %{_bindir}/ndb_drop_index
1022 %attr(755,root,root) %{_bindir}/ndb_drop_table
1023 %attr(755,root,root) %{_bindir}/ndb_error_reporter
1024 %attr(755,root,root) %{_bindir}/ndb_mgm
1025 %attr(755,root,root) %{_bindir}/ndb_print_backup_file
1026 %attr(755,root,root) %{_bindir}/ndb_print_schema_file
1027 %attr(755,root,root) %{_bindir}/ndb_print_sys_file
1028 %attr(755,root,root) %{_bindir}/ndb_restore
1029 %attr(755,root,root) %{_bindir}/ndb_select_all
1030 %attr(755,root,root) %{_bindir}/ndb_select_count
1031 %attr(755,root,root) %{_bindir}/ndb_show_tables
1032 %attr(755,root,root) %{_bindir}/ndb_size.pl
1033 %attr(755,root,root) %{_bindir}/ndb_test_platform
1034 %attr(755,root,root) %{_bindir}/ndb_waiter
1035 %{_mandir}/man1/ndb_config.1*
1036 %{_mandir}/man1/ndb_delete_all.1*
1037 %{_mandir}/man1/ndb_desc.1*
1038 %{_mandir}/man1/ndb_drop_index.1*
1039 %{_mandir}/man1/ndb_drop_table.1*
1040 %{_mandir}/man1/ndb_error_reporter.1*
1041 %{_mandir}/man1/ndb_mgm.1*
1042 %{_mandir}/man1/ndb_print_backup_file.1*
1043 %{_mandir}/man1/ndb_print_schema_file.1*
1044 %{_mandir}/man1/ndb_print_sys_file.1*
1045 %{_mandir}/man1/ndb_restore.1*
1046 %{_mandir}/man1/ndb_select_all.1*
1047 %{_mandir}/man1/ndb_select_count.1*
1048 %{_mandir}/man1/ndb_show_tables.1*
1049 %{_mandir}/man1/ndb_size.pl.1*
1050 %{_mandir}/man1/ndb_waiter.1*
1053 %defattr(644,root,root,755)
1054 %attr(755,root,root) %{_sbindir}/ndb_mgmd
1055 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm
1056 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm
1057 %{_mandir}/man8/ndb_mgmd.8*
1060 %defattr(644,root,root,755)
1061 %attr(755,root,root) %{_sbindir}/ndb_cpcd
1062 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc
1063 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc
1064 %{_mandir}/man1/ndb_cpcd.1*