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