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