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