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