]> TLD Linux GIT Repositories - packages/mysql.git/blob - mysql.spec
- release 2
[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     23
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.23
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:  8bf4dca1bd9593803a48c522728ade50
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-bug-91914.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 CPPFLAGS="%{rpmcppflags}" \
522 %cmake .. \
523         -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \
524         -DCMAKE_C_FLAGS_DEBUG="-fno-omit-frame-pointer -fno-strict-aliasing -Wimplicit-fallthrough=0" \
525         -DCMAKE_CXX_FLAGS_DEBUG="-fno-omit-frame-pointer -fno-strict-aliasing -Wimplicit-fallthrough=0" \
526         -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing -Wimplicit-fallthrough=0 -Wno-shadow" \
527         -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing -Wimplicit-fallthrough=0 -Wno-shadow" \
528         -DCOMPILATION_COMMENT="TLD Linux MySQL RPM" \
529         -DCURSES_INCLUDE_PATH=/usr/include/ncurses \
530         %{?with_systemtap:-DENABLE_DTRACE=ON} \
531         -DFEATURE_SET="community" \
532         -DINSTALL_LAYOUT=RPM \
533         -DINSTALL_LIBDIR=%{_lib} \
534         -DINSTALL_MYSQLTESTDIR_RPM="" \
535         -DINSTALL_PLUGINDIR=%{_lib}/%{name}/plugin \
536         -DINSTALL_SQLBENCHDIR=%{_datadir} \
537         -DINSTALL_SUPPORTFILESDIR=share/%{name}-support \
538         -DINSTALL_MYSQLSHAREDIR=share/%{name} \
539         -DINSTALL_SECURE_FILE_PRIVDIR="" \
540         -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
541         %{?debug:-DWITH_DEBUG=ON} \
542         -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
543         -DWITH_FAST_MUTEXES=ON \
544         -DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \
545         -DWITH_PAM=ON \
546         -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
547         -DWITH_PIC=ON \
548         -DWITH_SCALABILITY_METRICS=ON \
549         -DWITH_SSL=%{?with_ssl:system}%{!?with_ssl:no} \
550         -DWITH_UNIT_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \
551         %{!?with_tokudb:-DWITHOUT_TOKUDB=ON} \
552         %{!?with_rocksdb:-DWITHOUT_ROCKSDB=ON} \
553 %if %{without system_boost}
554         %{!?with_system_boost:-DWITH_BOOST="$(pwd)/$(ls -1d ../boost_*)"} \
555 %endif
556         -DWITH_ZLIB=system \
557         -DWITH_READLINE=system \
558         -DWITH_LZ4=system \
559         -DWITH_LIBEVENT=system \
560         -DWITH_PROTOBUF=system \
561         -DWITH_MECAB=system \
562         -DTMPDIR=/var/tmp
563
564 %{__make}
565
566 %{?with_tests:%{__make} test}
567
568 %install
569 rm -rf $RPM_BUILD_ROOT
570 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,%{name},skel} \
571            $RPM_BUILD_ROOT/var/{log/{archive,}/%{name},lib/mysql} \
572            $RPM_BUILD_ROOT%{_mysqlhome} \
573            $RPM_BUILD_ROOT%{_libdir}
574
575 %{__make} -C build install \
576         DESTDIR=$RPM_BUILD_ROOT
577
578 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
579 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
580 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
581 # This is template for configuration file which is created after 'service mysql init'
582 cp -a %{SOURCE4} mysqld.conf
583 cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/clusters.conf
584 touch $RPM_BUILD_ROOT/var/log/%{name}/{mysqld,query,slow}.log
585
586 # remove innodb directives from mysqld.conf if mysqld is configured without
587 %if %{without innodb}
588         cp mysqld.conf mysqld.tmp
589         awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
590 %endif
591
592 # remove berkeley-db directives from mysqld.conf if mysqld is configured without
593 cp mysqld.conf mysqld.tmp
594 awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
595
596 cp -a mysqld.conf $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.conf
597 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/mysql-client.conf
598 ln -s mysql-client.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/my.cnf
599 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/skel/.my.cnf
600
601 # NDB
602 %if %{with ndb}
603 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-ndb
604 cp -a %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/%{name}-ndb
605 install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-ndb-mgm
606 cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/%{name}-ndb-mgm
607 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-ndb-cpc
608 cp -a %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/%{name}-ndb-cpc
609 %endif
610
611 sed -i -e 's,/usr//usr,%{_prefix},g' $RPM_BUILD_ROOT%{_bindir}/mysql_config
612 sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
613 sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
614
615 # remove known unpackaged files
616 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}-support
617
618 # rename not to be so generic name
619 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
620 mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1
621
622 # move to _sysconfdir
623 #mv $RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}}/mysqlaccess.conf
624
625 # not useful without -debug build
626 %{!?debug:%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
627 %{!?debug:%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
628 # generate symbols file, so one can generate backtrace using it
629 # mysql_resolve_stack_dump -s %{_datadir}/%{name}/mysqld.sym -n mysqld.stack.
630 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
631 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.sym}
632
633 # do not clobber users $PATH
634 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_plugin
635 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade
636 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum
637 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk
638 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog
639 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack
640 #mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables
641 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults
642 sed -i -e 's#/usr/bin/my_print_defaults#%{_sbindir}/my_print_defaults#g' $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
643 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
644
645 # delete - functionality in initscript / rpm
646 # note: mysql_install_db (and thus resolveip) are needed by digikam
647 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
648 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
649 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
650 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg-utf8.txt
651 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
652 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
653 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1*
654
655 # we don't package those (we have no -test or -testsuite pkg) and some of them just segfault
656 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_client_test
657 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-test
658 # libmysqld examples
659 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql{_client_test_embedded,_embedded,test_embedded}
660
661 # not needed
662 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/libdaemon_example.*
663 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/daemon_example.ini
664
665 # not an .info file
666 %{__rm} $RPM_BUILD_ROOT%{_infodir}/mysql.info
667
668 %clean
669 rm -rf $RPM_BUILD_ROOT
670
671 %pre
672 %groupadd -g 89 mysql
673 %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql
674
675 %post
676 /sbin/ldconfig
677 /sbin/chkconfig --add %{name}
678 %service %{name} restart
679
680 %preun
681 if [ "$1" = "0" ]; then
682         %service -q %{name} stop
683         /sbin/chkconfig --del %{name}
684 fi
685
686 %postun
687 /sbin/ldconfig
688 if [ "$1" = "0" ]; then
689         %userremove mysql
690         %groupremove mysql
691 fi
692
693 %post ndb
694 /sbin/chkconfig --add %{name}-ndb
695 %service %{name}-ndb restart "%{name} NDB engine"
696
697 %preun ndb
698 if [ "$1" = "0" ]; then
699         %service %{name}-ndb stop
700         /sbin/chkconfig --del %{name}-ndb
701 fi
702
703 %post ndb-mgm
704 /sbin/chkconfig --add %{name}-ndb-mgm
705 %service %{name}-ndb-mgm restart "%{name} NDB management node"
706
707 %preun ndb-mgm
708 if [ "$1" = "0" ]; then
709         %service %{name}-ndb-mgm stop
710         /sbin/chkconfig --del %{name}-ndb-mgm
711 fi
712
713 %post ndb-cpc
714 /sbin/chkconfig --add %{name}-ndb-cpc
715 %service %{name}-ndb-cpc restart "mysql NDB CPC"
716
717 %preun ndb-cpc
718 if [ "$1" = "0" ]; then
719         %service %{name}-ndb-cpc stop
720         /sbin/chkconfig --del %{name}-ndb-cpc
721 fi
722
723 %post   libs -p /sbin/ldconfig
724 %postun libs -p /sbin/ldconfig
725
726 %files
727 %defattr(644,root,root,755)
728 %doc build-ps/rpm/*.cnf
729 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
730 %attr(754,root,root) /etc/rc.d/init.d/%{name}
731 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
732 %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/clusters.conf
733 %attr(755,root,root) %{_bindir}/ps_mysqld_helper
734 %attr(755,root,root) %{_bindir}/ps_tokudb_admin
735 %attr(755,root,root) %{_bindir}/ps-admin
736 %attr(755,root,root) %{_sbindir}/innochecksum
737 %attr(755,root,root) %{_sbindir}/my_print_defaults
738 %attr(755,root,root) %{_sbindir}/myisamchk
739 %attr(755,root,root) %{_sbindir}/myisamlog
740 %attr(755,root,root) %{_sbindir}/myisampack
741 %attr(755,root,root) %{_sbindir}/mysql_plugin
742 %attr(755,root,root) %{_sbindir}/mysql_upgrade
743 %attr(755,root,root) %{_sbindir}/mysqlcheck
744 %attr(755,root,root) %{_sbindir}/mysqld
745 %dir %{_libdir}/%{name}
746 %dir %{_libdir}/%{name}/plugin
747 %attr(755,root,root) %{_libdir}/%{name}/plugin/adt_null.so
748 %attr(755,root,root) %{_libdir}/%{name}/plugin/audit_log.so
749 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam_compat.so
750 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam.so
751 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth.so
752 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_socket.so
753 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_test_plugin.so
754 %attr(755,root,root) %{_libdir}/%{name}/plugin/authentication_ldap_sasl_client.so
755 %attr(755,root,root) %{_libdir}/%{name}/plugin/connection_control.so
756 %attr(755,root,root) %{_libdir}/%{name}/plugin/dialog.so
757 %attr(755,root,root) %{_libdir}/%{name}/plugin/group_replication.so
758 %attr(755,root,root) %{_libdir}/%{name}/plugin/keyring_file.so
759 %attr(755,root,root) %{_libdir}/%{name}/plugin/keyring_udf.so
760 %attr(755,root,root) %{_libdir}/%{name}/plugin/keyring_vault.so
761 %attr(755,root,root) %{_libdir}/%{name}/plugin/libpluginmecab.so
762 %attr(755,root,root) %{_libdir}/%{name}/plugin/libfnv1a_udf.so
763 %attr(755,root,root) %{_libdir}/%{name}/plugin/libfnv_udf.so
764 %attr(755,root,root) %{_libdir}/%{name}/plugin/libmurmur_udf.so
765 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_framework.so
766 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_services.so
767 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_services_threaded.so
768 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_session_detach.so
769 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_session_info.so
770 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_session_in_thd.so
771 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_2_sessions.so
772 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_all_col_types.so
773 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_cmds_1.so
774 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_commit.so
775 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_complex.so
776 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_errors.so
777 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_lock.so
778 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_processlist.so
779 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_replication.so
780 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_shutdown.so
781 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_sqlmode.so
782 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_stored_procedures_functions.so
783 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_sql_views_triggers.so
784 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_x_sessions_deinit.so
785 %attr(755,root,root) %{_libdir}/%{name}/plugin/libtest_x_sessions_init.so
786 %attr(755,root,root) %{_libdir}/%{name}/plugin/locking_service.so
787 %attr(755,root,root) %{_libdir}/%{name}/plugin/mypluglib.so
788 %attr(755,root,root) %{_libdir}/%{name}/plugin/mysql_no_login.so
789 %attr(755,root,root) %{_libdir}/%{name}/plugin/mysqlx.so
790 %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_client.so
791 %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_interface.so
792 %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_server.so
793 %attr(755,root,root) %{_libdir}/%{name}/plugin/query_response_time.so
794 %attr(755,root,root) %{_libdir}/%{name}/plugin/replication_observers_example_plugin.so
795 %attr(755,root,root) %{_libdir}/%{name}/plugin/rewrite_example.so
796 %attr(755,root,root) %{_libdir}/%{name}/plugin/rewriter.so
797 %attr(755,root,root) %{_libdir}/%{name}/plugin/scalability_metrics.so
798 %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_master.so
799 %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_slave.so
800 %attr(755,root,root) %{_libdir}/%{name}/plugin/test_security_context.so
801 %attr(755,root,root) %{_libdir}/%{name}/plugin/test_udf_services.so
802 %attr(755,root,root) %{_libdir}/%{name}/plugin/validate_password.so
803 %attr(755,root,root) %{_libdir}/%{name}/plugin/version_token.so
804 %if %{with sphinx}
805 %attr(755,root,root) %{_libdir}/%{name}/plugin/ha_sphinx.so
806 %endif
807 %if %{with tokudb}
808 %attr(755,root,root) %{_bindir}/tokuft_logprint
809 %attr(755,root,root) %{_bindir}/tokuftdump
810 %attr(755,root,root) %{_libdir}/%{name}/plugin/ha_tokudb.so
811 %attr(755,root,root) %{_libdir}/%{name}/plugin/tokudb_backup.so
812 %attr(755,root,root) %{_libdir}/libHotBackup.so
813 %endif
814 %if %{with rocksdb}
815 %attr(755,root,root) %{_bindir}/ldb
816 %attr(755,root,root) %{_bindir}/mysql_ldb
817 %attr(755,root,root) %{_bindir}/sst_dump
818 %attr(755,root,root) %{_libdir}/%{name}/plugin/ha_rocksdb.so
819 %endif
820 # for plugins
821 %{_mandir}/man1/innochecksum.1*
822 %{_mandir}/man1/my_print_defaults.1*
823 %{_mandir}/man1/myisamchk.1*
824 %{_mandir}/man1/myisamlog.1*
825 %{_mandir}/man1/myisampack.1*
826 %{_mandir}/man1/mysql_plugin.1*
827 %{_mandir}/man1/mysql_upgrade.1*
828 %{_mandir}/man1/mysqlcheck.1*
829 %{_mandir}/man8/mysqld.8*
830
831 %if %{?debug:1}0
832 %attr(755,root,root) %{_bindir}/*resolve_stack_dump
833 %{_datadir}/%{name}/mysqld.sym
834 %{_mandir}/man1/*resolve_stack_dump.1*
835 %endif
836
837 %attr(700,mysql,mysql) %{_mysqlhome}
838 # root:root is proper here for mysql.rpm while mysql:mysql is potential security hole
839 %attr(751,root,root) /var/lib/mysql
840 %attr(750,mysql,mysql) %dir /var/log/%{name}
841 %attr(750,mysql,mysql) %dir /var/log/archive/%{name}
842 %attr(640,mysql,mysql) %ghost /var/log/%{name}/*
843
844 # This is template for configuration file which is created after 'service mysql init'
845 %{_datadir}/%{name}/mysqld.conf
846 %{_datadir}/%{name}/install_rewriter.sql
847 %{_datadir}/%{name}/mysql_security_commands.sql
848 %{_datadir}/%{name}/mysql_sys_schema.sql
849 %{_datadir}/%{name}/mysql_system_tables.sql
850 %{_datadir}/%{name}/mysql_system_tables_data.sql
851 %{_datadir}/%{name}/mysql_test_data_timezone.sql
852 %{_datadir}/%{name}/uninstall_rewriter.sql
853
854 %{_datadir}/%{name}/english
855 %{_datadir}/%{name}/dictionary.txt
856 %{_datadir}/%{name}/fill_help_tables.sql
857 %{_datadir}/%{name}/innodb_memcached_config.sql
858 # Don't mark these with %%lang. These are used depending
859 # on database client settings.
860 %{_datadir}/%{name}/bulgarian
861 %{_datadir}/%{name}/czech
862 %{_datadir}/%{name}/danish
863 %{_datadir}/%{name}/german
864 %{_datadir}/%{name}/greek
865 %{_datadir}/%{name}/spanish
866 %{_datadir}/%{name}/estonian
867 %{_datadir}/%{name}/french
868 %{_datadir}/%{name}/hungarian
869 %{_datadir}/%{name}/italian
870 %{_datadir}/%{name}/japanese
871 %{_datadir}/%{name}/korean
872 %{_datadir}/%{name}/dutch
873 %{_datadir}/%{name}/norwegian
874 %{_datadir}/%{name}/norwegian-ny
875 %{_datadir}/%{name}/polish
876 %{_datadir}/%{name}/portuguese
877 %{_datadir}/%{name}/romanian
878 %{_datadir}/%{name}/russian
879 %{_datadir}/%{name}/serbian
880 %{_datadir}/%{name}/slovak
881 %{_datadir}/%{name}/swedish
882 %{_datadir}/%{name}/ukrainian
883
884 %files charsets
885 %defattr(644,root,root,755)
886 %dir %{_datadir}/%{name}
887 %{_datadir}/%{name}/charsets
888
889 %files extras
890 %defattr(644,root,root,755)
891 %attr(755,root,root) %{_bindir}/myisam_ftdump
892 %attr(755,root,root) %{_bindir}/mysql_install_db
893 %attr(755,root,root) %{_bindir}/mysql_secure_installation
894 %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql
895 %attr(755,root,root) %{_bindir}/perror
896 %attr(755,root,root) %{_bindir}/replace
897 %attr(755,root,root) %{_bindir}/resolveip
898 %{_mandir}/man1/myisam_ftdump.1*
899 %{_mandir}/man1/mysql_install_db.1*
900 %{_mandir}/man1/mysql_secure_installation.1*
901 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
902 %{_mandir}/man1/perror.1*
903 %{_mandir}/man1/replace.1*
904 %{_mandir}/man1/resolveip.1*
905
906 %files extras-perl
907 %defattr(644,root,root,755)
908 %attr(755,root,root) %{_bindir}/mysqldumpslow
909 %{_mandir}/man1/mysqldumpslow.1*
910
911 %files client
912 %defattr(644,root,root,755)
913 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/skel/.my.cnf
914 %attr(755,root,root) %{_bindir}/lz4_decompress
915 %attr(755,root,root) %{_bindir}/mysql
916 %attr(755,root,root) %{_bindir}/mysql_config_editor
917 %attr(755,root,root) %{_bindir}/mysql_ssl_rsa_setup
918 %attr(755,root,root) %{_bindir}/mysqladmin
919 %attr(755,root,root) %{_bindir}/mysqlbinlog
920 %attr(755,root,root) %{_bindir}/mysqldump
921 %attr(755,root,root) %{_bindir}/mysqlimport
922 %attr(755,root,root) %{_bindir}/mysqlpump
923 %attr(755,root,root) %{_bindir}/mysqlshow
924 %attr(755,root,root) %{_bindir}/zlib_decompress
925 %{_mandir}/man1/lz4_decompress.1*
926 %{_mandir}/man1/mysql.1*
927 %{_mandir}/man1/mysql_config_editor.1*
928 %{_mandir}/man1/mysql_ssl_rsa_setup.1*
929 %{_mandir}/man1/mysqladmin.1*
930 %{_mandir}/man1/mysqlbinlog.1*
931 %{_mandir}/man1/mysqldump.1*
932 %{_mandir}/man1/mysqlimport.1*
933 %{_mandir}/man1/mysqlpump.1*
934 %{_mandir}/man1/mysqlshow.1*
935 %{_mandir}/man1/zlib_decompress.1*
936
937 %files libs
938 %defattr(644,root,root,755)
939 %attr(751,root,root) %dir %{_sysconfdir}/%{name}
940 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/mysql-client.conf
941 %{_sysconfdir}/%{name}/my.cnf
942 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.*
943 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.20
944 %if %{with ndb}
945 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.*
946 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3
947 %endif
948
949 %files devel
950 %defattr(644,root,root,755)
951 %attr(755,root,root) %{_bindir}/mysql_config
952 %attr(755,root,root) %{_libdir}/libmysqlclient.so
953 %{_pkgconfigdir}/mysqlclient.pc
954 %if %{with ndb}
955 %attr(755,root,root) %{_libdir}/libndbclient.so
956 %endif
957 # static-only so far
958 %{_libdir}/libmysqld.a
959 %{_libdir}/libmysqlservices.a
960 %{_includedir}/mysql
961 %{_aclocaldir}/mysql.m4
962 %{_mandir}/man1/mysql_config.1*
963
964 %files static
965 %defattr(644,root,root,755)
966 %{_libdir}/libmysqlclient.a
967 %if %{with ndb}
968 %{_libdir}/libndbclient.a
969 %endif
970
971 %files bench
972 %defattr(644,root,root,755)
973 %attr(755,root,root) %{_bindir}/mysqlslap
974 %attr(755,root,root) %{_bindir}/mysqltest
975 %{_mandir}/man1/mysqlslap.1*
976
977 %if %{with ndb}
978 %files ndb
979 %defattr(644,root,root,755)
980 %attr(755,root,root) %{_sbindir}/ndbd
981 %attr(754,root,root) /etc/rc.d/init.d/%{name}-ndb
982 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}-ndb
983 %{_mandir}/man1/ndbd_redo_log_reader.1*
984 %{_mandir}/man8/ndbd.8*
985
986 %files ndb-client
987 %defattr(644,root,root,755)
988 %attr(755,root,root) %{_bindir}/ndb_config
989 %attr(755,root,root) %{_bindir}/ndb_delete_all
990 %attr(755,root,root) %{_bindir}/ndb_desc
991 %attr(755,root,root) %{_bindir}/ndb_drop_index
992 %attr(755,root,root) %{_bindir}/ndb_drop_table
993 %attr(755,root,root) %{_bindir}/ndb_error_reporter
994 %attr(755,root,root) %{_bindir}/ndb_mgm
995 %attr(755,root,root) %{_bindir}/ndb_print_backup_file
996 %attr(755,root,root) %{_bindir}/ndb_print_schema_file
997 %attr(755,root,root) %{_bindir}/ndb_print_sys_file
998 %attr(755,root,root) %{_bindir}/ndb_restore
999 %attr(755,root,root) %{_bindir}/ndb_select_all
1000 %attr(755,root,root) %{_bindir}/ndb_select_count
1001 %attr(755,root,root) %{_bindir}/ndb_show_tables
1002 %attr(755,root,root) %{_bindir}/ndb_size.pl
1003 %attr(755,root,root) %{_bindir}/ndb_test_platform
1004 %attr(755,root,root) %{_bindir}/ndb_waiter
1005 %{_mandir}/man1/ndb_config.1*
1006 %{_mandir}/man1/ndb_delete_all.1*
1007 %{_mandir}/man1/ndb_desc.1*
1008 %{_mandir}/man1/ndb_drop_index.1*
1009 %{_mandir}/man1/ndb_drop_table.1*
1010 %{_mandir}/man1/ndb_error_reporter.1*
1011 %{_mandir}/man1/ndb_mgm.1*
1012 %{_mandir}/man1/ndb_print_backup_file.1*
1013 %{_mandir}/man1/ndb_print_schema_file.1*
1014 %{_mandir}/man1/ndb_print_sys_file.1*
1015 %{_mandir}/man1/ndb_restore.1*
1016 %{_mandir}/man1/ndb_select_all.1*
1017 %{_mandir}/man1/ndb_select_count.1*
1018 %{_mandir}/man1/ndb_show_tables.1*
1019 %{_mandir}/man1/ndb_size.pl.1*
1020 %{_mandir}/man1/ndb_waiter.1*
1021
1022 %files ndb-mgm
1023 %defattr(644,root,root,755)
1024 %attr(755,root,root) %{_sbindir}/ndb_mgmd
1025 %attr(754,root,root) /etc/rc.d/init.d/%{name}-ndb-mgm
1026 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}-ndb-mgm
1027 %{_mandir}/man8/ndb_mgmd.8*
1028
1029 %files ndb-cpc
1030 %defattr(644,root,root,755)
1031 %attr(755,root,root) %{_sbindir}/ndb_cpcd
1032 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc
1033 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}-ndb-cpc
1034 %{_mandir}/man1/ndb_cpcd.1*
1035 %endif