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