]> git.pld-linux.org Git - packages/mysql.git/blob - mysql.spec
- fix bug id
[packages/mysql.git] / mysql.spec
1 # TODO:
2 # - C(XX)FLAGS for innodb subdirs are overriden by ./configure!
3 # - http://bugs.mysql.com/bug.php?id=16470
4 #
5 # Conditional build:
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_with     bdb             # Berkeley DB support
13 %bcond_without  sphinx          # Sphinx storage engine support
14 #
15 %include        /usr/lib/rpm/macros.perl
16 #define _snap   20060111
17 Summary:        MySQL: a very fast and reliable SQL database engine
18 Summary(de.UTF-8):      MySQL: ist eine SQL-Datenbank
19 Summary(fr.UTF-8):      MySQL: un serveur SQL rapide et fiable
20 Summary(pl.UTF-8):      MySQL: bardzo szybka i niezawodna baza danych (SQL)
21 Summary(pt_BR.UTF-8):   MySQL: Um servidor SQL rápido e confiável
22 Summary(ru.UTF-8):      MySQL - быстрый SQL-сервер
23 Summary(uk.UTF-8):      MySQL - швидкий SQL-сервер
24 Summary(zh_CN.UTF-8):   MySQL数据库服务器
25 Name:           mysql
26 Version:        5.0.67
27 Release:        3
28 License:        GPL + MySQL FLOSS Exception
29 Group:          Applications/Databases
30 #Source0:       ftp://ftp.mysql.com/pub/mysql/src/%{name}-%{version}.tar.gz
31 #Source0:       http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
32 #Source0:       http://mirror.provenscaling.com/mysql/enterprise/source/5.0/%{name}-%{version}.tar.gz
33 Source0:        http://mysql.he.net/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz
34 # Source0-md5:  7164483a5ffb8f7aa59b761c13cdbd6e
35 Source100:      http://www.sphinxsearch.com/downloads/sphinx-0.9.8.tar.gz
36 # Source100-md5:        347e547b79b733778d7553ede34e0aac
37 Source1:        %{name}.init
38 Source2:        %{name}.sysconfig
39 Source3:        %{name}.logrotate
40 Source4:        %{name}d.conf
41 Source5:        %{name}-clusters.conf
42 Source7:        %{name}-ndb.init
43 Source8:        %{name}-ndb.sysconfig
44 Source9:        %{name}-ndb-mgm.init
45 Source10:       %{name}-ndb-mgm.sysconfig
46 Source11:       %{name}-ndb-cpc.init
47 Source12:       %{name}-ndb-cpc.sysconfig
48 Source13:       %{name}-client.conf
49 Patch0:         %{name}-libs.patch
50 Patch1:         %{name}-sphinx.patch
51 Patch2:         %{name}-c++.patch
52 Patch3:         %{name}-info.patch
53 Patch4:         %{name}-sql-cxx-pic.patch
54 Patch5:         %{name}-noproc.patch
55 Patch6:         %{name}-fix_privilege_tables.patch
56 Patch7:         %{name}-align.patch
57 Patch8:         %{name}-client-config.patch
58 Patch9:         %{name}-build.patch
59 Patch10:        %{name}-alpha.patch
60 Patch11:        %{name}-ndb-ldflags.patch
61 Patch12:        %{name}-bug-20153.patch
62 Patch13:        %{name}-bug-34192.patch
63 Patch14:        %{name}-bug-16470.patch
64 Patch15:        %{name}-system-users.patch
65 Patch16:        %{name}-bug-39021.patch
66 URL:            http://www.mysql.com/products/database/mysql/community_edition.html
67 BuildRequires:  autoconf
68 BuildRequires:  automake
69 BuildRequires:  bison
70 %{?with_bdb:BuildRequires:      db3-devel}
71 BuildRequires:  flex
72 BuildRequires:  libstdc++-devel >= 5:3.0
73 BuildRequires:  libtool
74 %{?with_tcpd:BuildRequires:     libwrap-devel}
75 BuildRequires:  ncurses-devel >= 4.2
76 %{?with_ssl:BuildRequires:      openssl-devel >= 0.9.7d}
77 BuildRequires:  perl-DBI
78 BuildRequires:  perl-devel >= 1:5.6.1
79 BuildRequires:  readline-devel >= 4.2
80 BuildRequires:  rpm-perlprov >= 4.1-13
81 BuildRequires:  rpmbuild(macros) >= 1.268
82 BuildRequires:  sed >= 4.0
83 BuildRequires:  texinfo
84 BuildRequires:  zlib-devel
85 Requires(post,preun):   /sbin/chkconfig
86 Requires(postun):       /usr/sbin/groupdel
87 Requires(postun):       /usr/sbin/userdel
88 Requires(pre):  /bin/id
89 Requires(pre):  /usr/bin/getgid
90 Requires(pre):  /usr/sbin/groupadd
91 Requires(pre):  /usr/sbin/useradd
92 Requires(triggerpostun):        sed >= 4.0
93 Requires:       %{name}-charsets = %{version}-%{release}
94 Requires:       /usr/bin/setsid
95 Requires:       rc-scripts >= 0.2.0
96 Provides:       MySQL-server
97 Provides:       group(mysql)
98 Provides:       msqlormysql
99 Provides:       user(mysql)
100 Obsoletes:      MySQL
101 Obsoletes:      mysql-server
102 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
103
104 %define         _libexecdir     %{_sbindir}
105 %define         _localstatedir  /var/lib/mysql
106 %define         _mysqlhome      /home/services/mysql
107
108 %define         _noautoreqdep   'perl(DBD::mysql)'
109 # CFLAGS for innodb are altered
110 %undefine       configure_cache
111
112 %description
113 MySQL is a true multi-user, multi-threaded SQL (Structured Query
114 Language) database server. SQL is the most popular database language
115 in the world. MySQL is a client/server implementation that consists of
116 a server daemon mysqld and many different client programs/libraries.
117
118 The main goals of MySQL are speed, robustness and easy to use. MySQL
119 was originally developed because we at Tcx needed a SQL server that
120 could handle very big databases with magnitude higher speed than what
121 any database vendor could offer to us. We have now been using MySQL
122 since 1996 in a environment with more than 40 databases, 10,000
123 tables, of which more than 500 have more than 7 million rows. This is
124 about 50G of mission critical data.
125
126 The base upon which MySQL is built is a set of routines that have been
127 used in a highly demanding production environment for many years.
128 While MySQL is still in development, it already offers a rich and
129 highly useful function set.
130
131 %description -l fr.UTF-8
132 MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et
133 multi-taches. Le langage SQL est le langage de bases de donnees le
134 plus populaire au monde. MySQL est une implementation client/serveur
135 qui consiste en un serveur (mysqld) et differents
136 programmes/bibliotheques clientes.
137
138 Les objectifs principaux de MySQL sont: vitesse, robustesse et
139 facilite d'utilisation. MySQL fut originalement developpe parce que
140 nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de
141 tres grandes bases de donnees avec une vitesse d'un ordre de magnitude
142 superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous
143 utilisons MySQL depuis 1996 dans un environnement avec plus de 40
144 bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7
145 millions de lignes. Ceci represente environ 50G de donnees critiques.
146
147 A la base de la conception de MySQL, on retrouve une serie de routines
148 qui ont ete utilisees dans un environnement de production pendant
149 plusieurs annees. Meme si MySQL est encore en developpement, il offre
150 deja une riche et utile serie de fonctions.
151
152 %description -l pl.UTF-8
153 MySQL to prawdziwie wieloużytkownikowy, wielowątkowy serwer baz danych
154 SQL. SQL jest najpopularniejszym na świecie językiem używanym do baz
155 danych. MySQL to implementacja klient/serwer składająca się z demona
156 mysqld i wielu różnych programów i bibliotek klienckich.
157
158 Głównymi celami MySQL-a są szybkość, potęga i łatwość użytkowania.
159 MySQL oryginalnie był tworzony, ponieważ autorzy w Tcx potrzebowali
160 serwera SQL do obsługi bardzo dużych baz danych z szybkością o wiele
161 większą, niż mogli zaoferować inni producenci baz danych. Używają go
162 od 1996 roku w środowisku z ponad 40 bazami danych, 10 000 tabel, z
163 których ponad 500 zawiera ponad 7 milionów rekordów - w sumie około
164 50GB krytycznych danych.
165
166 Baza, na której oparty jest MySQL, składa się ze zbioru procedur,
167 które były używane w bardzo wymagającym środowisku produkcyjnym przez
168 wiele lat. Pomimo, że MySQL jest ciągle rozwijany, już oferuje bogaty
169 i użyteczny zbiór funkcji.
170
171 %description -l de.UTF-8
172 MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz zu
173 Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten
174 werden zwar in zweidimensionalen Tabellen gespeichert und können mit
175 einem Primärschlüssel versehen werden. Es ist aber keine Definition
176 eines Fremdschlüssels möglich. Der Benutzer ist somit bei einer
177 MySQL-Datenbank völlig allein für die (referenzielle) Integrität der
178 Daten verantwortlich. Allein durch die Nutzung externer
179 Tabellenformate, wie InnoDB bzw Berkeley DB wird eine Relationalität
180 ermöglicht. Diese Projekte sind aber getrennt von MySQL zu betrachten.
181
182 %description -l pt_BR.UTF-8
183 O MySQL é um servidor de banco de dados SQL realmente multiusuário e
184 multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de
185 dados no mundo. O MySQL é uma implementação cliente/servidor que
186 consiste de um servidor chamado mysqld e diversos
187 programas/bibliotecas clientes. Os principais objetivos do MySQL são:
188 velocidade, robustez e facilidade de uso. O MySQL foi originalmente
189 desenvolvido porque nós na Tcx precisávamos de um servidor SQL que
190 pudesse lidar com grandes bases de dados e com uma velocidade muito
191 maior do que a que qualquer vendedor podia nos oferecer. Estamos
192 usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados
193 com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de
194 linhas. Isto é o equivalente a aproximadamente 50G de dados críticos.
195 A base da construção do MySQL é uma série de rotinas que foram usadas
196 em um ambiente de produção com alta demanda por muitos anos. Mesmo o
197 MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de
198 funções muito ricas e úteis. Veja a documentação para maiores
199 informações.
200
201 %description -l ru.UTF-8
202 MySQL - это SQL (Structured Query Language) сервер базы данных. MySQL
203 была написана Michael'ом (monty) Widenius'ом. См. файл CREDITS в
204 дистрибутиве на предмет других участников проекта и прочей информации
205 о MySQL.
206
207 %description -l uk.UTF-8
208 MySQL - це SQL (Structured Query Language) сервер бази даних. MySQL
209 було написано Michael'ом (monty) Widenius'ом. Див. файл CREDITS в
210 дистрибутиві для інформації про інших учасників проекту та іншої
211 інформації.
212
213 %package charsets
214 Summary:        MySQL - character sets definitions
215 Summary(pl.UTF-8):      MySQL - definicje kodowań znaków
216 Group:          Applications/Databases
217
218 %description charsets
219 This package contains character sets definitions needed by both client
220 and server.
221
222 %description charsets -l pl.UTF-8
223 Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i
224 klienta.
225
226 %package extras
227 Summary:        MySQL additional utilities
228 Summary(pl.UTF-8):      Dodatkowe narzędzia do MySQL
229 Group:          Applications/Databases
230 Requires:       %{name}-libs = %{version}-%{release}
231
232 %description extras
233 MySQL additional utilities except Perl scripts (they may be found in
234 %{name}-extras-perl package).
235
236 %description extras -l pl.UTF-8
237 Dodatkowe narzędzia do MySQL - z wyjątkiem skryptów Perla (które są w
238 pakiecie %{name}-extras-perl).
239
240 %package extras-perl
241 Summary:        MySQL additional utilities written in Perl
242 Summary(pl.UTF-8):      Dodatkowe narzędzia do MySQL napisane w Perlu
243 Group:          Applications/Databases
244 Requires:       %{name}-extras = %{version}-%{release}
245 Requires:       perl(DBD::mysql)
246
247 %description extras-perl
248 MySQL additional utilities written in Perl.
249
250 %description extras-perl -l pl.UTF-8
251 Dodatkowe narzędzia do MySQL napisane w Perlu.
252
253 %package client
254 Summary:        MySQL - Client
255 Summary(pl.UTF-8):      MySQL - Klient
256 Summary(pt.UTF-8):      MySQL - Cliente
257 Summary(ru.UTF-8):      MySQL клиент
258 Summary(uk.UTF-8):      MySQL клієнт
259 Group:          Applications/Databases
260 Requires:       %{name}-charsets = %{version}-%{release}
261 Requires:       %{name}-libs = %{version}-%{release}
262 Obsoletes:      MySQL-client
263
264 %description client
265 This package contains the standard MySQL clients.
266
267 %description client -l fr.UTF-8
268 Ce package contient les clients MySQL standards.
269
270 %description client -l pl.UTF-8
271 Standardowe programy klienckie MySQL.
272
273 %description client -l pt_BR.UTF-8
274 Este pacote contém os clientes padrão para o MySQL.
275
276 %description client -l ru.UTF-8
277 Этот пакет содержит только клиент MySQL.
278
279 %description client -l uk.UTF-8
280 Цей пакет містить тільки клієнта MySQL.
281
282 %package libs
283 Summary:        Shared libraries for MySQL
284 Summary(pl.UTF-8):      Biblioteki dzielone MySQL
285 Group:          Libraries
286 Obsoletes:      libmysql10
287 Obsoletes:      mysql-doc < 4.1.12
288
289 %description libs
290 Shared libraries for MySQL.
291
292 %description libs -l pl.UTF-8
293 Biblioteki dzielone MySQL.
294
295 %package devel
296 Summary:        MySQL - Development header files and libraries
297 Summary(pl.UTF-8):      MySQL - Pliki nagłówkowe i biblioteki dla programistów
298 Summary(pt.UTF-8):      MySQL - Medições de desempenho
299 Summary(ru.UTF-8):      MySQL - хедеры и библиотеки разработчика
300 Summary(uk.UTF-8):      MySQL - хедери та бібліотеки програміста
301 Group:          Development/Libraries
302 Requires:       %{name}-libs = %{version}-%{release}
303 %{?with_ssl:Requires:   openssl-devel}
304 Requires:       zlib-devel
305 Obsoletes:      MySQL-devel
306 Obsoletes:      libmysql10-devel
307
308 %description devel
309 This package contains the development header files and libraries
310 necessary to develop MySQL client applications.
311
312 %description devel -l fr.UTF-8
313 Ce package contient les fichiers entetes et les librairies de
314 developpement necessaires pour developper des applications clientes
315 MySQL.
316
317 %description devel -l pl.UTF-8
318 Pliki nagłówkowe i biblioteki konieczne do kompilacji aplikacji
319 klienckich MySQL.
320
321 %description devel -l pt_BR.UTF-8
322 Este pacote contém os arquivos de cabeçalho (header files) e
323 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
324
325 %description devel -l ru.UTF-8
326 Этот пакет содержит хедеры и библиотеки разработчика, необходимые для
327 разработки клиентских приложений.
328
329 %description devel -l uk.UTF-8
330 Цей пакет містить хедери та бібліотеки програміста, необхідні для
331 розробки програм-клієнтів.
332
333 %package static
334 Summary:        MySQL static libraries
335 Summary(pl.UTF-8):      Biblioteki statyczne MySQL
336 Summary(ru.UTF-8):      MySQL - статические библиотеки
337 Summary(uk.UTF-8):      MySQL - статичні бібліотеки
338 Group:          Development/Libraries
339 Requires:       %{name}-devel = %{version}-%{release}
340 Obsoletes:      MySQL-static
341
342 %description static
343 MySQL static libraries.
344
345 %description static -l pl.UTF-8
346 Biblioteki statyczne MySQL.
347
348 %description static -l ru.UTF-8
349 Этот пакет содержит статические библиотеки разработчика, необходимые
350 для разработки клиентских приложений.
351
352 %description static -l uk.UTF-8
353 Цей пакет містить статичні бібліотеки програміста, необхідні для
354 розробки програм-клієнтів.
355
356 %package bench
357 Summary:        MySQL - Benchmarks
358 Summary(pl.UTF-8):      MySQL - Programy testujące szybkość działania bazy
359 Summary(pt.UTF-8):      MySQL - Medições de desempenho
360 Summary(ru.UTF-8):      MySQL - бенчмарки
361 Summary(uk.UTF-8):      MySQL - бенчмарки
362 Group:          Applications/Databases
363 Requires:       %{name} = %{version}-%{release}
364 Requires:       %{name}-client
365 Requires:       perl(DBD::mysql)
366 Obsoletes:      MySQL-bench
367
368 %description bench
369 This package contains MySQL benchmark scripts and data.
370
371 %description bench -l pl.UTF-8
372 Programy testujące szybkość serwera MySQL.
373
374 %description bench -l pt_BR.UTF-8
375 Este pacote contém medições de desempenho de scripts e dados do MySQL.
376
377 %description bench -l ru.UTF-8
378 Этот пакет содержит скрипты и данные для оценки производительности
379 MySQL.
380
381 %description bench -l uk.UTF-8
382 Цей пакет містить скрипти та дані для оцінки продуктивності MySQL.
383
384 %package doc
385 Summary:        MySQL manual
386 Summary(pl.UTF-8):      Podręcznik użytkownika MySQL
387 Group:          Applications/Databases
388
389 %description doc
390 This package contains manual in HTML format.
391
392 %description doc -l pl.UTF-8
393 Podręcznik MySQL-a w formacie HTML.
394
395 %package ndb
396 Summary:        MySQL - NDB Storage Engine Daemon
397 Summary(pl.UTF-8):      MySQL - demon silnika przechowywania danych NDB
398 Group:          Applications/Databases
399 Requires:       %{name}-libs = %{version}-%{release}
400
401 %description ndb
402 This package contains the standard MySQL NDB Storage Engine Daemon.
403
404 %description ndb -l pl.UTF-8
405 Ten pakiet zawiera standardowego demona silnika przechowywania danych
406 NDB.
407
408 %package ndb-client
409 Summary:        MySQL - NDB Clients
410 Summary(pl.UTF-8):      MySQL - programy klienckie NDB
411 Group:          Applications/Databases
412 Requires:       %{name}-libs = %{version}-%{release}
413
414 %description ndb-client
415 This package contains the standard MySQL NDB Clients.
416
417 %description ndb-client -l pl.UTF-8
418 Ten pakiet zawiera standardowe programy klienckie MySQL NDB.
419
420 %package ndb-mgm
421 Summary:        MySQL - NDB Management Daemon
422 Summary(pl.UTF-8):      MySQL - demon zarządzający NDB
423 Group:          Applications/Databases
424 Requires:       %{name}-libs = %{version}-%{release}
425
426 %description ndb-mgm
427 This package contains the standard MySQL NDB Management Daemon.
428
429 %description ndb-mgm -l pl.UTF-8
430 Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB.
431
432 %package ndb-cpc
433 Summary:        MySQL - NDB CPC Daemon
434 Summary(pl.UTF-8):      MySQL - demon NDB CPC
435 Group:          Applications/Databases
436 Requires:       %{name}-libs = %{version}-%{release}
437
438 %description ndb-cpc
439 This package contains the standard MySQL NDB CPC Daemon.
440
441 %description ndb-cpc -l pl.UTF-8
442 Ten pakiet zawiera standardowego demona MySQL NDB CPC.
443
444 %prep
445 %setup -q %{?_snap:-n %{name}-%{version}-nightly-%{_snap}} %{?with_sphinx:-a100}
446 %patch0 -p1
447 %if %{with sphinx}
448 mv sphinx-*/mysqlse sql/sphinx
449 %patch1 -p1
450 %endif
451 %patch2 -p1
452 %patch3 -p1
453 %ifarch alpha
454 # this is strange: mysqld functions for UDF modules are not explicitly defined,
455 # so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables
456 # in objects compiled without -fPIC
457 %patch4 -p1
458 # gcc 3.3.x ICE
459 %patch10 -p1
460 %endif
461 %patch5 -p1
462 %patch6 -p1
463 %patch7 -p1
464 %patch8 -p1
465 %patch9 -p1
466 %patch11 -p1
467 %patch12 -p1
468 %patch13 -p1
469 %patch14 -p1
470 %patch15 -p1
471 %patch16 -p1
472
473 %build
474 %{__libtoolize}
475 %{__aclocal}
476 %{__automake}
477 %{__autoconf}
478
479 # The compiler flags are as per their "official" spec ;)
480 CXXFLAGS="%{rpmcflags} -felide-constructors -fno-rtti -fno-exceptions %{!?debug:-fomit-frame-pointer}"
481 CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
482
483 # NOTE: the PS, FIND_PROC, KILL, CHECK_PID are not used by PLD Linux
484 # and therefore do not add BR on these. These are here just to satisfy
485 # configure.
486
487 %configure \
488         PS='/bin/ps' \
489         FIND_PROC='/bin/ps p $$PID' \
490         KILL='/bin/kill' \
491         CHECK_PID='/bin/kill -0 $$PID' \
492         --enable-assembler \
493         --enable-largefile=yes \
494         --enable-shared \
495         --enable-static \
496         --enable-thread-safe-client \
497         --with%{!?with_bdb:out}-berkeley-db \
498         --with%{!?with_innodb:out}-innodb \
499         --with%{!?with_raid:out}-raid \
500         --with%{!?with_ssl:out}-openssl \
501         --with%{!?with_tcpd:out}-libwrap \
502         %{?with_big_tables:--with-big-tables} \
503         --with-comment="PLD Linux Distribution MySQL RPM" \
504         --with%{!?debug:out}-debug \
505         --with%{!?debug:out}-ndb-debug \
506         --with-embedded-server \
507         --with-extra-charsets=all \
508         --with-low-memory \
509         --with-mysqld-user=mysql \
510         --with-named-curses-libs="-lncurses" \
511         --with-named-thread-libs="-lpthread" \
512         --with-unix-socket-path=/var/lib/mysql/mysql.sock \
513         --with-archive-storage-engine \
514         %{?with_sphinx:--with-sphinx-storage-engine} \
515         %{?with_federated:--with-federated-storage-engine} \
516         --with-vio \
517         --with-ndbcluster \
518         --without-readline \
519         --without-libedit \
520         --without-docs
521 #       --with-mysqlfs
522 #       --with-ndb-test --with-ndb-docs
523
524 # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file
525 # (it defaults to first cluster but user may change it to whatever
526 # cluster it wants)
527
528 echo -e "all:\ninstall:\nclean:\nlink_sources:\n" > libmysqld/examples/Makefile
529
530 %{__make} \
531         benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench
532
533 %{__make} -C Docs mysql.info
534
535 %install
536 rm -rf $RPM_BUILD_ROOT
537 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql} \
538            $RPM_BUILD_ROOT/var/{log/{archiv,}/mysql,lib/mysql} \
539            $RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}}
540
541 %if %{with bdb}
542 install -d $RPM_BUILD_ROOT/var/lib/mysql/bdb/{log,tmp}
543 %endif
544
545 # Make install
546 %{__make} install \
547         DESTDIR=$RPM_BUILD_ROOT \
548         benchdir=%{_datadir}/sql-bench \
549         libsdir=/tmp
550 # libsdir is to avoid installing innodb static libs in $RPM_BUILD_ROOT../libs
551
552 install Docs/mysql.info $RPM_BUILD_ROOT%{_infodir}
553
554 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
555 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
556 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
557 # This is template for configuration file which is created after 'service mysql init'
558 install %{SOURCE4} mysqld.conf
559 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/clusters.conf
560 touch $RPM_BUILD_ROOT/var/log/mysql/{err,log,update}
561
562 # remove innodb directives from mysqld.conf if mysqld is configured without
563 %if !%{with innodb}
564         echo "BASE_TABLETYPE=MyISAM" >> $RPM_BUILD_ROOT/etc/sysconfig/mysql
565         cp mysqld.conf mysqld.tmp
566         awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
567 %endif
568
569 # remove berkeley-db directives from mysqld.conf if mysqld is configured without
570 %if !%{with bdb}
571         cp mysqld.conf mysqld.tmp
572         awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
573 %endif
574
575 install mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.conf
576 install %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/mysql-client.conf
577
578 # NDB
579 install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb
580 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb
581 install %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm
582 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm
583 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc
584 install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc
585 # remove .txt variants for .sys messages
586 rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/*/*.txt
587
588 mv -f $RPM_BUILD_ROOT%{_libdir}/mysql/lib* $RPM_BUILD_ROOT%{_libdir}
589 sed -i -e 's,%{_libdir}/mysql,%{_libdir},' $RPM_BUILD_ROOT{%{_libdir}/libmysqlclient{,_r}.la,%{_bindir}/mysql_config}
590
591 # remove known unpackaged files
592 rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
593
594 # rename not to be so generic name
595 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}comp_err
596 mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump
597 mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1
598 mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}comp_err.1
599
600 # not useful without -debug build
601 %{!?debug:rm -f $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump}
602 %{!?debug:rm -f $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1}
603 # generate symbols file, so one can generate backtrace using it
604 # mysql_resolve_stack_dump -s %{_datadir}/mysql/mysqld.sym -n mysqld.stack.
605 # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html
606 %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.sym}
607
608 # functionality in initscript / rpm / other os
609 rm $RPM_BUILD_ROOT%{_bindir}/mysql_install_db
610 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_safe
611 rm $RPM_BUILD_ROOT%{_bindir}/mysqld_multi
612 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}*
613 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate
614 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server
615 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure
616 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg.txt
617 rm $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid
618 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server*
619 rm $RPM_BUILD_ROOT%{_mandir}/man1/safe_mysqld*
620 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1*
621 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_bin_dist.1
622 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_install_db.1
623 rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1
624 rm $RPM_BUILD_ROOT%{_mandir}/man1/make_win_src_distribution.1
625 rm $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld_multi.server
626
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
631
632 # in %doc
633 rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf}
634
635 %clean
636 rm -rf $RPM_BUILD_ROOT
637
638 %pre
639 %groupadd -g 89 mysql
640 %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql
641
642 %post
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
646
647 %preun
648 if [ "$1" = "0" ]; then
649         %service -q mysql stop
650         /sbin/chkconfig --del mysql
651 fi
652
653 %postun
654 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
655 if [ "$1" = "0" ]; then
656         %userremove mysql
657         %groupremove mysql
658 fi
659
660 %post ndb
661 /sbin/chkconfig --add mysql-ndb
662 %service mysql-ndb restart "mysql NDB engine"
663
664 %preun ndb
665 if [ "$1" = "0" ]; then
666         %service mysql-ndb stop
667         /sbin/chkconfig --del mysql-ndb
668 fi
669
670 %post ndb-mgm
671 /sbin/chkconfig --add mysql-ndb-mgm
672 %service mysql-ndb-mgm restart "mysql NDB management node"
673
674 %preun ndb-mgm
675 if [ "$1" = "0" ]; then
676         %service mysql-ndb-mgm stop
677         /sbin/chkconfig --del mysql-ndb-mgm
678 fi
679
680 %post ndb-cpc
681 /sbin/chkconfig --add mysql-ndb-cpc
682 %service mysql-ndb-cpc restart "mysql NDB CPC"
683
684 %preun ndb-cpc
685 if [ "$1" = "0" ]; then
686         %service mysql-ndb-cpc stop
687         /sbin/chkconfig --del mysql-ndb-cpc
688 fi
689
690 %post   libs -p /sbin/ldconfig
691 %postun libs -p /sbin/ldconfig
692
693 %triggerpostun -- mysql < 4.0.20-2.4
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
700                 done
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."
705         fi
706 fi
707
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
715         else
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"
720                         exit 1
721                 fi
722                 config_file="$clusterdir/mysqld.conf"
723         fi
724
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/"
727                         exit 1
728         fi
729         echo "Adding option old-passwords to config: $config_file"
730         echo "If you want to use new, better passwords - remove it"
731
732         # sed magic to add 'old-passwords' to [mysqld] section
733         sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
734                 a
735                 a; Compatibility options:
736                 aold-passwords
737         }
738         ' $config_file
739 done
740
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
744 EOF
745 #'
746
747 %files
748 %defattr(644,root,root,755)
749 %doc support-files/*.cnf support-files/*.ini ChangeLog
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*
771
772 %if %{?debug:1}0
773 %attr(755,root,root) %{_bindir}/*resolve_stack_dump
774 %{_datadir}/mysql/mysqld.sym
775 %{_mandir}/man1/*resolve_stack_dump.1*
776 %endif
777
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/*
784
785 %{_infodir}/mysql.info*
786 # This is template for configuration file which is created after 'service mysql init'
787 %{_datadir}/mysql/mysqld.conf
788
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
794
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
818
819 %files charsets
820 %defattr(644,root,root,755)
821 %dir %{_datadir}/mysql
822 %{_datadir}/mysql/charsets
823
824 %files extras
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*
842
843 %files extras-perl
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*
864
865 %files client
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*
883
884 %files libs
885 %defattr(644,root,root,755)
886 %doc EXCEPTIONS-CLIENT
887 %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*
888 %attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*
889 %attr(755,root,root) %{_libdir}/libndbclient.so.*.*
890 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.15
891 %attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.15
892 %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.2
893 %attr(751,root,root) %dir %{_sysconfdir}/mysql
894 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/mysql-client.conf
895
896 %files devel
897 %defattr(644,root,root,755)
898 %attr(755,root,root) %{_bindir}/mysql_config
899 %attr(755,root,root) %{_libdir}/lib*.so
900 %attr(755,root,root) %{_bindir}/*comp_err
901 %{_libdir}/lib*.la
902 %{_libdir}/lib*[!tr].a
903 %{_includedir}/mysql
904 %{_mandir}/man1/mysql_config.1*
905 %{_mandir}/man1/*comp_err.1*
906
907 %files static
908 %defattr(644,root,root,755)
909 %{_libdir}/lib*[tr].a
910
911 %files bench
912 %defattr(644,root,root,755)
913 %attr(755,root,root) %{_bindir}/mysql_client_test
914 %attr(755,root,root) %{_bindir}/mysqltest
915 %attr(755,root,root) %{_bindir}/mysqltestmanager
916 %attr(755,root,root) %{_bindir}/mysqltestmanager-pwgen
917 %attr(755,root,root) %{_bindir}/mysqltestmanagerc
918 %dir %{_datadir}/sql-bench
919 %{_datadir}/sql-bench/[CDRl]*
920 %attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]*
921 # wrong dir?
922 %{_datadir}/mysql/mi_test_all.res
923 %attr(755,root,root) %{_datadir}/mysql/mi_test_all
924 %{_mandir}/man1/mysqlbug.1*
925 %{_mandir}/man1/mysqltest*.1*
926 %{_mandir}/man1/mysql_client_test.1*
927
928 #%files doc
929 #%defattr(644,root,root,755)
930 #%doc Docs/manual.html Docs/manual_toc.html
931
932 %files ndb
933 %defattr(644,root,root,755)
934 %attr(755,root,root) %{_sbindir}/ndbd
935 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb
936 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb
937 %{_mandir}/man8/ndbd.8*
938
939 %files ndb-client
940 %defattr(644,root,root,755)
941 %attr(755,root,root) %{_bindir}/ndb_*
942 %attr(755,root,root) %{_datadir}/mysql/ndb_size.tmpl
943 %{_mandir}/man1/ndb_*.1*
944 %exclude %{_mandir}/man8/ndb_mgmd.8*
945
946 %files ndb-mgm
947 %defattr(644,root,root,755)
948 %attr(755,root,root) %{_sbindir}/ndb_mgmd
949 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm
950 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm
951 %{_mandir}/man8/ndb_mgmd.8*
952
953 %files ndb-cpc
954 %defattr(644,root,root,755)
955 %attr(755,root,root) %{_sbindir}/ndb_cpcd
956 %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc
957 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc
958 %{_mandir}/man1/ndb_cpcd.1*
This page took 0.089756 seconds and 4 git commands to generate.