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