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