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