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
15 %bcond_with xtrabackup # XtraBackup
17 %include /usr/lib/rpm/macros.perl
18 #define _snap 20060111
19 Summary: MySQL: a very fast and reliable SQL database engine
20 Summary(de.UTF-8): MySQL: ist eine SQL-Datenbank
21 Summary(fr.UTF-8): MySQL: un serveur SQL rapide et fiable
22 Summary(pl.UTF-8): MySQL: bardzo szybka i niezawodna baza danych (SQL)
23 Summary(pt_BR.UTF-8): MySQL: Um servidor SQL rápido e confiável
24 Summary(ru.UTF-8): MySQL - быстрый SQL-сервер
25 Summary(uk.UTF-8): MySQL - швидкий SQL-сервер
26 Summary(zh_CN.UTF-8): MySQL数据库服务器
30 License: GPL + MySQL FLOSS Exception
31 Group: Applications/Databases
32 #Source0: ftp://ftp.mysql.com/pub/mysql/src/%{name}-%{version}.tar.gz
33 Source0: http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
34 # Source0-md5: 2d35e4980f279c839172a6efdb0f0b15
35 #Source0: http://mysql.he.net/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
36 #Source0: http://mirror.provenscaling.com/mysql/enterprise/source/5.0/%{name}-%{version}.tar.gz
37 Source100: http://www.sphinxsearch.com/downloads/sphinx-0.9.9-rc1.tar.gz
38 # Source100-md5: d1506c8f85c045bb682393de0aed30e8
40 Source2: %{name}.sysconfig
41 Source3: %{name}.logrotate
42 Source4: %{name}d.conf
43 Source5: %{name}-clusters.conf
44 Source7: %{name}-ndb.init
45 Source8: %{name}-ndb.sysconfig
46 Source9: %{name}-ndb-mgm.init
47 Source10: %{name}-ndb-mgm.sysconfig
48 Source11: %{name}-ndb-cpc.init
49 Source12: %{name}-ndb-cpc.sysconfig
50 Source13: %{name}-client.conf
51 Patch0: %{name}-libs.patch
52 Patch1: %{name}-sphinx.patch
53 Patch2: %{name}-c++.patch
54 Patch3: %{name}-info.patch
55 Patch4: %{name}-sql-cxx-pic.patch
56 Patch5: %{name}-noproc.patch
57 Patch6: %{name}-fix_privilege_tables.patch
58 Patch7: %{name}-align.patch
59 Patch8: %{name}-client-config.patch
60 Patch9: %{name}-build.patch
61 Patch10: %{name}-alpha.patch
62 Patch11: %{name}-ndb-ldflags.patch
63 Patch12: %{name}-bug-20153.patch
64 Patch13: %{name}-bug-34192.patch
65 Patch14: %{name}-bug-16470.patch
66 Patch15: %{name}-system-users.patch
67 # <percona patches, http://www.percona.com/percona-lab.html>
68 Patch16: %{name}-microslow_innodb.patch
69 Patch17: %{name}-userstatv2.patch
70 Patch18: %{name}-innodb_io_patches.patch
71 Patch19: %{name}-microsec_process.patch
72 Patch20: %{name}-innodb_show_bp.patch
73 Patch21: %{name}-innodb_locks_held.patch
74 Patch22: %{name}-innodb_io_pattern.patch
75 Patch23: %{name}-innodb_show_hashed_memory.patch
76 Patch24: %{name}-innodb_rw_lock.patch
77 Patch25: %{name}-innodb_fsync_source.patch
78 Patch26: %{name}-show_patches.patch
79 Patch27: %{name}-split_buf_pool_mutex_fixed_optimistic_safe.patch
80 Patch28: %{name}-innodb_check_fragmentation.patch
82 Patch29: %{name}-errorlog-no-rename.patch
83 Patch30: %{name}-alpha-stack.patch
84 Patch31: %{name}-xtrabackup.patch
85 Patch32: %{name}-fixes.patch
86 URL: http://www.mysql.com/products/database/mysql/community_edition.html
87 BuildRequires: autoconf
88 BuildRequires: automake
90 %{?with_bdb:BuildRequires: db3-devel}
92 BuildRequires: libstdc++-devel >= 5:3.0
93 BuildRequires: libtool
94 %{?with_tcpd:BuildRequires: libwrap-devel}
95 BuildRequires: ncurses-devel >= 4.2
96 %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
97 %{?with_autodeps:BuildRequires: perl-DBI}
98 BuildRequires: perl-devel >= 1:5.6.1
99 BuildRequires: readline-devel >= 4.2
100 BuildRequires: rpm-perlprov >= 4.1-13
101 BuildRequires: rpmbuild(macros) >= 1.414
102 BuildRequires: sed >= 4.0
103 BuildRequires: texinfo
104 BuildRequires: zlib-devel
105 Requires(post,preun): /sbin/chkconfig
106 Requires(postun): /usr/sbin/groupdel
107 Requires(postun): /usr/sbin/userdel
108 Requires(pre): /bin/id
109 Requires(pre): /usr/bin/getgid
110 Requires(pre): /usr/sbin/groupadd
111 Requires(pre): /usr/sbin/useradd
112 Requires(triggerpostun): sed >= 4.0
113 Requires: %{name}-charsets = %{version}-%{release}
114 Requires: %{name}-libs = %{version}-%{release}
115 Requires: /usr/bin/setsid
116 Requires: logrotate >= 3.7-4
117 Requires: rc-scripts >= 0.2.0
118 Suggests: mysql-client
119 %{?with_tcpd:Suggests: tcp_wrappers}
120 Provides: MySQL-server
121 Provides: group(mysql)
122 Provides: msqlormysql
123 Provides: user(mysql)
125 Obsoletes: mysql-server
126 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
128 %define _libexecdir %{_sbindir}
129 %define _localstatedir /var/lib/mysql
130 %define _mysqlhome /home/services/mysql
132 %define _noautoreqdep 'perl(DBD::mysql)'
133 # CFLAGS for innodb are altered
134 %undefine configure_cache
137 MySQL is a true multi-user, multi-threaded SQL (Structured Query
138 Language) database server. SQL is the most popular database language
139 in the world. MySQL is a client/server implementation that consists of
140 a server daemon mysqld and many different client programs/libraries.
142 The main goals of MySQL are speed, robustness and easy to use. MySQL
143 was originally developed because we at Tcx needed a SQL server that
144 could handle very big databases with magnitude higher speed than what
145 any database vendor could offer to us. We have now been using MySQL
146 since 1996 in a environment with more than 40 databases, 10,000
147 tables, of which more than 500 have more than 7 million rows. This is
148 about 50G of mission critical data.
150 The base upon which MySQL is built is a set of routines that have been
151 used in a highly demanding production environment for many years.
152 While MySQL is still in development, it already offers a rich and
153 highly useful function set.
155 %description -l fr.UTF-8
156 MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et
157 multi-taches. Le langage SQL est le langage de bases de donnees le
158 plus populaire au monde. MySQL est une implementation client/serveur
159 qui consiste en un serveur (mysqld) et differents
160 programmes/bibliotheques clientes.
162 Les objectifs principaux de MySQL sont: vitesse, robustesse et
163 facilite d'utilisation. MySQL fut originalement developpe parce que
164 nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de
165 tres grandes bases de donnees avec une vitesse d'un ordre de magnitude
166 superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous
167 utilisons MySQL depuis 1996 dans un environnement avec plus de 40
168 bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7
169 millions de lignes. Ceci represente environ 50G de donnees critiques.
171 A la base de la conception de MySQL, on retrouve une serie de routines
172 qui ont ete utilisees dans un environnement de production pendant
173 plusieurs annees. Meme si MySQL est encore en developpement, il offre
174 deja une riche et utile serie de fonctions.
176 %description -l pl.UTF-8
177 MySQL to prawdziwie wieloużytkownikowy, wielowątkowy serwer baz danych
178 SQL. SQL jest najpopularniejszym na świecie językiem używanym do baz
179 danych. MySQL to implementacja klient/serwer składająca się z demona
180 mysqld i wielu różnych programów i bibliotek klienckich.
182 Głównymi celami MySQL-a są szybkość, potęga i łatwość użytkowania.
183 MySQL oryginalnie był tworzony, ponieważ autorzy w Tcx potrzebowali
184 serwera SQL do obsługi bardzo dużych baz danych z szybkością o wiele
185 większą, niż mogli zaoferować inni producenci baz danych. Używają go
186 od 1996 roku w środowisku z ponad 40 bazami danych, 10 000 tabel, z
187 których ponad 500 zawiera ponad 7 milionów rekordów - w sumie około
188 50GB krytycznych danych.
190 Baza, na której oparty jest MySQL, składa się ze zbioru procedur,
191 które były używane w bardzo wymagającym środowisku produkcyjnym przez
192 wiele lat. Pomimo, że MySQL jest ciągle rozwijany, już oferuje bogaty
193 i użyteczny zbiór funkcji.
195 %description -l de.UTF-8
196 MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz zu
197 Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten
198 werden zwar in zweidimensionalen Tabellen gespeichert und können mit
199 einem Primärschlüssel versehen werden. Es ist aber keine Definition
200 eines Fremdschlüssels möglich. Der Benutzer ist somit bei einer
201 MySQL-Datenbank völlig allein für die (referenzielle) Integrität der
202 Daten verantwortlich. Allein durch die Nutzung externer
203 Tabellenformate, wie InnoDB bzw Berkeley DB wird eine Relationalität
204 ermöglicht. Diese Projekte sind aber getrennt von MySQL zu betrachten.
206 %description -l pt_BR.UTF-8
207 O MySQL é um servidor de banco de dados SQL realmente multiusuário e
208 multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de
209 dados no mundo. O MySQL é uma implementação cliente/servidor que
210 consiste de um servidor chamado mysqld e diversos
211 programas/bibliotecas clientes. Os principais objetivos do MySQL são:
212 velocidade, robustez e facilidade de uso. O MySQL foi originalmente
213 desenvolvido porque nós na Tcx precisávamos de um servidor SQL que
214 pudesse lidar com grandes bases de dados e com uma velocidade muito
215 maior do que a que qualquer vendedor podia nos oferecer. Estamos
216 usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados
217 com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de
218 linhas. Isto é o equivalente a aproximadamente 50G de dados críticos.
219 A base da construção do MySQL é uma série de rotinas que foram usadas
220 em um ambiente de produção com alta demanda por muitos anos. Mesmo o
221 MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de
222 funções muito ricas e úteis. Veja a documentação para maiores
225 %description -l ru.UTF-8
226 MySQL - это SQL (Structured Query Language) сервер базы данных. MySQL
227 была написана Michael'ом (monty) Widenius'ом. См. файл CREDITS в
228 дистрибутиве на предмет других участников проекта и прочей информации
231 %description -l uk.UTF-8
232 MySQL - це SQL (Structured Query Language) сервер бази даних. MySQL
233 було написано Michael'ом (monty) Widenius'ом. Див. файл CREDITS в
234 дистрибутиві для інформації про інших учасників проекту та іншої
238 Summary: MySQL - character sets definitions
239 Summary(pl.UTF-8): MySQL - definicje kodowań znaków
240 Group: Applications/Databases
242 %description charsets
243 This package contains character sets definitions needed by both client
246 %description charsets -l pl.UTF-8
247 Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i
251 Summary: MySQL additional utilities
252 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL
253 Group: Applications/Databases
254 Requires: %{name}-libs = %{version}-%{release}
257 MySQL additional utilities except Perl scripts (they may be found in
258 %{name}-extras-perl package).
260 %description extras -l pl.UTF-8
261 Dodatkowe narzędzia do MySQL - z wyjątkiem skryptów Perla (które są w
262 pakiecie %{name}-extras-perl).
265 Summary: MySQL additional utilities written in Perl
266 Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL napisane w Perlu
267 Group: Applications/Databases
268 Requires: %{name}-extras = %{version}-%{release}
269 Requires: perl(DBD::mysql)
271 %description extras-perl
272 MySQL additional utilities written in Perl.
274 %description extras-perl -l pl.UTF-8
275 Dodatkowe narzędzia do MySQL napisane w Perlu.
278 Summary: MySQL - Client
279 Summary(pl.UTF-8): MySQL - Klient
280 Summary(pt.UTF-8): MySQL - Cliente
281 Summary(ru.UTF-8): MySQL клиент
282 Summary(uk.UTF-8): MySQL клієнт
283 Group: Applications/Databases
284 Requires: %{name}-charsets = %{version}-%{release}
285 Requires: %{name}-libs = %{version}-%{release}
286 Obsoletes: MySQL-client
289 This package contains the standard MySQL clients.
291 %description client -l fr.UTF-8
292 Ce package contient les clients MySQL standards.
294 %description client -l pl.UTF-8
295 Standardowe programy klienckie MySQL.
297 %description client -l pt_BR.UTF-8
298 Este pacote contém os clientes padrão para o MySQL.
300 %description client -l ru.UTF-8
301 Этот пакет содержит только клиент MySQL.
303 %description client -l uk.UTF-8
304 Цей пакет містить тільки клієнта MySQL.
307 Summary: Shared libraries for MySQL
308 Summary(pl.UTF-8): Biblioteki dzielone MySQL
310 Obsoletes: libmysql10
311 Obsoletes: mysql-doc < 4.1.12
314 Shared libraries for MySQL.
316 %description libs -l pl.UTF-8
317 Biblioteki dzielone MySQL.
320 Summary: MySQL - Development header files and libraries
321 Summary(pl.UTF-8): MySQL - Pliki nagłówkowe i biblioteki dla programistów
322 Summary(pt.UTF-8): MySQL - Medições de desempenho
323 Summary(ru.UTF-8): MySQL - хедеры и библиотеки разработчика
324 Summary(uk.UTF-8): MySQL - хедери та бібліотеки програміста
325 Group: Development/Libraries
326 Requires: %{name}-libs = %{version}-%{release}
327 %{?with_ssl:Requires: openssl-devel}
329 Obsoletes: MySQL-devel
330 Obsoletes: libmysql10-devel
333 This package contains the development header files and libraries
334 necessary to develop MySQL client applications.
336 %description devel -l fr.UTF-8
337 Ce package contient les fichiers entetes et les librairies de
338 developpement necessaires pour developper des applications clientes
341 %description devel -l pl.UTF-8
342 Pliki nagłówkowe i biblioteki konieczne do kompilacji aplikacji
345 %description devel -l pt_BR.UTF-8
346 Este pacote contém os arquivos de cabeçalho (header files) e
347 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
349 %description devel -l ru.UTF-8
350 Этот пакет содержит хедеры и библиотеки разработчика, необходимые для
351 разработки клиентских приложений.
353 %description devel -l uk.UTF-8
354 Цей пакет містить хедери та бібліотеки програміста, необхідні для
355 розробки програм-клієнтів.
358 Summary: MySQL static libraries
359 Summary(pl.UTF-8): Biblioteki statyczne MySQL
360 Summary(ru.UTF-8): MySQL - статические библиотеки
361 Summary(uk.UTF-8): MySQL - статичні бібліотеки
362 Group: Development/Libraries
363 Requires: %{name}-devel = %{version}-%{release}
364 Obsoletes: MySQL-static
367 MySQL static libraries.
369 %description static -l pl.UTF-8
370 Biblioteki statyczne MySQL.
372 %description static -l ru.UTF-8
373 Этот пакет содержит статические библиотеки разработчика, необходимые
374 для разработки клиентских приложений.
376 %description static -l uk.UTF-8
377 Цей пакет містить статичні бібліотеки програміста, необхідні для
378 розробки програм-клієнтів.
381 Summary: MySQL - Benchmarks
382 Summary(pl.UTF-8): MySQL - Programy testujące szybkość działania bazy
383 Summary(pt.UTF-8): MySQL - Medições de desempenho
384 Summary(ru.UTF-8): MySQL - бенчмарки
385 Summary(uk.UTF-8): MySQL - бенчмарки
386 Group: Applications/Databases
387 Requires: %{name} = %{version}-%{release}
388 Requires: %{name}-client
389 Requires: perl(DBD::mysql)
390 Obsoletes: MySQL-bench
393 This package contains MySQL benchmark scripts and data.
395 %description bench -l pl.UTF-8
396 Programy testujące szybkość serwera MySQL.
398 %description bench -l pt_BR.UTF-8
399 Este pacote contém medições de desempenho de scripts e dados do MySQL.
401 %description bench -l ru.UTF-8
402 Этот пакет содержит скрипты и данные для оценки производительности
405 %description bench -l uk.UTF-8
406 Цей пакет містить скрипти та дані для оцінки продуктивності MySQL.
409 Summary: MySQL manual
410 Summary(pl.UTF-8): Podręcznik użytkownika MySQL
411 Group: Applications/Databases
414 This package contains manual in HTML format.
416 %description doc -l pl.UTF-8
417 Podręcznik MySQL-a w formacie HTML.
420 Summary: MySQL - NDB Storage Engine Daemon
421 Summary(pl.UTF-8): MySQL - demon silnika przechowywania danych NDB
422 Group: Applications/Databases
423 Requires: %{name}-libs = %{version}-%{release}
426 This package contains the standard MySQL NDB Storage Engine Daemon.
428 %description ndb -l pl.UTF-8
429 Ten pakiet zawiera standardowego demona silnika przechowywania danych
433 Summary: MySQL - NDB Clients
434 Summary(pl.UTF-8): MySQL - programy klienckie NDB
435 Group: Applications/Databases
436 Requires: %{name}-libs = %{version}-%{release}
438 %description ndb-client
439 This package contains the standard MySQL NDB Clients.
441 %description ndb-client -l pl.UTF-8
442 Ten pakiet zawiera standardowe programy klienckie MySQL NDB.
445 Summary: MySQL - NDB Management Daemon
446 Summary(pl.UTF-8): MySQL - demon zarządzający NDB
447 Group: Applications/Databases
448 Requires: %{name}-libs = %{version}-%{release}
451 This package contains the standard MySQL NDB Management Daemon.
453 %description ndb-mgm -l pl.UTF-8
454 Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB.
457 Summary: MySQL - NDB CPC Daemon
458 Summary(pl.UTF-8): MySQL - demon NDB CPC
459 Group: Applications/Databases
460 Requires: %{name}-libs = %{version}-%{release}
463 This package contains the standard MySQL NDB CPC Daemon.
465 %description ndb-cpc -l pl.UTF-8
466 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
469 %setup -q %{?_snap:-n %{name}-%{version}-nightly-%{_snap}} %{?with_sphinx:-a100}
472 mv sphinx-*/mysqlse sql/sphinx
478 # this is strange: mysqld functions for UDF modules are not explicitly defined,
479 # so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables
480 # in objects compiled without -fPIC
512 %{?with_xtrabackup:%patch31 -p1}
521 # The compiler flags are as per their "official" spec ;)
522 CXXFLAGS="%{rpmcflags} -felide-constructors -fno-rtti -fno-exceptions %{!?debug:-fomit-frame-pointer}"
523 CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
525 # NOTE: the PS, FIND_PROC, KILL, CHECK_PID are not used by PLD Linux
526 # and therefore do not add BR on these. These are here just to satisfy
531 FIND_PROC='/bin/ps p $$PID' \
533 CHECK_PID='/bin/kill -0 $$PID' \
535 --enable-largefile=yes \
538 --enable-thread-safe-client \
539 --with%{!?with_bdb:out}-berkeley-db \
540 --with%{!?with_innodb:out}-innodb \
541 --with%{!?with_raid:out}-raid \
542 --with%{!?with_ssl:out}-openssl \
543 --with%{!?with_tcpd:out}-libwrap \
544 %{?with_big_tables:--with-big-tables} \
545 --with-comment="PLD Linux Distribution MySQL RPM" \
546 --with%{!?debug:out}-debug \
547 --with%{!?debug:out}-ndb-debug \
548 --with-embedded-server \
549 --with-extra-charsets=all \
551 --with-mysqld-user=mysql \
552 --with-named-curses-libs="-lncurses" \
553 --with-named-thread-libs="-lpthread" \
554 --with-unix-socket-path=/var/lib/mysql/mysql.sock \
555 --with-archive-storage-engine \
556 %{?with_sphinx:--with-sphinx-storage-engine} \
557 %{?with_federated:--with-federated-storage-engine} \
564 # --with-ndb-test --with-ndb-docs
566 # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file
567 # (it defaults to first cluster but user may change it to whatever
570 echo -e "all:\ninstall:\nclean:\nlink_sources:\n" > libmysqld/examples/Makefile
573 benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench
575 %if %{with xtrabackup}
576 %{__make} -C innobase/xtrabackup \
580 %{__make} -C Docs mysql.info
583 rm -rf $RPM_BUILD_ROOT
584 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,ssl/certs/mysql} \
585 $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,lib/mysql} \
586 $RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}}
589 install -d $RPM_BUILD_ROOT/var/lib/mysql/bdb/{log,tmp}
594 DESTDIR=$RPM_BUILD_ROOT \
595 benchdir=%{_datadir}/sql-bench \
597 # libsdir is to avoid installing innodb static libs in $RPM_BUILD_ROOT../libs
599 install Docs/mysql.info $RPM_BUILD_ROOT%{_infodir}
601 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
602 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
603 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
604 # This is template for configuration file which is created after 'service mysql init'
605 install %{SOURCE4} mysqld.conf
606 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/clusters.conf
607 touch $RPM_BUILD_ROOT/var/log/mysql/{err,log,update}
609 # remove innodb directives from mysqld.conf if mysqld is configured without
610 %if %{without innodb}
611 cp mysqld.conf mysqld.tmp
612 awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
615 # remove berkeley-db directives from mysqld.conf if mysqld is configured without
617 cp mysqld.conf mysqld.tmp
618 awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
621 install mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.conf
622 cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/mysql-client.conf
625 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
626 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb
627 install %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
628 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
629 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
630 install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
632 mv -f $RPM_BUILD_ROOT%{_libdir}/mysql/lib* $RPM_BUILD_ROOT%{_libdir}
633 sed -i -e 's,%{_libdir}/mysql,%{_libdir},' $RPM_BUILD_ROOT{%{_libdir}/libmysqlclient{,_r}.la,%{_bindir}/mysql_config}
634 sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config
636 # remove known unpackaged files
637 rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
639 # remove .txt variants for .sys messages
640 rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/*/*.txt
642 # rename not to be so generic name
643 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
644 mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1
646 # not useful without -debug build
647 %{!?debug:rm -f $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
648 %{!?debug:rm -f $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
649 # generate symbols file, so one can generate backtrace using it
650 # mysql_resolve_stack_dump -s %{_datadir}/mysql/mysqld.sym -n mysqld.stack.
651 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
652 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.sym}
654 # do not clobber users $PATH
655 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade
656 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum
657 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk
658 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog
659 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack
660 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables
661 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults
662 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck
664 # functionality in initscript / rpm
665 rm $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
666 rm $RPM_BUILD_ROOT%{_bindir}/mysql_upgrade_shell
667 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
668 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
669 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
670 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate
671 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
672 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
673 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg.txt
674 rm $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
675 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
676 rm $RPM_BUILD_ROOT%{_mandir}/man1/safe_mysqld*
677 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
678 rm $RPM_BUILD_ROOT%{_bindir}/resolveip
679 rm $RPM_BUILD_ROOT%{_mandir}/man1/resolveip.1*
680 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_bin_dist.1
681 rm $RPM_BUILD_ROOT%{_bindir}/comp_err
682 rm $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1
683 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_install_db.1
684 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1
685 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_src_distribution.1
686 rm $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld_multi.server
688 # no package for tests
689 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1
690 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1
691 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1
693 rm $RPM_BUILD_ROOT%{_mandir}/man1/ndb_print_backup_file.1
694 rm $RPM_BUILD_ROOT%{_mandir}/man1/ndb_print_schema_file.1
695 rm $RPM_BUILD_ROOT%{_mandir}/man1/ndb_print_sys_file.1
696 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqltest_embedded.1
699 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf}
702 rm -rf $RPM_BUILD_ROOT
705 %groupadd -g 89 mysql
706 %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql
709 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
710 /sbin/chkconfig --add mysql
711 %service mysql restart
714 if [ "$1" = "0" ]; then
715 %service -q mysql stop
716 /sbin/chkconfig --del mysql
720 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
721 if [ "$1" = "0" ]; then
727 /sbin/chkconfig --add mysql-ndb
728 %service mysql-ndb restart "mysql NDB engine"
731 if [ "$1" = "0" ]; then
732 %service mysql-ndb stop
733 /sbin/chkconfig --del mysql-ndb
737 /sbin/chkconfig --add mysql-ndb-mgm
738 %service mysql-ndb-mgm restart "mysql NDB management node"
741 if [ "$1" = "0" ]; then
742 %service mysql-ndb-mgm stop
743 /sbin/chkconfig --del mysql-ndb-mgm
747 /sbin/chkconfig --add mysql-ndb-cpc
748 %service mysql-ndb-cpc restart "mysql NDB CPC"
751 if [ "$1" = "0" ]; then
752 %service mysql-ndb-cpc stop
753 /sbin/chkconfig --del mysql-ndb-cpc
756 %post libs -p /sbin/ldconfig
757 %postun libs -p /sbin/ldconfig
759 %triggerpostun -- mysql < 4.0.20-2.4
760 # For clusters in /etc/mysql/clusters.conf
761 if [ -f /etc/sysconfig/mysql ]; then
762 . /etc/sysconfig/mysql
763 if [ -n "$MYSQL_DB_CLUSTERS" ]; then
764 for i in "$MYSQL_DB_CLUSTERS"; do
765 echo "$i/mysqld.conf=$i" >> /etc/mysql/clusters.conf
767 echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql
768 echo "# USE /etc/mysql/clusters.conf instead" >> /etc/sysconfig/mysql
769 echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/mysql/clusters.conf."
770 echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/mysql/clusters.conf."
774 %triggerpostun -- mysql < 4.1.1
775 # For better compatibility with prevoius versions:
776 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do
777 if echo "$config" | grep -q '^/'; then
778 config_file="$config"
779 elif [ -f "/etc/mysql/$config" ]; then
780 config_file=/etc/mysql/$config
782 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/mysql/clusters.conf)
783 if [ -z "$clusterdir" ]; then
784 echo >&2 "Can't find cluster dir for $config!"
785 echo >&2 "Please remove extra (leading) spaces from /etc/mysql/clusters.conf"
788 config_file="$clusterdir/mysqld.conf"
791 if [ ! -f "$config_file" ]; then
792 echo >&2 "Lost myself! Please report this (with above errors, if any) to http://bugs.pld-linux.org/"
795 echo "Adding option old-passwords to config: $config_file"
796 echo "If you want to use new, better passwords - remove it"
798 # sed magic to add 'old-passwords' to [mysqld] section
799 sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
801 a; Compatibility options:
807 %banner -e %{name}-4.1.x <<-EOF
808 If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data:
809 mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql
814 %defattr(644,root,root,755)
815 %doc support-files/*.cnf support-files/*.ini ChangeLog
816 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/mysql
817 %attr(754,root,root) /etc/rc.d/init.d/mysql
818 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql
819 %dir /etc/ssl/certs/mysql
820 %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/clusters.conf
821 %attr(755,root,root) %{_sbindir}/innochecksum
822 %attr(755,root,root) %{_sbindir}/my_print_defaults
823 %attr(755,root,root) %{_sbindir}/myisamchk
824 %attr(755,root,root) %{_sbindir}/myisamlog
825 %attr(755,root,root) %{_sbindir}/myisampack
826 %attr(755,root,root) %{_sbindir}/mysql_fix_privilege_tables
827 %attr(755,root,root) %{_sbindir}/mysql_upgrade
828 %attr(755,root,root) %{_sbindir}/mysqlcheck
829 %attr(755,root,root) %{_sbindir}/mysqld
830 %{_mandir}/man1/innochecksum.1*
831 %{_mandir}/man1/my_print_defaults.1*
832 %{_mandir}/man1/myisamchk.1*
833 %{_mandir}/man1/myisamlog.1*
834 %{_mandir}/man1/myisampack.1*
835 %{_mandir}/man1/mysql_fix_privilege_tables.1*
836 %{_mandir}/man1/mysql_upgrade.1*
837 %{_mandir}/man1/mysqlcheck.1*
838 %{_mandir}/man8/mysqld.8*
841 %attr(755,root,root) %{_bindir}/*resolve_stack_dump
842 %{_datadir}/mysql/mysqld.sym
843 %{_mandir}/man1/*resolve_stack_dump.1*
846 %attr(700,mysql,mysql) %{_mysqlhome}
847 # root:root is proper here for mysql.rpm while mysql:mysql is potential security hole
848 %attr(751,root,root) /var/lib/mysql
849 %attr(750,mysql,mysql) %dir /var/log/mysql
850 %attr(750,mysql,mysql) %dir /var/log/archive/mysql
851 %attr(640,mysql,mysql) %ghost /var/log/mysql/*
853 %{_infodir}/mysql.info*
854 # This is template for configuration file which is created after 'service mysql init'
855 %{_datadir}/mysql/mysqld.conf
856 %{_datadir}/mysql/mysql_system_tables.sql
857 %{_datadir}/mysql/mysql_system_tables_data.sql
858 %{_datadir}/mysql/mysql_test_data_timezone.sql
860 %{_datadir}/mysql/english
861 %{_datadir}/mysql/fill_help_tables.sql
862 %{_datadir}/mysql/mysql_fix_privilege_tables.sql
863 %lang(cs) %{_datadir}/mysql/czech
864 %lang(da) %{_datadir}/mysql/danish
865 %lang(de) %{_datadir}/mysql/german
866 %lang(el) %{_datadir}/mysql/greek
867 %lang(es) %{_datadir}/mysql/spanish
868 %lang(et) %{_datadir}/mysql/estonian
869 %lang(fr) %{_datadir}/mysql/french
870 %lang(hu) %{_datadir}/mysql/hungarian
871 %lang(it) %{_datadir}/mysql/italian
872 %lang(ja) %{_datadir}/mysql/japanese
873 %lang(ko) %{_datadir}/mysql/korean
874 %lang(nl) %{_datadir}/mysql/dutch
875 %lang(nb) %{_datadir}/mysql/norwegian
876 %lang(nn) %{_datadir}/mysql/norwegian-ny
877 %lang(pl) %{_datadir}/mysql/polish
878 %lang(pt) %{_datadir}/mysql/portuguese
879 %lang(ro) %{_datadir}/mysql/romanian
880 %lang(ru) %{_datadir}/mysql/russian
881 %lang(sr) %{_datadir}/mysql/serbian
882 %lang(sk) %{_datadir}/mysql/slovak
883 %lang(sv) %{_datadir}/mysql/swedish
884 %lang(uk) %{_datadir}/mysql/ukrainian
887 %defattr(644,root,root,755)
888 %dir %{_datadir}/mysql
889 %{_datadir}/mysql/charsets
892 %defattr(644,root,root,755)
893 %attr(755,root,root) %{_bindir}/msql2mysql
894 %attr(755,root,root) %{_bindir}/myisam_ftdump
895 %attr(755,root,root) %{_bindir}/mysql_secure_installation
896 %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql
897 %attr(755,root,root) %{_bindir}/perror
898 %attr(755,root,root) %{_bindir}/replace
899 %{_mandir}/man1/msql2mysql.1*
900 %{_mandir}/man1/myisam_ftdump.1*
901 %{_mandir}/man1/mysql_secure_installation.1*
902 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
903 %{_mandir}/man1/perror.1*
904 %{_mandir}/man1/replace.1*
907 %defattr(644,root,root,755)
908 %attr(755,root,root) %{_bindir}/mysql_convert_table_format
909 %attr(755,root,root) %{_bindir}/mysql_explain_log
910 %attr(755,root,root) %{_bindir}/mysql_find_rows
911 %attr(755,root,root) %{_bindir}/mysql_fix_extensions
912 %attr(755,root,root) %{_bindir}/mysql_setpermission
913 %attr(755,root,root) %{_bindir}/mysql_tableinfo
914 %attr(755,root,root) %{_bindir}/mysql_zap
915 %attr(755,root,root) %{_bindir}/mysqlaccess
916 %attr(755,root,root) %{_bindir}/mysqldumpslow
917 %attr(755,root,root) %{_bindir}/mysqlhotcopy
918 %{_mandir}/man1/mysql_convert_table_format.1*
919 %{_mandir}/man1/mysql_explain_log.1*
920 %{_mandir}/man1/mysql_find_rows.1*
921 %{_mandir}/man1/mysql_fix_extensions.1*
922 %{_mandir}/man1/mysql_setpermission.1*
923 %{_mandir}/man1/mysql_tableinfo.1*
924 %{_mandir}/man1/mysql_zap.1*
925 %{_mandir}/man1/mysqlaccess.1*
926 %{_mandir}/man1/mysqldumpslow.1*
927 %{_mandir}/man1/mysqlhotcopy.1*
930 %defattr(644,root,root,755)
931 %attr(755,root,root) %{_bindir}/mysql
932 %attr(755,root,root) %{_bindir}/mysqladmin
933 %attr(755,root,root) %{_bindir}/mysqlbinlog
934 %attr(755,root,root) %{_bindir}/mysqlbug
935 %attr(755,root,root) %{_bindir}/mysqldump
936 %attr(755,root,root) %{_bindir}/mysqlimport
937 %attr(755,root,root) %{_bindir}/mysqlshow
938 %attr(755,root,root) %{_sbindir}/mysqlmanager
939 %{_mandir}/man1/mysql.1*
940 %{_mandir}/man1/mysqladmin.1*
941 %{_mandir}/man1/mysqlbinlog.1*
942 %{_mandir}/man1/mysqlbug.1*
943 %{_mandir}/man1/mysqldump.1*
944 %{_mandir}/man1/mysqlimport.1*
945 %{_mandir}/man1/mysqlshow.1*
946 %{_mandir}/man8/mysqlmanager.8*
949 %defattr(644,root,root,755)
950 %doc EXCEPTIONS-CLIENT
951 %attr(751,root,root) %dir %{_sysconfdir}/mysql
952 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/mysql-client.conf
953 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*
954 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.15
955 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*
956 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.15
957 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*
958 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.2
961 %defattr(644,root,root,755)
962 %attr(755,root,root) %{_bindir}/mysql_config
963 %attr(755,root,root) %{_libdir}/libmysqlclient.so
964 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so
965 %attr(755,root,root) %{_libdir}/libndbclient.so
966 %{_libdir}/libmysqlclient.la
967 %{_libdir}/libmysqlclient_r.la
968 %{_libdir}/libndbclient.la
972 %{_libdir}/libmyisam.a
973 %{_libdir}/libmyisammrg.a
974 %{_libdir}/libmysqld.a
975 %{_libdir}/libmystrings.a
976 %{_libdir}/libmysys.a
979 %{_mandir}/man1/mysql_config.1*
982 %defattr(644,root,root,755)
983 %{_libdir}/libmysqlclient.a
984 %{_libdir}/libmysqlclient_r.a
985 %{_libdir}/libndbclient.a
988 %defattr(644,root,root,755)
989 %attr(755,root,root) %{_bindir}/mysql_client_test
990 %attr(755,root,root) %{_bindir}/mysqltest
991 %attr(755,root,root) %{_bindir}/mysqltestmanager
992 %attr(755,root,root) %{_bindir}/mysqltestmanager-pwgen
993 %attr(755,root,root) %{_bindir}/mysqltestmanagerc
994 %dir %{_datadir}/sql-bench
995 %{_datadir}/sql-bench/[CDRl]*
996 %attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
998 %{_datadir}/mysql/mi_test_all.res
999 %attr(755,root,root) %{_datadir}/mysql/mi_test_all
1000 %{_mandir}/man1/mysql_client_test.1*
1001 %{_mandir}/man1/mysqltest.1*
1004 #%defattr(644,root,root,755)
1005 #%doc Docs/manual.html Docs/manual_toc.html
1008 %defattr(644,root,root,755)
1009 %attr(755,root,root) %{_sbindir}/ndbd
1010 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb
1011 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb
1012 %{_mandir}/man8/ndbd.8*
1015 %defattr(644,root,root,755)
1016 %attr(755,root,root) %{_bindir}/ndb_config
1017 %attr(755,root,root) %{_bindir}/ndb_delete_all
1018 %attr(755,root,root) %{_bindir}/ndb_desc
1019 %attr(755,root,root) %{_bindir}/ndb_drop_index
1020 %attr(755,root,root) %{_bindir}/ndb_drop_table
1021 %attr(755,root,root) %{_bindir}/ndb_error_reporter
1022 %attr(755,root,root) %{_bindir}/ndb_mgm
1023 %attr(755,root,root) %{_bindir}/ndb_restore
1024 %attr(755,root,root) %{_bindir}/ndb_select_all
1025 %attr(755,root,root) %{_bindir}/ndb_select_count
1026 %attr(755,root,root) %{_bindir}/ndb_show_tables
1027 %attr(755,root,root) %{_bindir}/ndb_size.pl
1028 %attr(755,root,root) %{_bindir}/ndb_test_platform
1029 %attr(755,root,root) %{_bindir}/ndb_waiter
1030 %attr(755,root,root) %{_datadir}/mysql/ndb_size.tmpl
1031 %{_mandir}/man1/ndb_config.1*
1032 %{_mandir}/man1/ndb_delete_all.1*
1033 %{_mandir}/man1/ndb_desc.1*
1034 %{_mandir}/man1/ndb_drop_index.1*
1035 %{_mandir}/man1/ndb_drop_table.1*
1036 %{_mandir}/man1/ndb_error_reporter.1*
1037 %{_mandir}/man1/ndb_mgm.1*
1038 %{_mandir}/man1/ndb_restore.1*
1039 %{_mandir}/man1/ndb_select_all.1*
1040 %{_mandir}/man1/ndb_select_count.1*
1041 %{_mandir}/man1/ndb_show_tables.1*
1042 %{_mandir}/man1/ndb_size.pl.1*
1043 %{_mandir}/man1/ndb_waiter.1*
1046 %defattr(644,root,root,755)
1047 %attr(755,root,root) %{_sbindir}/ndb_mgmd
1048 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm
1049 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm
1050 %{_mandir}/man8/ndb_mgmd.8*
1053 %defattr(644,root,root,755)
1054 %attr(755,root,root) %{_sbindir}/ndb_cpcd
1055 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc
1056 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc
1057 %{_mandir}/man1/ndb_cpcd.1*