]> TLD Linux GIT Repositories - packages/mysql.git/blob - mysql.spec
- PLD merge
[packages/mysql.git] / mysql.spec
1 # TODO:
2 # - mysqldump ... (invalid usage) prints to stdout not stderr (idiotic if you want to create dump and get usage in .sql)
3 # - http://bugs.mysql.com/bug.php?id=16470
4 # - innodb are dynamic (= as plugins) ?
5 # - missing have_archive, have_merge
6 # - is plugin_dir lib64 safe?
7 # - Using NDB Cluster... could not find sci transporter in /{include, lib}
8 # - !!! Makefiles for libmysqld.so !!!
9 # - segfaults on select from non-mysql user (caused by builder environment):
10 #     https://bugs.launchpad.net/pld-linux/+bug/381904
11 #     (profiling disabled temporaily to workaround this)
12 #
13 # Conditional build:
14 %bcond_with     autodeps        # BR packages needed only for resolving deps
15 %bcond_without  innodb          # InnoDB storage engine support
16 %bcond_without  big_tables      # Support tables with more than 4G rows even on 32 bit platforms
17 %bcond_without  federated       # Federated storage engine support
18 %bcond_without  raid            # RAID support
19 %bcond_without  ssl             # OpenSSL support
20 %bcond_without  systemtap       # systemtap/dtrace probes
21 %bcond_without  tcpd            # libwrap (tcp_wrappers) support
22 %bcond_without  sphinx          # Sphinx storage engine support
23 %bcond_with     tests           # FIXME: don't run correctly
24 %bcond_with     ndb             # NDB is now a separate product, this here is broken, so disable it
25
26 %define percona_rel     61.0
27 %include        /usr/lib/rpm/macros.perl
28 Summary:        MySQL: a very fast and reliable SQL database engine
29 Summary(de.UTF-8):      MySQL: ist eine SQL-Datenbank
30 Summary(fr.UTF-8):      MySQL: un serveur SQL rapide et fiable
31 Summary(pl.UTF-8):      MySQL: bardzo szybka i niezawodna baza danych (SQL)
32 Summary(pt_BR.UTF-8):   MySQL: Um servidor SQL rápido e confiável
33 Summary(ru.UTF-8):      MySQL - быстрый SQL-сервер
34 Summary(uk.UTF-8):      MySQL - швидкий SQL-сервер
35 Summary(zh_CN.UTF-8):   MySQL数据库服务器
36 Name:           mysql
37 Version:        5.6.13
38 Release:        1
39 License:        GPL + MySQL FLOSS Exception
40 Group:          Applications/Databases
41 # Source0Download: http://dev.mysql.com/downloads/mysql/5.5.html#downloads
42 # Source0:      http://vesta.informatik.rwth-aachen.de/mysql/Downloads/MySQL-5.5/%{name}-%{version}.tar.gz
43 Source0:        http://www.percona.com/redir/downloads/Percona-Server-5.6/LATEST/source/Percona-Server-%{version}-rel%{percona_rel}.tar.gz
44 # Source0-md5:  25a6d313e98ce3f759aa08288941e748
45 Source100:      http://www.sphinxsearch.com/files/sphinx-2.1.2-release.tar.gz
46 # Source100-md5:        3e828fa58e2e6049f02aa6aef3009d48
47 Source1:        %{name}.init
48 Source2:        %{name}.sysconfig
49 Source3:        %{name}.logrotate
50 Source4:        %{name}d.conf
51 Source5:        %{name}-clusters.conf
52 Source7:        %{name}-ndb.init
53 Source8:        %{name}-ndb.sysconfig
54 Source9:        %{name}-ndb-mgm.init
55 Source10:       %{name}-ndb-mgm.sysconfig
56 Source11:       %{name}-ndb-cpc.init
57 Source12:       %{name}-ndb-cpc.sysconfig
58 Source13:       %{name}-client.conf
59 Source14:       my.cnf
60 # from fedora
61 Source15:       lib%{name}.version
62
63 Patch2:         %{name}hotcopy-5.0-5.5.patch
64 Patch3:         bug-67402.patch
65 # from fedora
66 Patch6:         %{name}-system-users.patch
67
68 Patch9:         %{name}-build.patch
69 Patch11:        %{name}-upgrade.patch
70 Patch12:        %{name}-config.patch
71 Patch14:        %{name}-bug-43594.patch
72 Patch18:        %{name}-sphinx.patch
73 Patch19:        %{name}-chain-certs.patch
74 # from fedora
75 Patch20:        %{name}-dubious-exports.patch
76 Patch21:        bison3.patch
77 Patch22:        bug-66589.patch
78 URL:            http://www.mysql.com/products/community/
79 BuildRequires:  bison >= 1.875
80 BuildRequires:  cmake >= 2.6
81 BuildRequires:  groff
82 BuildRequires:  libstdc++-devel >= 5:4.0
83 BuildRequires:  libtool
84 %{?with_tcpd:BuildRequires:     libwrap-devel}
85 BuildRequires:  ncurses-devel >= 4.2
86 %{?with_ssl:BuildRequires:      openssl-devel >= 0.9.7d}
87 %{?with_autodeps:BuildRequires: perl-DBI}
88 BuildRequires:  perl-devel >= 1:5.6.1
89 BuildRequires:  readline-devel >= 4.2
90 BuildRequires:  rpm-perlprov >= 4.1-13
91 BuildRequires:  rpmbuild(macros) >= 1.597
92 BuildRequires:  sed >= 4.0
93 %{?with_systemtap:BuildRequires:        systemtap-sdt-devel}
94 BuildRequires:  zlib-devel
95 Requires(post,preun):   /sbin/chkconfig
96 Requires(postun):       /usr/sbin/groupdel
97 Requires(postun):       /usr/sbin/userdel
98 Requires(pre):  /bin/id
99 Requires(pre):  /usr/bin/getgid
100 Requires(pre):  /usr/sbin/groupadd
101 Requires(pre):  /usr/sbin/useradd
102 Requires(triggerpostun):        sed >= 4.0
103 Requires:       %{name}-charsets = %{version}-%{release}
104 Requires:       %{name}-libs = %{version}-%{release}
105 Requires:       /usr/bin/setsid
106 Requires:       rc-scripts >= 0.2.0
107 Suggests:       mysql-client
108 %{?with_tcpd:Suggests:  tcp_wrappers}
109 Suggests:       vim-syntax-mycnf
110 Provides:       MySQL-server
111 Provides:       group(mysql)
112 Provides:       msqlormysql
113 Provides:       user(mysql)
114 Obsoletes:      MySQL
115 Obsoletes:      mysql-server
116 Conflicts:      logrotate < 3.8.0
117 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
118
119 %define         _libexecdir     %{_sbindir}
120 %define         _localstatedir  /var/lib/mysql
121 %define         _mysqlhome      /home/services/mysql
122
123 %description
124 MySQL is a true multi-user, multi-threaded SQL (Structured Query
125 Language) database server. SQL is the most popular database language
126 in the world. MySQL is a client/server implementation that consists of
127 a server daemon mysqld and many different client programs/libraries.
128
129 The main goals of MySQL are speed, robustness and easy to use. MySQL
130 was originally developed because we at Tcx needed a SQL server that
131 could handle very big databases with magnitude higher speed than what
132 any database vendor could offer to us. We have now been using MySQL
133 since 1996 in a environment with more than 40 databases, 10,000
134 tables, of which more than 500 have more than 7 million rows. This is
135 about 50G of mission critical data.
136
137 The base upon which MySQL is built is a set of routines that have been
138 used in a highly demanding production environment for many years.
139 While MySQL is still in development, it already offers a rich and
140 highly useful function set.
141
142 %description -l fr.UTF-8
143 MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et
144 multi-taches. Le langage SQL est le langage de bases de donnees le
145 plus populaire au monde. MySQL est une implementation client/serveur
146 qui consiste en un serveur (mysqld) et differents
147 programmes/bibliotheques clientes.
148
149 Les objectifs principaux de MySQL sont: vitesse, robustesse et
150 facilite d'utilisation. MySQL fut originalement developpe parce que
151 nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de
152 tres grandes bases de donnees avec une vitesse d'un ordre de magnitude
153 superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous
154 utilisons MySQL depuis 1996 dans un environnement avec plus de 40
155 bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7
156 millions de lignes. Ceci represente environ 50G de donnees critiques.
157
158 A la base de la conception de MySQL, on retrouve une serie de routines
159 qui ont ete utilisees dans un environnement de production pendant
160 plusieurs annees. Meme si MySQL est encore en developpement, il offre
161 deja une riche et utile serie de fonctions.
162
163 %description -l pl.UTF-8
164 MySQL to prawdziwie wieloużytkownikowy, wielowątkowy serwer baz danych
165 SQL. SQL jest najpopularniejszym na świecie językiem używanym do baz
166 danych. MySQL to implementacja klient/serwer składająca się z demona
167 mysqld i wielu różnych programów i bibliotek klienckich.
168
169 Głównymi celami MySQL-a są szybkość, potęga i łatwość użytkowania.
170 MySQL oryginalnie był tworzony, ponieważ autorzy w Tcx potrzebowali
171 serwera SQL do obsługi bardzo dużych baz danych z szybkością o wiele
172 większą, niż mogli zaoferować inni producenci baz danych. Używają go
173 od 1996 roku w środowisku z ponad 40 bazami danych, 10 000 tabel, z
174 których ponad 500 zawiera ponad 7 milionów rekordów - w sumie około
175 50GB krytycznych danych.
176
177 Baza, na której oparty jest MySQL, składa się ze zbioru procedur,
178 które były używane w bardzo wymagającym środowisku produkcyjnym przez
179 wiele lat. Pomimo, że MySQL jest ciągle rozwijany, już oferuje bogaty
180 i użyteczny zbiór funkcji.
181
182 %description -l de.UTF-8
183 MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz zu
184 Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten
185 werden zwar in zweidimensionalen Tabellen gespeichert und können mit
186 einem Primärschlüssel versehen werden. Es ist aber keine Definition
187 eines Fremdschlüssels möglich. Der Benutzer ist somit bei einer
188 MySQL-Datenbank völlig allein für die (referenzielle) Integrität der
189 Daten verantwortlich. Allein durch die Nutzung externer
190 Tabellenformate, wie InnoDB bzw Berkeley DB wird eine Relationalität
191 ermöglicht. Diese Projekte sind aber getrennt von MySQL zu betrachten.
192
193 %description -l pt_BR.UTF-8
194 O MySQL é um servidor de banco de dados SQL realmente multiusuário e
195 multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de
196 dados no mundo. O MySQL é uma implementação cliente/servidor que
197 consiste de um servidor chamado mysqld e diversos
198 programas/bibliotecas clientes. Os principais objetivos do MySQL são:
199 velocidade, robustez e facilidade de uso. O MySQL foi originalmente
200 desenvolvido porque nós na Tcx precisávamos de um servidor SQL que
201 pudesse lidar com grandes bases de dados e com uma velocidade muito
202 maior do que a que qualquer vendedor podia nos oferecer. Estamos
203 usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados
204 com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de
205 linhas. Isto é o equivalente a aproximadamente 50G de dados críticos.
206 A base da construção do MySQL é uma série de rotinas que foram usadas
207 em um ambiente de produção com alta demanda por muitos anos. Mesmo o
208 MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de
209 funções muito ricas e úteis. Veja a documentação para maiores
210 informações.
211
212 %description -l ru.UTF-8
213 MySQL - это SQL (Structured Query Language) сервер базы данных. MySQL
214 была написана Michael'ом (monty) Widenius'ом. См. файл CREDITS в
215 дистрибутиве на предмет других участников проекта и прочей информации
216 о MySQL.
217
218 %description -l uk.UTF-8
219 MySQL - це SQL (Structured Query Language) сервер бази даних. MySQL
220 було написано Michael'ом (monty) Widenius'ом. Див. файл CREDITS в
221 дистрибутиві для інформації про інших учасників проекту та іншої
222 інформації.
223
224 %package charsets
225 Summary:        MySQL - character sets definitions
226 Summary(pl.UTF-8):      MySQL - definicje kodowań znaków
227 Group:          Applications/Databases
228
229 %description charsets
230 This package contains character sets definitions needed by both client
231 and server.
232
233 %description charsets -l pl.UTF-8
234 Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i
235 klienta.
236
237 %package -n mysqlhotcopy
238 Summary:        mysqlhotcopy - A MySQL database backup program
239 Summary(pl.UTF-8):      mysqlhotcopy - program do tworzenia kopii zapasowych baz MySQL
240 Group:          Applications/Databases
241 Requires:       perl-DBD-mysql
242
243 %description -n mysqlhotcopy
244 mysqlhotcopy uses LOCK TABLES, FLUSH TABLES, and cp or scp to make a
245 database backup quickly. It is the fastest way to make a backup of the
246 database or single tables, but it can be run only on the same machine
247 where the database directories are located. mysqlhotcopy works only
248 for backing up MyISAM and ARCHIVE tables.
249
250 See innobackup package to backup InnoDB tables.
251
252 %description -n mysqlhotcopy -l pl.UTF-8
253 mysqlhotcopy wykorzystuje LOCK TABLES, FLUSH TABLES oraz cp i scp do
254 szybkiego tworzenia kopii zapasowych baz danych. Jest to najszybszy
255 sposób wykonania kopii zapasowej bazy danych lub pojedynczych tabel,
256 ale może działać tylko na maszynie, na której znajdują się katalogi z
257 bazą danych. mysqlhotcopy działa tylko dla tabel typu MyISAM i
258 ARCHIVE.
259
260 Narzędzie do tworzenia kopii tabel InnoDB znajduje się w pakiecie
261 innobackup.
262
263 %package extras
264 Summary:        MySQL additional utilities
265 Summary(pl.UTF-8):      Dodatkowe narzędzia do MySQL
266 Group:          Applications/Databases
267 Requires:       %{name}-client = %{version}-%{release}
268 Requires:       %{name}-libs = %{version}-%{release}
269
270 %description extras
271 MySQL additional utilities except Perl scripts (they may be found in
272 %{name}-extras-perl package).
273
274 %description extras -l pl.UTF-8
275 Dodatkowe narzędzia do MySQL - z wyjątkiem skryptów Perla (które są w
276 pakiecie %{name}-extras-perl).
277
278 %package extras-perl
279 Summary:        MySQL additional utilities written in Perl
280 Summary(pl.UTF-8):      Dodatkowe narzędzia do MySQL napisane w Perlu
281 Group:          Applications/Databases
282 Requires:       %{name}-extras = %{version}-%{release}
283 # this is just for the sake of smooth upgrade, not to break systems
284 Requires:       mysqlhotcopy = %{version}-%{release}
285 Requires:       perl(DBD::mysql)
286
287 %description extras-perl
288 MySQL additional utilities written in Perl.
289
290 %description extras-perl -l pl.UTF-8
291 Dodatkowe narzędzia do MySQL napisane w Perlu.
292
293 %package client
294 Summary:        MySQL - Client
295 Summary(pl.UTF-8):      MySQL - Klient
296 Summary(pt.UTF-8):      MySQL - Cliente
297 Summary(ru.UTF-8):      MySQL клиент
298 Summary(uk.UTF-8):      MySQL клієнт
299 Group:          Applications/Databases
300 Requires:       %{name}-charsets = %{version}-%{release}
301 Requires:       %{name}-libs = %{version}-%{release}
302 Obsoletes:      MySQL-client
303
304 %description client
305 This package contains the standard MySQL clients.
306
307 %description client -l fr.UTF-8
308 Ce package contient les clients MySQL standards.
309
310 %description client -l pl.UTF-8
311 Standardowe programy klienckie MySQL.
312
313 %description client -l pt_BR.UTF-8
314 Este pacote contém os clientes padrão para o MySQL.
315
316 %description client -l ru.UTF-8
317 Этот пакет содержит только клиент MySQL.
318
319 %description client -l uk.UTF-8
320 Цей пакет містить тільки клієнта MySQL.
321
322 %package libs
323 Summary:        Shared libraries for MySQL
324 Summary(pl.UTF-8):      Biblioteki współdzielone MySQL
325 Group:          Libraries
326 Obsoletes:      libmysql10
327 Obsoletes:      mysql-doc < 4.1.12
328
329 %description libs
330 Shared libraries for MySQL.
331
332 %description libs -l pl.UTF-8
333 Biblioteki współdzielone MySQL.
334
335 %package devel
336 Summary:        MySQL - development header files and other files
337 Summary(pl.UTF-8):      MySQL - Pliki nagłówkowe i inne dla programistów
338 Summary(pt.UTF-8):      MySQL - Medições de desempenho
339 Summary(ru.UTF-8):      MySQL - хедеры и библиотеки разработчика
340 Summary(uk.UTF-8):      MySQL - хедери та бібліотеки програміста
341 Group:          Development/Libraries
342 Requires:       %{name}-libs = %{version}-%{release}
343 %{?with_ssl:Requires:   openssl-devel}
344 Requires:       zlib-devel
345 Obsoletes:      MySQL-devel
346 Obsoletes:      libmysql10-devel
347
348 %description devel
349 This package contains the development header files and other files
350 necessary to develop MySQL client applications.
351
352 %description devel -l fr.UTF-8
353 Ce package contient les fichiers entetes et les librairies de
354 developpement necessaires pour developper des applications clientes
355 MySQL.
356
357 %description devel -l pl.UTF-8
358 Pliki nagłówkowe i inne pliki konieczne do kompilacji aplikacji
359 klienckich MySQL.
360
361 %description devel -l pt_BR.UTF-8
362 Este pacote contém os arquivos de cabeçalho (header files) e
363 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
364
365 %description devel -l ru.UTF-8
366 Этот пакет содержит хедеры и библиотеки разработчика, необходимые для
367 разработки клиентских приложений.
368
369 %description devel -l uk.UTF-8
370 Цей пакет містить хедери та бібліотеки програміста, необхідні для
371 розробки програм-клієнтів.
372
373 %package static
374 Summary:        MySQL static libraries
375 Summary(pl.UTF-8):      Biblioteki statyczne MySQL
376 Summary(ru.UTF-8):      MySQL - статические библиотеки
377 Summary(uk.UTF-8):      MySQL - статичні бібліотеки
378 Group:          Development/Libraries
379 Requires:       %{name}-devel = %{version}-%{release}
380 Obsoletes:      MySQL-static
381
382 %description static
383 MySQL static libraries.
384
385 %description static -l pl.UTF-8
386 Biblioteki statyczne MySQL.
387
388 %description static -l ru.UTF-8
389 Этот пакет содержит статические библиотеки разработчика, необходимые
390 для разработки клиентских приложений.
391
392 %description static -l uk.UTF-8
393 Цей пакет містить статичні бібліотеки програміста, необхідні для
394 розробки програм-клієнтів.
395
396 %package bench
397 Summary:        MySQL - Benchmarks
398 Summary(pl.UTF-8):      MySQL - Programy testujące szybkość działania bazy
399 Summary(pt.UTF-8):      MySQL - Medições de desempenho
400 Summary(ru.UTF-8):      MySQL - бенчмарки
401 Summary(uk.UTF-8):      MySQL - бенчмарки
402 Group:          Applications/Databases
403 Requires:       %{name} = %{version}-%{release}
404 Requires:       %{name}-client
405 Requires:       perl(DBD::mysql)
406 Obsoletes:      MySQL-bench
407
408 %description bench
409 This package contains MySQL benchmark scripts and data.
410
411 %description bench -l pl.UTF-8
412 Programy testujące szybkość serwera MySQL.
413
414 %description bench -l pt_BR.UTF-8
415 Este pacote contém medições de desempenho de scripts e dados do MySQL.
416
417 %description bench -l ru.UTF-8
418 Этот пакет содержит скрипты и данные для оценки производительности
419 MySQL.
420
421 %description bench -l uk.UTF-8
422 Цей пакет містить скрипти та дані для оцінки продуктивності MySQL.
423
424 %package doc
425 Summary:        MySQL manual
426 Summary(pl.UTF-8):      Podręcznik użytkownika MySQL
427 Group:          Applications/Databases
428
429 %description doc
430 This package contains manual in HTML format.
431
432 %description doc -l pl.UTF-8
433 Podręcznik MySQL-a w formacie HTML.
434
435 %package ndb
436 Summary:        MySQL - NDB Storage Engine Daemon
437 Summary(pl.UTF-8):      MySQL - demon silnika przechowywania danych NDB
438 Group:          Applications/Databases
439 Requires:       %{name}-libs = %{version}-%{release}
440
441 %description ndb
442 This package contains the standard MySQL NDB Storage Engine Daemon.
443
444 %description ndb -l pl.UTF-8
445 Ten pakiet zawiera standardowego demona silnika przechowywania danych
446 NDB.
447
448 %package ndb-client
449 Summary:        MySQL - NDB Clients
450 Summary(pl.UTF-8):      MySQL - programy klienckie NDB
451 Group:          Applications/Databases
452 Requires:       %{name}-libs = %{version}-%{release}
453
454 %description ndb-client
455 This package contains the standard MySQL NDB Clients.
456
457 %description ndb-client -l pl.UTF-8
458 Ten pakiet zawiera standardowe programy klienckie MySQL NDB.
459
460 %package ndb-mgm
461 Summary:        MySQL - NDB Management Daemon
462 Summary(pl.UTF-8):      MySQL - demon zarządzający NDB
463 Group:          Applications/Databases
464 Requires:       %{name}-libs = %{version}-%{release}
465
466 %description ndb-mgm
467 This package contains the standard MySQL NDB Management Daemon.
468
469 %description ndb-mgm -l pl.UTF-8
470 Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB.
471
472 %package ndb-cpc
473 Summary:        MySQL - NDB CPC Daemon
474 Summary(pl.UTF-8):      MySQL - demon NDB CPC
475 Group:          Applications/Databases
476 Requires:       %{name}-libs = %{version}-%{release}
477
478 %description ndb-cpc
479 This package contains the standard MySQL NDB CPC Daemon.
480
481 %description ndb-cpc -l pl.UTF-8
482 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
483
484 %prep
485 %setup -q -n Percona-Server-%{version}-rel%{percona_rel} %{?with_sphinx:-a100}
486 %if %{with sphinx}
487 # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51
488 mv sphinx-*/mysqlse storage/sphinx
489 %patch18 -p1
490 %endif
491
492 %patch2 -p1
493 %patch3 -p1
494
495 %patch6 -p1
496
497 %patch9 -p1
498 %patch11 -p1
499 %patch12 -p1
500 %patch14 -p0
501 %patch19 -p1
502 %patch20 -p1
503 %patch21 -p1
504 %patch22 -p1
505
506 # to get these files rebuild
507 [ -f sql/sql_yacc.cc ] && rm sql/sql_yacc.cc
508 [ -f sql/sql_yacc.h ] && rm sql/sql_yacc.h
509
510 # upstream has fallen down badly on symbol versioning, do it ourselves
511 install %{SOURCE15} libmysql/libmysql.ver.in
512
513 %build
514 install -d build
515 cd build
516 # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file
517 # (it defaults to first cluster but user may change it to whatever
518 # cluster it wants)
519
520 %cmake \
521         -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \
522         -DCMAKE_C_FLAGS_RELEASE="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
523         -DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
524         -DCOMPILATION_COMMENT="TLD Linux MySQL RPM" \
525         -DCURSES_INCLUDE_PATH=/usr/include/ncurses \
526         %{?with_systemtap:-DENABLE_DTRACE=ON} \
527         -DFEATURE_SET="community" \
528         -DINSTALL_LAYOUT=RPM \
529         -DINSTALL_LIBDIR=%{_lib} \
530         -DINSTALL_MYSQLTESTDIR_RPM="" \
531         -DINSTALL_PLUGINDIR=%{_libdir}/%{name}/plugin \
532         -DINSTALL_SQLBENCHDIR=%{_datadir} \
533         -DINSTALL_SUPPORTFILESDIR=%{_datadir}/%{name}-support \
534         -DMYSQL_UNIX_ADDR=/var/lib/%{name}/%{name}.sock \
535         %{?debug:-DWITH_DEBUG=ON} \
536         -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
537         -DWITH_FAST_MUTEXES=ON \
538         -DWITH_LIBEDIT=OFF \
539         -DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \
540         -DWITH_PAM=ON \
541         -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
542         -DWITH_PIC=ON \
543         -DWITH_READLINE=OFF \
544         -DWITH_SSL=%{?with_ssl:system}%{!?with_ssl:no} \
545         -DWITH_UNIT_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \
546         -DWITH_ZLIB=system \
547         ..
548
549 %{__make}
550
551 %{?with_tests:%{__make} test}
552
553 %install
554 rm -rf $RPM_BUILD_ROOT
555 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,skel} \
556            $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,lib/mysql} \
557            $RPM_BUILD_ROOT%{_mysqlhome} \
558            $RPM_BUILD_ROOT%{_libdir}
559
560 %{__make} -C build install \
561         DESTDIR=$RPM_BUILD_ROOT
562
563 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
564 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
565 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
566 # This is template for configuration file which is created after 'service mysql init'
567 cp -a %{SOURCE4} mysqld.conf
568 cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/clusters.conf
569 touch $RPM_BUILD_ROOT/var/log/%{name}/{mysqld,query,slow}.log
570
571 # remove innodb directives from mysqld.conf if mysqld is configured without
572 %if %{without innodb}
573         cp mysqld.conf mysqld.tmp
574         awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
575 %endif
576
577 # remove berkeley-db directives from mysqld.conf if mysqld is configured without
578 cp mysqld.conf mysqld.tmp
579 awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
580
581 cp -a mysqld.conf $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.conf
582 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/mysql-client.conf
583 ln -s mysql-client.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/my.cnf
584 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/skel/.my.cnf
585
586 # NDB
587 %if %{with ndb}
588 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
589 cp -a %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb
590 install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
591 cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
592 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
593 cp -a %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
594 %endif
595
596 # symlinks point to the .so file, fix it
597 ln -sf libmysqlclient.so.18 $RPM_BUILD_ROOT%{_libdir}/libmysqlclient_r.so.18
598 ln -sf libmysqlclient.so.18.0.0 $RPM_BUILD_ROOT%{_libdir}/libmysqlclient_r.so.18.0.0
599
600 sed -i -e 's,/usr//usr,%{_prefix},g' $RPM_BUILD_ROOT%{_bindir}/mysql_config
601 sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
602 sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
603
604 # remove known unpackaged files
605 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-support
606
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
610
611 # move to _sysconfdir
612 mv $RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}}/mysqlaccess.conf
613
614 # not useful without -debug build
615 %{!?debug:%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
616 %{!?debug:%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
617 # generate symbols file, so one can generate backtrace using it
618 # mysql_resolve_stack_dump -s %{_datadir}/%{name}/mysqld.sym -n mysqld.stack.
619 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
620 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.sym}
621
622 # do not clobber users $PATH
623 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_plugin
624 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade
625 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum
626 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk
627 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog
628 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack
629 #mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables
630 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults
631 sed -i -e 's#/usr/bin/my_print_defaults#%{_sbindir}/my_print_defaults#g' $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
632 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
633
634 # delete - functionality in initscript / rpm
635 # note: mysql_install_db (and thus resolveip) are needed by digikam
636 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
637 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
638 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
639 #rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate
640 #rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
641 #rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
642 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg-utf8.txt
643 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
644 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1*
645 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
646 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
647 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1*
648
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%{_mandir}/man1/mysql_client_test.1*
652 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1*
653 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1*
654 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1*
655 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-test
656 # libmysqld examples
657 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql{_client_test_embedded,_embedded,test_embedded}
658
659 # not needed
660 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/libdaemon_example.*
661 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/daemon_example.ini
662
663 # not an .info file
664 %{__rm} $RPM_BUILD_ROOT%{_infodir}/mysql.info
665
666 %clean
667 rm -rf $RPM_BUILD_ROOT
668
669 %pre
670 %groupadd -g 89 mysql
671 %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql
672
673 %post
674 /sbin/ldconfig
675 /sbin/chkconfig --add mysql
676 %service mysql restart
677
678 %preun
679 if [ "$1" = "0" ]; then
680         %service -q mysql stop
681         /sbin/chkconfig --del mysql
682 fi
683
684 %postun
685 /sbin/ldconfig
686 if [ "$1" = "0" ]; then
687         %userremove mysql
688         %groupremove mysql
689 fi
690
691 %post ndb
692 /sbin/chkconfig --add mysql-ndb
693 %service mysql-ndb restart "mysql NDB engine"
694
695 %preun ndb
696 if [ "$1" = "0" ]; then
697         %service mysql-ndb stop
698         /sbin/chkconfig --del mysql-ndb
699 fi
700
701 %post ndb-mgm
702 /sbin/chkconfig --add mysql-ndb-mgm
703 %service mysql-ndb-mgm restart "mysql NDB management node"
704
705 %preun ndb-mgm
706 if [ "$1" = "0" ]; then
707         %service mysql-ndb-mgm stop
708         /sbin/chkconfig --del mysql-ndb-mgm
709 fi
710
711 %post ndb-cpc
712 /sbin/chkconfig --add mysql-ndb-cpc
713 %service mysql-ndb-cpc restart "mysql NDB CPC"
714
715 %preun ndb-cpc
716 if [ "$1" = "0" ]; then
717         %service mysql-ndb-cpc stop
718         /sbin/chkconfig --del mysql-ndb-cpc
719 fi
720
721 %post   libs -p /sbin/ldconfig
722 %postun libs -p /sbin/ldconfig
723
724 %triggerpostun -- mysql < 4.0.20-2.4
725 # For clusters in /etc/%{name}/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/%{name}/clusters.conf
731                 done
732                 echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql
733                 echo "# USE /etc/%{name}/clusters.conf instead" >> /etc/sysconfig/mysql
734                 echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/%{name}/clusters.conf."
735                 echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/%{name}/clusters.conf."
736         fi
737 fi
738
739 %triggerpostun -- mysql < 4.1.1
740 # For better compatibility with prevoius versions:
741 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
742         if echo "$config" | grep -q '^/'; then
743                 config_file="$config"
744         elif [ -f "/etc/%{name}/$config" ]; then
745                 config_file=/etc/%{name}/$config
746         else
747                 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/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/%{name}/clusters.conf"
751                         exit 1
752                 fi
753                 config_file="$clusterdir/mysqld.conf"
754         fi
755
756         if [ ! -f "$config_file" ]; then
757                         echo >&2 "Lost myself! Please report this (with above errors, if any) to TLD Linux mailing lists."
758                         exit 1
759         fi
760         echo "Adding option old-passwords to config: $config_file"
761         echo "If you want to use new, better passwords - remove it"
762
763         # sed magic to add 'old-passwords' to [mysqld] section
764         sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
765                 a
766                 a; Compatibility options:
767                 aold-passwords
768         }
769         ' $config_file
770 done
771
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
775 EOF
776 #'
777
778 %triggerpostun -- mysql < 5.1.0
779 configs=""
780 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
781         if echo "$config" | grep -q '^/'; then
782                 config_file="$config"
783         elif [ -f "/etc/%{name}/$config" ]; then
784                 config_file=/etc/%{name}/$config
785         else
786                 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/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/%{name}/clusters.conf"
790                         exit 1
791                 fi
792                 config_file="$clusterdir/mysqld.conf"
793         fi
794
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 TLD Linux mailing lists."
797                 continue
798         fi
799         configs="$configs $config_file"
800 done
801
802 (
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         sed -i -e '
807                 s/set-variable\s*=\s* //
808                 # use # as comment in config
809                 s/^;/#/
810         ' $config
811
812         datadir=$(awk -F= '!/^#/ && $1 ~ /datadir/{print $2}' $config | xargs)
813         echo "# mysql_upgrade --datadir=$datadir"
814 done
815 ) | %banner -e %{name}-5.1
816
817 %triggerpostun -- mysql < 5.5.0
818 configs=""
819 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
820         if echo "$config" | grep -q '^/'; then
821                 config_file="$config"
822         elif [ -f "/etc/%{name}/$config" ]; then
823                 config_file=/etc/%{name}/$config
824         else
825                 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf)
826                 if [ -z "$clusterdir" ]; then
827                         echo >&2 "Can't find cluster dir for $config!"
828                         echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf"
829                         exit 1
830                 fi
831                 config_file="$clusterdir/mysqld.conf"
832         fi
833
834         if [ ! -f "$config_file" ]; then
835                 echo >&2 "ERROR: Can't find real config file for $config! Please report this (with above errors, if any) to TLD Linux mailing lists."
836                 continue
837         fi
838         configs="$configs $config_file"
839 done
840
841 (
842 echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.'
843 echo 'Thus, you should invoke:'
844 for config in $configs; do
845         sed -i -e '
846                 s/^language *= *polish/lc-messages = pl_PL/i
847                 s/set-variable\s*=\s* //
848                 s/^skip-locking/skip-external-locking/
849                 # this is not valid for server. it is client option
850                 s/^default-character-set/# client-config: &/
851                 # use # as comment in config
852                 s/^;/#/
853         ' $config
854
855         socket=$(awk -F= '!/^#/ && $1 ~ /socket/{print $2}' $config | xargs)
856         echo "# mysql_upgrade ${socket:+--socket=$socket}"
857 done
858 ) | %banner -e %{name}-5.5
859
860 %files
861 %defattr(644,root,root,755)
862 %doc build/support-files/*.cnf
863 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
864 %attr(754,root,root) /etc/rc.d/init.d/%{name}
865 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
866 %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/clusters.conf
867 %attr(755,root,root) %{_sbindir}/innochecksum
868 %attr(755,root,root) %{_sbindir}/my_print_defaults
869 %attr(755,root,root) %{_sbindir}/myisamchk
870 %attr(755,root,root) %{_sbindir}/myisamlog
871 %attr(755,root,root) %{_sbindir}/myisampack
872 #%attr(755,root,root) %{_sbindir}/mysql_fix_privilege_tables
873 %attr(755,root,root) %{_sbindir}/mysql_plugin
874 %attr(755,root,root) %{_sbindir}/mysql_upgrade
875 %attr(755,root,root) %{_sbindir}/mysqlcheck
876 %attr(755,root,root) %{_sbindir}/mysqld
877 %dir %{_libdir}/%{name}
878 %dir %{_libdir}/%{name}/plugin
879 %attr(755,root,root) %{_libdir}/%{name}/plugin/adt_null.so
880 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth.so
881 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam.so
882 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam_compat.so
883 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_socket.so
884 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_test_plugin.so
885 %attr(755,root,root) %{_libdir}/%{name}/plugin/dialog.so
886 #%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_archive.so
887 #%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_blackhole.so
888 #%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_federated.so
889 %attr(755,root,root) %{_libdir}/%{name}/plugin/mypluglib.so
890 %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_client.so
891 %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_interface.so
892 %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_server.so
893 %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_master.so
894 %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_slave.so
895 %attr(755,root,root) %{_libdir}/%{name}/plugin/validate_password.so
896 %if %{with sphinx}
897 %attr(755,root,root) %{_libdir}/%{name}/plugin/ha_sphinx.so
898 %endif
899 # for plugins
900 %attr(755,root,root) %{_libdir}/libmysqlservices.so
901 %{_mandir}/man1/innochecksum.1*
902 %{_mandir}/man1/my_print_defaults.1*
903 %{_mandir}/man1/myisamchk.1*
904 %{_mandir}/man1/myisamlog.1*
905 %{_mandir}/man1/myisampack.1*
906 #%{_mandir}/man1/mysql_fix_privilege_tables.1*
907 %{_mandir}/man1/mysql_plugin.1*
908 %{_mandir}/man1/mysql_upgrade.1*
909 %{_mandir}/man1/mysqlcheck.1*
910 %{_mandir}/man8/mysqld.8*
911
912 %if %{?debug:1}0
913 %attr(755,root,root) %{_bindir}/*resolve_stack_dump
914 %{_datadir}/%{name}/mysqld.sym
915 %{_mandir}/man1/*resolve_stack_dump.1*
916 %endif
917
918 %attr(700,mysql,mysql) %{_mysqlhome}
919 # root:root is proper here for mysql.rpm while mysql:mysql is potential security hole
920 %attr(751,root,root) /var/lib/mysql
921 %attr(750,mysql,mysql) %dir /var/log/mysql
922 %attr(750,mysql,mysql) %dir /var/log/archive/mysql
923 %attr(640,mysql,mysql) %ghost /var/log/mysql/*
924
925 # This is template for configuration file which is created after 'service mysql init'
926 %{_datadir}/%{name}/mysqld.conf
927 %{_datadir}/%{name}/mysql_security_commands.sql
928 %{_datadir}/%{name}/mysql_system_tables_data.sql
929 %{_datadir}/%{name}/mysql_system_tables.sql
930 %{_datadir}/%{name}/mysql_test_data_timezone.sql
931
932 %{_datadir}/%{name}/english
933 %{_datadir}/%{name}/dictionary.txt
934 %{_datadir}/%{name}/fill_help_tables.sql
935 %{_datadir}/%{name}/innodb_memcached_config.sql
936 #%{_datadir}/%{name}/mysql_fix_privilege_tables.sql
937 %lang(bg) %{_datadir}/%{name}/bulgarian
938 %lang(cs) %{_datadir}/%{name}/czech
939 %lang(da) %{_datadir}/%{name}/danish
940 %lang(de) %{_datadir}/%{name}/german
941 %lang(el) %{_datadir}/%{name}/greek
942 %lang(es) %{_datadir}/%{name}/spanish
943 %lang(et) %{_datadir}/%{name}/estonian
944 %lang(fr) %{_datadir}/%{name}/french
945 %lang(hu) %{_datadir}/%{name}/hungarian
946 %lang(it) %{_datadir}/%{name}/italian
947 %lang(ja) %{_datadir}/%{name}/japanese
948 %lang(ko) %{_datadir}/%{name}/korean
949 %lang(nl) %{_datadir}/%{name}/dutch
950 %lang(nb) %{_datadir}/%{name}/norwegian
951 %lang(nn) %{_datadir}/%{name}/norwegian-ny
952 %lang(pl) %{_datadir}/%{name}/polish
953 %lang(pt) %{_datadir}/%{name}/portuguese
954 %lang(ro) %{_datadir}/%{name}/romanian
955 %lang(ru) %{_datadir}/%{name}/russian
956 %lang(sr) %{_datadir}/%{name}/serbian
957 %lang(sk) %{_datadir}/%{name}/slovak
958 %lang(sv) %{_datadir}/%{name}/swedish
959 %lang(uk) %{_datadir}/%{name}/ukrainian
960
961 %files charsets
962 %defattr(644,root,root,755)
963 %dir %{_datadir}/mysql
964 %{_datadir}/%{name}/charsets
965
966 %files extras
967 %defattr(644,root,root,755)
968 %attr(755,root,root) %{_bindir}/msql2mysql
969 %attr(755,root,root) %{_bindir}/myisam_ftdump
970 %attr(755,root,root) %{_bindir}/mysql_install_db
971 %attr(755,root,root) %{_bindir}/mysql_secure_installation
972 %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql
973 %attr(755,root,root) %{_bindir}/perror
974 %attr(755,root,root) %{_bindir}/replace
975 %attr(755,root,root) %{_bindir}/resolveip
976 %{_mandir}/man1/msql2mysql.1*
977 %{_mandir}/man1/myisam_ftdump.1*
978 %{_mandir}/man1/mysql_install_db.1*
979 %{_mandir}/man1/mysql_secure_installation.1*
980 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
981 %{_mandir}/man1/perror.1*
982 %{_mandir}/man1/replace.1*
983 %{_mandir}/man1/resolveip.1*
984
985 %files -n mysqlhotcopy
986 %defattr(644,root,root,755)
987 %attr(755,root,root) %{_bindir}/mysqlhotcopy
988 %{_mandir}/man1/mysqlhotcopy.1*
989
990 %files extras-perl
991 %defattr(644,root,root,755)
992 %attr(755,root,root) %{_bindir}/mysql_convert_table_format
993 %attr(755,root,root) %{_bindir}/mysql_find_rows
994 %attr(755,root,root) %{_bindir}/mysql_fix_extensions
995 %attr(755,root,root) %{_bindir}/mysql_setpermission
996 %attr(755,root,root) %{_bindir}/mysql_zap
997 %attr(755,root,root) %{_bindir}/mysqlaccess
998 %attr(755,root,root) %{_bindir}/mysqldumpslow
999 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysqlaccess.conf
1000 %{_mandir}/man1/mysql_convert_table_format.1*
1001 %{_mandir}/man1/mysql_find_rows.1*
1002 %{_mandir}/man1/mysql_fix_extensions.1*
1003 %{_mandir}/man1/mysql_setpermission.1*
1004 %{_mandir}/man1/mysql_zap.1*
1005 %{_mandir}/man1/mysqlaccess.1*
1006 %{_mandir}/man1/mysqldumpslow.1*
1007
1008 %files client
1009 %defattr(644,root,root,755)
1010 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/skel/.my.cnf
1011 %attr(755,root,root) %{_bindir}/mysql
1012 %attr(755,root,root) %{_bindir}/mysqladmin
1013 %attr(755,root,root) %{_bindir}/mysqlbinlog
1014 %attr(755,root,root) %{_bindir}/mysqlbug
1015 %attr(755,root,root) %{_bindir}/mysql_config_editor
1016 %attr(755,root,root) %{_bindir}/mysqldump
1017 %attr(755,root,root) %{_bindir}/mysqlimport
1018 %attr(755,root,root) %{_bindir}/mysqlshow
1019 %{_mandir}/man1/mysql.1*
1020 %{_mandir}/man1/mysqladmin.1*
1021 %{_mandir}/man1/mysqlbinlog.1*
1022 %{_mandir}/man1/mysqlbug.1*
1023 %{_mandir}/man1/mysql_config_editor.1*
1024 %{_mandir}/man1/mysqldump.1*
1025 %{_mandir}/man1/mysqlimport.1*
1026 %{_mandir}/man1/mysqlshow.1*
1027
1028 %files libs
1029 %defattr(644,root,root,755)
1030 %attr(751,root,root) %dir %{_sysconfdir}/mysql
1031 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/mysql-client.conf
1032 %{_sysconfdir}/%{name}/my.cnf
1033 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.*
1034 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.18
1035 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*.*
1036 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.18
1037 %if %{with ndb}
1038 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.*
1039 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3
1040 %endif
1041
1042 %files devel
1043 %defattr(644,root,root,755)
1044 %attr(755,root,root) %{_bindir}/mysql_config
1045 %attr(755,root,root) %{_libdir}/libmysqlclient.so
1046 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so
1047 %if %{with ndb}
1048 %attr(755,root,root) %{_libdir}/libndbclient.so
1049 %endif
1050 # static-only so far
1051 %{_libdir}/libmysqld.a
1052 %{_includedir}/mysql
1053 %{_aclocaldir}/mysql.m4
1054 %{_mandir}/man1/mysql_config.1*
1055
1056 %files static
1057 %defattr(644,root,root,755)
1058 %{_libdir}/libmysqlclient.a
1059 %{_libdir}/libmysqlclient_r.a
1060 %if %{with ndb}
1061 %{_libdir}/libndbclient.a
1062 %endif
1063
1064 %files bench
1065 %defattr(644,root,root,755)
1066 %attr(755,root,root) %{_bindir}/mysqlslap
1067 %attr(755,root,root) %{_bindir}/mysqltest
1068 %dir %{_datadir}/sql-bench
1069 %{_datadir}/sql-bench/[CDRl]*
1070 %attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
1071 %{_mandir}/man1/mysqlslap.1*
1072 %{_mandir}/man1/mysqltest.1*
1073 %{_mandir}/man1/mysqltest_embedded.1*
1074
1075 #%files doc
1076 #%defattr(644,root,root,755)
1077 #%doc Docs/manual.html Docs/manual_toc.html
1078
1079 %if %{with ndb}
1080 %files ndb
1081 %defattr(644,root,root,755)
1082 %attr(755,root,root) %{_sbindir}/ndbd
1083 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb
1084 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb
1085 %{_mandir}/man1/ndbd_redo_log_reader.1*
1086 %{_mandir}/man8/ndbd.8*
1087
1088 %files ndb-client
1089 %defattr(644,root,root,755)
1090 %attr(755,root,root) %{_bindir}/ndb_config
1091 %attr(755,root,root) %{_bindir}/ndb_delete_all
1092 %attr(755,root,root) %{_bindir}/ndb_desc
1093 %attr(755,root,root) %{_bindir}/ndb_drop_index
1094 %attr(755,root,root) %{_bindir}/ndb_drop_table
1095 %attr(755,root,root) %{_bindir}/ndb_error_reporter
1096 %attr(755,root,root) %{_bindir}/ndb_mgm
1097 %attr(755,root,root) %{_bindir}/ndb_print_backup_file
1098 %attr(755,root,root) %{_bindir}/ndb_print_schema_file
1099 %attr(755,root,root) %{_bindir}/ndb_print_sys_file
1100 %attr(755,root,root) %{_bindir}/ndb_restore
1101 %attr(755,root,root) %{_bindir}/ndb_select_all
1102 %attr(755,root,root) %{_bindir}/ndb_select_count
1103 %attr(755,root,root) %{_bindir}/ndb_show_tables
1104 %attr(755,root,root) %{_bindir}/ndb_size.pl
1105 %attr(755,root,root) %{_bindir}/ndb_test_platform
1106 %attr(755,root,root) %{_bindir}/ndb_waiter
1107 %{_mandir}/man1/ndb_config.1*
1108 %{_mandir}/man1/ndb_delete_all.1*
1109 %{_mandir}/man1/ndb_desc.1*
1110 %{_mandir}/man1/ndb_drop_index.1*
1111 %{_mandir}/man1/ndb_drop_table.1*
1112 %{_mandir}/man1/ndb_error_reporter.1*
1113 %{_mandir}/man1/ndb_mgm.1*
1114 %{_mandir}/man1/ndb_print_backup_file.1*
1115 %{_mandir}/man1/ndb_print_schema_file.1*
1116 %{_mandir}/man1/ndb_print_sys_file.1*
1117 %{_mandir}/man1/ndb_restore.1*
1118 %{_mandir}/man1/ndb_select_all.1*
1119 %{_mandir}/man1/ndb_select_count.1*
1120 %{_mandir}/man1/ndb_show_tables.1*
1121 %{_mandir}/man1/ndb_size.pl.1*
1122 %{_mandir}/man1/ndb_waiter.1*
1123
1124 %files ndb-mgm
1125 %defattr(644,root,root,755)
1126 %attr(755,root,root) %{_sbindir}/ndb_mgmd
1127 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm
1128 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm
1129 %{_mandir}/man8/ndb_mgmd.8*
1130
1131 %files ndb-cpc
1132 %defattr(644,root,root,755)
1133 %attr(755,root,root) %{_sbindir}/ndb_cpcd
1134 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc
1135 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc
1136 %{_mandir}/man1/ndb_cpcd.1*
1137 %endif