2 # - C(XX)FLAGS for innodb subdirs are overriden by ./configure!
3 # - http://bugs.mysql.com/bug.php?id=16470
6 %bcond_without big_tables # Support tables with more than 4G rows even on 32 bit platforms
7 %bcond_without federated # Federated storage engine support
8 %bcond_without innodb # InnoDB storage engine support
9 %bcond_without raid # Without raid
10 %bcond_without ssl # Without OpenSSL
11 %bcond_without tcpd # Without libwrap (tcp_wrappers) support
12 %bcond_without autodeps # BR packages needed only for resolving deps
13 %bcond_with bdb # Berkeley DB support
14 %bcond_without sphinx # Sphinx storage engine support
16 %include /usr/lib/rpm/macros.perl
17 #define _snap 20060111
18 Summary: MySQL: a very fast and reliable SQL database engine
19 Summary(de.UTF-8): MySQL: ist eine SQL-Datenbank
20 Summary(fr.UTF-8): MySQL: un serveur SQL rapide et fiable
21 Summary(pl.UTF-8): MySQL: bardzo szybka i niezawodna baza danych (SQL)
22 Summary(pt_BR.UTF-8): MySQL: Um servidor SQL rápido e confiável
23 Summary(ru.UTF-8): MySQL - быстрый SQL-сервер
24 Summary(uk.UTF-8): MySQL - швидкий SQL-сервер
25 Summary(zh_CN.UTF-8): MySQL数据库服务器
29 License: GPL + MySQL FLOSS Exception
30 Group: Applications/Databases
31 #Source0: ftp://ftp.mysql.com/pub/mysql/src/%{name}-%{version}.tar.gz
32 #Source0: http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
33 #Source0: http://mysql.he.net/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
34 Source0: http://mirror.provenscaling.com/mysql/enterprise/source/5.0/%{name}-%{version}.tar.gz
35 # Source0-md5: b3351d755bd62fd203bae777a77ccfef
36 Source100: http://www.sphinxsearch.com/downloads/sphinx-0.9.8.tar.gz
37 # Source100-md5: 347e547b79b733778d7553ede34e0aac
39 Source2: %{name}.sysconfig
40 Source3: %{name}.logrotate
41 Source4: %{name}d.conf
42 Source5: %{name}-clusters.conf
43 Source7: %{name}-ndb.init
44 Source8: %{name}-ndb.sysconfig
45 Source9: %{name}-ndb-mgm.init
46 Source10: %{name}-ndb-mgm.sysconfig
47 Source11: %{name}-ndb-cpc.init
48 Source12: %{name}-ndb-cpc.sysconfig
49 Source13: %{name}-client.conf
50 Patch0: %{name}-libs.patch
51 Patch1: %{name}-sphinx.patch
52 Patch2: %{name}-c++.patch
53 Patch3: %{name}-info.patch
54 Patch4: %{name}-sql-cxx-pic.patch
55 Patch5: %{name}-noproc.patch
56 Patch6: %{name}-fix_privilege_tables.patch
57 Patch7: %{name}-align.patch
58 Patch8: %{name}-client-config.patch
59 Patch9: %{name}-build.patch
60 Patch10: %{name}-alpha.patch
61 Patch11: %{name}-ndb-ldflags.patch
62 Patch12: %{name}-bug-20153.patch
63 Patch13: %{name}-bug-34192.patch
64 Patch14: %{name}-bug-16470.patch
65 Patch15: %{name}-system-users.patch
66 Patch16: %{name}-bug-39021.patch
67 # Percona patches, http://www.percona.com/percona-lab.html
68 Patch17: %{name}-control_flush_and_merge_and_read.patch
69 Patch18: %{name}-control_io-threads.patch
70 Patch19: %{name}-microslow_innodb.patch
71 Patch21: %{name}-show_patches.patch
72 Patch22: %{name}-split_buf_pool_mutex_fixed_optimistic_safe.patch
73 Patch23: %{name}-userstats-testsuite.patch
74 Patch24: %{name}-userstats.patch
75 #Patch25: %{name}-acc-pslist.patch
76 URL: http://www.mysql.com/products/database/mysql/community_edition.html
77 BuildRequires: autoconf
78 BuildRequires: automake
80 %{?with_bdb:BuildRequires: db3-devel}
82 BuildRequires: libstdc++-devel >= 5:3.0
83 BuildRequires: libtool
84 %{?with_tcpd:BuildRequires: libwrap-devel}
85 BuildRequires: ncurses-devel >= 4.2
86 %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
87 %{?with_autodeps:BuildRequires: perl-DBI}
88 BuildRequires: perl-devel >= 1:5.6.1
89 BuildRequires: readline-devel >= 4.2
90 BuildRequires: rpm-perlprov >= 4.1-13
91 BuildRequires: rpmbuild(macros) >= 1.414
92 BuildRequires: sed >= 4.0
93 BuildRequires: texinfo
94 BuildRequires: zlib-devel
95 Requires(post,preun): /sbin/chkconfig
96 Requires(postun): /usr/sbin/groupdel
97 Requires(postun): /usr/sbin/userdel
98 Requires(pre): /bin/id
99 Requires(pre): /usr/bin/getgid
100 Requires(pre): /usr/sbin/groupadd
101 Requires(pre): /usr/sbin/useradd
102 Requires(triggerpostun): sed >= 4.0
103 Requires: %{name}-charsets = %{version}-%{release}
104 Requires: %{name}-libs = %{version}-%{release}
105 Requires: /usr/bin/setsid
106 Requires: logrotate >= 3.7-4
107 Requires: rc-scripts >= 0.2.0
108 Suggests: mysql-client
109 %{?with_tcpd:Suggests: tcp_wrappers}
110 Provides: MySQL-server
111 Provides: group(mysql)
112 Provides: msqlormysql
113 Provides: user(mysql)
115 Obsoletes: mysql-server
116 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
118 %define _libexecdir %{_sbindir}
119 %define _localstatedir /var/lib/mysql
120 %define _mysqlhome /home/services/mysql
122 %define _noautoreqdep 'perl(DBD::mysql)'
123 # CFLAGS for innodb are altered
124 %undefine configure_cache
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
215 %description -l ru.UTF-8
216 MySQL - это SQL (Structured Query Language) сервер базы данных. MySQL
217 была написана Michael'ом (monty) Widenius'ом. См. файл CREDITS в
218 дистрибутиве на предмет других участников проекта и прочей информации
221 %description -l uk.UTF-8
222 MySQL - це SQL (Structured Query Language) сервер бази даних. MySQL
223 було написано Michael'ом (monty) Widenius'ом. Див. файл CREDITS в
224 дистрибутиві для інформації про інших учасників проекту та іншої
228 Summary: MySQL - character sets definitions
229 Summary(pl.UTF-8): MySQL - definicje kodowań znaków
230 Group: Applications/Databases
232 %description charsets
233 This package contains character sets definitions needed by both client
236 %description charsets -l pl.UTF-8
237 Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i
241 Summary: MySQL additional utilities
242 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL
243 Group: Applications/Databases
244 Requires: %{name}-libs = %{version}-%{release}
247 MySQL additional utilities except Perl scripts (they may be found in
248 %{name}-extras-perl package).
250 %description extras -l pl.UTF-8
251 Dodatkowe narzędzia do MySQL - z wyjątkiem skryptów Perla (które są w
252 pakiecie %{name}-extras-perl).
255 Summary: MySQL additional utilities written in Perl
256 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL napisane w Perlu
257 Group: Applications/Databases
258 Requires: %{name}-extras = %{version}-%{release}
259 Requires: perl(DBD::mysql)
261 %description extras-perl
262 MySQL additional utilities written in Perl.
264 %description extras-perl -l pl.UTF-8
265 Dodatkowe narzędzia do MySQL napisane w Perlu.
268 Summary: MySQL - Client
269 Summary(pl.UTF-8): MySQL - Klient
270 Summary(pt.UTF-8): MySQL - Cliente
271 Summary(ru.UTF-8): MySQL клиент
272 Summary(uk.UTF-8): MySQL клієнт
273 Group: Applications/Databases
274 Requires: %{name}-charsets = %{version}-%{release}
275 Requires: %{name}-libs = %{version}-%{release}
276 Obsoletes: MySQL-client
279 This package contains the standard MySQL clients.
281 %description client -l fr.UTF-8
282 Ce package contient les clients MySQL standards.
284 %description client -l pl.UTF-8
285 Standardowe programy klienckie MySQL.
287 %description client -l pt_BR.UTF-8
288 Este pacote contém os clientes padrão para o MySQL.
290 %description client -l ru.UTF-8
291 Этот пакет содержит только клиент MySQL.
293 %description client -l uk.UTF-8
294 Цей пакет містить тільки клієнта MySQL.
297 Summary: Shared libraries for MySQL
298 Summary(pl.UTF-8): Biblioteki dzielone MySQL
300 Obsoletes: libmysql10
301 Obsoletes: mysql-doc < 4.1.12
304 Shared libraries for MySQL.
306 %description libs -l pl.UTF-8
307 Biblioteki dzielone MySQL.
310 Summary: MySQL - Development header files and libraries
311 Summary(pl.UTF-8): MySQL - Pliki nagłówkowe i biblioteki dla programistów
312 Summary(pt.UTF-8): MySQL - Medições de desempenho
313 Summary(ru.UTF-8): MySQL - хедеры и библиотеки разработчика
314 Summary(uk.UTF-8): MySQL - хедери та бібліотеки програміста
315 Group: Development/Libraries
316 Requires: %{name}-libs = %{version}-%{release}
317 %{?with_ssl:Requires: openssl-devel}
319 Obsoletes: MySQL-devel
320 Obsoletes: libmysql10-devel
323 This package contains the development header files and libraries
324 necessary to develop MySQL client applications.
326 %description devel -l fr.UTF-8
327 Ce package contient les fichiers entetes et les librairies de
328 developpement necessaires pour developper des applications clientes
331 %description devel -l pl.UTF-8
332 Pliki nagłówkowe i biblioteki konieczne do kompilacji aplikacji
335 %description devel -l pt_BR.UTF-8
336 Este pacote contém os arquivos de cabeçalho (header files) e
337 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
339 %description devel -l ru.UTF-8
340 Этот пакет содержит хедеры и библиотеки разработчика, необходимые для
341 разработки клиентских приложений.
343 %description devel -l uk.UTF-8
344 Цей пакет містить хедери та бібліотеки програміста, необхідні для
345 розробки програм-клієнтів.
348 Summary: MySQL static libraries
349 Summary(pl.UTF-8): Biblioteki statyczne MySQL
350 Summary(ru.UTF-8): MySQL - статические библиотеки
351 Summary(uk.UTF-8): MySQL - статичні бібліотеки
352 Group: Development/Libraries
353 Requires: %{name}-devel = %{version}-%{release}
354 Obsoletes: MySQL-static
357 MySQL static libraries.
359 %description static -l pl.UTF-8
360 Biblioteki statyczne MySQL.
362 %description static -l ru.UTF-8
363 Этот пакет содержит статические библиотеки разработчика, необходимые
364 для разработки клиентских приложений.
366 %description static -l uk.UTF-8
367 Цей пакет містить статичні бібліотеки програміста, необхідні для
368 розробки програм-клієнтів.
371 Summary: MySQL - Benchmarks
372 Summary(pl.UTF-8): MySQL - Programy testujące szybkość działania bazy
373 Summary(pt.UTF-8): MySQL - Medições de desempenho
374 Summary(ru.UTF-8): MySQL - бенчмарки
375 Summary(uk.UTF-8): MySQL - бенчмарки
376 Group: Applications/Databases
377 Requires: %{name} = %{version}-%{release}
378 Requires: %{name}-client
379 Requires: perl(DBD::mysql)
380 Obsoletes: MySQL-bench
383 This package contains MySQL benchmark scripts and data.
385 %description bench -l pl.UTF-8
386 Programy testujące szybkość serwera MySQL.
388 %description bench -l pt_BR.UTF-8
389 Este pacote contém medições de desempenho de scripts e dados do MySQL.
391 %description bench -l ru.UTF-8
392 Этот пакет содержит скрипты и данные для оценки производительности
395 %description bench -l uk.UTF-8
396 Цей пакет містить скрипти та дані для оцінки продуктивності MySQL.
399 Summary: MySQL manual
400 Summary(pl.UTF-8): Podręcznik użytkownika MySQL
401 Group: Applications/Databases
404 This package contains manual in HTML format.
406 %description doc -l pl.UTF-8
407 Podręcznik MySQL-a w formacie HTML.
410 Summary: MySQL - NDB Storage Engine Daemon
411 Summary(pl.UTF-8): MySQL - demon silnika przechowywania danych NDB
412 Group: Applications/Databases
413 Requires: %{name}-libs = %{version}-%{release}
416 This package contains the standard MySQL NDB Storage Engine Daemon.
418 %description ndb -l pl.UTF-8
419 Ten pakiet zawiera standardowego demona silnika przechowywania danych
423 Summary: MySQL - NDB Clients
424 Summary(pl.UTF-8): MySQL - programy klienckie NDB
425 Group: Applications/Databases
426 Requires: %{name}-libs = %{version}-%{release}
428 %description ndb-client
429 This package contains the standard MySQL NDB Clients.
431 %description ndb-client -l pl.UTF-8
432 Ten pakiet zawiera standardowe programy klienckie MySQL NDB.
435 Summary: MySQL - NDB Management Daemon
436 Summary(pl.UTF-8): MySQL - demon zarządzający NDB
437 Group: Applications/Databases
438 Requires: %{name}-libs = %{version}-%{release}
441 This package contains the standard MySQL NDB Management Daemon.
443 %description ndb-mgm -l pl.UTF-8
444 Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB.
447 Summary: MySQL - NDB CPC Daemon
448 Summary(pl.UTF-8): MySQL - demon NDB CPC
449 Group: Applications/Databases
450 Requires: %{name}-libs = %{version}-%{release}
453 This package contains the standard MySQL NDB CPC Daemon.
455 %description ndb-cpc -l pl.UTF-8
456 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
459 %setup -q %{?_snap:-n %{name}-%{version}-nightly-%{_snap}} %{?with_sphinx:-a100}
462 mv sphinx-*/mysqlse sql/sphinx
468 # this is strange: mysqld functions for UDF modules are not explicitly defined,
469 # so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables
470 # in objects compiled without -fPIC
501 # The compiler flags are as per their "official" spec ;)
502 CXXFLAGS="%{rpmcflags} -felide-constructors -fno-rtti -fno-exceptions %{!?debug:-fomit-frame-pointer}"
503 CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
505 # NOTE: the PS, FIND_PROC, KILL, CHECK_PID are not used by PLD Linux
506 # and therefore do not add BR on these. These are here just to satisfy
511 FIND_PROC='/bin/ps p $$PID' \
513 CHECK_PID='/bin/kill -0 $$PID' \
515 --enable-largefile=yes \
518 --enable-thread-safe-client \
519 --with%{!?with_bdb:out}-berkeley-db \
520 --with%{!?with_innodb:out}-innodb \
521 --with%{!?with_raid:out}-raid \
522 --with%{!?with_ssl:out}-openssl \
523 --with%{!?with_tcpd:out}-libwrap \
524 %{?with_big_tables:--with-big-tables} \
525 --with-comment="PLD Linux Distribution MySQL RPM" \
526 --with%{!?debug:out}-debug \
527 --with%{!?debug:out}-ndb-debug \
528 --with-embedded-server \
529 --with-extra-charsets=all \
531 --with-mysqld-user=mysql \
532 --with-named-curses-libs="-lncurses" \
533 --with-named-thread-libs="-lpthread" \
534 --with-unix-socket-path=/var/lib/mysql/mysql.sock \
535 --with-archive-storage-engine \
536 %{?with_sphinx:--with-sphinx-storage-engine} \
537 %{?with_federated:--with-federated-storage-engine} \
544 # --with-ndb-test --with-ndb-docs
546 # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file
547 # (it defaults to first cluster but user may change it to whatever
550 echo -e "all:\ninstall:\nclean:\nlink_sources:\n" > libmysqld/examples/Makefile
553 benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench
555 %{__make} -C Docs mysql.info
558 rm -rf $RPM_BUILD_ROOT
559 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,ssl/certs/mysql} \
560 $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,lib/mysql} \
561 $RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}}
564 install -d $RPM_BUILD_ROOT/var/lib/mysql/bdb/{log,tmp}
569 DESTDIR=$RPM_BUILD_ROOT \
570 benchdir=%{_datadir}/sql-bench \
572 # libsdir is to avoid installing innodb static libs in $RPM_BUILD_ROOT../libs
574 install Docs/mysql.info $RPM_BUILD_ROOT%{_infodir}
576 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
577 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
578 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
579 # This is template for configuration file which is created after 'service mysql init'
580 install %{SOURCE4} mysqld.conf
581 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/clusters.conf
582 touch $RPM_BUILD_ROOT/var/log/mysql/{err,log,update}
584 # remove innodb directives from mysqld.conf if mysqld is configured without
585 %if %{without innodb}
586 cp mysqld.conf mysqld.tmp
587 awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
590 # 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
596 install mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.conf
597 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/mysql-client.conf
600 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
601 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb
602 install %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
603 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
604 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
605 install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
607 mv -f $RPM_BUILD_ROOT%{_libdir}/mysql/lib* $RPM_BUILD_ROOT%{_libdir}
608 sed -i -e 's,%{_libdir}/mysql,%{_libdir},' $RPM_BUILD_ROOT{%{_libdir}/libmysqlclient{,_r}.la,%{_bindir}/mysql_config}
609 sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
611 # remove known unpackaged files
612 rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
614 # remove .txt variants for .sys messages
615 rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/*/*.txt
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
621 # not useful without -debug build
622 %{!?debug:rm -f $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
623 %{!?debug:rm -f $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
624 # generate symbols file, so one can generate backtrace using it
625 # mysql_resolve_stack_dump -s %{_datadir}/mysql/mysqld.sym -n mysqld.stack.
626 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
627 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.sym}
629 # do not clobber users $PATH
630 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade
631 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum
632 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk
633 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog
634 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack
635 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables
636 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults
637 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
639 # functionality in initscript / rpm
640 rm $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
641 rm $RPM_BUILD_ROOT%{_bindir}/mysql_upgrade_shell
642 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
643 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
644 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
645 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate
646 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
647 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
648 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg.txt
649 rm $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
650 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
651 rm $RPM_BUILD_ROOT%{_mandir}/man1/safe_mysqld*
652 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
653 rm $RPM_BUILD_ROOT%{_bindir}/resolveip
654 rm $RPM_BUILD_ROOT%{_mandir}/man1/resolveip.1*
655 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_bin_dist.1
656 rm $RPM_BUILD_ROOT%{_bindir}/comp_err
657 rm $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1
658 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_install_db.1
659 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1
660 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_src_distribution.1
661 rm $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld_multi.server
663 # no package for tests
664 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1
665 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1
666 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1
668 rm $RPM_BUILD_ROOT%{_mandir}/man1/ndb_print_backup_file.1
669 rm $RPM_BUILD_ROOT%{_mandir}/man1/ndb_print_schema_file.1
670 rm $RPM_BUILD_ROOT%{_mandir}/man1/ndb_print_sys_file.1
671 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqlmanager-pwgen.1
672 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqlmanagerc.1
673 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqltest_embedded.1
676 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf}
679 rm -rf $RPM_BUILD_ROOT
682 %groupadd -g 89 mysql
683 %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql
686 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
687 /sbin/chkconfig --add mysql
688 %service mysql restart
691 if [ "$1" = "0" ]; then
692 %service -q mysql stop
693 /sbin/chkconfig --del mysql
697 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
698 if [ "$1" = "0" ]; then
704 /sbin/chkconfig --add mysql-ndb
705 %service mysql-ndb restart "mysql NDB engine"
708 if [ "$1" = "0" ]; then
709 %service mysql-ndb stop
710 /sbin/chkconfig --del mysql-ndb
714 /sbin/chkconfig --add mysql-ndb-mgm
715 %service mysql-ndb-mgm restart "mysql NDB management node"
718 if [ "$1" = "0" ]; then
719 %service mysql-ndb-mgm stop
720 /sbin/chkconfig --del mysql-ndb-mgm
724 /sbin/chkconfig --add mysql-ndb-cpc
725 %service mysql-ndb-cpc restart "mysql NDB CPC"
728 if [ "$1" = "0" ]; then
729 %service mysql-ndb-cpc stop
730 /sbin/chkconfig --del mysql-ndb-cpc
733 %post libs -p /sbin/ldconfig
734 %postun libs -p /sbin/ldconfig
736 %triggerpostun -- mysql < 4.0.20-2.4
737 # For clusters in /etc/mysql/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/mysql/clusters.conf
744 echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql
745 echo "# USE /etc/mysql/clusters.conf instead" >> /etc/sysconfig/mysql
746 echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/mysql/clusters.conf."
747 echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/mysql/clusters.conf."
751 %triggerpostun -- mysql < 4.1.1
752 # For better compatibility with prevoius versions:
753 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do
754 if echo "$config" | grep -q '^/'; then
755 config_file="$config"
756 elif [ -f "/etc/mysql/$config" ]; then
757 config_file=/etc/mysql/$config
759 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/mysql/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/mysql/clusters.conf"
765 config_file="$clusterdir/mysqld.conf"
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/"
772 echo "Adding option old-passwords to config: $config_file"
773 echo "If you want to use new, better passwords - remove it"
775 # sed magic to add 'old-passwords' to [mysqld] section
776 sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
778 a; Compatibility options:
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
791 %defattr(644,root,root,755)
792 %doc support-files/*.cnf support-files/*.ini ChangeLog
793 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/mysql
794 %attr(754,root,root) /etc/rc.d/init.d/mysql
795 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql
796 %dir /etc/ssl/certs/mysql
797 %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/clusters.conf
798 %attr(755,root,root) %{_sbindir}/innochecksum
799 %attr(755,root,root) %{_sbindir}/my_print_defaults
800 %attr(755,root,root) %{_sbindir}/myisamchk
801 %attr(755,root,root) %{_sbindir}/myisamlog
802 %attr(755,root,root) %{_sbindir}/myisampack
803 %attr(755,root,root) %{_sbindir}/mysql_fix_privilege_tables
804 %attr(755,root,root) %{_sbindir}/mysql_upgrade
805 %attr(755,root,root) %{_sbindir}/mysqlcheck
806 %attr(755,root,root) %{_sbindir}/mysqld
807 %{_mandir}/man1/innochecksum.1*
808 %{_mandir}/man1/my_print_defaults.1*
809 %{_mandir}/man1/myisamchk.1*
810 %{_mandir}/man1/myisamlog.1*
811 %{_mandir}/man1/myisampack.1*
812 %{_mandir}/man1/mysql_fix_privilege_tables.1*
813 %{_mandir}/man1/mysql_upgrade.1*
814 %{_mandir}/man1/mysqlcheck.1*
815 %{_mandir}/man8/mysqld.8*
818 %attr(755,root,root) %{_bindir}/*resolve_stack_dump
819 %{_datadir}/mysql/mysqld.sym
820 %{_mandir}/man1/*resolve_stack_dump.1*
823 %attr(700,mysql,mysql) %{_mysqlhome}
824 # root:root is proper here for mysql.rpm while mysql:mysql is potential security hole
825 %attr(751,root,root) /var/lib/mysql
826 %attr(750,mysql,mysql) %dir /var/log/mysql
827 %attr(750,mysql,mysql) %dir /var/log/archive/mysql
828 %attr(640,mysql,mysql) %ghost /var/log/mysql/*
830 %{_infodir}/mysql.info*
831 # This is template for configuration file which is created after 'service mysql init'
832 %{_datadir}/mysql/mysqld.conf
833 %{_datadir}/mysql/mysql_system_tables.sql
834 %{_datadir}/mysql/mysql_system_tables_data.sql
835 %{_datadir}/mysql/mysql_test_data_timezone.sql
837 %{_datadir}/mysql/english
838 %{_datadir}/mysql/fill_help_tables.sql
839 %{_datadir}/mysql/mysql_fix_privilege_tables.sql
840 %lang(cs) %{_datadir}/mysql/czech
841 %lang(da) %{_datadir}/mysql/danish
842 %lang(de) %{_datadir}/mysql/german
843 %lang(el) %{_datadir}/mysql/greek
844 %lang(es) %{_datadir}/mysql/spanish
845 %lang(et) %{_datadir}/mysql/estonian
846 %lang(fr) %{_datadir}/mysql/french
847 %lang(hu) %{_datadir}/mysql/hungarian
848 %lang(it) %{_datadir}/mysql/italian
849 %lang(ja) %{_datadir}/mysql/japanese
850 %lang(ko) %{_datadir}/mysql/korean
851 %lang(nl) %{_datadir}/mysql/dutch
852 %lang(nb) %{_datadir}/mysql/norwegian
853 %lang(nn) %{_datadir}/mysql/norwegian-ny
854 %lang(pl) %{_datadir}/mysql/polish
855 %lang(pt) %{_datadir}/mysql/portuguese
856 %lang(ro) %{_datadir}/mysql/romanian
857 %lang(ru) %{_datadir}/mysql/russian
858 %lang(sr) %{_datadir}/mysql/serbian
859 %lang(sk) %{_datadir}/mysql/slovak
860 %lang(sv) %{_datadir}/mysql/swedish
861 %lang(uk) %{_datadir}/mysql/ukrainian
864 %defattr(644,root,root,755)
865 %dir %{_datadir}/mysql
866 %{_datadir}/mysql/charsets
869 %defattr(644,root,root,755)
870 %attr(755,root,root) %{_bindir}/msql2mysql
871 %attr(755,root,root) %{_bindir}/myisam_ftdump
872 %attr(755,root,root) %{_bindir}/mysql_secure_installation
873 %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql
874 %attr(755,root,root) %{_bindir}/perror
875 %attr(755,root,root) %{_bindir}/replace
876 %{_mandir}/man1/msql2mysql.1*
877 %{_mandir}/man1/myisam_ftdump.1*
878 %{_mandir}/man1/mysql_secure_installation.1*
879 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
880 %{_mandir}/man1/perror.1*
881 %{_mandir}/man1/replace.1*
884 %defattr(644,root,root,755)
885 %attr(755,root,root) %{_bindir}/mysql_convert_table_format
886 %attr(755,root,root) %{_bindir}/mysql_explain_log
887 %attr(755,root,root) %{_bindir}/mysql_find_rows
888 %attr(755,root,root) %{_bindir}/mysql_fix_extensions
889 %attr(755,root,root) %{_bindir}/mysql_setpermission
890 %attr(755,root,root) %{_bindir}/mysql_tableinfo
891 %attr(755,root,root) %{_bindir}/mysql_zap
892 %attr(755,root,root) %{_bindir}/mysqlaccess
893 %attr(755,root,root) %{_bindir}/mysqldumpslow
894 %attr(755,root,root) %{_bindir}/mysqlhotcopy
895 %{_mandir}/man1/mysql_convert_table_format.1*
896 %{_mandir}/man1/mysql_explain_log.1*
897 %{_mandir}/man1/mysql_find_rows.1*
898 %{_mandir}/man1/mysql_fix_extensions.1*
899 %{_mandir}/man1/mysql_setpermission.1*
900 %{_mandir}/man1/mysql_tableinfo.1*
901 %{_mandir}/man1/mysql_zap.1*
902 %{_mandir}/man1/mysqlaccess.1*
903 %{_mandir}/man1/mysqlhotcopy.1*
906 %defattr(644,root,root,755)
907 %attr(755,root,root) %{_bindir}/mysql
908 %attr(755,root,root) %{_bindir}/mysqladmin
909 %attr(755,root,root) %{_bindir}/mysqlbinlog
910 %attr(755,root,root) %{_bindir}/mysqlbug
911 %attr(755,root,root) %{_bindir}/mysqldump
912 %attr(755,root,root) %{_bindir}/mysqlimport
913 %attr(755,root,root) %{_bindir}/mysqlshow
914 %attr(755,root,root) %{_sbindir}/mysqlmanager
915 %{_mandir}/man1/mysql.1*
916 %{_mandir}/man1/mysqladmin.1*
917 %{_mandir}/man1/mysqlbinlog.1*
918 %{_mandir}/man1/mysqlbug.1*
919 %{_mandir}/man1/mysqldump.1*
920 %{_mandir}/man1/mysqlimport.1*
921 %{_mandir}/man1/mysqlshow.1*
922 %{_mandir}/man8/mysqlmanager.8*
925 %defattr(644,root,root,755)
926 %doc EXCEPTIONS-CLIENT
927 %attr(751,root,root) %dir %{_sysconfdir}/mysql
928 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/mysql-client.conf
929 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*
930 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.15
931 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*
932 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.15
933 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*
934 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.2
937 %defattr(644,root,root,755)
938 %attr(755,root,root) %{_bindir}/mysql_config
939 %attr(755,root,root) %{_libdir}/libmysqlclient.so
940 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so
941 %attr(755,root,root) %{_libdir}/libndbclient.so
942 %{_libdir}/libmysqlclient.la
943 %{_libdir}/libmysqlclient_r.la
944 %{_libdir}/libndbclient.la
948 %{_libdir}/libmyisam.a
949 %{_libdir}/libmyisammrg.a
950 %{_libdir}/libmysqld.a
951 %{_libdir}/libmystrings.a
952 %{_libdir}/libmysys.a
955 %{_mandir}/man1/mysql_config.1*
958 %defattr(644,root,root,755)
959 %{_libdir}/libmysqlclient.a
960 %{_libdir}/libmysqlclient_r.a
961 %{_libdir}/libndbclient.a
964 %defattr(644,root,root,755)
965 %attr(755,root,root) %{_bindir}/mysql_client_test
966 %attr(755,root,root) %{_bindir}/mysqltest
967 %attr(755,root,root) %{_bindir}/mysqltestmanager
968 %attr(755,root,root) %{_bindir}/mysqltestmanager-pwgen
969 %attr(755,root,root) %{_bindir}/mysqltestmanagerc
970 %dir %{_datadir}/sql-bench
971 %{_datadir}/sql-bench/[CDRl]*
972 %attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
974 %{_datadir}/mysql/mi_test_all.res
975 %attr(755,root,root) %{_datadir}/mysql/mi_test_all
976 %{_mandir}/man1/mysql_client_test.1*
977 %{_mandir}/man1/mysqltest.1*
980 #%defattr(644,root,root,755)
981 #%doc Docs/manual.html Docs/manual_toc.html
984 %defattr(644,root,root,755)
985 %attr(755,root,root) %{_sbindir}/ndbd
986 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb
987 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb
988 %{_mandir}/man8/ndbd.8*
991 %defattr(644,root,root,755)
992 %attr(755,root,root) %{_bindir}/ndb_config
993 %attr(755,root,root) %{_bindir}/ndb_delete_all
994 %attr(755,root,root) %{_bindir}/ndb_desc
995 %attr(755,root,root) %{_bindir}/ndb_drop_index
996 %attr(755,root,root) %{_bindir}/ndb_drop_table
997 %attr(755,root,root) %{_bindir}/ndb_error_reporter
998 %attr(755,root,root) %{_bindir}/ndb_mgm
999 %attr(755,root,root) %{_bindir}/ndb_restore
1000 %attr(755,root,root) %{_bindir}/ndb_select_all
1001 %attr(755,root,root) %{_bindir}/ndb_select_count
1002 %attr(755,root,root) %{_bindir}/ndb_show_tables
1003 %attr(755,root,root) %{_bindir}/ndb_size.pl
1004 %attr(755,root,root) %{_bindir}/ndb_test_platform
1005 %attr(755,root,root) %{_bindir}/ndb_waiter
1006 %attr(755,root,root) %{_datadir}/mysql/ndb_size.tmpl
1007 %{_mandir}/man1/ndb_config.1*
1008 %{_mandir}/man1/ndb_delete_all.1*
1009 %{_mandir}/man1/ndb_desc.1*
1010 %{_mandir}/man1/ndb_drop_index.1*
1011 %{_mandir}/man1/ndb_drop_table.1*
1012 %{_mandir}/man1/ndb_error_reporter.1*
1013 %{_mandir}/man1/ndb_mgm.1*
1014 %{_mandir}/man1/ndb_restore.1*
1015 %{_mandir}/man1/ndb_select_all.1*
1016 %{_mandir}/man1/ndb_select_count.1*
1017 %{_mandir}/man1/ndb_show_tables.1*
1018 %{_mandir}/man1/ndb_size.pl.1*
1019 %{_mandir}/man1/ndb_waiter.1*
1022 %defattr(644,root,root,755)
1023 %attr(755,root,root) %{_sbindir}/ndb_mgmd
1024 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm
1025 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm
1026 %{_mandir}/man8/ndb_mgmd.8*
1029 %defattr(644,root,root,755)
1030 %attr(755,root,root) %{_sbindir}/ndb_cpcd
1031 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc
1032 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc
1033 %{_mandir}/man1/ndb_cpcd.1*