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