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: ff3936126e4ec0cc0d9cb00498ba57e7
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 URL: http://www.mysql.com/products/database/mysql/community_edition.html
64 BuildRequires: autoconf
65 BuildRequires: automake
66 BuildRequires: doxygen
67 BuildRequires: libstdc++-devel >= 5:3.0
68 BuildRequires: libtool
69 %{?with_tcpd:BuildRequires: libwrap-devel}
70 BuildRequires: ncurses-devel >= 4.2
71 %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
72 %{?with_autodeps:BuildRequires: perl-DBI}
73 BuildRequires: perl-devel >= 1:5.6.1
74 BuildRequires: readline-devel >= 4.2
75 BuildRequires: rpm-perlprov >= 4.1-13
76 BuildRequires: rpmbuild(macros) >= 1.414
77 BuildRequires: sed >= 4.0
78 BuildRequires: texinfo
79 BuildRequires: zlib-devel
80 Requires(post,preun): /sbin/chkconfig
81 Requires(postun): /usr/sbin/groupdel
82 Requires(postun): /usr/sbin/userdel
83 Requires(pre): /bin/id
84 Requires(pre): /usr/bin/getgid
85 Requires(pre): /usr/sbin/groupadd
86 Requires(pre): /usr/sbin/useradd
87 Requires(triggerpostun): sed >= 4.0
88 Requires: %{name}-charsets = %{version}-%{release}
89 Requires: /usr/bin/setsid
90 Requires: rc-scripts >= 0.2.0
91 Provides: MySQL-server
92 Provides: group(mysql)
96 Obsoletes: mysql-server
97 Suggests: mysql-client
98 %{?with_tcpd:Suggests: tcp_wrappers}
99 Conflicts: logrotate < 3.7-4
100 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
102 %define _libexecdir %{_sbindir}
103 %define _localstatedir /var/lib/mysql
104 %define _mysqlhome /home/services/mysql
106 %define _noautoreqdep 'perl(DBD::mysql)'
108 # readline/libedit detection goes wrong
109 %undefine configure_cache
112 MySQL is a true multi-user, multi-threaded SQL (Structured Query
113 Language) database server. SQL is the most popular database language
114 in the world. MySQL is a client/server implementation that consists of
115 a server daemon mysqld and many different client programs/libraries.
117 The main goals of MySQL are speed, robustness and easy to use. MySQL
118 was originally developed because we at Tcx needed a SQL server that
119 could handle very big databases with magnitude higher speed than what
120 any database vendor could offer to us. We have now been using MySQL
121 since 1996 in a environment with more than 40 databases, 10,000
122 tables, of which more than 500 have more than 7 million rows. This is
123 about 50G of mission critical data.
125 The base upon which MySQL is built is a set of routines that have been
126 used in a highly demanding production environment for many years.
127 While MySQL is still in development, it already offers a rich and
128 highly useful function set.
130 %description -l fr.UTF-8
131 MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et
132 multi-taches. Le langage SQL est le langage de bases de donnees le
133 plus populaire au monde. MySQL est une implementation client/serveur
134 qui consiste en un serveur (mysqld) et differents
135 programmes/bibliotheques clientes.
137 Les objectifs principaux de MySQL sont: vitesse, robustesse et
138 facilite d'utilisation. MySQL fut originalement developpe parce que
139 nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de
140 tres grandes bases de donnees avec une vitesse d'un ordre de magnitude
141 superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous
142 utilisons MySQL depuis 1996 dans un environnement avec plus de 40
143 bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7
144 millions de lignes. Ceci represente environ 50G de donnees critiques.
146 A la base de la conception de MySQL, on retrouve une serie de routines
147 qui ont ete utilisees dans un environnement de production pendant
148 plusieurs annees. Meme si MySQL est encore en developpement, il offre
149 deja une riche et utile serie de fonctions.
151 %description -l pl.UTF-8
152 MySQL to prawdziwie wieloużytkownikowy, wielowątkowy serwer baz danych
153 SQL. SQL jest najpopularniejszym na świecie językiem używanym do baz
154 danych. MySQL to implementacja klient/serwer składająca się z demona
155 mysqld i wielu różnych programów i bibliotek klienckich.
157 Głównymi celami MySQL-a są szybkość, potęga i łatwość użytkowania.
158 MySQL oryginalnie był tworzony, ponieważ autorzy w Tcx potrzebowali
159 serwera SQL do obsługi bardzo dużych baz danych z szybkością o wiele
160 większą, niż mogli zaoferować inni producenci baz danych. Używają go
161 od 1996 roku w środowisku z ponad 40 bazami danych, 10 000 tabel, z
162 których ponad 500 zawiera ponad 7 milionów rekordów - w sumie około
163 50GB krytycznych danych.
165 Baza, na której oparty jest MySQL, składa się ze zbioru procedur,
166 które były używane w bardzo wymagającym środowisku produkcyjnym przez
167 wiele lat. Pomimo, że MySQL jest ciągle rozwijany, już oferuje bogaty
168 i użyteczny zbiór funkcji.
170 %description -l de.UTF-8
171 MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz zu
172 Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten
173 werden zwar in zweidimensionalen Tabellen gespeichert und können mit
174 einem Primärschlüssel versehen werden. Es ist aber keine Definition
175 eines Fremdschlüssels möglich. Der Benutzer ist somit bei einer
176 MySQL-Datenbank völlig allein für die (referenzielle) Integrität der
177 Daten verantwortlich. Allein durch die Nutzung externer
178 Tabellenformate, wie InnoDB bzw Berkeley DB wird eine Relationalität
179 ermöglicht. Diese Projekte sind aber getrennt von MySQL zu betrachten.
181 %description -l pt_BR.UTF-8
182 O MySQL é um servidor de banco de dados SQL realmente multiusuário e
183 multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de
184 dados no mundo. O MySQL é uma implementação cliente/servidor que
185 consiste de um servidor chamado mysqld e diversos
186 programas/bibliotecas clientes. Os principais objetivos do MySQL são:
187 velocidade, robustez e facilidade de uso. O MySQL foi originalmente
188 desenvolvido porque nós na Tcx precisávamos de um servidor SQL que
189 pudesse lidar com grandes bases de dados e com uma velocidade muito
190 maior do que a que qualquer vendedor podia nos oferecer. Estamos
191 usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados
192 com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de
193 linhas. Isto é o equivalente a aproximadamente 50G de dados críticos.
194 A base da construção do MySQL é uma série de rotinas que foram usadas
195 em um ambiente de produção com alta demanda por muitos anos. Mesmo o
196 MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de
197 funções muito ricas e úteis. Veja a documentação para maiores
200 %description -l ru.UTF-8
201 MySQL - это SQL (Structured Query Language) сервер базы данных. MySQL
202 была написана Michael'ом (monty) Widenius'ом. См. файл CREDITS в
203 дистрибутиве на предмет других участников проекта и прочей информации
206 %description -l uk.UTF-8
207 MySQL - це SQL (Structured Query Language) сервер бази даних. MySQL
208 було написано Michael'ом (monty) Widenius'ом. Див. файл CREDITS в
209 дистрибутиві для інформації про інших учасників проекту та іншої
213 Summary: MySQL - character sets definitions
214 Summary(pl.UTF-8): MySQL - definicje kodowań znaków
215 Group: Applications/Databases
217 %description charsets
218 This package contains character sets definitions needed by both client
221 %description charsets -l pl.UTF-8
222 Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i
226 Summary: MySQL additional utilities
227 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL
228 Group: Applications/Databases
229 Requires: %{name}-libs = %{version}-%{release}
232 MySQL additional utilities except Perl scripts (they may be found in
233 %{name}-extras-perl package).
235 %description extras -l pl.UTF-8
236 Dodatkowe narzędzia do MySQL - z wyjątkiem skryptów Perla (które są w
237 pakiecie %{name}-extras-perl).
240 Summary: MySQL additional utilities written in Perl
241 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL napisane w Perlu
242 Group: Applications/Databases
243 Requires: %{name}-extras = %{version}-%{release}
244 Requires: perl(DBD::mysql)
246 %description extras-perl
247 MySQL additional utilities written in Perl.
249 %description extras-perl -l pl.UTF-8
250 Dodatkowe narzędzia do MySQL napisane w Perlu.
253 Summary: MySQL - Client
254 Summary(pl.UTF-8): MySQL - Klient
255 Summary(pt.UTF-8): MySQL - Cliente
256 Summary(ru.UTF-8): MySQL клиент
257 Summary(uk.UTF-8): MySQL клієнт
258 Group: Applications/Databases
259 Requires: %{name}-charsets = %{version}-%{release}
260 Requires: %{name}-libs = %{version}-%{release}
261 Obsoletes: MySQL-client
264 This package contains the standard MySQL clients.
266 %description client -l fr.UTF-8
267 Ce package contient les clients MySQL standards.
269 %description client -l pl.UTF-8
270 Standardowe programy klienckie MySQL.
272 %description client -l pt_BR.UTF-8
273 Este pacote contém os clientes padrão para o MySQL.
275 %description client -l ru.UTF-8
276 Этот пакет содержит только клиент MySQL.
278 %description client -l uk.UTF-8
279 Цей пакет містить тільки клієнта MySQL.
282 Summary: Shared libraries for MySQL
283 Summary(pl.UTF-8): Biblioteki dzielone MySQL
285 Obsoletes: libmysql10
286 Obsoletes: mysql-doc < 4.1.12
289 Shared libraries for MySQL.
291 %description libs -l pl.UTF-8
292 Biblioteki dzielone MySQL.
295 Summary: MySQL - Development header files and libraries
296 Summary(pl.UTF-8): MySQL - Pliki nagłówkowe i biblioteki dla programistów
297 Summary(pt.UTF-8): MySQL - Medições de desempenho
298 Summary(ru.UTF-8): MySQL - хедеры и библиотеки разработчика
299 Summary(uk.UTF-8): MySQL - хедери та бібліотеки програміста
300 Group: Development/Libraries
301 Requires: %{name}-libs = %{version}-%{release}
302 %{?with_ssl:Requires: openssl-devel}
304 Obsoletes: MySQL-devel
305 Obsoletes: libmysql10-devel
308 This package contains the development header files and libraries
309 necessary to develop MySQL client applications.
311 %description devel -l fr.UTF-8
312 Ce package contient les fichiers entetes et les librairies de
313 developpement necessaires pour developper des applications clientes
316 %description devel -l pl.UTF-8
317 Pliki nagłówkowe i biblioteki konieczne do kompilacji aplikacji
320 %description devel -l pt_BR.UTF-8
321 Este pacote contém os arquivos de cabeçalho (header files) e
322 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
324 %description devel -l ru.UTF-8
325 Этот пакет содержит хедеры и библиотеки разработчика, необходимые для
326 разработки клиентских приложений.
328 %description devel -l uk.UTF-8
329 Цей пакет містить хедери та бібліотеки програміста, необхідні для
330 розробки програм-клієнтів.
333 Summary: MySQL static libraries
334 Summary(pl.UTF-8): Biblioteki statyczne MySQL
335 Summary(ru.UTF-8): MySQL - статические библиотеки
336 Summary(uk.UTF-8): MySQL - статичні бібліотеки
337 Group: Development/Libraries
338 Requires: %{name}-devel = %{version}-%{release}
339 Obsoletes: MySQL-static
342 MySQL static libraries.
344 %description static -l pl.UTF-8
345 Biblioteki statyczne MySQL.
347 %description static -l ru.UTF-8
348 Этот пакет содержит статические библиотеки разработчика, необходимые
349 для разработки клиентских приложений.
351 %description static -l uk.UTF-8
352 Цей пакет містить статичні бібліотеки програміста, необхідні для
353 розробки програм-клієнтів.
356 Summary: MySQL - Benchmarks
357 Summary(pl.UTF-8): MySQL - Programy testujące szybkość działania bazy
358 Summary(pt.UTF-8): MySQL - Medições de desempenho
359 Summary(ru.UTF-8): MySQL - бенчмарки
360 Summary(uk.UTF-8): MySQL - бенчмарки
361 Group: Applications/Databases
362 Requires: %{name} = %{version}-%{release}
363 Requires: %{name}-client
364 Requires: perl(DBD::mysql)
365 Obsoletes: MySQL-bench
368 This package contains MySQL benchmark scripts and data.
370 %description bench -l pl.UTF-8
371 Programy testujące szybkość serwera MySQL.
373 %description bench -l pt_BR.UTF-8
374 Este pacote contém medições de desempenho de scripts e dados do MySQL.
376 %description bench -l ru.UTF-8
377 Этот пакет содержит скрипты и данные для оценки производительности
380 %description bench -l uk.UTF-8
381 Цей пакет містить скрипти та дані для оцінки продуктивності MySQL.
384 Summary: MySQL manual
385 Summary(pl.UTF-8): Podręcznik użytkownika MySQL
386 Group: Applications/Databases
389 This package contains manual in HTML format.
391 %description doc -l pl.UTF-8
392 Podręcznik MySQL-a w formacie HTML.
395 Summary: MySQL - NDB Storage Engine Daemon
396 Summary(pl.UTF-8): MySQL - demon silnika przechowywania danych NDB
397 Group: Applications/Databases
398 Requires: %{name}-libs = %{version}-%{release}
401 This package contains the standard MySQL NDB Storage Engine Daemon.
403 %description ndb -l pl.UTF-8
404 Ten pakiet zawiera standardowego demona silnika przechowywania danych
408 Summary: MySQL - NDB Clients
409 Summary(pl.UTF-8): MySQL - programy klienckie NDB
410 Group: Applications/Databases
411 Requires: %{name}-libs = %{version}-%{release}
413 %description ndb-client
414 This package contains the standard MySQL NDB Clients.
416 %description ndb-client -l pl.UTF-8
417 Ten pakiet zawiera standardowe programy klienckie MySQL NDB.
420 Summary: MySQL - NDB Management Daemon
421 Summary(pl.UTF-8): MySQL - demon zarządzający NDB
422 Group: Applications/Databases
423 Requires: %{name}-libs = %{version}-%{release}
426 This package contains the standard MySQL NDB Management Daemon.
428 %description ndb-mgm -l pl.UTF-8
429 Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB.
432 Summary: MySQL - NDB CPC Daemon
433 Summary(pl.UTF-8): MySQL - demon NDB CPC
434 Group: Applications/Databases
435 Requires: %{name}-libs = %{version}-%{release}
438 This package contains the standard MySQL NDB CPC Daemon.
440 %description ndb-cpc -l pl.UTF-8
441 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
444 %setup -q -n %{name}-%{version}-rc %{?with_sphinx:-a100}
446 mv sphinx-*/mysqlse storage/sphinx
449 #%{?with_tcpd:%patch1 -p1} # WHATS PURPOSE OF THIS PATCH?
450 #%patch2 -p1 # NEEDS CHECK, which exact program needs -lc++
453 # this is strange: mysqld functions for UDF modules are not explicitly defined,
454 # so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables
455 # in objects compiled without -fPIC
470 %{__aclocal} -I config/ac-macros
474 # The compiler flags are as per their "official" spec ;)
475 CXXFLAGS="%{rpmcflags} -felide-constructors -fno-rtti -fno-exceptions %{!?debug:-fomit-frame-pointer}"
476 CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
478 # NOTE: the PS, FIND_PROC, KILL, CHECK_PID are not used by PLD Linux
479 # and therefore do not add BR on these. These are here just to satisfy
484 FIND_PROC='/bin/ps p $$PID' \
486 CHECK_PID='/bin/kill -0 $$PID' \
488 --enable-largefile=yes \
491 --enable-thread-safe-client \
492 --with%{!?with_innodb:out}-innodb \
493 --with%{!?with_raid:out}-raid \
494 --with%{!?with_ssl:out}-ssl=/usr \
495 --with%{!?with_tcpd:out}-libwrap \
496 %{?with_big_tables:--with-big-tables} \
497 --with-comment="PLD Linux Distribution MySQL RPM" \
498 --with%{!?debug:out}-debug%{?debug:=full} \
499 --with%{!?debug:out}-ndb-debug \
500 --with-embedded-server \
501 --with-extra-charsets=all \
503 --with-mysqld-user=mysql \
504 --with-named-curses-libs="-lncurses" \
505 --with-named-thread-libs="-lpthread" \
506 --with-unix-socket-path=/var/lib/mysql/mysql.sock \
507 --with-archive-storage-engine \
509 %{?with_federated:--with-federated-storage-engine} \
510 --with-fast-mutexes \
520 # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file
521 # (it defaults to first cluster but user may change it to whatever
524 echo -e "all:\ninstall:\nclean:\nlink_sources:\n" > libmysqld/examples/Makefile
527 benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench
529 %{__make} -C Docs mysql.info
531 %{?with_tests:%{__make} test}
534 rm -rf $RPM_BUILD_ROOT
535 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,ssl/certs/mysql} \
536 $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,lib/mysql} \
537 $RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}}
541 DESTDIR=$RPM_BUILD_ROOT \
542 benchdir=%{_datadir}/sql-bench \
544 # libsdir is to avoid installing innodb static libs in $RPM_BUILD_ROOT../libs
546 install Docs/mysql.info $RPM_BUILD_ROOT%{_infodir}
548 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
549 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
550 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
551 # This is template for configuration file which is created after 'service mysql init'
552 install %{SOURCE4} mysqld.conf
553 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/clusters.conf
554 touch $RPM_BUILD_ROOT/var/log/mysql/{err,log,update}
556 # remove innodb directives from mysqld.conf if mysqld is configured without
557 %if %{without innodb}
558 cp mysqld.conf mysqld.tmp
559 awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
562 # remove berkeley-db directives from mysqld.conf if mysqld is configured without
563 cp mysqld.conf mysqld.tmp
564 awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
566 install mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.conf
567 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/mysql-client.conf
570 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
571 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb
572 install %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
573 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
574 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
575 install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
577 mv -f $RPM_BUILD_ROOT%{_libdir}/mysql/lib* $RPM_BUILD_ROOT%{_libdir}
578 sed -i -e 's,%{_libdir}/mysql,%{_libdir},' $RPM_BUILD_ROOT{%{_libdir}/libmysqlclient{,_r}.la,%{_bindir}/mysql_config}
579 sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
581 # remove known unpackaged files
582 rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
584 # remove .txt variants for .sys messages
585 rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/*/*.txt
587 # rename not to be so generic name
588 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
589 mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1
591 # not useful without -debug build
592 %{!?debug:rm -f $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
593 %{!?debug:rm -f $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
594 # generate symbols file, so one can generate backtrace using it
595 # mysql_resolve_stack_dump -s %{_datadir}/mysql/mysqld.sym -n mysqld.stack.
596 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
597 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.sym}
599 # do not clobber users $PATH
600 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade
601 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum
602 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk
603 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog
604 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack
605 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables
606 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults
607 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
609 # functionality in initscript / rpm
610 rm $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
611 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_install_db.1*
612 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
613 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
614 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
615 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate
616 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
617 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
618 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg.txt
619 rm $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
620 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1*
621 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
622 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
623 rm $RPM_BUILD_ROOT%{_bindir}/resolveip
624 rm $RPM_BUILD_ROOT%{_mandir}/man1/resolveip.1*
625 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_bin_dist.1*
626 rm $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1*
627 rm $RPM_BUILD_ROOT%{_datadir}/mysql/ChangeLog
629 # we don't package those (we have no -test or -testsuite pkg) and some of them just segfault
630 rm $RPM_BUILD_ROOT%{_bindir}/mysql_client_test
631 rm $RPM_BUILD_ROOT%{_datadir}/mysql/mi_test_all
632 rm $RPM_BUILD_ROOT%{_datadir}/mysql/mi_test_all.res
633 rm $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld_multi.server
634 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test.1*
635 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1*
636 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1*
637 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1*
640 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf}
643 rm -f $RPM_BUILD_ROOT%{_libdir}/mysql/plugin/ha_example.{a,la}
646 rm -rf $RPM_BUILD_ROOT
649 %groupadd -g 89 mysql
650 %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql
653 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
654 /sbin/chkconfig --add mysql
655 %service mysql restart
658 if [ "$1" = "0" ]; then
659 %service -q mysql stop
660 /sbin/chkconfig --del mysql
664 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
666 if [ "$1" = "0" ]; then
672 /sbin/chkconfig --add mysql-ndb
673 %service mysql-ndb restart "mysql NDB engine"
676 if [ "$1" = "0" ]; then
677 %service mysql-ndb stop
678 /sbin/chkconfig --del mysql-ndb
682 /sbin/chkconfig --add mysql-ndb-mgm
683 %service mysql-ndb-mgm restart "mysql NDB management node"
686 if [ "$1" = "0" ]; then
687 %service mysql-ndb-mgm stop
688 /sbin/chkconfig --del mysql-ndb-mgm
692 /sbin/chkconfig --add mysql-ndb-cpc
693 %service mysql-ndb-cpc restart "mysql NDB CPC"
696 if [ "$1" = "0" ]; then
697 %service mysql-ndb-cpc stop
698 /sbin/chkconfig --del mysql-ndb-cpc
701 %post libs -p /sbin/ldconfig
702 %postun libs -p /sbin/ldconfig
704 %triggerpostun -- mysql < 4.0.20-2.4
705 # For clusters in /etc/mysql/clusters.conf
706 if [ -f /etc/sysconfig/mysql ]; then
707 . /etc/sysconfig/mysql
708 if [ -n "$MYSQL_DB_CLUSTERS" ]; then
709 for i in "$MYSQL_DB_CLUSTERS"; do
710 echo "$i/mysqld.conf=$i" >> /etc/mysql/clusters.conf
712 echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql
713 echo "# USE /etc/mysql/clusters.conf instead" >> /etc/sysconfig/mysql
714 echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/mysql/clusters.conf."
715 echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/mysql/clusters.conf."
719 %triggerpostun -- mysql < 4.1.1
720 # For better compatibility with prevoius versions:
721 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do
722 if echo "$config" | grep -q '^/'; then
723 config_file="$config"
724 elif [ -f "/etc/mysql/$config" ]; then
725 config_file=/etc/mysql/$config
727 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/mysql/clusters.conf)
728 if [ -z "$clusterdir" ]; then
729 echo >&2 "Can't find cluster dir for $config!"
730 echo >&2 "Please remove extra (leading) spaces from /etc/mysql/clusters.conf"
733 config_file="$clusterdir/mysqld.conf"
736 if [ ! -f "$config_file" ]; then
737 echo >&2 "Lost myself! Please report this (with above errors, if any) to http://bugs.pld-linux.org/"
740 echo "Adding option old-passwords to config: $config_file"
741 echo "If you want to use new, better passwords - remove it"
743 # sed magic to add 'old-passwords' to [mysqld] section
744 sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
746 a; Compatibility options:
752 %banner -e %{name}-4.1.x <<-EOF
753 If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data:
754 mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql
758 %triggerpostun -- mysql < 5.1.0
760 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do
761 if echo "$config" | grep -q '^/'; then
762 config_file="$config"
763 elif [ -f "/etc/mysql/$config" ]; then
764 config_file=/etc/mysql/$config
766 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/mysql/clusters.conf)
767 if [ -z "$clusterdir" ]; then
768 echo >&2 "Can't find cluster dir for $config!"
769 echo >&2 "Please remove extra (leading) spaces from /etc/mysql/clusters.conf"
772 config_file="$clusterdir/mysqld.conf"
775 if [ ! -f "$config_file" ]; then
776 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/"
779 configs="$configs $config_file"
783 echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.'
784 echo 'Thus, you should invoke:'
785 for config in $configs; do
786 datadir=$(awk -F= '!/^#/ && $1 ~ /datadir/{print $2}' $config | xargs)
787 echo "# mysql_upgrade --datadir=$datadir"
789 ) | %banner -e %{name}-5.1
792 %defattr(644,root,root,755)
793 %doc support-files/*.cnf support-files/*.ini ChangeLog
794 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/mysql
795 %attr(754,root,root) /etc/rc.d/init.d/mysql
796 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql
797 %dir /etc/ssl/certs/mysql
798 %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/clusters.conf
799 %attr(755,root,root) %{_sbindir}/innochecksum
800 %attr(755,root,root) %{_sbindir}/my_print_defaults
801 %attr(755,root,root) %{_sbindir}/myisamchk
802 %attr(755,root,root) %{_sbindir}/myisamlog
803 %attr(755,root,root) %{_sbindir}/myisampack
804 %attr(755,root,root) %{_sbindir}/mysql_fix_privilege_tables
805 %attr(755,root,root) %{_sbindir}/mysql_upgrade
806 %attr(755,root,root) %{_sbindir}/mysqlcheck
807 %attr(755,root,root) %{_sbindir}/mysqld
808 %dir %{_libdir}/mysql
809 %dir %{_libdir}/mysql/plugin
810 %attr(755,root,root) %{_libdir}/mysql/plugin/ha_example.so.*.*.*
811 %attr(755,root,root) %{_libdir}/mysql/plugin/ha_example.so.0
812 %attr(755,root,root) %{_libdir}/mysql/plugin/ha_example.so
813 %{_mandir}/man1/innochecksum.1*
814 %{_mandir}/man1/my_print_defaults.1*
815 %{_mandir}/man1/myisamchk.1*
816 %{_mandir}/man1/myisamlog.1*
817 %{_mandir}/man1/myisampack.1*
818 %{_mandir}/man1/mysql_fix_privilege_tables.1*
819 %{_mandir}/man1/mysql_upgrade.1*
820 %{_mandir}/man1/mysqlcheck.1*
821 %{_mandir}/man8/mysqld.8*
824 %attr(755,root,root) %{_bindir}/*resolve_stack_dump
825 %{_datadir}/mysql/mysqld.sym
826 %{_mandir}/man1/*resolve_stack_dump.1*
829 %attr(700,mysql,mysql) %{_mysqlhome}
830 # root:root is proper here for mysql.rpm while mysql:mysql is potential security hole
831 %attr(751,root,root) /var/lib/mysql
832 %attr(750,mysql,mysql) %dir /var/log/mysql
833 %attr(750,mysql,mysql) %dir /var/log/archive/mysql
834 %attr(640,mysql,mysql) %ghost /var/log/mysql/*
836 %{_infodir}/mysql.info*
837 # This is template for configuration file which is created after 'service mysql init'
838 %{_datadir}/mysql/mysqld.conf
839 %{_datadir}/mysql/mysql_system_tables.sql
840 %{_datadir}/mysql/mysql_system_tables_data.sql
841 %{_datadir}/mysql/mysql_test_data_timezone.sql
843 %{_datadir}/mysql/english
844 %{_datadir}/mysql/fill_help_tables.sql
845 %{_datadir}/mysql/mysql_fix_privilege_tables.sql
846 %lang(cs) %{_datadir}/mysql/czech
847 %lang(da) %{_datadir}/mysql/danish
848 %lang(de) %{_datadir}/mysql/german
849 %lang(el) %{_datadir}/mysql/greek
850 %lang(es) %{_datadir}/mysql/spanish
851 %lang(et) %{_datadir}/mysql/estonian
852 %lang(fr) %{_datadir}/mysql/french
853 %lang(hu) %{_datadir}/mysql/hungarian
854 %lang(it) %{_datadir}/mysql/italian
855 %lang(ja) %{_datadir}/mysql/japanese
856 %lang(ko) %{_datadir}/mysql/korean
857 %lang(nl) %{_datadir}/mysql/dutch
858 %lang(nb) %{_datadir}/mysql/norwegian
859 %lang(nn) %{_datadir}/mysql/norwegian-ny
860 %lang(pl) %{_datadir}/mysql/polish
861 %lang(pt) %{_datadir}/mysql/portuguese
862 %lang(ro) %{_datadir}/mysql/romanian
863 %lang(ru) %{_datadir}/mysql/russian
864 %lang(sr) %{_datadir}/mysql/serbian
865 %lang(sk) %{_datadir}/mysql/slovak
866 %lang(sv) %{_datadir}/mysql/swedish
867 %lang(uk) %{_datadir}/mysql/ukrainian
870 %defattr(644,root,root,755)
871 %dir %{_datadir}/mysql
872 %{_datadir}/mysql/charsets
875 %defattr(644,root,root,755)
876 %attr(755,root,root) %{_bindir}/msql2mysql
877 %attr(755,root,root) %{_bindir}/myisam_ftdump
878 %attr(755,root,root) %{_bindir}/mysql_secure_installation
879 %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql
880 %attr(755,root,root) %{_bindir}/perror
881 %attr(755,root,root) %{_bindir}/replace
882 %{_mandir}/man1/msql2mysql.1*
883 %{_mandir}/man1/myisam_ftdump.1*
884 %{_mandir}/man1/mysql_secure_installation.1*
885 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
886 %{_mandir}/man1/perror.1*
887 %{_mandir}/man1/replace.1*
890 %defattr(644,root,root,755)
891 %attr(755,root,root) %{_bindir}/mysql_convert_table_format
892 %attr(755,root,root) %{_bindir}/mysql_find_rows
893 %attr(755,root,root) %{_bindir}/mysql_fix_extensions
894 %attr(755,root,root) %{_bindir}/mysql_setpermission
895 %attr(755,root,root) %{_bindir}/mysql_zap
896 %attr(755,root,root) %{_bindir}/mysqlaccess
897 %attr(755,root,root) %{_bindir}/mysqldumpslow
898 %attr(755,root,root) %{_bindir}/mysqlhotcopy
899 %{_mandir}/man1/mysql_convert_table_format.1*
900 %{_mandir}/man1/mysql_find_rows.1*
901 %{_mandir}/man1/mysql_fix_extensions.1*
902 %{_mandir}/man1/mysql_setpermission.1*
903 %{_mandir}/man1/mysql_zap.1*
904 %{_mandir}/man1/mysqlaccess.1*
905 %{_mandir}/man1/mysqlhotcopy.1*
908 %defattr(644,root,root,755)
909 %attr(755,root,root) %{_bindir}/mysql
910 %attr(755,root,root) %{_bindir}/mysqladmin
911 %attr(755,root,root) %{_bindir}/mysqlbinlog
912 %attr(755,root,root) %{_bindir}/mysqlbug
913 %attr(755,root,root) %{_bindir}/mysqldump
914 %attr(755,root,root) %{_bindir}/mysqlimport
915 %attr(755,root,root) %{_bindir}/mysqlshow
916 %attr(755,root,root) %{_bindir}/mysqlslap
917 %attr(755,root,root) %{_sbindir}/mysqlmanager
918 %{_mandir}/man1/mysql.1*
919 %{_mandir}/man1/mysqladmin.1*
920 %{_mandir}/man1/mysqlbinlog.1*
921 %{_mandir}/man1/mysqlbug.1*
922 %{_mandir}/man1/mysqldump.1*
923 %{_mandir}/man1/mysqlimport.1*
924 %{_mandir}/man1/mysqlshow.1*
925 %{_mandir}/man1/mysqlslap.1*
926 %{_mandir}/man8/mysqlmanager.8*
929 %defattr(644,root,root,755)
930 %doc EXCEPTIONS-CLIENT
931 %attr(751,root,root) %dir %{_sysconfdir}/mysql
932 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/mysql-client.conf
933 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.*
934 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.16
935 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*.*
936 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.16
937 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.*
938 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3
941 %defattr(644,root,root,755)
942 %attr(755,root,root) %{_bindir}/mysql_config
943 %attr(755,root,root) %{_libdir}/libmysqlclient.so
944 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so
945 %attr(755,root,root) %{_libdir}/libndbclient.so
946 %{_libdir}/libmysqlclient.la
947 %{_libdir}/libmysqlclient_r.la
948 %{_libdir}/libndbclient.la
952 %{_libdir}/libmyisam.a
953 %{_libdir}/libmyisammrg.a
954 %{_libdir}/libmysqld.a
955 %{_libdir}/libmystrings.a
956 %{_libdir}/libmysys.a
959 %{_aclocaldir}/mysql.m4
960 %{_mandir}/man1/mysql_config.1*
963 %defattr(644,root,root,755)
964 %{_libdir}/libmysqlclient.a
965 %{_libdir}/libmysqlclient_r.a
966 %{_libdir}/libndbclient.a
969 %defattr(644,root,root,755)
970 %attr(755,root,root) %{_bindir}/mysqltest
971 %dir %{_datadir}/sql-bench
972 %{_datadir}/sql-bench/[CDRl]*
973 %attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
974 %{_mandir}/man1/mysqltest.1*
975 %{_mandir}/man1/mysqltest_embedded.1*
978 #%defattr(644,root,root,755)
979 #%doc Docs/manual.html Docs/manual_toc.html
982 %defattr(644,root,root,755)
983 %attr(755,root,root) %{_sbindir}/ndbd
984 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb
985 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb
986 %{_mandir}/man1/ndbd_redo_log_reader.1*
987 %{_mandir}/man8/ndbd.8*
990 %defattr(644,root,root,755)
991 %attr(755,root,root) %{_bindir}/ndb_config
992 %attr(755,root,root) %{_bindir}/ndb_delete_all
993 %attr(755,root,root) %{_bindir}/ndb_desc
994 %attr(755,root,root) %{_bindir}/ndb_drop_index
995 %attr(755,root,root) %{_bindir}/ndb_drop_table
996 %attr(755,root,root) %{_bindir}/ndb_error_reporter
997 %attr(755,root,root) %{_bindir}/ndb_mgm
998 %attr(755,root,root) %{_bindir}/ndb_print_backup_file
999 %attr(755,root,root) %{_bindir}/ndb_print_schema_file
1000 %attr(755,root,root) %{_bindir}/ndb_print_sys_file
1001 %attr(755,root,root) %{_bindir}/ndb_restore
1002 %attr(755,root,root) %{_bindir}/ndb_select_all
1003 %attr(755,root,root) %{_bindir}/ndb_select_count
1004 %attr(755,root,root) %{_bindir}/ndb_show_tables
1005 %attr(755,root,root) %{_bindir}/ndb_size.pl
1006 %attr(755,root,root) %{_bindir}/ndb_test_platform
1007 %attr(755,root,root) %{_bindir}/ndb_waiter
1008 %{_mandir}/man1/ndb_config.1*
1009 %{_mandir}/man1/ndb_delete_all.1*
1010 %{_mandir}/man1/ndb_desc.1*
1011 %{_mandir}/man1/ndb_drop_index.1*
1012 %{_mandir}/man1/ndb_drop_table.1*
1013 %{_mandir}/man1/ndb_error_reporter.1*
1014 %{_mandir}/man1/ndb_mgm.1*
1015 %{_mandir}/man1/ndb_print_backup_file.1*
1016 %{_mandir}/man1/ndb_print_schema_file.1*
1017 %{_mandir}/man1/ndb_print_sys_file.1*
1018 %{_mandir}/man1/ndb_restore.1*
1019 %{_mandir}/man1/ndb_select_all.1*
1020 %{_mandir}/man1/ndb_select_count.1*
1021 %{_mandir}/man1/ndb_show_tables.1*
1022 %{_mandir}/man1/ndb_size.pl.1*
1023 %{_mandir}/man1/ndb_waiter.1*
1026 %defattr(644,root,root,755)
1027 %attr(755,root,root) %{_sbindir}/ndb_mgmd
1028 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm
1029 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm
1030 %{_mandir}/man8/ndb_mgmd.8*
1033 %defattr(644,root,root,755)
1034 %attr(755,root,root) %{_sbindir}/ndb_cpcd
1035 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc
1036 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc
1037 %{_mandir}/man1/ndb_cpcd.1*