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