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