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