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