]> TLD Linux GIT Repositories - packages/mysql.git/blob - mysql.spec
- updated to 5.6.26-74.0, sphinx to 2.2.10
[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     74.0
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.26
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:  172f420ec779e8902b6a92048088d528
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         -DWITH_UNIT_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \
552         -DWITH_ZLIB=system \
553         ..
554
555 %{__make}
556
557 %{?with_tests:%{__make} test}
558
559 %install
560 rm -rf $RPM_BUILD_ROOT
561 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,skel} \
562            $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,lib/mysql} \
563            $RPM_BUILD_ROOT%{_mysqlhome} \
564            $RPM_BUILD_ROOT%{_libdir}
565
566 %{__make} -C build install \
567         DESTDIR=$RPM_BUILD_ROOT
568
569 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
570 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
571 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
572 # This is template for configuration file which is created after 'service mysql init'
573 cp -a %{SOURCE4} mysqld.conf
574 cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/clusters.conf
575 touch $RPM_BUILD_ROOT/var/log/%{name}/{mysqld,query,slow}.log
576
577 # remove innodb directives from mysqld.conf if mysqld is configured without
578 %if %{without innodb}
579         cp mysqld.conf mysqld.tmp
580         awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
581 %endif
582
583 # remove berkeley-db directives from mysqld.conf if mysqld is configured without
584 cp mysqld.conf mysqld.tmp
585 awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
586
587 cp -a mysqld.conf $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.conf
588 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/mysql-client.conf
589 ln -s mysql-client.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/my.cnf
590 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/skel/.my.cnf
591
592 # NDB
593 %if %{with ndb}
594 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
595 cp -a %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb
596 install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
597 cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
598 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
599 cp -a %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
600 %endif
601
602 sed -i -e 's,/usr//usr,%{_prefix},g' $RPM_BUILD_ROOT%{_bindir}/mysql_config
603 sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
604 sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
605
606 # remove known unpackaged files
607 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}-support
608
609 # rename not to be so generic name
610 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
611 mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1
612
613 # move to _sysconfdir
614 mv $RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}}/mysqlaccess.conf
615
616 # not useful without -debug build
617 %{!?debug:%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
618 %{!?debug:%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
619 # generate symbols file, so one can generate backtrace using it
620 # mysql_resolve_stack_dump -s %{_datadir}/%{name}/mysqld.sym -n mysqld.stack.
621 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
622 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.sym}
623
624 # do not clobber users $PATH
625 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_plugin
626 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade
627 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum
628 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk
629 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog
630 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack
631 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults
632 sed -i -e 's#/usr/bin/my_print_defaults#%{_sbindir}/my_print_defaults#g' $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
633 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
634
635 # delete - functionality in initscript / rpm
636 # note: mysql_install_db (and thus resolveip) are needed by digikam
637 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
638 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
639 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
640 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg-utf8.txt
641 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
642 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1*
643 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
644 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
645 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1*
646
647 # we don't package those (we have no -test or -testsuite pkg) and some of them just segfault
648 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_client_test
649 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test.1*
650 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1*
651 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1*
652 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1*
653 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-test
654 # libmysqld examples
655 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql{_client_test_embedded,_embedded,test_embedded}
656
657 # not needed
658 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/libdaemon_example.*
659 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/daemon_example.ini
660
661 # not an .info file
662 %{__rm} $RPM_BUILD_ROOT%{_infodir}/mysql.info
663
664 %clean
665 rm -rf $RPM_BUILD_ROOT
666
667 %pre
668 %groupadd -g 89 mysql
669 %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql
670
671 %post
672 /sbin/ldconfig
673 /sbin/chkconfig --add mysql
674 %service mysql restart
675
676 %preun
677 if [ "$1" = "0" ]; then
678         %service -q mysql stop
679         /sbin/chkconfig --del mysql
680 fi
681
682 %postun
683 /sbin/ldconfig
684 if [ "$1" = "0" ]; then
685         %userremove mysql
686         %groupremove mysql
687 fi
688
689 %post ndb
690 /sbin/chkconfig --add mysql-ndb
691 %service mysql-ndb restart "mysql NDB engine"
692
693 %preun ndb
694 if [ "$1" = "0" ]; then
695         %service mysql-ndb stop
696         /sbin/chkconfig --del mysql-ndb
697 fi
698
699 %post ndb-mgm
700 /sbin/chkconfig --add mysql-ndb-mgm
701 %service mysql-ndb-mgm restart "mysql NDB management node"
702
703 %preun ndb-mgm
704 if [ "$1" = "0" ]; then
705         %service mysql-ndb-mgm stop
706         /sbin/chkconfig --del mysql-ndb-mgm
707 fi
708
709 %post ndb-cpc
710 /sbin/chkconfig --add mysql-ndb-cpc
711 %service mysql-ndb-cpc restart "mysql NDB CPC"
712
713 %preun ndb-cpc
714 if [ "$1" = "0" ]; then
715         %service mysql-ndb-cpc stop
716         /sbin/chkconfig --del mysql-ndb-cpc
717 fi
718
719 %post   libs -p /sbin/ldconfig
720 %postun libs -p /sbin/ldconfig
721
722 %triggerpostun -- mysql < 4.0.20-2.4
723 # For clusters in /etc/%{name}/clusters.conf
724 if [ -f /etc/sysconfig/mysql ]; then
725         . /etc/sysconfig/mysql
726         if [ -n "$MYSQL_DB_CLUSTERS" ]; then
727                 for i in "$MYSQL_DB_CLUSTERS"; do
728                         echo "$i/mysqld.conf=$i" >> /etc/%{name}/clusters.conf
729                 done
730                 echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql
731                 echo "# USE /etc/%{name}/clusters.conf instead" >> /etc/sysconfig/mysql
732                 echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/%{name}/clusters.conf."
733                 echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/%{name}/clusters.conf."
734         fi
735 fi
736
737 %triggerpostun -- mysql < 4.1.1
738 # For better compatibility with prevoius versions:
739 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
740         if echo "$config" | grep -q '^/'; then
741                 config_file="$config"
742         elif [ -f "/etc/%{name}/$config" ]; then
743                 config_file=/etc/%{name}/$config
744         else
745                 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf)
746                 if [ -z "$clusterdir" ]; then
747                         echo >&2 "Can't find cluster dir for $config!"
748                         echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf"
749                         exit 1
750                 fi
751                 config_file="$clusterdir/mysqld.conf"
752         fi
753
754         if [ ! -f "$config_file" ]; then
755                         echo >&2 "Lost myself! Please report this (with above errors, if any) to TLD Linux mailing lists."
756                         exit 1
757         fi
758         echo "Adding option old-passwords to config: $config_file"
759         echo "If you want to use new, better passwords - remove it"
760
761         # sed magic to add 'old-passwords' to [mysqld] section
762         sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
763                 a
764                 a; Compatibility options:
765                 aold-passwords
766         }
767         ' $config_file
768 done
769
770 %banner -e %{name}-4.1.x <<-EOF
771         If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data:
772         mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql
773 EOF
774 #'
775
776 %triggerpostun -- mysql < 5.1.0
777 configs=""
778 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
779         if echo "$config" | grep -q '^/'; then
780                 config_file="$config"
781         elif [ -f "/etc/%{name}/$config" ]; then
782                 config_file=/etc/%{name}/$config
783         else
784                 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf)
785                 if [ -z "$clusterdir" ]; then
786                         echo >&2 "Can't find cluster dir for $config!"
787                         echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf"
788                         exit 1
789                 fi
790                 config_file="$clusterdir/mysqld.conf"
791         fi
792
793         if [ ! -f "$config_file" ]; then
794                 echo >&2 "ERROR: Can't find real config file for $config! Please report this (with above errors, if any) to TLD Linux mailing lists."
795                 continue
796         fi
797         configs="$configs $config_file"
798 done
799
800 (
801 echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.'
802 echo 'Thus, you should invoke:'
803 for config in $configs; do
804         sed -i -e '
805                 s/set-variable\s*=\s* //
806                 # use # as comment in config
807                 s/^;/#/
808         ' $config
809
810         datadir=$(awk -F= '!/^#/ && $1 ~ /datadir/{print $2}' $config | xargs)
811         echo "# mysql_upgrade --datadir=$datadir"
812 done
813 ) | %banner -e %{name}-5.1
814
815 %triggerpostun -- mysql < 5.5.0
816 configs=""
817 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
818         if echo "$config" | grep -q '^/'; then
819                 config_file="$config"
820         elif [ -f "/etc/%{name}/$config" ]; then
821                 config_file=/etc/%{name}/$config
822         else
823                 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf)
824                 if [ -z "$clusterdir" ]; then
825                         echo >&2 "Can't find cluster dir for $config!"
826                         echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf"
827                         exit 1
828                 fi
829                 config_file="$clusterdir/mysqld.conf"
830         fi
831
832         if [ ! -f "$config_file" ]; then
833                 echo >&2 "ERROR: Can't find real config file for $config! Please report this (with above errors, if any) to TLD Linux mailing lists."
834                 continue
835         fi
836         configs="$configs $config_file"
837 done
838
839 (
840 echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.'
841 echo 'Thus, you should invoke:'
842 for config in $configs; do
843         sed -i -e '
844                 s/^language *= *polish/lc-messages = pl_PL/i
845                 s/set-variable\s*=\s* //
846                 s/^skip-locking/skip-external-locking/
847                 # this is not valid for server. it is client option
848                 s/^default-character-set/# client-config: &/
849                 # use # as comment in config
850                 s/^;/#/
851         ' $config
852
853         socket=$(awk -F= '!/^#/ && $1 ~ /socket/{print $2}' $config | xargs)
854         echo "# mysql_upgrade ${socket:+--socket=$socket}"
855 done
856 ) | %banner -e %{name}-5.5
857
858 %files
859 %defattr(644,root,root,755)
860 %doc build/support-files/*.cnf
861 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
862 %attr(754,root,root) /etc/rc.d/init.d/%{name}
863 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
864 %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/clusters.conf
865 %attr(755,root,root) %{_sbindir}/innochecksum
866 %attr(755,root,root) %{_sbindir}/my_print_defaults
867 %attr(755,root,root) %{_sbindir}/myisamchk
868 %attr(755,root,root) %{_sbindir}/myisamlog
869 %attr(755,root,root) %{_sbindir}/myisampack
870 %attr(755,root,root) %{_sbindir}/mysql_plugin
871 %attr(755,root,root) %{_sbindir}/mysql_upgrade
872 %attr(755,root,root) %{_sbindir}/mysqlcheck
873 %attr(755,root,root) %{_sbindir}/mysqld
874 %dir %{_libdir}/%{name}
875 %dir %{_libdir}/%{name}/plugin
876 %attr(755,root,root) %{_libdir}/%{name}/plugin/adt_null.so
877 %attr(755,root,root) %{_libdir}/%{name}/plugin/audit_log.so
878 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth.so
879 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam.so
880 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam_compat.so
881 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_socket.so
882 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_test_plugin.so
883 %attr(755,root,root) %{_libdir}/%{name}/plugin/dialog.so
884 %attr(755,root,root) %{_libdir}/%{name}/plugin/mypluglib.so
885 %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_client.so
886 %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_interface.so
887 %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_server.so
888 %attr(755,root,root) %{_libdir}/%{name}/plugin/scalability_metrics.so
889 %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_master.so
890 %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_slave.so
891 %attr(755,root,root) %{_libdir}/%{name}/plugin/validate_password.so
892 %if %{with sphinx}
893 %attr(755,root,root) %{_libdir}/%{name}/plugin/ha_sphinx.so
894 %endif
895 # for plugins
896 %attr(755,root,root) %{_libdir}/libmysqlservices.so
897 %{_mandir}/man1/innochecksum.1*
898 %{_mandir}/man1/my_print_defaults.1*
899 %{_mandir}/man1/myisamchk.1*
900 %{_mandir}/man1/myisamlog.1*
901 %{_mandir}/man1/myisampack.1*
902 %{_mandir}/man1/mysql_plugin.1*
903 %{_mandir}/man1/mysql_upgrade.1*
904 %{_mandir}/man1/mysqlcheck.1*
905 %{_mandir}/man8/mysqld.8*
906
907 %if %{?debug:1}0
908 %attr(755,root,root) %{_bindir}/*resolve_stack_dump
909 %{_datadir}/%{name}/mysqld.sym
910 %{_mandir}/man1/*resolve_stack_dump.1*
911 %endif
912
913 %attr(700,mysql,mysql) %{_mysqlhome}
914 # root:root is proper here for mysql.rpm while mysql:mysql is potential security hole
915 %attr(751,root,root) /var/lib/mysql
916 %attr(750,mysql,mysql) %dir /var/log/mysql
917 %attr(750,mysql,mysql) %dir /var/log/archive/mysql
918 %attr(640,mysql,mysql) %ghost /var/log/mysql/*
919
920 # This is template for configuration file which is created after 'service mysql init'
921 %{_datadir}/%{name}/mysqld.conf
922 %{_datadir}/%{name}/mysql_security_commands.sql
923 %{_datadir}/%{name}/mysql_system_tables_data.sql
924 %{_datadir}/%{name}/mysql_system_tables.sql
925 %{_datadir}/%{name}/mysql_test_data_timezone.sql
926
927 %{_datadir}/%{name}/english
928 %{_datadir}/%{name}/dictionary.txt
929 %{_datadir}/%{name}/fill_help_tables.sql
930 %{_datadir}/%{name}/innodb_memcached_config.sql
931 %lang(bg) %{_datadir}/%{name}/bulgarian
932 %lang(cs) %{_datadir}/%{name}/czech
933 %lang(da) %{_datadir}/%{name}/danish
934 %lang(de) %{_datadir}/%{name}/german
935 %lang(el) %{_datadir}/%{name}/greek
936 %lang(es) %{_datadir}/%{name}/spanish
937 %lang(et) %{_datadir}/%{name}/estonian
938 %lang(fr) %{_datadir}/%{name}/french
939 %lang(hu) %{_datadir}/%{name}/hungarian
940 %lang(it) %{_datadir}/%{name}/italian
941 %lang(ja) %{_datadir}/%{name}/japanese
942 %lang(ko) %{_datadir}/%{name}/korean
943 %lang(nl) %{_datadir}/%{name}/dutch
944 %lang(nb) %{_datadir}/%{name}/norwegian
945 %lang(nn) %{_datadir}/%{name}/norwegian-ny
946 %lang(pl) %{_datadir}/%{name}/polish
947 %lang(pt) %{_datadir}/%{name}/portuguese
948 %lang(ro) %{_datadir}/%{name}/romanian
949 %lang(ru) %{_datadir}/%{name}/russian
950 %lang(sr) %{_datadir}/%{name}/serbian
951 %lang(sk) %{_datadir}/%{name}/slovak
952 %lang(sv) %{_datadir}/%{name}/swedish
953 %lang(uk) %{_datadir}/%{name}/ukrainian
954
955 %files charsets
956 %defattr(644,root,root,755)
957 %dir %{_datadir}/%{name}
958 %{_datadir}/%{name}/charsets
959
960 %files extras
961 %defattr(644,root,root,755)
962 %attr(755,root,root) %{_bindir}/msql2mysql
963 %attr(755,root,root) %{_bindir}/myisam_ftdump
964 %attr(755,root,root) %{_bindir}/mysql_install_db
965 %attr(755,root,root) %{_bindir}/mysql_secure_installation
966 %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql
967 %attr(755,root,root) %{_bindir}/perror
968 %attr(755,root,root) %{_bindir}/replace
969 %attr(755,root,root) %{_bindir}/resolveip
970 %{_mandir}/man1/msql2mysql.1*
971 %{_mandir}/man1/myisam_ftdump.1*
972 %{_mandir}/man1/mysql_install_db.1*
973 %{_mandir}/man1/mysql_secure_installation.1*
974 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
975 %{_mandir}/man1/perror.1*
976 %{_mandir}/man1/replace.1*
977 %{_mandir}/man1/resolveip.1*
978
979 %files -n mysqlhotcopy
980 %defattr(644,root,root,755)
981 %attr(755,root,root) %{_bindir}/mysqlhotcopy
982 %{_mandir}/man1/mysqlhotcopy.1*
983
984 %files extras-perl
985 %defattr(644,root,root,755)
986 %attr(755,root,root) %{_bindir}/mysql_convert_table_format
987 %attr(755,root,root) %{_bindir}/mysql_find_rows
988 %attr(755,root,root) %{_bindir}/mysql_fix_extensions
989 %attr(755,root,root) %{_bindir}/mysql_setpermission
990 %attr(755,root,root) %{_bindir}/mysql_zap
991 %attr(755,root,root) %{_bindir}/mysqlaccess
992 %attr(755,root,root) %{_bindir}/mysqldumpslow
993 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysqlaccess.conf
994 %{_mandir}/man1/mysql_convert_table_format.1*
995 %{_mandir}/man1/mysql_find_rows.1*
996 %{_mandir}/man1/mysql_fix_extensions.1*
997 %{_mandir}/man1/mysql_setpermission.1*
998 %{_mandir}/man1/mysql_zap.1*
999 %{_mandir}/man1/mysqlaccess.1*
1000 %{_mandir}/man1/mysqldumpslow.1*
1001
1002 %files client
1003 %defattr(644,root,root,755)
1004 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/skel/.my.cnf
1005 %attr(755,root,root) %{_bindir}/mysql
1006 %attr(755,root,root) %{_bindir}/mysqladmin
1007 %attr(755,root,root) %{_bindir}/mysqlbinlog
1008 %attr(755,root,root) %{_bindir}/mysqlbug
1009 %attr(755,root,root) %{_bindir}/mysql_config_editor
1010 %attr(755,root,root) %{_bindir}/mysqldump
1011 %attr(755,root,root) %{_bindir}/mysqlimport
1012 %attr(755,root,root) %{_bindir}/mysqlshow
1013 %{_mandir}/man1/mysql.1*
1014 %{_mandir}/man1/mysqladmin.1*
1015 %{_mandir}/man1/mysqlbinlog.1*
1016 %{_mandir}/man1/mysqlbug.1*
1017 %{_mandir}/man1/mysql_config_editor.1*
1018 %{_mandir}/man1/mysqldump.1*
1019 %{_mandir}/man1/mysqlimport.1*
1020 %{_mandir}/man1/mysqlshow.1*
1021
1022 %files libs
1023 %defattr(644,root,root,755)
1024 %attr(751,root,root) %dir %{_sysconfdir}/mysql
1025 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/mysql-client.conf
1026 %{_sysconfdir}/%{name}/my.cnf
1027 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.*
1028 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.18
1029 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*.*
1030 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.18
1031 %if %{with ndb}
1032 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.*
1033 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3
1034 %endif
1035
1036 %files devel
1037 %defattr(644,root,root,755)
1038 %attr(755,root,root) %{_bindir}/mysql_config
1039 %attr(755,root,root) %{_libdir}/libmysqlclient.so
1040 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so
1041 %if %{with ndb}
1042 %attr(755,root,root) %{_libdir}/libndbclient.so
1043 %endif
1044 # static-only so far
1045 %{_libdir}/libmysqld.a
1046 %{_includedir}/mysql
1047 %{_aclocaldir}/mysql.m4
1048 %{_mandir}/man1/mysql_config.1*
1049
1050 %files static
1051 %defattr(644,root,root,755)
1052 %{_libdir}/libmysqlclient.a
1053 %{_libdir}/libmysqlclient_r.a
1054 %if %{with ndb}
1055 %{_libdir}/libndbclient.a
1056 %endif
1057
1058 %files bench
1059 %defattr(644,root,root,755)
1060 %attr(755,root,root) %{_bindir}/mysqlslap
1061 %attr(755,root,root) %{_bindir}/mysqltest
1062 %dir %{_datadir}/sql-bench
1063 %{_datadir}/sql-bench/[CDRl]*
1064 %attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
1065 %{_mandir}/man1/mysqlslap.1*
1066 %{_mandir}/man1/mysqltest.1*
1067 %{_mandir}/man1/mysqltest_embedded.1*
1068
1069 %if %{with ndb}
1070 %files ndb
1071 %defattr(644,root,root,755)
1072 %attr(755,root,root) %{_sbindir}/ndbd
1073 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb
1074 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb
1075 %{_mandir}/man1/ndbd_redo_log_reader.1*
1076 %{_mandir}/man8/ndbd.8*
1077
1078 %files ndb-client
1079 %defattr(644,root,root,755)
1080 %attr(755,root,root) %{_bindir}/ndb_config
1081 %attr(755,root,root) %{_bindir}/ndb_delete_all
1082 %attr(755,root,root) %{_bindir}/ndb_desc
1083 %attr(755,root,root) %{_bindir}/ndb_drop_index
1084 %attr(755,root,root) %{_bindir}/ndb_drop_table
1085 %attr(755,root,root) %{_bindir}/ndb_error_reporter
1086 %attr(755,root,root) %{_bindir}/ndb_mgm
1087 %attr(755,root,root) %{_bindir}/ndb_print_backup_file
1088 %attr(755,root,root) %{_bindir}/ndb_print_schema_file
1089 %attr(755,root,root) %{_bindir}/ndb_print_sys_file
1090 %attr(755,root,root) %{_bindir}/ndb_restore
1091 %attr(755,root,root) %{_bindir}/ndb_select_all
1092 %attr(755,root,root) %{_bindir}/ndb_select_count
1093 %attr(755,root,root) %{_bindir}/ndb_show_tables
1094 %attr(755,root,root) %{_bindir}/ndb_size.pl
1095 %attr(755,root,root) %{_bindir}/ndb_test_platform
1096 %attr(755,root,root) %{_bindir}/ndb_waiter
1097 %{_mandir}/man1/ndb_config.1*
1098 %{_mandir}/man1/ndb_delete_all.1*
1099 %{_mandir}/man1/ndb_desc.1*
1100 %{_mandir}/man1/ndb_drop_index.1*
1101 %{_mandir}/man1/ndb_drop_table.1*
1102 %{_mandir}/man1/ndb_error_reporter.1*
1103 %{_mandir}/man1/ndb_mgm.1*
1104 %{_mandir}/man1/ndb_print_backup_file.1*
1105 %{_mandir}/man1/ndb_print_schema_file.1*
1106 %{_mandir}/man1/ndb_print_sys_file.1*
1107 %{_mandir}/man1/ndb_restore.1*
1108 %{_mandir}/man1/ndb_select_all.1*
1109 %{_mandir}/man1/ndb_select_count.1*
1110 %{_mandir}/man1/ndb_show_tables.1*
1111 %{_mandir}/man1/ndb_size.pl.1*
1112 %{_mandir}/man1/ndb_waiter.1*
1113
1114 %files ndb-mgm
1115 %defattr(644,root,root,755)
1116 %attr(755,root,root) %{_sbindir}/ndb_mgmd
1117 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm
1118 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm
1119 %{_mandir}/man8/ndb_mgmd.8*
1120
1121 %files ndb-cpc
1122 %defattr(644,root,root,755)
1123 %attr(755,root,root) %{_sbindir}/ndb_cpcd
1124 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc
1125 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc
1126 %{_mandir}/man1/ndb_cpcd.1*
1127 %endif