]> TLD Linux GIT Repositories - packages/mysql.git/blob - mysql.spec
3744507a7de217ffcf93dfdc7698a2f3055ee04f
[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 percona_rel     31.1
27 %include        /usr/lib/rpm/macros.perl
28 Summary:        MySQL: a very fast and reliable SQL database engine
29 Summary(de.UTF-8):      MySQL: ist eine SQL-Datenbank
30 Summary(fr.UTF-8):      MySQL: un serveur SQL rapide et fiable
31 Summary(pl.UTF-8):      MySQL: bardzo szybka i niezawodna baza danych (SQL)
32 Summary(pt_BR.UTF-8):   MySQL: Um servidor SQL rápido e confiável
33 Summary(ru.UTF-8):      MySQL - быстрый SQL-сервер
34 Summary(uk.UTF-8):      MySQL - швидкий SQL-сервер
35 Summary(zh_CN.UTF-8):   MySQL数据库服务器
36 Name:           mysql
37 Version:        5.5.33
38 Release:        2
39 License:        GPL + MySQL FLOSS Exception
40 Group:          Applications/Databases
41 # Source0Download: http://dev.mysql.com/downloads/mysql/5.5.html#downloads
42 # Source0:      http://vesta.informatik.rwth-aachen.de/mysql/Downloads/MySQL-5.5/%{name}-%{version}.tar.gz
43 Source0:        http://www.percona.com/redir/downloads/Percona-Server-5.5/LATEST/source/Percona-Server-%{version}-rel%{percona_rel}.tar.gz
44 # Source0-md5:  4a1c053dbdda4bb643f7ab13a9776f34
45 Source100:      http://www.sphinxsearch.com/files/sphinx-2.1.2-release.tar.gz
46 # Source100-md5:        3e828fa58e2e6049f02aa6aef3009d48
47 Source1:        %{name}.init
48 Source2:        %{name}.sysconfig
49 Source3:        %{name}.logrotate
50 Source4:        %{name}d.conf
51 Source5:        %{name}-clusters.conf
52 Source7:        %{name}-ndb.init
53 Source8:        %{name}-ndb.sysconfig
54 Source9:        %{name}-ndb-mgm.init
55 Source10:       %{name}-ndb-mgm.sysconfig
56 Source11:       %{name}-ndb-cpc.init
57 Source12:       %{name}-ndb-cpc.sysconfig
58 Source13:       %{name}-client.conf
59 Source14:       my.cnf
60 # from fedora
61 Source15:       lib%{name}.version
62
63 Patch2:         %{name}hotcopy-5.0-5.5.patch
64 Patch3:         bug-67402.patch
65 # from fedora
66 Patch6:         %{name}-system-users.patch
67
68 Patch9:         %{name}-build.patch
69 Patch11:        %{name}-upgrade.patch
70 Patch12:        %{name}-config.patch
71 Patch14:        %{name}-bug-43594.patch
72 Patch18:        %{name}-sphinx.patch
73 Patch19:        %{name}-chain-certs.patch
74 # from fedora
75 Patch20:        %{name}-dubious-exports.patch
76 Patch21:        bison3.patch
77 Patch22:        bug-66589.patch
78 URL:            http://www.mysql.com/products/community/
79 BuildRequires:  bison >= 1.875
80 BuildRequires:  cmake >= 2.6
81 BuildRequires:  groff
82 BuildRequires:  libstdc++-devel >= 5:4.0
83 BuildRequires:  libtool
84 %{?with_tcpd:BuildRequires:     libwrap-devel}
85 BuildRequires:  ncurses-devel >= 4.2
86 %{?with_ssl:BuildRequires:      openssl-devel >= 0.9.7d}
87 %{?with_autodeps:BuildRequires: perl-DBI}
88 BuildRequires:  perl-devel >= 1:5.6.1
89 BuildRequires:  readline-devel >= 4.2
90 BuildRequires:  rpm-perlprov >= 4.1-13
91 BuildRequires:  rpmbuild(macros) >= 1.597
92 BuildRequires:  sed >= 4.0
93 %{?with_systemtap:BuildRequires:        systemtap-sdt-devel}
94 BuildRequires:  zlib-devel
95 Requires(post,preun):   /sbin/chkconfig
96 Requires(postun):       /usr/sbin/groupdel
97 Requires(postun):       /usr/sbin/userdel
98 Requires(pre):  /bin/id
99 Requires(pre):  /usr/bin/getgid
100 Requires(pre):  /usr/sbin/groupadd
101 Requires(pre):  /usr/sbin/useradd
102 Requires(triggerpostun):        sed >= 4.0
103 Requires:       %{name}-charsets = %{version}-%{release}
104 Requires:       %{name}-libs = %{version}-%{release}
105 Requires:       /usr/bin/setsid
106 Requires:       rc-scripts >= 0.2.0
107 Suggests:       mysql-client
108 %{?with_tcpd:Suggests:  tcp_wrappers}
109 Suggests:       vim-syntax-mycnf
110 Provides:       MySQL-server
111 Provides:       group(mysql)
112 Provides:       msqlormysql
113 Provides:       user(mysql)
114 Obsoletes:      MySQL
115 Obsoletes:      mysql-server
116 Conflicts:      logrotate < 3.8.0
117 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
118
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 Obsoletes:      MySQL-client
303
304 %description client
305 This package contains the standard MySQL clients.
306
307 %description client -l fr.UTF-8
308 Ce package contient les clients MySQL standards.
309
310 %description client -l pl.UTF-8
311 Standardowe programy klienckie MySQL.
312
313 %description client -l pt_BR.UTF-8
314 Este pacote contém os clientes padrão para o MySQL.
315
316 %description client -l ru.UTF-8
317 Этот пакет содержит только клиент MySQL.
318
319 %description client -l uk.UTF-8
320 Цей пакет містить тільки клієнта MySQL.
321
322 %package libs
323 Summary:        Shared libraries for MySQL
324 Summary(pl.UTF-8):      Biblioteki współdzielone MySQL
325 Group:          Libraries
326 Obsoletes:      libmysql10
327 Obsoletes:      mysql-doc < 4.1.12
328
329 %description libs
330 Shared libraries for MySQL.
331
332 %description libs -l pl.UTF-8
333 Biblioteki współdzielone MySQL.
334
335 %package devel
336 Summary:        MySQL - development header files and other files
337 Summary(pl.UTF-8):      MySQL - Pliki nagłówkowe i inne dla programistów
338 Summary(pt.UTF-8):      MySQL - Medições de desempenho
339 Summary(ru.UTF-8):      MySQL - хедеры и библиотеки разработчика
340 Summary(uk.UTF-8):      MySQL - хедери та бібліотеки програміста
341 Group:          Development/Libraries
342 Requires:       %{name}-libs = %{version}-%{release}
343 %{?with_ssl:Requires:   openssl-devel}
344 Requires:       zlib-devel
345 Obsoletes:      MySQL-devel
346 Obsoletes:      libmysql10-devel
347
348 %description devel
349 This package contains the development header files and other files
350 necessary to develop MySQL client applications.
351
352 %description devel -l fr.UTF-8
353 Ce package contient les fichiers entetes et les librairies de
354 developpement necessaires pour developper des applications clientes
355 MySQL.
356
357 %description devel -l pl.UTF-8
358 Pliki nagłówkowe i inne pliki konieczne do kompilacji aplikacji
359 klienckich MySQL.
360
361 %description devel -l pt_BR.UTF-8
362 Este pacote contém os arquivos de cabeçalho (header files) e
363 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
364
365 %description devel -l ru.UTF-8
366 Этот пакет содержит хедеры и библиотеки разработчика, необходимые для
367 разработки клиентских приложений.
368
369 %description devel -l uk.UTF-8
370 Цей пакет містить хедери та бібліотеки програміста, необхідні для
371 розробки програм-клієнтів.
372
373 %package static
374 Summary:        MySQL static libraries
375 Summary(pl.UTF-8):      Biblioteki statyczne MySQL
376 Summary(ru.UTF-8):      MySQL - статические библиотеки
377 Summary(uk.UTF-8):      MySQL - статичні бібліотеки
378 Group:          Development/Libraries
379 Requires:       %{name}-devel = %{version}-%{release}
380 Obsoletes:      MySQL-static
381
382 %description static
383 MySQL static libraries.
384
385 %description static -l pl.UTF-8
386 Biblioteki statyczne MySQL.
387
388 %description static -l ru.UTF-8
389 Этот пакет содержит статические библиотеки разработчика, необходимые
390 для разработки клиентских приложений.
391
392 %description static -l uk.UTF-8
393 Цей пакет містить статичні бібліотеки програміста, необхідні для
394 розробки програм-клієнтів.
395
396 %package bench
397 Summary:        MySQL - Benchmarks
398 Summary(pl.UTF-8):      MySQL - Programy testujące szybkość działania bazy
399 Summary(pt.UTF-8):      MySQL - Medições de desempenho
400 Summary(ru.UTF-8):      MySQL - бенчмарки
401 Summary(uk.UTF-8):      MySQL - бенчмарки
402 Group:          Applications/Databases
403 Requires:       %{name} = %{version}-%{release}
404 Requires:       %{name}-client
405 Requires:       perl(DBD::mysql)
406 Obsoletes:      MySQL-bench
407
408 %description bench
409 This package contains MySQL benchmark scripts and data.
410
411 %description bench -l pl.UTF-8
412 Programy testujące szybkość serwera MySQL.
413
414 %description bench -l pt_BR.UTF-8
415 Este pacote contém medições de desempenho de scripts e dados do MySQL.
416
417 %description bench -l ru.UTF-8
418 Этот пакет содержит скрипты и данные для оценки производительности
419 MySQL.
420
421 %description bench -l uk.UTF-8
422 Цей пакет містить скрипти та дані для оцінки продуктивності MySQL.
423
424 %package doc
425 Summary:        MySQL manual
426 Summary(pl.UTF-8):      Podręcznik użytkownika MySQL
427 Group:          Applications/Databases
428
429 %description doc
430 This package contains manual in HTML format.
431
432 %description doc -l pl.UTF-8
433 Podręcznik MySQL-a w formacie HTML.
434
435 %package ndb
436 Summary:        MySQL - NDB Storage Engine Daemon
437 Summary(pl.UTF-8):      MySQL - demon silnika przechowywania danych NDB
438 Group:          Applications/Databases
439 Requires:       %{name}-libs = %{version}-%{release}
440
441 %description ndb
442 This package contains the standard MySQL NDB Storage Engine Daemon.
443
444 %description ndb -l pl.UTF-8
445 Ten pakiet zawiera standardowego demona silnika przechowywania danych
446 NDB.
447
448 %package ndb-client
449 Summary:        MySQL - NDB Clients
450 Summary(pl.UTF-8):      MySQL - programy klienckie NDB
451 Group:          Applications/Databases
452 Requires:       %{name}-libs = %{version}-%{release}
453
454 %description ndb-client
455 This package contains the standard MySQL NDB Clients.
456
457 %description ndb-client -l pl.UTF-8
458 Ten pakiet zawiera standardowe programy klienckie MySQL NDB.
459
460 %package ndb-mgm
461 Summary:        MySQL - NDB Management Daemon
462 Summary(pl.UTF-8):      MySQL - demon zarządzający NDB
463 Group:          Applications/Databases
464 Requires:       %{name}-libs = %{version}-%{release}
465
466 %description ndb-mgm
467 This package contains the standard MySQL NDB Management Daemon.
468
469 %description ndb-mgm -l pl.UTF-8
470 Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB.
471
472 %package ndb-cpc
473 Summary:        MySQL - NDB CPC Daemon
474 Summary(pl.UTF-8):      MySQL - demon NDB CPC
475 Group:          Applications/Databases
476 Requires:       %{name}-libs = %{version}-%{release}
477
478 %description ndb-cpc
479 This package contains the standard MySQL NDB CPC Daemon.
480
481 %description ndb-cpc -l pl.UTF-8
482 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
483
484 %prep
485 %setup -q -n Percona-Server-%{version}-rel%{percona_rel} %{?with_sphinx:-a100}
486 %if %{with sphinx}
487 # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51
488 mv sphinx-*/mysqlse storage/sphinx
489 %patch18 -p1
490 %endif
491
492 %patch2 -p1
493 %patch3 -p1
494
495 %patch6 -p1
496
497 %patch9 -p1
498 %patch11 -p1
499 %patch12 -p1
500 %patch14 -p0
501 %patch19 -p1
502 %patch20 -p1
503 %patch21 -p1
504 %patch22 -p1
505
506 # to get these files rebuild
507 [ -f sql/sql_yacc.cc ] && rm sql/sql_yacc.cc
508 [ -f sql/sql_yacc.h ] && rm sql/sql_yacc.h
509
510 %build
511 install -d build
512 cd build
513 # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file
514 # (it defaults to first cluster but user may change it to whatever
515 # cluster it wants)
516
517 # upstream has fallen down badly on symbol versioning, do it ourselves
518 install -d libmysql
519 cp -a %{SOURCE15} libmysql/libmysql.version
520
521 %cmake \
522         -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \
523         -DCMAKE_C_FLAGS_RELEASE="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
524         -DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
525         -DCOMPILATION_COMMENT="TLD Linux MySQL RPM" \
526         -DCURSES_INCLUDE_PATH=/usr/include/ncurses \
527         %{?with_systemtap:-DENABLE_DTRACE=ON} \
528         -DFEATURE_SET="community" \
529         -DINSTALL_LAYOUT=RPM \
530         -DINSTALL_LIBDIR=%{_lib} \
531         -DINSTALL_MYSQLTESTDIR_RPM="" \
532         -DINSTALL_PLUGINDIR=%{_libdir}/%{name}/plugin \
533         -DINSTALL_SQLBENCHDIR=%{_datadir} \
534         -DINSTALL_SUPPORTFILESDIR=%{_datadir}/%{name}-support \
535         -DMYSQL_UNIX_ADDR=/var/lib/%{name}/%{name}.sock \
536         %{?debug:-DWITH_DEBUG=ON} \
537         -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
538         -DWITH_FAST_MUTEXES=ON \
539         -DWITH_LIBEDIT=OFF \
540         -DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \
541         -DWITH_PAM=ON \
542         -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
543         -DWITH_PIC=ON \
544         -DWITH_READLINE=OFF \
545         -DWITH_SSL=%{?with_ssl:system}%{!?with_ssl:no} \
546         -DWITH_UNIT_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \
547         -DWITH_ZLIB=system \
548         ..
549
550 %{__make}
551
552 %{?with_tests:%{__make} test}
553
554 %install
555 rm -rf $RPM_BUILD_ROOT
556 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,skel} \
557            $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,lib/mysql} \
558            $RPM_BUILD_ROOT%{_mysqlhome} \
559            $RPM_BUILD_ROOT%{_libdir}
560
561 %{__make} -C build install \
562         DESTDIR=$RPM_BUILD_ROOT
563
564 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
565 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
566 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
567 # This is template for configuration file which is created after 'service mysql init'
568 cp -a %{SOURCE4} mysqld.conf
569 cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/clusters.conf
570 touch $RPM_BUILD_ROOT/var/log/%{name}/{mysqld,query,slow}.log
571
572 # remove innodb directives from mysqld.conf if mysqld is configured without
573 %if %{without innodb}
574         cp mysqld.conf mysqld.tmp
575         awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
576 %endif
577
578 # remove berkeley-db directives from mysqld.conf if mysqld is configured without
579 cp mysqld.conf mysqld.tmp
580 awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
581
582 cp -a mysqld.conf $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.conf
583 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/mysql-client.conf
584 ln -s mysql-client.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/my.cnf
585 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/skel/.my.cnf
586
587 # NDB
588 %if %{with ndb}
589 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
590 cp -a %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb
591 install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
592 cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
593 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
594 cp -a %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
595 %endif
596
597 # symlinks point to the .so file, fix it
598 ln -sf libmysqlclient.so.18 $RPM_BUILD_ROOT%{_libdir}/libmysqlclient_r.so.18
599 ln -sf libmysqlclient.so.18.0.0 $RPM_BUILD_ROOT%{_libdir}/libmysqlclient_r.so.18.0.0
600
601 sed -i -e 's,/usr//usr,%{_prefix},g' $RPM_BUILD_ROOT%{_bindir}/mysql_config
602 sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
603 sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
604
605 # remove known unpackaged files
606 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-support
607
608 # rename not to be so generic name
609 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
610 mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1
611
612 # move to _sysconfdir
613 mv $RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}}/mysqlaccess.conf
614
615 # not useful without -debug build
616 %{!?debug:%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
617 %{!?debug:%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
618 # generate symbols file, so one can generate backtrace using it
619 # mysql_resolve_stack_dump -s %{_datadir}/%{name}/mysqld.sym -n mysqld.stack.
620 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
621 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.sym}
622
623 # do not clobber users $PATH
624 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_plugin
625 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade
626 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum
627 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk
628 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog
629 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack
630 #mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables
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}/mysql-log-rotate
641 #rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
642 #rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
643 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg-utf8.txt
644 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
645 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1*
646 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
647 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
648 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1*
649
650 # we don't package those (we have no -test or -testsuite pkg) and some of them just segfault
651 %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_client_test
652 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test.1*
653 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1*
654 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1*
655 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1*
656 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-test
657
658 # not needed
659 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/libdaemon_example.*
660 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/daemon_example.ini
661
662 # not an .info file
663 %{__rm} $RPM_BUILD_ROOT%{_infodir}/mysql.info
664
665 %clean
666 rm -rf $RPM_BUILD_ROOT
667
668 %pre
669 %groupadd -g 89 mysql
670 %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql
671
672 %post
673 /sbin/ldconfig
674 /sbin/chkconfig --add mysql
675 %service mysql restart
676
677 %preun
678 if [ "$1" = "0" ]; then
679         %service -q mysql stop
680         /sbin/chkconfig --del mysql
681 fi
682
683 %postun
684 /sbin/ldconfig
685 if [ "$1" = "0" ]; then
686         %userremove mysql
687         %groupremove mysql
688 fi
689
690 %post ndb
691 /sbin/chkconfig --add mysql-ndb
692 %service mysql-ndb restart "mysql NDB engine"
693
694 %preun ndb
695 if [ "$1" = "0" ]; then
696         %service mysql-ndb stop
697         /sbin/chkconfig --del mysql-ndb
698 fi
699
700 %post ndb-mgm
701 /sbin/chkconfig --add mysql-ndb-mgm
702 %service mysql-ndb-mgm restart "mysql NDB management node"
703
704 %preun ndb-mgm
705 if [ "$1" = "0" ]; then
706         %service mysql-ndb-mgm stop
707         /sbin/chkconfig --del mysql-ndb-mgm
708 fi
709
710 %post ndb-cpc
711 /sbin/chkconfig --add mysql-ndb-cpc
712 %service mysql-ndb-cpc restart "mysql NDB CPC"
713
714 %preun ndb-cpc
715 if [ "$1" = "0" ]; then
716         %service mysql-ndb-cpc stop
717         /sbin/chkconfig --del mysql-ndb-cpc
718 fi
719
720 %post   libs -p /sbin/ldconfig
721 %postun libs -p /sbin/ldconfig
722
723 %triggerpostun -- mysql < 4.0.20-2.4
724 # For clusters in /etc/%{name}/clusters.conf
725 if [ -f /etc/sysconfig/mysql ]; then
726         . /etc/sysconfig/mysql
727         if [ -n "$MYSQL_DB_CLUSTERS" ]; then
728                 for i in "$MYSQL_DB_CLUSTERS"; do
729                         echo "$i/mysqld.conf=$i" >> /etc/%{name}/clusters.conf
730                 done
731                 echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql
732                 echo "# USE /etc/%{name}/clusters.conf instead" >> /etc/sysconfig/mysql
733                 echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/%{name}/clusters.conf."
734                 echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/%{name}/clusters.conf."
735         fi
736 fi
737
738 %triggerpostun -- mysql < 4.1.1
739 # For better compatibility with prevoius versions:
740 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
741         if echo "$config" | grep -q '^/'; then
742                 config_file="$config"
743         elif [ -f "/etc/%{name}/$config" ]; then
744                 config_file=/etc/%{name}/$config
745         else
746                 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf)
747                 if [ -z "$clusterdir" ]; then
748                         echo >&2 "Can't find cluster dir for $config!"
749                         echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf"
750                         exit 1
751                 fi
752                 config_file="$clusterdir/mysqld.conf"
753         fi
754
755         if [ ! -f "$config_file" ]; then
756                         echo >&2 "Lost myself! Please report this (with above errors, if any) to TLD Linux mailing lists."
757                         exit 1
758         fi
759         echo "Adding option old-passwords to config: $config_file"
760         echo "If you want to use new, better passwords - remove it"
761
762         # sed magic to add 'old-passwords' to [mysqld] section
763         sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
764                 a
765                 a; Compatibility options:
766                 aold-passwords
767         }
768         ' $config_file
769 done
770
771 %banner -e %{name}-4.1.x <<-EOF
772         If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data:
773         mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql
774 EOF
775 #'
776
777 %triggerpostun -- mysql < 5.1.0
778 configs=""
779 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
780         if echo "$config" | grep -q '^/'; then
781                 config_file="$config"
782         elif [ -f "/etc/%{name}/$config" ]; then
783                 config_file=/etc/%{name}/$config
784         else
785                 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf)
786                 if [ -z "$clusterdir" ]; then
787                         echo >&2 "Can't find cluster dir for $config!"
788                         echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf"
789                         exit 1
790                 fi
791                 config_file="$clusterdir/mysqld.conf"
792         fi
793
794         if [ ! -f "$config_file" ]; then
795                 echo >&2 "ERROR: Can't find real config file for $config! Please report this (with above errors, if any) to TLD Linux mailing lists."
796                 continue
797         fi
798         configs="$configs $config_file"
799 done
800
801 (
802 echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.'
803 echo 'Thus, you should invoke:'
804 for config in $configs; do
805         sed -i -e '
806                 s/set-variable\s*=\s* //
807                 # use # as comment in config
808                 s/^;/#/
809         ' $config
810
811         datadir=$(awk -F= '!/^#/ && $1 ~ /datadir/{print $2}' $config | xargs)
812         echo "# mysql_upgrade --datadir=$datadir"
813 done
814 ) | %banner -e %{name}-5.1
815
816 %triggerpostun -- mysql < 5.5.0
817 configs=""
818 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
819         if echo "$config" | grep -q '^/'; then
820                 config_file="$config"
821         elif [ -f "/etc/%{name}/$config" ]; then
822                 config_file=/etc/%{name}/$config
823         else
824                 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf)
825                 if [ -z "$clusterdir" ]; then
826                         echo >&2 "Can't find cluster dir for $config!"
827                         echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf"
828                         exit 1
829                 fi
830                 config_file="$clusterdir/mysqld.conf"
831         fi
832
833         if [ ! -f "$config_file" ]; then
834                 echo >&2 "ERROR: Can't find real config file for $config! Please report this (with above errors, if any) to TLD Linux mailing lists."
835                 continue
836         fi
837         configs="$configs $config_file"
838 done
839
840 (
841 echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.'
842 echo 'Thus, you should invoke:'
843 for config in $configs; do
844         sed -i -e '
845                 s/^language *= *polish/lc-messages = pl_PL/i
846                 s/set-variable\s*=\s* //
847                 s/^skip-locking/skip-external-locking/
848                 # this is not valid for server. it is client option
849                 s/^default-character-set/# client-config: &/
850                 # use # as comment in config
851                 s/^;/#/
852         ' $config
853
854         socket=$(awk -F= '!/^#/ && $1 ~ /socket/{print $2}' $config | xargs)
855         echo "# mysql_upgrade ${socket:+--socket=$socket}"
856 done
857 ) | %banner -e %{name}-5.5
858
859 %files
860 %defattr(644,root,root,755)
861 %doc build/support-files/*.cnf build/support-files/*.ini
862 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
863 %attr(754,root,root) /etc/rc.d/init.d/%{name}
864 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
865 %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/clusters.conf
866 %attr(755,root,root) %{_sbindir}/innochecksum
867 %attr(755,root,root) %{_sbindir}/my_print_defaults
868 %attr(755,root,root) %{_sbindir}/myisamchk
869 %attr(755,root,root) %{_sbindir}/myisamlog
870 %attr(755,root,root) %{_sbindir}/myisampack
871 #%attr(755,root,root) %{_sbindir}/mysql_fix_privilege_tables
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/auth.so
880 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam.so
881 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_pam_compat.so
882 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_socket.so
883 %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_test_plugin.so
884 %attr(755,root,root) %{_libdir}/%{name}/plugin/dialog.so
885 %attr(755,root,root) %{_libdir}/%{name}/plugin/ha_archive.so
886 %attr(755,root,root) %{_libdir}/%{name}/plugin/ha_blackhole.so
887 %attr(755,root,root) %{_libdir}/%{name}/plugin/ha_federated.so
888 %attr(755,root,root) %{_libdir}/%{name}/plugin/mypluglib.so
889 %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_client.so
890 %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_interface.so
891 %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_server.so
892 %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_master.so
893 %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_slave.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_fix_privilege_tables.1*
905 %{_mandir}/man1/mysql_plugin.1*
906 %{_mandir}/man1/mysql_upgrade.1*
907 %{_mandir}/man1/mysqlcheck.1*
908 %{_mandir}/man8/mysqld.8*
909
910 %if %{?debug:1}0
911 %attr(755,root,root) %{_bindir}/*resolve_stack_dump
912 %{_datadir}/%{name}/mysqld.sym
913 %{_mandir}/man1/*resolve_stack_dump.1*
914 %endif
915
916 %attr(700,mysql,mysql) %{_mysqlhome}
917 # root:root is proper here for mysql.rpm while mysql:mysql is potential security hole
918 %attr(751,root,root) /var/lib/mysql
919 %attr(750,mysql,mysql) %dir /var/log/mysql
920 %attr(750,mysql,mysql) %dir /var/log/archive/mysql
921 %attr(640,mysql,mysql) %ghost /var/log/mysql/*
922
923 # This is template for configuration file which is created after 'service mysql init'
924 %{_datadir}/%{name}/mysqld.conf
925 %{_datadir}/%{name}/mysql_system_tables.sql
926 %{_datadir}/%{name}/mysql_system_tables_data.sql
927 %{_datadir}/%{name}/mysql_test_data_timezone.sql
928
929 %{_datadir}/%{name}/english
930 %{_datadir}/%{name}/fill_help_tables.sql
931 #%{_datadir}/%{name}/mysql_fix_privilege_tables.sql
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}/mysql
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}/mysqldump
1010 %attr(755,root,root) %{_bindir}/mysqlimport
1011 %attr(755,root,root) %{_bindir}/mysqlshow
1012 %{_mandir}/man1/mysql.1*
1013 %{_mandir}/man1/mysqladmin.1*
1014 %{_mandir}/man1/mysqlbinlog.1*
1015 %{_mandir}/man1/mysqlbug.1*
1016 %{_mandir}/man1/mysqldump.1*
1017 %{_mandir}/man1/mysqlimport.1*
1018 %{_mandir}/man1/mysqlshow.1*
1019
1020 %files libs
1021 %defattr(644,root,root,755)
1022 %attr(751,root,root) %dir %{_sysconfdir}/mysql
1023 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/mysql-client.conf
1024 %{_sysconfdir}/%{name}/my.cnf
1025 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.*
1026 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.18
1027 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*.*
1028 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.18
1029 %if %{with ndb}
1030 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.*
1031 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3
1032 %endif
1033
1034 %files devel
1035 %defattr(644,root,root,755)
1036 %attr(755,root,root) %{_bindir}/mysql_config
1037 %attr(755,root,root) %{_libdir}/libmysqlclient.so
1038 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so
1039 %if %{with ndb}
1040 %attr(755,root,root) %{_libdir}/libndbclient.so
1041 %endif
1042 %{_includedir}/mysql
1043 %{_aclocaldir}/mysql.m4
1044 %{_mandir}/man1/mysql_config.1*
1045
1046 %files static
1047 %defattr(644,root,root,755)
1048 %{_libdir}/libmysqlclient.a
1049 %{_libdir}/libmysqlclient_r.a
1050 %if %{with ndb}
1051 %{_libdir}/libndbclient.a
1052 %endif
1053
1054 %files bench
1055 %defattr(644,root,root,755)
1056 %attr(755,root,root) %{_bindir}/mysqlslap
1057 %attr(755,root,root) %{_bindir}/mysqltest
1058 %dir %{_datadir}/sql-bench
1059 %{_datadir}/sql-bench/[CDRl]*
1060 %attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
1061 %{_mandir}/man1/mysqlslap.1*
1062 %{_mandir}/man1/mysqltest.1*
1063 %{_mandir}/man1/mysqltest_embedded.1*
1064
1065 #%files doc
1066 #%defattr(644,root,root,755)
1067 #%doc Docs/manual.html Docs/manual_toc.html
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