]> TLD Linux GIT Repositories - packages/mysql.git/blob - mysql.spec
- updated to 5.6.29-76.2
[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     1
27 %define         percona_rel     76.2
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.29
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:  8a0e3327e5b850852af6b9ca614d6bd7
44 Source100:      http://www.sphinxsearch.com/files/sphinx-2.2.10-release.tar.gz
45 # Source100-md5:        dda52b24d8348fc09e26d8a649a231d2
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 URL:            http://www.mysql.com/products/community/
77 BuildRequires:  bison >= 1.875
78 BuildRequires:  cmake >= 2.6
79 BuildRequires:  readline-devel >= 6.2
80 BuildRequires:  libstdc++-devel >= 5:4.0
81 BuildRequires:  automake
82 %{?with_tcpd:BuildRequires:     libwrap-devel}
83 BuildRequires:  ncurses-devel >= 4.2
84 %{?with_ssl:BuildRequires:      openssl-devel >= 0.9.7d}
85 BuildRequires:  pam-devel
86 %{?with_autodeps:BuildRequires: perl-DBI}
87 BuildRequires:  perl-devel >= 1:5.6.1
88 BuildRequires:  python-modules
89 BuildRequires:  rpm-perlprov >= 4.1-13
90 BuildRequires:  rpmbuild(macros) >= 1.597
91 BuildRequires:  sed >= 4.0
92 %{?with_systemtap:BuildRequires:        systemtap-sdt-devel}
93 BuildRequires:  zlib-devel
94 Requires(post,preun):   /sbin/chkconfig
95 Requires(postun):       /usr/sbin/groupdel
96 Requires(postun):       /usr/sbin/userdel
97 Requires(pre):  /bin/id
98 Requires(pre):  /usr/bin/getgid
99 Requires(pre):  /usr/sbin/groupadd
100 Requires(pre):  /usr/sbin/useradd
101 Requires(triggerpostun):        sed >= 4.0
102 Requires:       %{name}-charsets = %{version}-%{release}
103 Requires:       %{name}-libs = %{version}-%{release}
104 Requires:       /usr/bin/setsid
105 Requires:       rc-scripts >= 0.2.0
106 Suggests:       mysql-client
107 %{?with_tcpd:Suggests:  tcp_wrappers}
108 Suggests:       vim-syntax-mycnf
109 Provides:       MySQL-server
110 Provides:       group(mysql)
111 Provides:       msqlormysql
112 Provides:       user(mysql)
113 Obsoletes:      MySQL
114 Obsoletes:      mysql-server
115 Conflicts:      logrotate < 3.8.0
116 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
117
118 %define         _orgname        percona-server
119 %define         _libexecdir     %{_sbindir}
120 %define         _localstatedir  /var/lib/mysql
121 %define         _mysqlhome      /home/services/mysql
122
123 %description
124 MySQL is a true multi-user, multi-threaded SQL (Structured Query
125 Language) database server. SQL is the most popular database language
126 in the world. MySQL is a client/server implementation that consists of
127 a server daemon mysqld and many different client programs/libraries.
128
129 The main goals of MySQL are speed, robustness and easy to use. MySQL
130 was originally developed because we at Tcx needed a SQL server that
131 could handle very big databases with magnitude higher speed than what
132 any database vendor could offer to us. We have now been using MySQL
133 since 1996 in a environment with more than 40 databases, 10,000
134 tables, of which more than 500 have more than 7 million rows. This is
135 about 50G of mission critical data.
136
137 The base upon which MySQL is built is a set of routines that have been
138 used in a highly demanding production environment for many years.
139 While MySQL is still in development, it already offers a rich and
140 highly useful function set.
141
142 %description -l fr.UTF-8
143 MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et
144 multi-taches. Le langage SQL est le langage de bases de donnees le
145 plus populaire au monde. MySQL est une implementation client/serveur
146 qui consiste en un serveur (mysqld) et differents
147 programmes/bibliotheques clientes.
148
149 Les objectifs principaux de MySQL sont: vitesse, robustesse et
150 facilite d'utilisation. MySQL fut originalement developpe parce que
151 nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de
152 tres grandes bases de donnees avec une vitesse d'un ordre de magnitude
153 superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous
154 utilisons MySQL depuis 1996 dans un environnement avec plus de 40
155 bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7
156 millions de lignes. Ceci represente environ 50G de donnees critiques.
157
158 A la base de la conception de MySQL, on retrouve une serie de routines
159 qui ont ete utilisees dans un environnement de production pendant
160 plusieurs annees. Meme si MySQL est encore en developpement, il offre
161 deja une riche et utile serie de fonctions.
162
163 %description -l pl.UTF-8
164 MySQL to prawdziwie wieloużytkownikowy, wielowątkowy serwer baz danych
165 SQL. SQL jest najpopularniejszym na świecie językiem używanym do baz
166 danych. MySQL to implementacja klient/serwer składająca się z demona
167 mysqld i wielu różnych programów i bibliotek klienckich.
168
169 Głównymi celami MySQL-a są szybkość, potęga i łatwość użytkowania.
170 MySQL oryginalnie był tworzony, ponieważ autorzy w Tcx potrzebowali
171 serwera SQL do obsługi bardzo dużych baz danych z szybkością o wiele
172 większą, niż mogli zaoferować inni producenci baz danych. Używają go
173 od 1996 roku w środowisku z ponad 40 bazami danych, 10 000 tabel, z
174 których ponad 500 zawiera ponad 7 milionów rekordów - w sumie około
175 50GB krytycznych danych.
176
177 Baza, na której oparty jest MySQL, składa się ze zbioru procedur,
178 które były używane w bardzo wymagającym środowisku produkcyjnym przez
179 wiele lat. Pomimo, że MySQL jest ciągle rozwijany, już oferuje bogaty
180 i użyteczny zbiór funkcji.
181
182 %description -l de.UTF-8
183 MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz zu
184 Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten
185 werden zwar in zweidimensionalen Tabellen gespeichert und können mit
186 einem Primärschlüssel versehen werden. Es ist aber keine Definition
187 eines Fremdschlüssels möglich. Der Benutzer ist somit bei einer
188 MySQL-Datenbank völlig allein für die (referenzielle) Integrität der
189 Daten verantwortlich. Allein durch die Nutzung externer
190 Tabellenformate, wie InnoDB bzw Berkeley DB wird eine Relationalität
191 ermöglicht. Diese Projekte sind aber getrennt von MySQL zu betrachten.
192
193 %description -l pt_BR.UTF-8
194 O MySQL é um servidor de banco de dados SQL realmente multiusuário e
195 multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de
196 dados no mundo. O MySQL é uma implementação cliente/servidor que
197 consiste de um servidor chamado mysqld e diversos
198 programas/bibliotecas clientes. Os principais objetivos do MySQL são:
199 velocidade, robustez e facilidade de uso. O MySQL foi originalmente
200 desenvolvido porque nós na Tcx precisávamos de um servidor SQL que
201 pudesse lidar com grandes bases de dados e com uma velocidade muito
202 maior do que a que qualquer vendedor podia nos oferecer. Estamos
203 usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados
204 com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de
205 linhas. Isto é o equivalente a aproximadamente 50G de dados críticos.
206 A base da construção do MySQL é uma série de rotinas que foram usadas
207 em um ambiente de produção com alta demanda por muitos anos. Mesmo o
208 MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de
209 funções muito ricas e úteis. Veja a documentação para maiores
210 informações.
211
212 %description -l ru.UTF-8
213 MySQL - это SQL (Structured Query Language) сервер базы данных. MySQL
214 была написана Michael'ом (monty) Widenius'ом. См. файл CREDITS в
215 дистрибутиве на предмет других участников проекта и прочей информации
216 о MySQL.
217
218 %description -l uk.UTF-8
219 MySQL - це SQL (Structured Query Language) сервер бази даних. MySQL
220 було написано Michael'ом (monty) Widenius'ом. Див. файл CREDITS в
221 дистрибутиві для інформації про інших учасників проекту та іншої
222 інформації.
223
224 %package charsets
225 Summary:        MySQL - character sets definitions
226 Summary(pl.UTF-8):      MySQL - definicje kodowań znaków
227 Group:          Applications/Databases
228
229 %description charsets
230 This package contains character sets definitions needed by both client
231 and server.
232
233 %description charsets -l pl.UTF-8
234 Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i
235 klienta.
236
237 %package -n mysqlhotcopy
238 Summary:        mysqlhotcopy - A MySQL database backup program
239 Summary(pl.UTF-8):      mysqlhotcopy - program do tworzenia kopii zapasowych baz MySQL
240 Group:          Applications/Databases
241 Requires:       perl-DBD-mysql
242
243 %description -n mysqlhotcopy
244 mysqlhotcopy uses LOCK TABLES, FLUSH TABLES, and cp or scp to make a
245 database backup quickly. It is the fastest way to make a backup of the
246 database or single tables, but it can be run only on the same machine
247 where the database directories are located. mysqlhotcopy works only
248 for backing up MyISAM and ARCHIVE tables.
249
250 See innobackup package to backup InnoDB tables.
251
252 %description -n mysqlhotcopy -l pl.UTF-8
253 mysqlhotcopy wykorzystuje LOCK TABLES, FLUSH TABLES oraz cp i scp do
254 szybkiego tworzenia kopii zapasowych baz danych. Jest to najszybszy
255 sposób wykonania kopii zapasowej bazy danych lub pojedynczych tabel,
256 ale może działać tylko na maszynie, na której znajdują się katalogi z
257 bazą danych. mysqlhotcopy działa tylko dla tabel typu MyISAM i
258 ARCHIVE.
259
260 Narzędzie do tworzenia kopii tabel InnoDB znajduje się w pakiecie
261 innobackup.
262
263 %package extras
264 Summary:        MySQL additional utilities
265 Summary(pl.UTF-8):      Dodatkowe narzędzia do MySQL
266 Group:          Applications/Databases
267 Requires:       %{name}-client = %{version}-%{release}
268 Requires:       %{name}-libs = %{version}-%{release}
269
270 %description extras
271 MySQL additional utilities except Perl scripts (they may be found in
272 %{name}-extras-perl package).
273
274 %description extras -l pl.UTF-8
275 Dodatkowe narzędzia do MySQL - z wyjątkiem skryptów Perla (które są w
276 pakiecie %{name}-extras-perl).
277
278 %package extras-perl
279 Summary:        MySQL additional utilities written in Perl
280 Summary(pl.UTF-8):      Dodatkowe narzędzia do MySQL napisane w Perlu
281 Group:          Applications/Databases
282 Requires:       %{name}-extras = %{version}-%{release}
283 # this is just for the sake of smooth upgrade, not to break systems
284 Requires:       mysqlhotcopy = %{version}-%{release}
285 Requires:       perl(DBD::mysql)
286
287 %description extras-perl
288 MySQL additional utilities written in Perl.
289
290 %description extras-perl -l pl.UTF-8
291 Dodatkowe narzędzia do MySQL napisane w Perlu.
292
293 %package client
294 Summary:        MySQL - Client
295 Summary(pl.UTF-8):      MySQL - Klient
296 Summary(pt.UTF-8):      MySQL - Cliente
297 Summary(ru.UTF-8):      MySQL клиент
298 Summary(uk.UTF-8):      MySQL клієнт
299 Group:          Applications/Databases
300 Requires:       %{name}-charsets = %{version}-%{release}
301 Requires:       %{name}-libs = %{version}-%{release}
302 Requires:       readline >= 6.2
303 Obsoletes:      MySQL-client
304
305 %description client
306 This package contains the standard MySQL clients.
307
308 %description client -l fr.UTF-8
309 Ce package contient les clients MySQL standards.
310
311 %description client -l pl.UTF-8
312 Standardowe programy klienckie MySQL.
313
314 %description client -l pt_BR.UTF-8
315 Este pacote contém os clientes padrão para o MySQL.
316
317 %description client -l ru.UTF-8
318 Этот пакет содержит только клиент MySQL.
319
320 %description client -l uk.UTF-8
321 Цей пакет містить тільки клієнта MySQL.
322
323 %package libs
324 Summary:        Shared libraries for MySQL
325 Summary(pl.UTF-8):      Biblioteki współdzielone MySQL
326 Group:          Libraries
327 Obsoletes:      libmysql10
328 Obsoletes:      mysql-doc < 4.1.12
329
330 %description libs
331 Shared libraries for MySQL.
332
333 %description libs -l pl.UTF-8
334 Biblioteki współdzielone MySQL.
335
336 %package devel
337 Summary:        MySQL - development header files and other files
338 Summary(pl.UTF-8):      MySQL - Pliki nagłówkowe i inne dla programistów
339 Summary(pt.UTF-8):      MySQL - Medições de desempenho
340 Summary(ru.UTF-8):      MySQL - хедеры и библиотеки разработчика
341 Summary(uk.UTF-8):      MySQL - хедери та бібліотеки програміста
342 Group:          Development/Libraries
343 Requires:       %{name}-libs = %{version}-%{release}
344 %{?with_ssl:Requires:   openssl-devel}
345 Requires:       zlib-devel
346 Obsoletes:      MySQL-devel
347 Obsoletes:      libmysql10-devel
348
349 %description devel
350 This package contains the development header files and other files
351 necessary to develop MySQL client applications.
352
353 %description devel -l fr.UTF-8
354 Ce package contient les fichiers entetes et les librairies de
355 developpement necessaires pour developper des applications clientes
356 MySQL.
357
358 %description devel -l pl.UTF-8
359 Pliki nagłówkowe i inne pliki konieczne do kompilacji aplikacji
360 klienckich MySQL.
361
362 %description devel -l pt_BR.UTF-8
363 Este pacote contém os arquivos de cabeçalho (header files) e
364 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
365
366 %description devel -l ru.UTF-8
367 Этот пакет содержит хедеры и библиотеки разработчика, необходимые для
368 разработки клиентских приложений.
369
370 %description devel -l uk.UTF-8
371 Цей пакет містить хедери та бібліотеки програміста, необхідні для
372 розробки програм-клієнтів.
373
374 %package static
375 Summary:        MySQL static libraries
376 Summary(pl.UTF-8):      Biblioteki statyczne MySQL
377 Summary(ru.UTF-8):      MySQL - статические библиотеки
378 Summary(uk.UTF-8):      MySQL - статичні бібліотеки
379 Group:          Development/Libraries
380 Requires:       %{name}-devel = %{version}-%{release}
381 Obsoletes:      MySQL-static
382
383 %description static
384 MySQL static libraries.
385
386 %description static -l pl.UTF-8
387 Biblioteki statyczne MySQL.
388
389 %description static -l ru.UTF-8
390 Этот пакет содержит статические библиотеки разработчика, необходимые
391 для разработки клиентских приложений.
392
393 %description static -l uk.UTF-8
394 Цей пакет містить статичні бібліотеки програміста, необхідні для
395 розробки програм-клієнтів.
396
397 %package bench
398 Summary:        MySQL - Benchmarks
399 Summary(pl.UTF-8):      MySQL - Programy testujące szybkość działania bazy
400 Summary(pt.UTF-8):      MySQL - Medições de desempenho
401 Summary(ru.UTF-8):      MySQL - бенчмарки
402 Summary(uk.UTF-8):      MySQL - бенчмарки
403 Group:          Applications/Databases
404 Requires:       %{name} = %{version}-%{release}
405 Requires:       %{name}-client
406 Requires:       perl(DBD::mysql)
407 Obsoletes:      MySQL-bench
408
409 %description bench
410 This package contains MySQL benchmark scripts and data.
411
412 %description bench -l pl.UTF-8
413 Programy testujące szybkość serwera MySQL.
414
415 %description bench -l pt_BR.UTF-8
416 Este pacote contém medições de desempenho de scripts e dados do MySQL.
417
418 %description bench -l ru.UTF-8
419 Этот пакет содержит скрипты и данные для оценки производительности
420 MySQL.
421
422 %description bench -l uk.UTF-8
423 Цей пакет містить скрипти та дані для оцінки продуктивності MySQL.
424
425 %package doc
426 Summary:        MySQL manual
427 Summary(pl.UTF-8):      Podręcznik użytkownika MySQL
428 Group:          Applications/Databases
429
430 %description doc
431 This package contains manual in HTML format.
432
433 %description doc -l pl.UTF-8
434 Podręcznik MySQL-a w formacie HTML.
435
436 %package ndb
437 Summary:        MySQL - NDB Storage Engine Daemon
438 Summary(pl.UTF-8):      MySQL - demon silnika przechowywania danych NDB
439 Group:          Applications/Databases
440 Requires:       %{name}-libs = %{version}-%{release}
441
442 %description ndb
443 This package contains the standard MySQL NDB Storage Engine Daemon.
444
445 %description ndb -l pl.UTF-8
446 Ten pakiet zawiera standardowego demona silnika przechowywania danych
447 NDB.
448
449 %package ndb-client
450 Summary:        MySQL - NDB Clients
451 Summary(pl.UTF-8):      MySQL - programy klienckie NDB
452 Group:          Applications/Databases
453 Requires:       %{name}-libs = %{version}-%{release}
454
455 %description ndb-client
456 This package contains the standard MySQL NDB Clients.
457
458 %description ndb-client -l pl.UTF-8
459 Ten pakiet zawiera standardowe programy klienckie MySQL NDB.
460
461 %package ndb-mgm
462 Summary:        MySQL - NDB Management Daemon
463 Summary(pl.UTF-8):      MySQL - demon zarządzający NDB
464 Group:          Applications/Databases
465 Requires:       %{name}-libs = %{version}-%{release}
466
467 %description ndb-mgm
468 This package contains the standard MySQL NDB Management Daemon.
469
470 %description ndb-mgm -l pl.UTF-8
471 Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB.
472
473 %package ndb-cpc
474 Summary:        MySQL - NDB CPC Daemon
475 Summary(pl.UTF-8):      MySQL - demon NDB CPC
476 Group:          Applications/Databases
477 Requires:       %{name}-libs = %{version}-%{release}
478
479 %description ndb-cpc
480 This package contains the standard MySQL NDB CPC Daemon.
481
482 %description ndb-cpc -l pl.UTF-8
483 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
484
485 %prep
486 %setup -q -n percona-server-%{version}-%{percona_rel} %{?with_sphinx:-a100}
487
488 # we want to use old, mysql compatible client library name
489 find . -name CMakeLists.txt -exec sed -i -e 's#perconaserverclient#mysqlclient#g' "{}" ";"
490 sed -i -e 's#perconaserverclient#mysqlclient#g' libmysql/libmysql.{ver.in,map} scripts/mysql_config.*
491
492 %if %{with sphinx}
493 # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51
494 mv sphinx-*/mysqlse storage/sphinx
495 %patch18 -p1
496 %endif
497 %patch1 -p1
498 %patch2 -p1
499 %patch3 -p1
500 %patch4 -p1
501
502 %patch6 -p1
503
504 %patch9 -p1
505 %patch11 -p1
506 %patch12 -p1
507 %patch14 -p0
508 %patch19 -p1
509 %patch20 -p1
510 %patch21 -p1
511 %patch22 -p1
512
513 # to get these files rebuild
514 [ -f sql/sql_yacc.cc ] && rm sql/sql_yacc.cc
515 [ -f sql/sql_yacc.h ] && rm sql/sql_yacc.h
516
517 # map has more sane versioning that default "global everything" in ver.in
518 cp -p libmysql/libmysql.map libmysql/libmysql.ver.in
519
520 %build
521 install -d build
522 cd build
523 # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file
524 # (it defaults to first cluster but user may change it to whatever
525 # cluster it wants)
526
527 %cmake \
528         -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \
529         -DCMAKE_C_FLAGS_RELEASE="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
530         -DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
531         -DCOMPILATION_COMMENT="TLD Linux MySQL RPM" \
532         -DCURSES_INCLUDE_PATH=/usr/include/ncurses \
533         %{?with_systemtap:-DENABLE_DTRACE=ON} \
534         -DFEATURE_SET="community" \
535         -DINSTALL_LAYOUT=RPM \
536         -DINSTALL_LIBDIR=%{_lib} \
537         -DINSTALL_MYSQLTESTDIR_RPM="" \
538         -DINSTALL_PLUGINDIR=%{_libdir}/%{name}/plugin \
539         -DINSTALL_SQLBENCHDIR=%{_datadir} \
540         -DINSTALL_SUPPORTFILESDIR=%{_datadir}/%{name}-support \
541         -DMYSQL_UNIX_ADDR=/var/lib/%{name}/%{name}.sock \
542         %{?debug:-DWITH_DEBUG=ON} \
543         -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
544         -DWITH_FAST_MUTEXES=ON \
545         -DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \
546         -DWITH_PAM=ON \
547         -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
548         -DWITH_PIC=ON \
549         -DWITH_READLINE=system \
550         -DWITH_SSL=%{?with_ssl:system}%{!?with_ssl:no} \
551         -DWITHOUT_TOKUDB=1 \
552         -DWITHOUT_TOKUDB_STORAGE_ENGINE=1 \
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