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