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