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