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