2 # - C(XX)FLAGS for innodb subdirs are overriden by ./configure!
3 # - http://bugs.mysql.com/bug.php?id=16470
5 # /usr/bin/mysqltestmanager
6 # /usr/bin/mysqltestmanager-pwgen
7 # /usr/bin/mysqltestmanagerc
8 # /usr/share/mysql/mysqld_multi.server
11 %bcond_without big_tables # Support tables with more than 4G rows even on 32 bit platforms
12 %bcond_without federated # Federated storage engine support
13 %bcond_without innodb # InnoDB storage engine support
14 %bcond_without raid # Without raid
15 %bcond_without ssl # Without OpenSSL
16 %bcond_without tcpd # Without libwrap (tcp_wrappers) support
17 %bcond_with bdb # Berkeley DB support
18 %bcond_without sphinx # Sphinx storage engine support
20 %include /usr/lib/rpm/macros.perl
21 #define _snap 20060111
22 Summary: MySQL: a very fast and reliable SQL database engine
23 Summary(de): MySQL: ist eine SQL-Datenbank
24 Summary(fr): MySQL: un serveur SQL rapide et fiable
25 Summary(pl): MySQL: bardzo szybka i niezawodna baza danych (SQL)
26 Summary(pt_BR): MySQL: Um servidor SQL rápido e confiável
27 Summary(ru): MySQL - ÂÙÓÔÒÙÊ SQL-ÓÅÒ×ÅÒ
28 Summary(uk): MySQL - Û×ÉÄËÉÊ SQL-ÓÅÒ×ÅÒ
29 Summary(zh_CN): MySQLÊý¾Ý¿â·þÎñÆ÷
33 License: GPL + MySQL FLOSS Exception
34 Group: Applications/Databases
35 #Source0: ftp://ftp.mysql.com/pub/mysql/src/%{name}-%{version}.tar.gz
36 Source0: http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
37 # Source0-md5: 88c39c8cb77810febb83b7ee625364d7
38 Source100: http://www.sphinxsearch.com/downloads/sphinx-0.9.7.tar.gz
39 # Source100-md5: 32f2b7e98d8485c86108851d52c5cef4
41 Source2: %{name}.sysconfig
42 Source3: %{name}.logrotate
43 Source4: %{name}d.conf
44 Source5: %{name}-clusters.conf
45 Source7: %{name}-ndb.init
46 Source8: %{name}-ndb.sysconfig
47 Source9: %{name}-ndb-mgm.init
48 Source10: %{name}-ndb-mgm.sysconfig
49 Source11: %{name}-ndb-cpc.init
50 Source12: %{name}-ndb-cpc.sysconfig
51 Source13: %{name}-client.conf
52 Patch0: %{name}-libs.patch
53 Patch1: %{name}-sphinx.patch
54 Patch2: %{name}-c++.patch
55 Patch3: %{name}-info.patch
56 Patch4: %{name}-sql-cxx-pic.patch
57 Patch5: %{name}-noproc.patch
58 Patch6: %{name}-fix_privilege_tables.patch
59 Patch7: %{name}-align.patch
60 Patch8: %{name}-client-config.patch
61 Patch9: %{name}-build.patch
62 Patch10: %{name}-alpha.patch
63 Patch11: %{name}-ndb-ldflags.patch
64 Patch12: %{name}-bug-20153.patch
65 Patch13: %{name}-ssl.patch
66 Patch15: %{name}-bug-29082.patch
67 Patch16: %{name}-bug-16470.patch
68 Patch17: %{name}-CVE-2007-5925.patch
69 URL: http://www.mysql.com/products/database/mysql/community_edition.html
70 BuildRequires: autoconf
71 BuildRequires: automake
72 %{?with_bdb:BuildRequires: db3-devel}
73 BuildRequires: libstdc++-devel >= 5:3.0
74 BuildRequires: libtool
75 %{?with_tcpd:BuildRequires: libwrap-devel}
76 BuildRequires: ncurses-devel >= 4.2
77 %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
78 BuildRequires: perl-DBI
79 BuildRequires: perl-devel >= 1:5.6.1
80 BuildRequires: readline-devel >= 4.2
81 BuildRequires: rpm-perlprov >= 4.1-13
82 BuildRequires: rpmbuild(macros) >= 1.268
83 BuildRequires: sed >= 4.0
84 BuildRequires: texinfo
85 BuildRequires: zlib-devel
86 Requires(post,preun): /sbin/chkconfig
87 Requires(postun): /usr/sbin/groupdel
88 Requires(postun): /usr/sbin/userdel
89 Requires(pre): /bin/id
90 Requires(pre): /usr/bin/getgid
91 Requires(pre): /usr/sbin/groupadd
92 Requires(pre): /usr/sbin/useradd
93 Requires(triggerpostun): sed >= 4.0
94 Requires: %{name}-charsets = %{version}-%{release}
95 Requires: /usr/bin/setsid
96 Requires: rc-scripts >= 0.2.0
97 Provides: MySQL-server
98 Provides: group(mysql)
100 Provides: user(mysql)
102 Obsoletes: mysql-server
103 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
105 %define _libexecdir %{_sbindir}
106 %define _localstatedir /var/lib/mysql
107 %define _mysqlhome /home/services/mysql
109 %define _noautoreqdep 'perl(DBD::mysql)'
110 # CFLAGS for innodb are altered
111 %undefine configure_cache
114 MySQL is a true multi-user, multi-threaded SQL (Structured Query
115 Language) database server. SQL is the most popular database language
116 in the world. MySQL is a client/server implementation that consists of
117 a server daemon mysqld and many different client programs/libraries.
119 The main goals of MySQL are speed, robustness and easy to use. MySQL
120 was originally developed because we at Tcx needed a SQL server that
121 could handle very big databases with magnitude higher speed than what
122 any database vendor could offer to us. We have now been using MySQL
123 since 1996 in a environment with more than 40 databases, 10,000
124 tables, of which more than 500 have more than 7 million rows. This is
125 about 50G of mission critical data.
127 The base upon which MySQL is built is a set of routines that have been
128 used in a highly demanding production environment for many years.
129 While MySQL is still in development, it already offers a rich and
130 highly useful function set.
133 MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et
134 multi-taches. Le langage SQL est le langage de bases de donnees le
135 plus populaire au monde. MySQL est une implementation client/serveur
136 qui consiste en un serveur (mysqld) et differents
137 programmes/bibliotheques clientes.
139 Les objectifs principaux de MySQL sont: vitesse, robustesse et
140 facilite d'utilisation. MySQL fut originalement developpe parce que
141 nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de
142 tres grandes bases de donnees avec une vitesse d'un ordre de magnitude
143 superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous
144 utilisons MySQL depuis 1996 dans un environnement avec plus de 40
145 bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7
146 millions de lignes. Ceci represente environ 50G de donnees critiques.
148 A la base de la conception de MySQL, on retrouve une serie de routines
149 qui ont ete utilisees dans un environnement de production pendant
150 plusieurs annees. Meme si MySQL est encore en developpement, il offre
151 deja une riche et utile serie de fonctions.
154 MySQL to prawdziwie wielou¿ytkownikowy, wielow±tkowy serwer baz danych
155 SQL. SQL jest najpopularniejszym na ¶wiecie jêzykiem u¿ywanym do baz
156 danych. MySQL to implementacja klient/serwer sk³adaj±ca siê z demona
157 mysqld i wielu ró¿nych programów i bibliotek klienckich.
159 G³ównymi celami MySQL-a s± szybko¶æ, potêga i ³atwo¶æ u¿ytkowania.
160 MySQL oryginalnie by³ tworzony, poniewa¿ autorzy w Tcx potrzebowali
161 serwera SQL do obs³ugi bardzo du¿ych baz danych z szybko¶ci± o wiele
162 wiêksz±, ni¿ mogli zaoferowaæ inni producenci baz danych. U¿ywaj± go
163 od 1996 roku w ¶rodowisku z ponad 40 bazami danych, 10 000 tabel, z
164 których ponad 500 zawiera ponad 7 milionów rekordów - w sumie oko³o
165 50GB krytycznych danych.
167 Baza, na której oparty jest MySQL, sk³ada siê ze zbioru procedur,
168 które by³y u¿ywane w bardzo wymagaj±cym ¶rodowisku produkcyjnym przez
169 wiele lat. Pomimo, ¿e MySQL jest ci±gle rozwijany, ju¿ oferuje bogaty
170 i u¿yteczny zbiór funkcji.
173 MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz zu
174 Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten
175 werden zwar in zweidimensionalen Tabellen gespeichert und können mit
176 einem Primärschlüssel versehen werden. Es ist aber keine Definition
177 eines Fremdschlüssels möglich. Der Benutzer ist somit bei einer
178 MySQL-Datenbank völlig allein für die (referenzielle) Integrität der
179 Daten verantwortlich. Allein durch die Nutzung externer
180 Tabellenformate, wie InnoDB bzw Berkeley DB wird eine Relationalität
181 ermöglicht. Diese Projekte sind aber getrennt von MySQL zu betrachten.
183 %description -l pt_BR
184 O MySQL é um servidor de banco de dados SQL realmente multiusuário e
185 multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de
186 dados no mundo. O MySQL é uma implementação cliente/servidor que
187 consiste de um servidor chamado mysqld e diversos
188 programas/bibliotecas clientes. Os principais objetivos do MySQL são:
189 velocidade, robustez e facilidade de uso. O MySQL foi originalmente
190 desenvolvido porque nós na Tcx precisávamos de um servidor SQL que
191 pudesse lidar com grandes bases de dados e com uma velocidade muito
192 maior do que a que qualquer vendedor podia nos oferecer. Estamos
193 usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados
194 com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de
195 linhas. Isto é o equivalente a aproximadamente 50G de dados críticos.
196 A base da construção do MySQL é uma série de rotinas que foram usadas
197 em um ambiente de produção com alta demanda por muitos anos. Mesmo o
198 MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de
199 funções muito ricas e úteis. Veja a documentação para maiores
203 MySQL - ÜÔÏ SQL (Structured Query Language) ÓÅÒ×ÅÒ ÂÁÚÙ ÄÁÎÎÙÈ. MySQL
204 ÂÙÌÁ ÎÁÐÉÓÁÎÁ Michael'ÏÍ (monty) Widenius'ÏÍ. óÍ. ÆÁÊÌ CREDITS ×
205 ÄÉÓÔÒÉÂÕÔÉ×Å ÎÁ ÐÒÅÄÍÅÔ ÄÒÕÇÉÈ ÕÞÁÓÔÎÉËÏ× ÐÒÏÅËÔÁ É ÐÒÏÞÅÊ ÉÎÆÏÒÍÁÃÉÉ
209 MySQL - ÃÅ SQL (Structured Query Language) ÓÅÒ×ÅÒ ÂÁÚÉ ÄÁÎÉÈ. MySQL
210 ÂÕÌÏ ÎÁÐÉÓÁÎÏ Michael'ÏÍ (monty) Widenius'ÏÍ. äÉ×. ÆÁÊÌ CREDITS ×
211 ÄÉÓÔÒÉÂÕÔÉצ ÄÌÑ ¦ÎÆÏÒÍÁæ§ ÐÒÏ ¦ÎÛÉÈ ÕÞÁÓÎÉË¦× ÐÒÏÅËÔÕ ÔÁ ¦ÎÛϧ
215 Summary: MySQL - character sets definitions
216 Summary(pl): MySQL - definicje kodowañ znaków
217 Group: Applications/Databases
219 %description charsets
220 This package contains character sets definitions needed by both client
223 %description charsets -l pl
224 Ten pakiet zawiera definicje kodowañ znaków potrzebne dla serwera i
228 Summary: MySQL additional utilities
229 Summary(pl): Dodatkowe narzêdzia do MySQL
230 Group: Applications/Databases
231 Requires: %{name}-libs = %{version}-%{release}
234 MySQL additional utilities except Perl scripts (they may be found in
235 %{name}-extras-perl package).
237 %description extras -l pl
238 Dodatkowe narzêdzia do MySQL - z wyj±tkiem skryptów Perla (które s± w
239 pakiecie %{name}-extras-perl).
242 Summary: MySQL additional utilities written in Perl
243 Summary(pl): Dodatkowe narzêdzia do MySQL napisane w Perlu
244 Group: Applications/Databases
245 Requires: %{name}-extras = %{version}-%{release}
246 Requires: perl(DBD::mysql)
248 %description extras-perl
249 MySQL additional utilities written in Perl.
251 %description extras-perl -l pl
252 Dodatkowe narzêdzia do MySQL napisane w Perlu.
255 Summary: MySQL - Client
256 Summary(pl): MySQL - Klient
257 Summary(pt): MySQL - Cliente
258 Summary(ru): MySQL ËÌÉÅÎÔ
259 Summary(uk): MySQL Ë̦¤ÎÔ
260 Group: Applications/Databases
261 Requires: %{name}-charsets = %{version}-%{release}
262 Requires: %{name}-libs = %{version}-%{release}
263 Obsoletes: MySQL-client
266 This package contains the standard MySQL clients.
268 %description client -l fr
269 Ce package contient les clients MySQL standards.
271 %description client -l pl
272 Standardowe programy klienckie MySQL.
274 %description client -l pt_BR
275 Este pacote contém os clientes padrão para o MySQL.
277 %description client -l ru
278 üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÔÏÌØËÏ ËÌÉÅÎÔ MySQL.
280 %description client -l uk
281 ãÅÊ ÐÁËÅÔ Í¦ÓÔÉÔØ Ô¦ÌØËÉ Ë̦¤ÎÔÁ MySQL.
284 Summary: Shared libraries for MySQL
285 Summary(pl): Biblioteki dzielone MySQL
287 Obsoletes: libmysql10
288 Obsoletes: mysql-doc < 4.1.12
291 Shared libraries for MySQL.
293 %description libs -l pl
294 Biblioteki dzielone MySQL.
297 Summary: MySQL - Development header files and libraries
298 Summary(pl): MySQL - Pliki nag³ówkowe i biblioteki dla programistów
299 Summary(pt): MySQL - Medições de desempenho
300 Summary(ru): MySQL - ÈÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ ÒÁÚÒÁÂÏÔÞÉËÁ
301 Summary(uk): MySQL - ÈÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ ÐÒÏÇÒÁͦÓÔÁ
302 Group: Development/Libraries
303 Requires: %{name}-libs = %{version}-%{release}
304 %{?with_ssl:Requires: openssl-devel}
306 Obsoletes: MySQL-devel
307 Obsoletes: libmysql10-devel
310 This package contains the development header files and libraries
311 necessary to develop MySQL client applications.
313 %description devel -l fr
314 Ce package contient les fichiers entetes et les librairies de
315 developpement necessaires pour developper des applications clientes
318 %description devel -l pl
319 Pliki nag³ówkowe i biblioteki konieczne do kompilacji aplikacji
322 %description devel -l pt_BR
323 Este pacote contém os arquivos de cabeçalho (header files) e
324 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
326 %description devel -l ru
327 üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÈÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ ÒÁÚÒÁÂÏÔÞÉËÁ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ
328 ÒÁÚÒÁÂÏÔËÉ ËÌÉÅÎÔÓËÉÈ ÐÒÉÌÏÖÅÎÉÊ.
330 %description devel -l uk
331 ãÅÊ ÐÁËÅÔ Í¦ÓÔÉÔØ ÈÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ ÐÒÏÇÒÁͦÓÔÁ, ÎÅÏÂȦÄΦ ÄÌÑ
332 ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ-Ë̦¤ÎÔ¦×.
335 Summary: MySQL static libraries
336 Summary(pl): Biblioteki statyczne MySQL
337 Summary(ru): MySQL - ÓÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ
338 Summary(uk): MySQL - ÓÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ
339 Group: Development/Libraries
340 Requires: %{name}-devel = %{version}-%{release}
341 Obsoletes: MySQL-static
344 MySQL static libraries.
346 %description static -l pl
347 Biblioteki statyczne MySQL.
349 %description static -l ru
350 üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÓÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ ÒÁÚÒÁÂÏÔÞÉËÁ, ÎÅÏÂÈÏÄÉÍÙÅ
351 ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ËÌÉÅÎÔÓËÉÈ ÐÒÉÌÏÖÅÎÉÊ.
353 %description static -l uk
354 ãÅÊ ÐÁËÅÔ Í¦ÓÔÉÔØ ÓÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ ÐÒÏÇÒÁͦÓÔÁ, ÎÅÏÂȦÄΦ ÄÌÑ
355 ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ-Ë̦¤ÎÔ¦×.
358 Summary: MySQL - Benchmarks
359 Summary(pl): MySQL - Programy testuj±ce szybko¶æ dzia³ania bazy
360 Summary(pt): MySQL - Medições de desempenho
361 Summary(ru): MySQL - ÂÅÎÞÍÁÒËÉ
362 Summary(uk): MySQL - ÂÅÎÞÍÁÒËÉ
363 Group: Applications/Databases
364 Requires: %{name} = %{version}-%{release}
365 Requires: %{name}-client
366 Requires: perl(DBD::mysql)
367 Obsoletes: MySQL-bench
370 This package contains MySQL benchmark scripts and data.
372 %description bench -l pl
373 Programy testuj±ce szybko¶æ serwera MySQL.
375 %description bench -l pt_BR
376 Este pacote contém medições de desempenho de scripts e dados do MySQL.
378 %description bench -l ru
379 üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÓËÒÉÐÔÙ É ÄÁÎÎÙÅ ÄÌÑ ÏÃÅÎËÉ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ
382 %description bench -l uk
383 ãÅÊ ÐÁËÅÔ Í¦ÓÔÉÔØ ÓËÒÉÐÔÉ ÔÁ ÄÁΦ ÄÌÑ ÏæÎËÉ ÐÒÏÄÕËÔÉ×ÎÏÓÔ¦ MySQL.
386 Summary: MySQL manual
387 Summary(pl): Podrêcznik u¿ytkownika MySQL
388 Group: Applications/Databases
391 This package contains manual in HTML format.
393 %description doc -l pl
394 Podrêcznik MySQL-a w formacie HTML.
397 Summary: MySQL - NDB Storage Engine Daemon
398 Summary(pl): MySQL - demon silnika przechowywania danych NDB
399 Group: Applications/Databases
400 Requires: %{name}-libs = %{version}-%{release}
403 This package contains the standard MySQL NDB Storage Engine Daemon.
405 %description ndb -l pl
406 Ten pakiet zawiera standardowego demona silnika przechowywania danych
410 Summary: MySQL - NDB Clients
411 Summary(pl): MySQL - programy klienckie NDB
412 Group: Applications/Databases
413 Requires: %{name}-libs = %{version}-%{release}
415 %description ndb-client
416 This package contains the standard MySQL NDB Clients.
418 %description ndb-client -l pl
419 Ten pakiet zawiera standardowe programy klienckie MySQL NDB.
422 Summary: MySQL - NDB Management Daemon
423 Summary(pl): MySQL - demon zarz±dzaj±cy NDB
424 Group: Applications/Databases
425 Requires: %{name}-libs = %{version}-%{release}
428 This package contains the standard MySQL NDB Management Daemon.
430 %description ndb-mgm -l pl
431 Ten pakiet zawiera standardowego demona zarz±dzaj±cego MySQL NDB.
434 Summary: MySQL - NDB CPC Daemon
435 Summary(pl): MySQL - demon NDB CPC
436 Group: Applications/Databases
437 Requires: %{name}-libs = %{version}-%{release}
440 This package contains the standard MySQL NDB CPC Daemon.
442 %description ndb-cpc -l pl
443 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
446 %setup -q %{?_snap:-n %{name}-%{version}-nightly-%{_snap}} %{?with_sphinx:-a100}
449 mv sphinx-*/mysqlse sql/sphinx
455 # this is strange: mysqld functions for UDF modules are not explicitly defined,
456 # so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables
457 # in objects compiled without -fPIC
480 # The compiler flags are as per their "official" spec ;)
481 CXXFLAGS="%{rpmcflags} -felide-constructors -fno-rtti -fno-exceptions %{!?debug:-fomit-frame-pointer}"
482 CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
484 # NOTE: the PS, FIND_PROC, KILL, CHECK_PID are not used by PLD Linux
485 # and therefore do not add BR on these. These are here just to satisfy
490 FIND_PROC='/bin/ps p $$PID' \
492 CHECK_PID='/bin/kill -0 $$PID' \
494 --enable-largefile=yes \
497 --enable-thread-safe-client \
498 --with%{!?with_bdb:out}-berkeley-db \
499 --with%{!?with_innodb:out}-innodb \
500 --with%{!?with_raid:out}-raid \
501 --with%{!?with_ssl:out}-openssl \
502 --with%{!?with_tcpd:out}-libwrap \
503 %{?with_big_tables:--with-big-tables} \
504 --with-comment="PLD Linux Distribution MySQL RPM" \
505 --with%{!?debug:out}-debug \
506 --with%{!?debug:out}-ndb-debug \
507 --with-embedded-server \
508 --with-extra-charsets=all \
510 --with-mysqld-user=mysql \
511 --with-named-curses-libs="-lncurses" \
512 --with-named-thread-libs="-lpthread" \
513 --with-unix-socket-path=/var/lib/mysql/mysql.sock \
514 --with-archive-storage-engine \
515 %{?with_sphinx:--with-sphinx-storage-engine} \
516 %{?with_federated:--with-federated-storage-engine} \
523 # --with-ndb-test --with-ndb-docs
525 # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file
526 # (it defaults to first cluster but user may change it to whatever
529 echo -e "all:\ninstall:\nclean:\nlink_sources:\n" > libmysqld/examples/Makefile
532 benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench
534 %{__make} -C Docs mysql.info
537 rm -rf $RPM_BUILD_ROOT
538 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql} \
539 $RPM_BUILD_ROOT/var/{log/{archiv,}/mysql,lib/mysql} \
540 $RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}}
543 install -d $RPM_BUILD_ROOT/var/lib/mysql/bdb/{log,tmp}
548 DESTDIR=$RPM_BUILD_ROOT \
549 benchdir=%{_datadir}/sql-bench \
551 # libsdir is to avoid installing innodb static libs in $RPM_BUILD_ROOT../libs
553 install Docs/mysql.info $RPM_BUILD_ROOT%{_infodir}
555 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
556 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
557 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
558 # This is template for configuration file which is created after 'service mysql init'
559 install %{SOURCE4} mysqld.conf
560 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/clusters.conf
561 touch $RPM_BUILD_ROOT/var/log/mysql/{err,log,update}
563 # remove innodb directives from mysqld.conf if mysqld is configured without
565 echo "BASE_TABLETYPE=MyISAM" >> $RPM_BUILD_ROOT/etc/sysconfig/mysql
566 cp mysqld.conf mysqld.tmp
567 awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
570 # remove berkeley-db directives from mysqld.conf if mysqld is configured without
572 cp mysqld.conf mysqld.tmp
573 awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
576 install mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.conf
577 install %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/mysql-client.conf
580 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
581 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb
582 install %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
583 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
584 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
585 install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
586 # remove .txt variants for .sys messages
587 rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/*/*.txt
589 mv -f $RPM_BUILD_ROOT%{_libdir}/mysql/lib* $RPM_BUILD_ROOT%{_libdir}
590 sed -i -e 's,%{_libdir}/mysql,%{_libdir},' $RPM_BUILD_ROOT{%{_libdir}/libmysqlclient{,_r}.la,%{_bindir}/mysql_config}
592 # remove known unpackaged files
593 rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
595 # rename not to be so generic name
596 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}comp_err
597 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
598 mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1
599 mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}comp_err.1
601 # not useful without -debug build
602 %{!?debug:rm -f $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
603 %{!?debug:rm -f $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
604 # generate symbols file, so one can generate backtrace using it
605 # mysql_resolve_stack_dump -s %{_datadir}/mysql/mysqld.sym -n mysqld.stack.
606 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
607 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.sym}
609 # functionality in initscript / rpm / other os
610 rm $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
611 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
612 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
613 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
614 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate
615 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
616 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
617 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg.txt
618 rm $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
619 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
620 rm $RPM_BUILD_ROOT%{_mandir}/man1/safe_mysqld*
621 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
622 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_bin_dist.1
623 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_install_db.1
624 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1
625 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_src_distribution.1
627 # no package for tests
628 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1
629 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1
630 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1
633 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf}
636 rm -rf $RPM_BUILD_ROOT
639 %groupadd -g 89 mysql
640 %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql
643 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
644 /sbin/chkconfig --add mysql
645 %service mysql restart
648 if [ "$1" = "0" ]; then
649 %service -q mysql stop
650 /sbin/chkconfig --del mysql
654 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
655 if [ "$1" = "0" ]; then
661 /sbin/chkconfig --add mysql-ndb
662 %service mysql-ndb restart "mysql NDB engine"
665 if [ "$1" = "0" ]; then
666 %service mysql-ndb stop
667 /sbin/chkconfig --del mysql-ndb
671 /sbin/chkconfig --add mysql-ndb-mgm
672 %service mysql-ndb-mgm restart "mysql NDB management node"
675 if [ "$1" = "0" ]; then
676 %service mysql-ndb-mgm stop
677 /sbin/chkconfig --del mysql-ndb-mgm
681 /sbin/chkconfig --add mysql-ndb-cpc
682 %service mysql-ndb-cpc restart "mysql NDB CPC"
685 if [ "$1" = "0" ]; then
686 %service mysql-ndb-cpc stop
687 /sbin/chkconfig --del mysql-ndb-cpc
690 %post libs -p /sbin/ldconfig
691 %postun libs -p /sbin/ldconfig
693 %triggerpostun -- mysql <= 4.0.20-2
694 # For clusters in /etc/mysql/clusters.conf
695 if [ -f "/etc/sysconfig/mysql" ]; then
696 . /etc/sysconfig/mysql
697 if [ -n "$MYSQL_DB_CLUSTERS" ]; then
698 for i in "$MYSQL_DB_CLUSTERS"; do
699 echo "$i/mysqld.conf=$i" >> /etc/mysql/clusters.conf
701 echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql
702 echo "# USE /etc/mysql/clusters.conf instead" >> /etc/sysconfig/mysql
703 echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/mysql/clusters.conf."
704 echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/mysql/clusters.conf."
708 %triggerpostun -- mysql <= 4.1.1
709 # For better compatibility with prevoius versions:
710 for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do
711 if echo "$config" | grep -q '^/'; then
712 config_file="$config"
713 elif [ -f "/etc/mysql/$config" ]; then
714 config_file=/etc/mysql/$config
716 clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/mysql/clusters.conf)
717 if [ -z "$clusterdir" ]; then
718 echo >&2 "Can't find cluster dir for $config!"
719 echo >&2 "Please remove extra (leading) spaces from /etc/mysql/clusters.conf"
722 config_file="$clusterdir/mysqld.conf"
725 if [ ! -f "$config_file" ]; then
726 echo >&2 "Lost myself! Please report this (with above errors, if any) to http://bugs.pld-linux.org/"
729 echo "Adding option old-passwords to config: $config_file"
730 echo "If you want to use new, better passwords - remove it"
732 # sed magic to add 'old-passwords' to [mysqld] section
733 sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
735 a; Compatibility options:
741 %banner -e %{name}-4.1.x <<-EOF
742 If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data:
743 mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql
748 %defattr(644,root,root,755)
749 %doc support-files/*.cnf support-files/*.ini
750 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/mysql
751 %attr(754,root,root) /etc/rc.d/init.d/mysql
752 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql
753 %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/clusters.conf
754 %attr(755,root,root) %{_bindir}/innochecksum
755 %attr(755,root,root) %{_bindir}/myisamchk
756 %attr(755,root,root) %{_bindir}/myisamlog
757 %attr(755,root,root) %{_bindir}/myisampack
758 %attr(755,root,root) %{_bindir}/mysql_fix_privilege_tables
759 %attr(755,root,root) %{_bindir}/my_print_defaults
760 %attr(755,root,root) %{_bindir}/mysql_upgrade
761 %attr(755,root,root) %{_bindir}/mysql_upgrade_shell
762 %attr(755,root,root) %{_sbindir}/mysqld
763 %{_mandir}/man1/mysql_fix_privilege_tables.1*
764 %{_mandir}/man1/my_print_defaults.1*
765 %{_mandir}/man1/myisamchk.1*
766 %{_mandir}/man1/myisamlog.1*
767 %{_mandir}/man1/myisampack.1*
768 %{_mandir}/man1/mysql_upgrade.1*
769 %{_mandir}/man1/innochecksum.1*
770 %{_mandir}/man8/mysqld.8*
773 %attr(755,root,root) %{_bindir}/*resolve_stack_dump
774 %{_datadir}/mysql/mysqld.sym
775 %{_mandir}/man1/*resolve_stack_dump.1*
778 %attr(700,mysql,mysql) %{_mysqlhome}
779 # root:root is proper here for AC mysql.rpm while mysql:mysql is potential security hole
780 %attr(751,root,root) /var/lib/mysql
781 %attr(750,mysql,mysql) %dir /var/log/mysql
782 %attr(750,mysql,mysql) %dir /var/log/archiv/mysql
783 %attr(640,mysql,mysql) %ghost /var/log/mysql/*
785 %{_infodir}/mysql.info*
786 # This is template for configuration file which is created after 'service mysql init'
787 %{_datadir}/mysql/mysqld.conf
789 %{_datadir}/mysql/fill_help_tables.sql
790 %{_datadir}/mysql/mysql_fix_privilege_tables.sql
791 %{_datadir}/mysql/mysql_system_tables.sql
792 %{_datadir}/mysql/mysql_system_tables_data.sql
793 %{_datadir}/mysql/mysql_test_data_timezone.sql
795 %{_datadir}/mysql/english
796 %lang(cs) %{_datadir}/mysql/czech
797 %lang(da) %{_datadir}/mysql/danish
798 %lang(de) %{_datadir}/mysql/german
799 %lang(el) %{_datadir}/mysql/greek
800 %lang(es) %{_datadir}/mysql/spanish
801 %lang(et) %{_datadir}/mysql/estonian
802 %lang(fr) %{_datadir}/mysql/french
803 %lang(hu) %{_datadir}/mysql/hungarian
804 %lang(it) %{_datadir}/mysql/italian
805 %lang(ja) %{_datadir}/mysql/japanese
806 %lang(ko) %{_datadir}/mysql/korean
807 %lang(nl) %{_datadir}/mysql/dutch
808 %lang(nb) %{_datadir}/mysql/norwegian
809 %lang(nn) %{_datadir}/mysql/norwegian-ny
810 %lang(pl) %{_datadir}/mysql/polish
811 %lang(pt) %{_datadir}/mysql/portuguese
812 %lang(ro) %{_datadir}/mysql/romanian
813 %lang(ru) %{_datadir}/mysql/russian
814 %lang(sr) %{_datadir}/mysql/serbian
815 %lang(sk) %{_datadir}/mysql/slovak
816 %lang(sv) %{_datadir}/mysql/swedish
817 %lang(uk) %{_datadir}/mysql/ukrainian
820 %defattr(644,root,root,755)
821 %dir %{_datadir}/mysql
822 %{_datadir}/mysql/charsets
825 %defattr(644,root,root,755)
826 %attr(755,root,root) %{_bindir}/msql2mysql
827 %attr(755,root,root) %{_bindir}/myisam_ftdump
828 %attr(755,root,root) %{_bindir}/mysql_secure_installation
829 %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql
830 %attr(755,root,root) %{_bindir}/mysqlcheck
831 %attr(755,root,root) %{_bindir}/perror
832 %attr(755,root,root) %{_bindir}/replace
833 %attr(755,root,root) %{_bindir}/resolveip
834 %{_mandir}/man1/msql2mysql.1*
835 %{_mandir}/man1/myisam_ftdump.1*
836 %{_mandir}/man1/mysql_secure_installation.1*
837 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
838 %{_mandir}/man1/mysqlcheck.1*
839 %{_mandir}/man1/perror.1*
840 %{_mandir}/man1/replace.1*
841 %{_mandir}/man1/resolveip.1*
844 %defattr(644,root,root,755)
845 %attr(755,root,root) %{_bindir}/mysql_convert_table_format
846 %attr(755,root,root) %{_bindir}/mysql_explain_log
847 %attr(755,root,root) %{_bindir}/mysql_find_rows
848 %attr(755,root,root) %{_bindir}/mysql_fix_extensions
849 %attr(755,root,root) %{_bindir}/mysql_setpermission
850 %attr(755,root,root) %{_bindir}/mysql_tableinfo
851 %attr(755,root,root) %{_bindir}/mysql_zap
852 %attr(755,root,root) %{_bindir}/mysqlaccess
853 %attr(755,root,root) %{_bindir}/mysqldumpslow
854 %attr(755,root,root) %{_bindir}/mysqlhotcopy
855 %{_mandir}/man1/mysql_explain_log.1*
856 %{_mandir}/man1/mysql_zap.1*
857 %{_mandir}/man1/mysqlaccess.1*
858 %{_mandir}/man1/mysqlhotcopy.1*
859 %{_mandir}/man1/mysql_setpermission.1*
860 %{_mandir}/man1/mysql_tableinfo.1*
861 %{_mandir}/man1/mysql_fix_extensions.1*
862 %{_mandir}/man1/mysql_find_rows.1*
863 %{_mandir}/man1/mysql_convert_table_format.1*
866 %defattr(644,root,root,755)
867 %attr(755,root,root) %{_bindir}/mysql
868 %attr(755,root,root) %{_bindir}/mysqlbug
869 %attr(755,root,root) %{_bindir}/mysqldump
870 %attr(755,root,root) %{_bindir}/mysqlimport
871 %attr(755,root,root) %{_sbindir}/mysqlmanager*
872 %attr(755,root,root) %{_bindir}/mysqlshow
873 %attr(755,root,root) %{_bindir}/mysqlbinlog
874 %attr(755,root,root) %{_bindir}/mysqladmin
875 %{_mandir}/man1/mysql.1*
876 %{_mandir}/man1/mysqladmin.1*
877 %{_mandir}/man1/mysqldump.1*
878 %{_mandir}/man1/mysqlshow.1*
879 %{_mandir}/man1/mysqlbinlog.1*
880 %{_mandir}/man1/mysqlimport.1*
881 %{_mandir}/man1/mysqlmanager*.1*
882 %{_mandir}/man8/mysqlmanager.8*
885 %defattr(644,root,root,755)
886 %doc EXCEPTIONS-CLIENT
887 %attr(755,root,root) %{_libdir}/lib*.so.*.*
888 %attr(751,root,root) %dir %{_sysconfdir}/mysql
889 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/mysql-client.conf
892 %defattr(644,root,root,755)
893 %attr(755,root,root) %{_bindir}/mysql_config
894 %attr(755,root,root) %{_libdir}/lib*.so
895 %attr(755,root,root) %{_bindir}/*comp_err
897 %{_libdir}/lib*[!tr].a
899 %{_mandir}/man1/mysql_config.1*
900 %{_mandir}/man1/*comp_err.1*
903 %defattr(644,root,root,755)
904 %{_libdir}/lib*[tr].a
907 %defattr(644,root,root,755)
908 %attr(755,root,root) %{_bindir}/mysqltest
909 %attr(755,root,root) %{_bindir}/mysql_client_test
910 %dir %{_datadir}/sql-bench
911 %{_datadir}/sql-bench/[CDRl]*
912 %attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
914 %{_datadir}/mysql/mi_test_all.res
915 %attr(755,root,root) %{_datadir}/mysql/mi_test_all
916 %{_mandir}/man1/mysqltest*.1*
917 %{_mandir}/man1/mysql_client_test.1*
920 #%defattr(644,root,root,755)
921 #%doc Docs/manual.html Docs/manual_toc.html
924 %defattr(644,root,root,755)
925 %attr(755,root,root) %{_sbindir}/ndbd
926 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb
927 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb
928 %{_mandir}/man1/ndbd.1*
931 %defattr(644,root,root,755)
932 %attr(755,root,root) %{_bindir}/ndb_*
933 %attr(755,root,root) %{_datadir}/mysql/ndb_size.tmpl
934 %{_mandir}/man1/ndb_*.1*
935 %exclude %{_mandir}/man1/ndb_mgmd.1*
936 %exclude %{_mandir}/man1/ndb_cpcd.1*
939 %defattr(644,root,root,755)
940 %attr(755,root,root) %{_sbindir}/ndb_mgmd
941 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm
942 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm
943 %{_mandir}/man1/ndb_mgmd.1*
946 %defattr(644,root,root,755)
947 %attr(755,root,root) %{_sbindir}/ndb_cpcd
948 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc
949 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc
950 %{_mandir}/man1/ndb_cpcd.1*