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