2 # - C(XX)FLAGS for innodb subdirs are overriden by ./configure!
3 # - http://bugs.mysql.com/bug.php?id=16470
6 %bcond_without big_tables # Support tables with more than 4G rows even on 32 bit platforms
7 %bcond_without federated # Federated storage engine support
8 %bcond_without innodb # InnoDB storage engine support
9 %bcond_without raid # Without raid
10 %bcond_without ssl # Without OpenSSL
11 %bcond_without tcpd # Without libwrap (tcp_wrappers) support
12 %bcond_without autodeps # BR packages needed only for resolving deps
13 %bcond_with bdb # Berkeley DB support
14 %bcond_without sphinx # Sphinx storage engine support
15 %bcond_with xtrabackup # XtraBackup
17 %include /usr/lib/rpm/macros.perl
18 #define _snap 20060111
19 Summary: MySQL: a very fast and reliable SQL database engine
20 Summary(de.UTF-8): MySQL: ist eine SQL-Datenbank
21 Summary(fr.UTF-8): MySQL: un serveur SQL rapide et fiable
22 Summary(pl.UTF-8): MySQL: bardzo szybka i niezawodna baza danych (SQL)
23 Summary(pt_BR.UTF-8): MySQL: Um servidor SQL rápido e confiável
24 Summary(ru.UTF-8): MySQL - быстрый SQL-сервер
25 Summary(uk.UTF-8): MySQL - швидкий SQL-сервер
26 Summary(zh_CN.UTF-8): MySQL数据库服务器
30 License: GPL + MySQL FLOSS Exception
31 Group: Applications/Databases
32 #Source0: ftp://ftp.mysql.com/pub/mysql/src/%{name}-%{version}.tar.gz
33 Source0: http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
34 # Source0-md5: 6c30a20c9059daf053a301e927eb1667
35 #Source0: http://mysql.he.net/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
36 #Source0: http://mirror.provenscaling.com/mysql/enterprise/source/5.0/%{name}-%{version}.tar.gz
37 Source100: http://www.sphinxsearch.com/downloads/sphinx-0.9.9-rc1.tar.gz
38 # Source100-md5: d1506c8f85c045bb682393de0aed30e8
40 Source2: %{name}.sysconfig
41 Source3: %{name}.logrotate
42 Source4: %{name}d.conf
43 Source5: %{name}-clusters.conf
44 Source7: %{name}-ndb.init
45 Source8: %{name}-ndb.sysconfig
46 Source9: %{name}-ndb-mgm.init
47 Source10: %{name}-ndb-mgm.sysconfig
48 Source11: %{name}-ndb-cpc.init
49 Source12: %{name}-ndb-cpc.sysconfig
50 Source13: %{name}-client.conf
51 Patch0: %{name}-libs.patch
52 Patch1: %{name}-sphinx.patch
53 Patch2: %{name}-c++.patch
54 Patch3: %{name}-info.patch
55 Patch4: %{name}-sql-cxx-pic.patch
56 Patch5: %{name}-noproc.patch
57 Patch6: %{name}-fix_privilege_tables.patch
58 Patch7: %{name}-align.patch
59 Patch8: %{name}-client-config.patch
60 Patch9: %{name}-build.patch
61 Patch10: %{name}-alpha.patch
62 Patch11: %{name}-ndb-ldflags.patch
63 Patch12: %{name}-bug-20153.patch
64 Patch13: %{name}-bug-34192.patch
65 Patch14: %{name}-bug-16470.patch
66 Patch15: %{name}-system-users.patch
67 # <percona patches, http://www.percona.com/percona-lab.html>
68 Patch16: %{name}-microslow_innodb.patch
69 Patch17: %{name}-userstatv2.patch
70 Patch18: %{name}-innodb_io_patches.patch
71 Patch19: %{name}-microsec_process.patch
72 Patch20: %{name}-innodb_show_bp.patch
73 Patch21: %{name}-innodb_locks_held.patch
74 Patch22: %{name}-innodb_io_pattern.patch
75 Patch23: %{name}-innodb_show_hashed_memory.patch
76 Patch24: %{name}-innodb_rw_lock.patch
77 Patch25: %{name}-innodb_fsync_source.patch
78 Patch26: %{name}-show_patches.patch
79 Patch27: %{name}-split_buf_pool_mutex_fixed_optimistic_safe.patch
80 Patch28: %{name}-innodb_check_fragmentation.patch
82 Patch29: %{name}-errorlog-no-rename.patch
83 Patch30: %{name}-alpha-stack.patch
84 Patch31: %{name}-xtrabackup.patch
85 URL: http://www.mysql.com/products/database/mysql/community_edition.html
86 BuildRequires: autoconf
87 BuildRequires: automake
89 %{?with_bdb:BuildRequires: db3-devel}
91 BuildRequires: libstdc++-devel >= 5:3.0
92 BuildRequires: libtool
93 %{?with_tcpd:BuildRequires: libwrap-devel}
94 BuildRequires: ncurses-devel >= 4.2
95 %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
96 %{?with_autodeps:BuildRequires: perl-DBI}
97 BuildRequires: perl-devel >= 1:5.6.1
98 BuildRequires: readline-devel >= 4.2
99 BuildRequires: rpm-perlprov >= 4.1-13
100 BuildRequires: rpmbuild(macros) >= 1.414
101 BuildRequires: sed >= 4.0
102 BuildRequires: texinfo
103 BuildRequires: zlib-devel
104 Requires(post,preun): /sbin/chkconfig
105 Requires(postun): /usr/sbin/groupdel
106 Requires(postun): /usr/sbin/userdel
107 Requires(pre): /bin/id
108 Requires(pre): /usr/bin/getgid
109 Requires(pre): /usr/sbin/groupadd
110 Requires(pre): /usr/sbin/useradd
111 Requires(triggerpostun): sed >= 4.0
112 Requires: %{name}-charsets = %{version}-%{release}
113 Requires: %{name}-libs = %{version}-%{release}
114 Requires: /usr/bin/setsid
115 Requires: logrotate >= 3.7-4
116 Requires: rc-scripts >= 0.2.0
117 Suggests: mysql-client
118 %{?with_tcpd:Suggests: tcp_wrappers}
119 Provides: MySQL-server
120 Provides: group(mysql)
121 Provides: msqlormysql
122 Provides: user(mysql)
124 Obsoletes: mysql-server
125 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
127 %define _libexecdir %{_sbindir}
128 %define _localstatedir /var/lib/mysql
129 %define _mysqlhome /home/services/mysql
131 %define _noautoreqdep 'perl(DBD::mysql)'
132 # CFLAGS for innodb are altered
133 %undefine configure_cache
136 MySQL is a true multi-user, multi-threaded SQL (Structured Query
137 Language) database server. SQL is the most popular database language
138 in the world. MySQL is a client/server implementation that consists of
139 a server daemon mysqld and many different client programs/libraries.
141 The main goals of MySQL are speed, robustness and easy to use. MySQL
142 was originally developed because we at Tcx needed a SQL server that
143 could handle very big databases with magnitude higher speed than what
144 any database vendor could offer to us. We have now been using MySQL
145 since 1996 in a environment with more than 40 databases, 10,000
146 tables, of which more than 500 have more than 7 million rows. This is
147 about 50G of mission critical data.
149 The base upon which MySQL is built is a set of routines that have been
150 used in a highly demanding production environment for many years.
151 While MySQL is still in development, it already offers a rich and
152 highly useful function set.
154 %description -l fr.UTF-8
155 MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et
156 multi-taches. Le langage SQL est le langage de bases de donnees le
157 plus populaire au monde. MySQL est une implementation client/serveur
158 qui consiste en un serveur (mysqld) et differents
159 programmes/bibliotheques clientes.
161 Les objectifs principaux de MySQL sont: vitesse, robustesse et
162 facilite d'utilisation. MySQL fut originalement developpe parce que
163 nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de
164 tres grandes bases de donnees avec une vitesse d'un ordre de magnitude
165 superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous
166 utilisons MySQL depuis 1996 dans un environnement avec plus de 40
167 bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7
168 millions de lignes. Ceci represente environ 50G de donnees critiques.
170 A la base de la conception de MySQL, on retrouve une serie de routines
171 qui ont ete utilisees dans un environnement de production pendant
172 plusieurs annees. Meme si MySQL est encore en developpement, il offre
173 deja une riche et utile serie de fonctions.
175 %description -l pl.UTF-8
176 MySQL to prawdziwie wieloużytkownikowy, wielowątkowy serwer baz danych
177 SQL. SQL jest najpopularniejszym na świecie językiem używanym do baz
178 danych. MySQL to implementacja klient/serwer składająca się z demona
179 mysqld i wielu różnych programów i bibliotek klienckich.
181 Głównymi celami MySQL-a są szybkość, potęga i łatwość użytkowania.
182 MySQL oryginalnie był tworzony, ponieważ autorzy w Tcx potrzebowali
183 serwera SQL do obsługi bardzo dużych baz danych z szybkością o wiele
184 większą, niż mogli zaoferować inni producenci baz danych. Używają go
185 od 1996 roku w środowisku z ponad 40 bazami danych, 10 000 tabel, z
186 których ponad 500 zawiera ponad 7 milionów rekordów - w sumie około
187 50GB krytycznych danych.
189 Baza, na której oparty jest MySQL, składa się ze zbioru procedur,
190 które były używane w bardzo wymagającym środowisku produkcyjnym przez
191 wiele lat. Pomimo, że MySQL jest ciągle rozwijany, już oferuje bogaty
192 i użyteczny zbiór funkcji.
194 %description -l de.UTF-8
195 MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz zu
196 Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten
197 werden zwar in zweidimensionalen Tabellen gespeichert und können mit
198 einem Primärschlüssel versehen werden. Es ist aber keine Definition
199 eines Fremdschlüssels möglich. Der Benutzer ist somit bei einer
200 MySQL-Datenbank völlig allein für die (referenzielle) Integrität der
201 Daten verantwortlich. Allein durch die Nutzung externer
202 Tabellenformate, wie InnoDB bzw Berkeley DB wird eine Relationalität
203 ermöglicht. Diese Projekte sind aber getrennt von MySQL zu betrachten.
205 %description -l pt_BR.UTF-8
206 O MySQL é um servidor de banco de dados SQL realmente multiusuário e
207 multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de
208 dados no mundo. O MySQL é uma implementação cliente/servidor que
209 consiste de um servidor chamado mysqld e diversos
210 programas/bibliotecas clientes. Os principais objetivos do MySQL são:
211 velocidade, robustez e facilidade de uso. O MySQL foi originalmente
212 desenvolvido porque nós na Tcx precisávamos de um servidor SQL que
213 pudesse lidar com grandes bases de dados e com uma velocidade muito
214 maior do que a que qualquer vendedor podia nos oferecer. Estamos
215 usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados
216 com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de
217 linhas. Isto é o equivalente a aproximadamente 50G de dados críticos.
218 A base da construção do MySQL é uma série de rotinas que foram usadas
219 em um ambiente de produção com alta demanda por muitos anos. Mesmo o
220 MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de
221 funções muito ricas e úteis. Veja a documentação para maiores
224 %description -l ru.UTF-8
225 MySQL - это SQL (Structured Query Language) сервер базы данных. MySQL
226 была написана Michael'ом (monty) Widenius'ом. См. файл CREDITS в
227 дистрибутиве на предмет других участников проекта и прочей информации
230 %description -l uk.UTF-8
231 MySQL - це SQL (Structured Query Language) сервер бази даних. MySQL
232 було написано Michael'ом (monty) Widenius'ом. Див. файл CREDITS в
233 дистрибутиві для інформації про інших учасників проекту та іншої
237 Summary: MySQL - character sets definitions
238 Summary(pl.UTF-8): MySQL - definicje kodowań znaków
239 Group: Applications/Databases
241 %description charsets
242 This package contains character sets definitions needed by both client
245 %description charsets -l pl.UTF-8
246 Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i
250 Summary: MySQL additional utilities
251 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL
252 Group: Applications/Databases
253 Requires: %{name}-libs = %{version}-%{release}
256 MySQL additional utilities except Perl scripts (they may be found in
257 %{name}-extras-perl package).
259 %description extras -l pl.UTF-8
260 Dodatkowe narzędzia do MySQL - z wyjątkiem skryptów Perla (które są w
261 pakiecie %{name}-extras-perl).
264 Summary: MySQL additional utilities written in Perl
265 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL napisane w Perlu
266 Group: Applications/Databases
267 Requires: %{name}-extras = %{version}-%{release}
268 Requires: perl(DBD::mysql)
270 %description extras-perl
271 MySQL additional utilities written in Perl.
273 %description extras-perl -l pl.UTF-8
274 Dodatkowe narzędzia do MySQL napisane w Perlu.
277 Summary: MySQL - Client
278 Summary(pl.UTF-8): MySQL - Klient
279 Summary(pt.UTF-8): MySQL - Cliente
280 Summary(ru.UTF-8): MySQL клиент
281 Summary(uk.UTF-8): MySQL клієнт
282 Group: Applications/Databases
283 Requires: %{name}-charsets = %{version}-%{release}
284 Requires: %{name}-libs = %{version}-%{release}
285 Obsoletes: MySQL-client
288 This package contains the standard MySQL clients.
290 %description client -l fr.UTF-8
291 Ce package contient les clients MySQL standards.
293 %description client -l pl.UTF-8
294 Standardowe programy klienckie MySQL.
296 %description client -l pt_BR.UTF-8
297 Este pacote contém os clientes padrão para o MySQL.
299 %description client -l ru.UTF-8
300 Этот пакет содержит только клиент MySQL.
302 %description client -l uk.UTF-8
303 Цей пакет містить тільки клієнта MySQL.
306 Summary: Shared libraries for MySQL
307 Summary(pl.UTF-8): Biblioteki dzielone MySQL
309 Obsoletes: libmysql10
310 Obsoletes: mysql-doc < 4.1.12
313 Shared libraries for MySQL.
315 %description libs -l pl.UTF-8
316 Biblioteki dzielone MySQL.
319 Summary: MySQL - Development header files and libraries
320 Summary(pl.UTF-8): MySQL - Pliki nagłówkowe i biblioteki dla programistów
321 Summary(pt.UTF-8): MySQL - Medições de desempenho
322 Summary(ru.UTF-8): MySQL - хедеры и библиотеки разработчика
323 Summary(uk.UTF-8): MySQL - хедери та бібліотеки програміста
324 Group: Development/Libraries
325 Requires: %{name}-libs = %{version}-%{release}
326 %{?with_ssl:Requires: openssl-devel}
328 Obsoletes: MySQL-devel
329 Obsoletes: libmysql10-devel
332 This package contains the development header files and libraries
333 necessary to develop MySQL client applications.
335 %description devel -l fr.UTF-8
336 Ce package contient les fichiers entetes et les librairies de
337 developpement necessaires pour developper des applications clientes
340 %description devel -l pl.UTF-8
341 Pliki nagłówkowe i biblioteki konieczne do kompilacji aplikacji
344 %description devel -l pt_BR.UTF-8
345 Este pacote contém os arquivos de cabeçalho (header files) e
346 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
348 %description devel -l ru.UTF-8
349 Этот пакет содержит хедеры и библиотеки разработчика, необходимые для
350 разработки клиентских приложений.
352 %description devel -l uk.UTF-8
353 Цей пакет містить хедери та бібліотеки програміста, необхідні для
354 розробки програм-клієнтів.
357 Summary: MySQL static libraries
358 Summary(pl.UTF-8): Biblioteki statyczne MySQL
359 Summary(ru.UTF-8): MySQL - статические библиотеки
360 Summary(uk.UTF-8): MySQL - статичні бібліотеки
361 Group: Development/Libraries
362 Requires: %{name}-devel = %{version}-%{release}
363 Obsoletes: MySQL-static
366 MySQL static libraries.
368 %description static -l pl.UTF-8
369 Biblioteki statyczne MySQL.
371 %description static -l ru.UTF-8
372 Этот пакет содержит статические библиотеки разработчика, необходимые
373 для разработки клиентских приложений.
375 %description static -l uk.UTF-8
376 Цей пакет містить статичні бібліотеки програміста, необхідні для
377 розробки програм-клієнтів.
380 Summary: MySQL - Benchmarks
381 Summary(pl.UTF-8): MySQL - Programy testujące szybkość działania bazy
382 Summary(pt.UTF-8): MySQL - Medições de desempenho
383 Summary(ru.UTF-8): MySQL - бенчмарки
384 Summary(uk.UTF-8): MySQL - бенчмарки
385 Group: Applications/Databases
386 Requires: %{name} = %{version}-%{release}
387 Requires: %{name}-client
388 Requires: perl(DBD::mysql)
389 Obsoletes: MySQL-bench
392 This package contains MySQL benchmark scripts and data.
394 %description bench -l pl.UTF-8
395 Programy testujące szybkość serwera MySQL.
397 %description bench -l pt_BR.UTF-8
398 Este pacote contém medições de desempenho de scripts e dados do MySQL.
400 %description bench -l ru.UTF-8
401 Этот пакет содержит скрипты и данные для оценки производительности
404 %description bench -l uk.UTF-8
405 Цей пакет містить скрипти та дані для оцінки продуктивності MySQL.
408 Summary: MySQL manual
409 Summary(pl.UTF-8): Podręcznik użytkownika MySQL
410 Group: Applications/Databases
413 This package contains manual in HTML format.
415 %description doc -l pl.UTF-8
416 Podręcznik MySQL-a w formacie HTML.
419 Summary: MySQL - NDB Storage Engine Daemon
420 Summary(pl.UTF-8): MySQL - demon silnika przechowywania danych NDB
421 Group: Applications/Databases
422 Requires: %{name}-libs = %{version}-%{release}
425 This package contains the standard MySQL NDB Storage Engine Daemon.
427 %description ndb -l pl.UTF-8
428 Ten pakiet zawiera standardowego demona silnika przechowywania danych
432 Summary: MySQL - NDB Clients
433 Summary(pl.UTF-8): MySQL - programy klienckie NDB
434 Group: Applications/Databases
435 Requires: %{name}-libs = %{version}-%{release}
437 %description ndb-client
438 This package contains the standard MySQL NDB Clients.
440 %description ndb-client -l pl.UTF-8
441 Ten pakiet zawiera standardowe programy klienckie MySQL NDB.
444 Summary: MySQL - NDB Management Daemon
445 Summary(pl.UTF-8): MySQL - demon zarządzający NDB
446 Group: Applications/Databases
447 Requires: %{name}-libs = %{version}-%{release}
450 This package contains the standard MySQL NDB Management Daemon.
452 %description ndb-mgm -l pl.UTF-8
453 Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB.
456 Summary: MySQL - NDB CPC Daemon
457 Summary(pl.UTF-8): MySQL - demon NDB CPC
458 Group: Applications/Databases
459 Requires: %{name}-libs = %{version}-%{release}
462 This package contains the standard MySQL NDB CPC Daemon.
464 %description ndb-cpc -l pl.UTF-8
465 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
468 %setup -q %{?_snap:-n %{name}-%{version}-nightly-%{_snap}} %{?with_sphinx:-a100}
471 mv sphinx-*/mysqlse sql/sphinx
477 # this is strange: mysqld functions for UDF modules are not explicitly defined,
478 # so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables
479 # in objects compiled without -fPIC
511 %{?with_xtrabackup:%patch31 -p1}
519 # The compiler flags are as per their "official" spec ;)
520 CXXFLAGS="%{rpmcflags} -felide-constructors -fno-rtti -fno-exceptions %{!?debug:-fomit-frame-pointer}"
521 CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
523 # NOTE: the PS, FIND_PROC, KILL, CHECK_PID are not used by PLD Linux
524 # and therefore do not add BR on these. These are here just to satisfy
529 FIND_PROC='/bin/ps p $$PID' \
531 CHECK_PID='/bin/kill -0 $$PID' \
533 --enable-largefile=yes \
536 --enable-thread-safe-client \
537 --with%{!?with_bdb:out}-berkeley-db \
538 --with%{!?with_innodb:out}-innodb \
539 --with%{!?with_raid:out}-raid \
540 --with%{!?with_ssl:out}-openssl \
541 --with%{!?with_tcpd:out}-libwrap \
542 %{?with_big_tables:--with-big-tables} \
543 --with-comment="PLD Linux Distribution MySQL RPM" \
544 --with%{!?debug:out}-debug \
545 --with%{!?debug:out}-ndb-debug \
546 --with-embedded-server \
547 --with-extra-charsets=all \
549 --with-mysqld-user=mysql \
550 --with-named-curses-libs="-lncurses" \
551 --with-named-thread-libs="-lpthread" \
552 --with-unix-socket-path=/var/lib/mysql/mysql.sock \
553 --with-archive-storage-engine \
554 %{?with_sphinx:--with-sphinx-storage-engine} \
555 %{?with_federated:--with-federated-storage-engine} \
562 # --with-ndb-test --with-ndb-docs
564 # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file
565 # (it defaults to first cluster but user may change it to whatever
568 echo -e "all:\ninstall:\nclean:\nlink_sources:\n" > libmysqld/examples/Makefile
571 benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench
573 %if %{with xtrabackup}
574 %{__make} -C innobase/xtrabackup \
578 %{__make} -C Docs mysql.info
581 rm -rf $RPM_BUILD_ROOT
582 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,ssl/certs/mysql} \
583 $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,lib/mysql} \
584 $RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}}
587 install -d $RPM_BUILD_ROOT/var/lib/mysql/bdb/{log,tmp}
592 DESTDIR=$RPM_BUILD_ROOT \
593 benchdir=%{_datadir}/sql-bench \
595 # libsdir is to avoid installing innodb static libs in $RPM_BUILD_ROOT../libs
597 install Docs/mysql.info $RPM_BUILD_ROOT%{_infodir}
599 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
600 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
601 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
602 # This is template for configuration file which is created after 'service mysql init'
603 install %{SOURCE4} mysqld.conf
604 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/clusters.conf
605 touch $RPM_BUILD_ROOT/var/log/mysql/{err,log,update}
607 # remove innodb directives from mysqld.conf if mysqld is configured without
608 %if %{without innodb}
609 cp mysqld.conf mysqld.tmp
610 awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
613 # remove berkeley-db directives from mysqld.conf if mysqld is configured without
615 cp mysqld.conf mysqld.tmp
616 awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
619 install mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.conf
620 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/mysql-client.conf
623 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
624 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb
625 install %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
626 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
627 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
628 install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
630 mv -f $RPM_BUILD_ROOT%{_libdir}/mysql/lib* $RPM_BUILD_ROOT%{_libdir}
631 sed -i -e 's,%{_libdir}/mysql,%{_libdir},' $RPM_BUILD_ROOT{%{_libdir}/libmysqlclient{,_r}.la,%{_bindir}/mysql_config}
632 sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
634 # remove known unpackaged files
635 rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
637 # remove .txt variants for .sys messages
638 rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/*/*.txt
640 # rename not to be so generic name
641 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
642 mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1
644 # not useful without -debug build
645 %{!?debug:rm -f $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
646 %{!?debug:rm -f $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
647 # generate symbols file, so one can generate backtrace using it
648 # mysql_resolve_stack_dump -s %{_datadir}/mysql/mysqld.sym -n mysqld.stack.
649 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
650 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.sym}
652 # do not clobber users $PATH
653 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade
654 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum
655 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk
656 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog
657 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack
658 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables
659 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults
660 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
662 # functionality in initscript / rpm
663 rm $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
664 rm $RPM_BUILD_ROOT%{_bindir}/mysql_upgrade_shell
665 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
666 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
667 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
668 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate
669 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
670 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
671 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg.txt
672 rm $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
673 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
674 rm $RPM_BUILD_ROOT%{_mandir}/man1/safe_mysqld*
675 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
676 rm $RPM_BUILD_ROOT%{_bindir}/resolveip
677 rm $RPM_BUILD_ROOT%{_mandir}/man1/resolveip.1*
678 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_bin_dist.1
679 rm $RPM_BUILD_ROOT%{_bindir}/comp_err
680 rm $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1
681 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_install_db.1
682 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1
683 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_src_distribution.1
684 rm $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld_multi.server
686 # no package for tests
687 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1
688 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1
689 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1
691 rm $RPM_BUILD_ROOT%{_mandir}/man1/ndb_print_backup_file.1
692 rm $RPM_BUILD_ROOT%{_mandir}/man1/ndb_print_schema_file.1
693 rm $RPM_BUILD_ROOT%{_mandir}/man1/ndb_print_sys_file.1
694 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqltest_embedded.1
697 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf}
700 rm -rf $RPM_BUILD_ROOT
703 %groupadd -g 89 mysql
704 %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql
707 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
708 /sbin/chkconfig --add mysql
709 %service mysql restart
712 if [ "$1" = "0" ]; then
713 %service -q mysql stop
714 /sbin/chkconfig --del mysql
718 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
719 if [ "$1" = "0" ]; then
725 /sbin/chkconfig --add mysql-ndb
726 %service mysql-ndb restart "mysql NDB engine"
729 if [ "$1" = "0" ]; then
730 %service mysql-ndb stop
731 /sbin/chkconfig --del mysql-ndb
735 /sbin/chkconfig --add mysql-ndb-mgm
736 %service mysql-ndb-mgm restart "mysql NDB management node"
739 if [ "$1" = "0" ]; then
740 %service mysql-ndb-mgm stop
741 /sbin/chkconfig --del mysql-ndb-mgm
745 /sbin/chkconfig --add mysql-ndb-cpc
746 %service mysql-ndb-cpc restart "mysql NDB CPC"
749 if [ "$1" = "0" ]; then
750 %service mysql-ndb-cpc stop
751 /sbin/chkconfig --del mysql-ndb-cpc
754 %post libs -p /sbin/ldconfig
755 %postun libs -p /sbin/ldconfig
757 %triggerpostun -- mysql < 4.0.20-2.4
758 # For clusters in /etc/mysql/clusters.conf
759 if [ -f /etc/sysconfig/mysql ]; then
760 . /etc/sysconfig/mysql
761 if [ -n "$MYSQL_DB_CLUSTERS" ]; then
762 for i in "$MYSQL_DB_CLUSTERS"; do
763 echo "$i/mysqld.conf=$i" >> /etc/mysql/clusters.conf
765 echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql
766 echo "# USE /etc/mysql/clusters.conf instead" >> /etc/sysconfig/mysql
767 echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/mysql/clusters.conf."
768 echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/mysql/clusters.conf."
772 %triggerpostun -- mysql < 4.1.1
773 # For better compatibility with prevoius versions:
774 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do
775 if echo "$config" | grep -q '^/'; then
776 config_file="$config"
777 elif [ -f "/etc/mysql/$config" ]; then
778 config_file=/etc/mysql/$config
780 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/mysql/clusters.conf)
781 if [ -z "$clusterdir" ]; then
782 echo >&2 "Can't find cluster dir for $config!"
783 echo >&2 "Please remove extra (leading) spaces from /etc/mysql/clusters.conf"
786 config_file="$clusterdir/mysqld.conf"
789 if [ ! -f "$config_file" ]; then
790 echo >&2 "Lost myself! Please report this (with above errors, if any) to http://bugs.pld-linux.org/"
793 echo "Adding option old-passwords to config: $config_file"
794 echo "If you want to use new, better passwords - remove it"
796 # sed magic to add 'old-passwords' to [mysqld] section
797 sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
799 a; Compatibility options:
805 %banner -e %{name}-4.1.x <<-EOF
806 If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data:
807 mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql
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 %dir /etc/ssl/certs/mysql
818 %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/clusters.conf
819 %attr(755,root,root) %{_sbindir}/innochecksum
820 %attr(755,root,root) %{_sbindir}/my_print_defaults
821 %attr(755,root,root) %{_sbindir}/myisamchk
822 %attr(755,root,root) %{_sbindir}/myisamlog
823 %attr(755,root,root) %{_sbindir}/myisampack
824 %attr(755,root,root) %{_sbindir}/mysql_fix_privilege_tables
825 %attr(755,root,root) %{_sbindir}/mysql_upgrade
826 %attr(755,root,root) %{_sbindir}/mysqlcheck
827 %attr(755,root,root) %{_sbindir}/mysqld
828 %{_mandir}/man1/innochecksum.1*
829 %{_mandir}/man1/my_print_defaults.1*
830 %{_mandir}/man1/myisamchk.1*
831 %{_mandir}/man1/myisamlog.1*
832 %{_mandir}/man1/myisampack.1*
833 %{_mandir}/man1/mysql_fix_privilege_tables.1*
834 %{_mandir}/man1/mysql_upgrade.1*
835 %{_mandir}/man1/mysqlcheck.1*
836 %{_mandir}/man8/mysqld.8*
839 %attr(755,root,root) %{_bindir}/*resolve_stack_dump
840 %{_datadir}/mysql/mysqld.sym
841 %{_mandir}/man1/*resolve_stack_dump.1*
844 %attr(700,mysql,mysql) %{_mysqlhome}
845 # root:root is proper here for mysql.rpm while mysql:mysql is potential security hole
846 %attr(751,root,root) /var/lib/mysql
847 %attr(750,mysql,mysql) %dir /var/log/mysql
848 %attr(750,mysql,mysql) %dir /var/log/archive/mysql
849 %attr(640,mysql,mysql) %ghost /var/log/mysql/*
851 %{_infodir}/mysql.info*
852 # This is template for configuration file which is created after 'service mysql init'
853 %{_datadir}/mysql/mysqld.conf
854 %{_datadir}/mysql/mysql_system_tables.sql
855 %{_datadir}/mysql/mysql_system_tables_data.sql
856 %{_datadir}/mysql/mysql_test_data_timezone.sql
858 %{_datadir}/mysql/english
859 %{_datadir}/mysql/fill_help_tables.sql
860 %{_datadir}/mysql/mysql_fix_privilege_tables.sql
861 %lang(cs) %{_datadir}/mysql/czech
862 %lang(da) %{_datadir}/mysql/danish
863 %lang(de) %{_datadir}/mysql/german
864 %lang(el) %{_datadir}/mysql/greek
865 %lang(es) %{_datadir}/mysql/spanish
866 %lang(et) %{_datadir}/mysql/estonian
867 %lang(fr) %{_datadir}/mysql/french
868 %lang(hu) %{_datadir}/mysql/hungarian
869 %lang(it) %{_datadir}/mysql/italian
870 %lang(ja) %{_datadir}/mysql/japanese
871 %lang(ko) %{_datadir}/mysql/korean
872 %lang(nl) %{_datadir}/mysql/dutch
873 %lang(nb) %{_datadir}/mysql/norwegian
874 %lang(nn) %{_datadir}/mysql/norwegian-ny
875 %lang(pl) %{_datadir}/mysql/polish
876 %lang(pt) %{_datadir}/mysql/portuguese
877 %lang(ro) %{_datadir}/mysql/romanian
878 %lang(ru) %{_datadir}/mysql/russian
879 %lang(sr) %{_datadir}/mysql/serbian
880 %lang(sk) %{_datadir}/mysql/slovak
881 %lang(sv) %{_datadir}/mysql/swedish
882 %lang(uk) %{_datadir}/mysql/ukrainian
885 %defattr(644,root,root,755)
886 %dir %{_datadir}/mysql
887 %{_datadir}/mysql/charsets
890 %defattr(644,root,root,755)
891 %attr(755,root,root) %{_bindir}/msql2mysql
892 %attr(755,root,root) %{_bindir}/myisam_ftdump
893 %attr(755,root,root) %{_bindir}/mysql_secure_installation
894 %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql
895 %attr(755,root,root) %{_bindir}/perror
896 %attr(755,root,root) %{_bindir}/replace
897 %{_mandir}/man1/msql2mysql.1*
898 %{_mandir}/man1/myisam_ftdump.1*
899 %{_mandir}/man1/mysql_secure_installation.1*
900 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
901 %{_mandir}/man1/perror.1*
902 %{_mandir}/man1/replace.1*
905 %defattr(644,root,root,755)
906 %attr(755,root,root) %{_bindir}/mysql_convert_table_format
907 %attr(755,root,root) %{_bindir}/mysql_explain_log
908 %attr(755,root,root) %{_bindir}/mysql_find_rows
909 %attr(755,root,root) %{_bindir}/mysql_fix_extensions
910 %attr(755,root,root) %{_bindir}/mysql_setpermission
911 %attr(755,root,root) %{_bindir}/mysql_tableinfo
912 %attr(755,root,root) %{_bindir}/mysql_zap
913 %attr(755,root,root) %{_bindir}/mysqlaccess
914 %attr(755,root,root) %{_bindir}/mysqldumpslow
915 %attr(755,root,root) %{_bindir}/mysqlhotcopy
916 %{_mandir}/man1/mysql_convert_table_format.1*
917 %{_mandir}/man1/mysql_explain_log.1*
918 %{_mandir}/man1/mysql_find_rows.1*
919 %{_mandir}/man1/mysql_fix_extensions.1*
920 %{_mandir}/man1/mysql_setpermission.1*
921 %{_mandir}/man1/mysql_tableinfo.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.15
953 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*
954 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.15
955 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*
956 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.2
959 %defattr(644,root,root,755)
960 %attr(755,root,root) %{_bindir}/mysql_config
961 %attr(755,root,root) %{_libdir}/libmysqlclient.so
962 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so
963 %attr(755,root,root) %{_libdir}/libndbclient.so
964 %{_libdir}/libmysqlclient.la
965 %{_libdir}/libmysqlclient_r.la
966 %{_libdir}/libndbclient.la
970 %{_libdir}/libmyisam.a
971 %{_libdir}/libmyisammrg.a
972 %{_libdir}/libmysqld.a
973 %{_libdir}/libmystrings.a
974 %{_libdir}/libmysys.a
977 %{_mandir}/man1/mysql_config.1*
980 %defattr(644,root,root,755)
981 %{_libdir}/libmysqlclient.a
982 %{_libdir}/libmysqlclient_r.a
983 %{_libdir}/libndbclient.a
986 %defattr(644,root,root,755)
987 %attr(755,root,root) %{_bindir}/mysql_client_test
988 %attr(755,root,root) %{_bindir}/mysqltest
989 %attr(755,root,root) %{_bindir}/mysqltestmanager
990 %attr(755,root,root) %{_bindir}/mysqltestmanager-pwgen
991 %attr(755,root,root) %{_bindir}/mysqltestmanagerc
992 %dir %{_datadir}/sql-bench
993 %{_datadir}/sql-bench/[CDRl]*
994 %attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
996 %{_datadir}/mysql/mi_test_all.res
997 %attr(755,root,root) %{_datadir}/mysql/mi_test_all
998 %{_mandir}/man1/mysql_client_test.1*
999 %{_mandir}/man1/mysqltest.1*
1002 #%defattr(644,root,root,755)
1003 #%doc Docs/manual.html Docs/manual_toc.html
1006 %defattr(644,root,root,755)
1007 %attr(755,root,root) %{_sbindir}/ndbd
1008 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb
1009 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb
1010 %{_mandir}/man8/ndbd.8*
1013 %defattr(644,root,root,755)
1014 %attr(755,root,root) %{_bindir}/ndb_config
1015 %attr(755,root,root) %{_bindir}/ndb_delete_all
1016 %attr(755,root,root) %{_bindir}/ndb_desc
1017 %attr(755,root,root) %{_bindir}/ndb_drop_index
1018 %attr(755,root,root) %{_bindir}/ndb_drop_table
1019 %attr(755,root,root) %{_bindir}/ndb_error_reporter
1020 %attr(755,root,root) %{_bindir}/ndb_mgm
1021 %attr(755,root,root) %{_bindir}/ndb_restore
1022 %attr(755,root,root) %{_bindir}/ndb_select_all
1023 %attr(755,root,root) %{_bindir}/ndb_select_count
1024 %attr(755,root,root) %{_bindir}/ndb_show_tables
1025 %attr(755,root,root) %{_bindir}/ndb_size.pl
1026 %attr(755,root,root) %{_bindir}/ndb_test_platform
1027 %attr(755,root,root) %{_bindir}/ndb_waiter
1028 %attr(755,root,root) %{_datadir}/mysql/ndb_size.tmpl
1029 %{_mandir}/man1/ndb_config.1*
1030 %{_mandir}/man1/ndb_delete_all.1*
1031 %{_mandir}/man1/ndb_desc.1*
1032 %{_mandir}/man1/ndb_drop_index.1*
1033 %{_mandir}/man1/ndb_drop_table.1*
1034 %{_mandir}/man1/ndb_error_reporter.1*
1035 %{_mandir}/man1/ndb_mgm.1*
1036 %{_mandir}/man1/ndb_restore.1*
1037 %{_mandir}/man1/ndb_select_all.1*
1038 %{_mandir}/man1/ndb_select_count.1*
1039 %{_mandir}/man1/ndb_show_tables.1*
1040 %{_mandir}/man1/ndb_size.pl.1*
1041 %{_mandir}/man1/ndb_waiter.1*
1044 %defattr(644,root,root,755)
1045 %attr(755,root,root) %{_sbindir}/ndb_mgmd
1046 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm
1047 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm
1048 %{_mandir}/man8/ndb_mgmd.8*
1051 %defattr(644,root,root,755)
1052 %attr(755,root,root) %{_sbindir}/ndb_cpcd
1053 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc
1054 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc
1055 %{_mandir}/man1/ndb_cpcd.1*