]> git.pld-linux.org Git - packages/mysql.git/blob - mysql.spec
- use gen_lex_hash from newer mysql (01da261574e3ba326c3ed8f8f2660d894d7ced11 in...
[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 # - what's the libwrapper constistent name, i see in specs 'libwrap', 'tcpd', 'tcp_wrappers'
6 # - hangs on memcpy() (even mysql client does that) when built on Th, probably some problems
7 #   with overlaping areas. Note that Ac binaries run fine on Th
8 #
9 # Conditional build:
10 %bcond_with     bdb     # Berkeley DB support
11 %bcond_without  innodb  # Without InnoDB support
12 %bcond_without  isam    # Without ISAM table format (used in mysql 3.22)
13 %bcond_without  raid    # Without raid
14 %bcond_without  ssl     # Without OpenSSL
15 %bcond_without  tcpd    # Without libwrap (tcp_wrappers) support
16 #
17 %include        /usr/lib/rpm/macros.perl
18 Summary:        MySQL: a very fast and reliable SQL database engine
19 Summary(fr):    MySQL: un serveur SQL rapide et fiable
20 Summary(pl):    MySQL: bardzo szybka i niezawodna baza danych (SQL)
21 Summary(pt_BR): MySQL: Um servidor SQL rápido e confiável
22 Summary(ru):    MySQL - ÂÙÓÔÒÙÊ SQL-ÓÅÒ×ÅÒ
23 Summary(uk):    MySQL - Û×ÉÄËÉÊ SQL-ÓÅÒ×ÅÒ
24 Summary(zh_CN): MySQLÊý¾Ý¿â·þÎñÆ÷
25 Name:           mysql
26 Version:        4.0.30
27 Release:        5
28 License:        GPL + MySQL FLOSS Exception
29 Group:          Applications/Databases
30 Source0:        http://mirror.provenscaling.com/mysql/community/source/4.0/%{name}-%{version}.tar.gz
31 # Source0-md5:  35b838f40fa1f1d7feb9e65b42eea449
32 Source1:        %{name}.init
33 Source2:        %{name}.sysconfig
34 Source3:        %{name}.logrotate
35 Source4:        %{name}d.conf
36 Source5:        %{name}-clusters.conf
37 Source6:        %{name}.monitrc
38 Patch0:         %{name}-libs.patch
39 Patch1:         %{name}-libwrap.patch
40 Patch2:         %{name}-c++.patch
41 Patch3:         %{name}-_r-link.patch
42 Patch4:         %{name}-info.patch
43 Patch5:         %{name}-sql-cxx-pic.patch
44 Patch6:         %{name}-noproc.patch
45 Patch7:         %{name}-fix_privilege_tables.patch
46 Patch8:         %{name}-nptl.patch
47 Patch9:         %{name}-bug-27198.patch
48 Patch10:        %{name}-rename-table.patch
49 Patch11:        %{name}-sslchain.patch
50 Patch12:        community-mysql-dh1024.patch
51 Patch13:        %{name}-m4.patch
52 Patch14:        %{name}-format.patch
53 Patch15:        %{name}-hash.patch
54 URL:            http://www.mysql.com/
55 BuildRequires:  /bin/ps
56 #BuildRequires: ORBit-devel
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.159
70 BuildRequires:  texinfo
71 BuildRequires:  zlib-devel
72 Requires(post,preun):   /sbin/chkconfig
73 Requires(postun):       /usr/sbin/groupdel
74 Requires(postun):       /usr/sbin/userdel
75 Requires(pre):  /bin/id
76 Requires(pre):  /usr/bin/getgid
77 Requires(pre):  /usr/sbin/groupadd
78 Requires(pre):  /usr/sbin/useradd
79 Requires:       /usr/bin/setsid
80 Requires:       rc-scripts >= 0.2.0
81 Provides:       MySQL-server
82 Provides:       group(mysql)
83 Provides:       msqlormysql
84 Provides:       user(mysql)
85 Obsoletes:      MySQL
86 Obsoletes:      mysql-server
87 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
88
89 %define         _sysconfdir     /etc/%{name}
90 %define         _libexecdir     %{_sbindir}
91 %define         _localstatedir  /var/lib/mysql
92 %define         _mysqlhome      /home/services/mysql
93
94 %define         _noautoreqdep   'perl(DBD::mysql)'
95 # workaround for buggy gcc 3.3.1
96 %define         specflags_alpha  -mno-explicit-relocs
97
98 %description
99 MySQL is a true multi-user, multi-threaded SQL (Structured Query
100 Language) database server. SQL is the most popular database language
101 in the world. MySQL is a client/server implementation that consists of
102 a server daemon mysqld and many different client programs/libraries.
103
104 The main goals of MySQL are speed, robustness and easy to use. MySQL
105 was originally developed because we at Tcx needed a SQL server that
106 could handle very big databases with magnitude higher speed than what
107 any database vendor could offer to us. We have now been using MySQL
108 since 1996 in a environment with more than 40 databases, 10,000
109 tables, of which more than 500 have more than 7 million rows. This is
110 about 50G of mission critical data.
111
112 The base upon which MySQL is built is a set of routines that have been
113 used in a highly demanding production environment for many years.
114 While MySQL is still in development, it already offers a rich and
115 highly useful function set.
116
117 %description -l fr
118 MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et
119 multi-taches. Le langage SQL est le langage de bases de donnees le
120 plus populaire au monde. MySQL est une implementation client/serveur
121 qui consiste en un serveur (mysqld) et differents
122 programmes/bibliotheques clientes.
123
124 Les objectifs principaux de MySQL sont: vitesse, robustesse et
125 facilite d'utilisation. MySQL fut originalement developpe parce que
126 nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de
127 tres grandes bases de donnees avec une vitesse d'un ordre de magnitude
128 superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous
129 utilisons MySQL depuis 1996 dans un environnement avec plus de 40
130 bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7
131 millions de lignes. Ceci represente environ 50G de donnees critiques.
132
133 A la base de la conception de MySQL, on retrouve une serie de routines
134 qui ont ete utilisees dans un environnement de production pendant
135 plusieurs annees. Meme si MySQL est encore en developpement, il offre
136 deja une riche et utile serie de fonctions.
137
138 %description -l pl
139 MySQL to prawdziwie wielou¿ytkownikowy, wielow±tkowy serwer baz danych
140 SQL. SQL jest najpopularniejszym na ¶wiecie jêzykiem u¿ywanym do baz
141 danych. MySQL to implementacja klient/serwer sk³adaj±ca siê z demona
142 mysqld i wielu ró¿nych programów i bibliotek klienckich.
143
144 G³ównymi celami MySQL-a s± szybko¶æ, potêga i ³atwo¶æ u¿ytkowania.
145 MySQL oryginalnie by³ tworzony, poniewa¿ autorzy w Tcx potrzebowali
146 serwera SQL do obs³ugi bardzo du¿ych baz danych z szybko¶ci± o wiele
147 wiêksz±, ni¿ mogli zaoferowaæ inni producenci baz danych. U¿ywaj± go
148 od 1996 roku w ¶rodowisku z ponad 40 bazami danych, 10 000 tabel, z
149 których ponad 500 zawiera ponad 7 milionów rekordów - w sumie oko³o
150 50GB krytycznych danych.
151
152 Baza, na której oparty jest MySQL, sk³ada siê ze zbioru procedur,
153 które by³y u¿ywane w bardzo wymagaj±cym ¶rodowisku produkcyjnym przez
154 wiele lat. Pomimo, ¿e MySQL jest ci±gle rozwijany, ju¿ oferuje bogaty
155 i u¿yteczny zbiór funkcji.
156
157 %description -l pt_BR
158 O MySQL é um servidor de banco de dados SQL realmente multiusuário e
159 multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de
160 dados no mundo. O MySQL é uma implementação cliente/servidor que
161 consiste de um servidor chamado mysqld e diversos
162 programas/bibliotecas clientes. Os principais objetivos do MySQL são:
163 velocidade, robustez e facilidade de uso. O MySQL foi originalmente
164 desenvolvido porque nós na Tcx precisávamos de um servidor SQL que
165 pudesse lidar com grandes bases de dados e com uma velocidade muito
166 maior do que a que qualquer vendedor podia nos oferecer. Estamos
167 usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados
168 com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de
169 linhas. Isto é o equivalente a aproximadamente 50G de dados críticos.
170 A base da construção do MySQL é uma série de rotinas que foram usadas
171 em um ambiente de produção com alta demanda por muitos anos. Mesmo o
172 MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de
173 funções muito ricas e úteis. Veja a documentação para maiores
174 informações.
175
176 %description -l ru
177 MySQL - ÜÔÏ SQL (Structured Query Language) ÓÅÒ×ÅÒ ÂÁÚÙ ÄÁÎÎÙÈ. MySQL
178 ÂÙÌÁ ÎÁÐÉÓÁÎÁ Michael'ÏÍ (monty) Widenius'ÏÍ. óÍ. ÆÁÊÌ CREDITS ×
179 ÄÉÓÔÒÉÂÕÔÉ×Å ÎÁ ÐÒÅÄÍÅÔ ÄÒÕÇÉÈ ÕÞÁÓÔÎÉËÏ× ÐÒÏÅËÔÁ É ÐÒÏÞÅÊ ÉÎÆÏÒÍÁÃÉÉ
180 Ï MySQL.
181
182 %description -l uk
183 MySQL - ÃÅ SQL (Structured Query Language) ÓÅÒ×ÅÒ ÂÁÚÉ ÄÁÎÉÈ. MySQL
184 ÂÕÌÏ ÎÁÐÉÓÁÎÏ Michael'ÏÍ (monty) Widenius'ÏÍ. äÉ×. ÆÁÊÌ CREDITS ×
185 ÄÉÓÔÒÉÂÕÔÉצ ÄÌÑ ¦ÎÆÏÒÍÁ槠ÐÒÏ ¦ÎÛÉÈ ÕÞÁÓÎÉ˦נÐÒÏÅËÔÕ ÔÁ ¦ÎÛϧ
186 ¦ÎÆÏÒÍÁæ§.
187
188 %package extras
189 Summary:        MySQL additional utilities
190 Summary(pl):    Dodatkowe narzêdzia do MySQL
191 Group:          Applications/Databases
192 Requires:       %{name}-libs = %{version}-%{release}
193
194 %description extras
195 MySQL additional utilities except Perl scripts (they may be found in
196 %{name}-extras-perl package).
197
198 %description extras -l pl
199 Dodatkowe narzêdzia do MySQL - z wyj±tkiem skryptów Perla (które s± w
200 pakiecie %{name}-extras-perl).
201
202 %package extras-perl
203 Summary:        MySQL additional utilities written in Perl
204 Summary(pl):    Dodatkowe narzêdzia do MySQL napisane w Perlu
205 Group:          Applications/Databases
206 Requires:       %{name}-extras = %{version}-%{release}
207 Requires:       perl(DBD::mysql)
208
209 %description extras-perl
210 MySQL additional utilities written in Perl.
211
212 %description extras-perl -l pl
213 Dodatkowe narzêdzia do MySQL napisane w Perlu.
214
215 %package client
216 Summary:        MySQL - Client
217 Summary(pl):    MySQL - Klient
218 Summary(pt):    MySQL - Cliente
219 Summary(ru):    MySQL ËÌÉÅÎÔ
220 Summary(uk):    MySQL Ë̦¤ÎÔ
221 Group:          Applications/Databases
222 Requires:       %{name}-libs = %{version}-%{release}
223 Obsoletes:      MySQL-client
224
225 %description client
226 This package contains the standard MySQL clients.
227
228 %description client -l fr
229 Ce package contient les clients MySQL standards.
230
231 %description client -l pl
232 Standardowe programy klienckie MySQL.
233
234 %description client -l pt_BR
235 Este pacote contém os clientes padrão para o MySQL.
236
237 %description client -l ru
238 üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÔÏÌØËÏ ËÌÉÅÎÔ MySQL.
239
240 %description client -l uk
241 ãÅÊ ÐÁËÅԠͦÓÔÉÔØ Ô¦ÌØËÉ Ë̦¤ÎÔÁ MySQL.
242
243 %package libs
244 Summary:        Shared libraries for MySQL
245 Summary(pl):    Biblioteki dzielone MySQL
246 Group:          Applications/Databases
247 Obsoletes:      libmysql10
248 Obsoletes:      mysql-doc < 4.0.25-1
249
250 %description libs
251 Shared libraries for MySQL.
252
253 %description libs -l pl
254 Biblioteki dzielone MySQL.
255
256 %package devel
257 Summary:        MySQL - Development header files and libraries
258 Summary(pl):    MySQL - Pliki nag³ówkowe i biblioteki dla programistów
259 Summary(pt):    MySQL - Medições de desempenho
260 Summary(ru):    MySQL - ÈÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ ÒÁÚÒÁÂÏÔÞÉËÁ
261 Summary(uk):    MySQL - ÈÅÄÅÒÉ ÔÁ Â¦Â̦ÏÔÅËÉ ÐÒÏÇÒÁͦÓÔÁ
262 Group:          Development/Libraries
263 Requires:       %{name}-libs = %{version}-%{release}
264 %{?with_ssl:Requires:   openssl-devel}
265 Requires:       zlib-devel
266 Obsoletes:      MySQL-devel
267 Obsoletes:      libmysql10-devel
268
269 %description devel
270 This package contains the development header files and libraries
271 necessary to develop MySQL client applications.
272
273 %description devel -l fr
274 Ce package contient les fichiers entetes et les librairies de
275 developpement necessaires pour developper des applications clientes
276 MySQL.
277
278 %description devel -l pl
279 Pliki nag³ówkowe i biblioteki konieczne do kompilacji aplikacji
280 klienckich MySQL.
281
282 %description devel -l pt_BR
283 Este pacote contém os arquivos de cabeçalho (header files) e
284 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
285
286 %description devel -l ru
287 üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÈÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ ÒÁÚÒÁÂÏÔÞÉËÁ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ
288 ÒÁÚÒÁÂÏÔËÉ ËÌÉÅÎÔÓËÉÈ ÐÒÉÌÏÖÅÎÉÊ.
289
290 %description devel -l uk
291 ãÅÊ ÐÁËÅԠͦÓÔÉÔØ ÈÅÄÅÒÉ ÔÁ Â¦Â̦ÏÔÅËÉ ÐÒÏÇÒÁͦÓÔÁ, ÎÅÏÂȦÄΦ ÄÌÑ
292 ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ-Ë̦¤ÎÔ¦×.
293
294 %package static
295 Summary:        MySQL static libraries
296 Summary(pl):    Biblioteki statyczne MySQL
297 Summary(ru):    MySQL - ÓÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ
298 Summary(uk):    MySQL - ÓÔÁÔÉÞΦ Â¦Â̦ÏÔÅËÉ
299 Group:          Development/Libraries
300 Requires:       %{name}-devel = %{version}-%{release}
301 Obsoletes:      MySQL-static
302
303 %description static
304 MySQL static libraries.
305
306 %description static -l pl
307 Biblioteki statyczne MySQL.
308
309 %description static -l ru
310 üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÓÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ ÒÁÚÒÁÂÏÔÞÉËÁ, ÎÅÏÂÈÏÄÉÍÙÅ
311 ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ËÌÉÅÎÔÓËÉÈ ÐÒÉÌÏÖÅÎÉÊ.
312
313 %description static -l uk
314 ãÅÊ ÐÁËÅԠͦÓÔÉÔØ ÓÔÁÔÉÞΦ Â¦Â̦ÏÔÅËÉ ÐÒÏÇÒÁͦÓÔÁ, ÎÅÏÂȦÄΦ ÄÌÑ
315 ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ-Ë̦¤ÎÔ¦×.
316
317 %package bench
318 Summary:        MySQL - Benchmarks
319 Summary(pl):    MySQL - Programy testuj±ce szybko¶æ dzia³ania bazy
320 Summary(pt):    MySQL - Medições de desempenho
321 Summary(ru):    MySQL - ÂÅÎÞÍÁÒËÉ
322 Summary(uk):    MySQL - ÂÅÎÞÍÁÒËÉ
323 Group:          Applications/Databases
324 Requires:       %{name} = %{version}-%{release}
325 Requires:       %{name}-client
326 Requires:       perl(DBD::mysql)
327 Obsoletes:      MySQL-bench
328
329 %description bench
330 This package contains MySQL benchmark scripts and data.
331
332 %description bench -l pl
333 Programy testuj±ce szybko¶æ serwera MySQL.
334
335 %description bench -l pt_BR
336 Este pacote contém medições de desempenho de scripts e dados do MySQL.
337
338 %description bench -l ru
339 üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÓËÒÉÐÔÙ É ÄÁÎÎÙÅ ÄÌÑ ÏÃÅÎËÉ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ
340 MySQL.
341
342 %description bench -l uk
343 ãÅÊ ÐÁËÅԠͦÓÔÉÔØ ÓËÒÉÐÔÉ ÔÁ ÄÁΦ ÄÌÑ ÏæÎËÉ ÐÒÏÄÕËÔÉ×ÎÏÓÔ¦ MySQL.
344
345 %package doc
346 Summary:        MySQL manual
347 Summary(pl):    Podrêcznik u¿ytkownika MySQL
348 Group:          Applications/Databases
349
350 %description doc
351 This package contains manual in HTML format.
352
353 %description doc -l pl
354 Podrêcznik MySQL-a w formacie HTML.
355
356 %prep
357 %setup -q
358 %patch0 -p1
359 %patch1 -p1
360 %patch2 -p1
361 %patch3 -p1
362 # in 4.0.25 there is no source for info file
363 #%patch4 -p1
364 %ifarch alpha
365 # this is strange: mysqld functions for UDF modules are not explicitly defined,
366 # so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables
367 # in objects compiled without -fPIC
368 %patch5 -p1
369 %endif
370 %patch6 -p1
371 %patch7 -p1
372 %patch8 -p1
373 %patch9 -p1
374 %patch10 -p1
375 %patch11 -p1
376 %patch12 -p1
377 %patch13 -p1
378 %patch14 -p1
379 %patch15 -p1
380
381 %build
382 %{__libtoolize}
383 %{__aclocal}
384 %{__automake}
385 %{__autoconf}
386 # The compiler flags are as per their "official" spec ;)
387 CXXFLAGS="%{rpmcflags} -felide-constructors -fno-rtti -fno-exceptions %{!?debug:-fomit-frame-pointer}"
388 CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"
389 %configure \
390         PS='/bin/ps' \
391         FIND_PROC='/bin/ps p $$PID' \
392         KILL='/bin/kill' \
393         CHECK_PID='/bin/kill -0 $$PID' \
394         -C \
395         --enable-assembler \
396         --enable-shared \
397         --enable-static \
398         --enable-thread-safe-client \
399         --with%{!?with_bdb:out}-berkeley-db \
400         --with%{!?with_innodb:out}-innodb \
401         --with%{!?with_isam:out}-isam \
402         --with%{!?with_raid:out}-raid \
403         --with%{!?with_ssl:out}-openssl \
404         --with%{!?with_tcpd:out}-libwrap \
405         --with-comment="PLD Linux Distribution MySQL RPM" \
406         --with%{!?debug:out}-debug \
407         --with-embedded-server \
408         --with-extra-charsets=all \
409         --with-low-memory \
410         --with-mysqld-user=mysql \
411         --with-named-curses-libs="-lncurses" \
412         --with-pthread \
413         --with-unix-socket-path=/var/lib/mysql/mysql.sock \
414         --with-vio \
415         --without-readline \
416         --without-docs
417 #       --with-mysqlfs
418
419 # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file
420 # (it defaults to first cluster but user may change it to whatever
421 #  cluster it wants)
422
423 echo -e "all:\ninstall:\nclean:\nlink_sources:\n" > libmysqld/examples/Makefile
424
425 %{__make} benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench
426 # workaround for missing files
427 (cd Docs; touch errmsg-table.texi cl-errmsg-table.texi)
428 %{__make} -C Docs mysql.info
429
430 %install
431 rm -rf $RPM_BUILD_ROOT
432 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,monit} \
433            $RPM_BUILD_ROOT/var/{log/{archiv,}/mysql,lib/mysql} \
434            $RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}}
435
436 %if %{with bdb}
437 install -d $RPM_BUILD_ROOT/var/lib/mysql/bdb/{log,tmp}
438 %endif
439
440 # Make install
441 %{__make} install \
442         DESTDIR=$RPM_BUILD_ROOT \
443         benchdir=%{_datadir}/sql-bench \
444         libsdir=/tmp
445 # libsdir is to avoid installing innodb static libs in $RPM_BUILD_ROOT../libs
446
447 install Docs/mysql.info $RPM_BUILD_ROOT%{_infodir}
448
449 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
450 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
451 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
452 # This is template for configuration file which is created after 'service mysql init'
453 install %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.conf
454 install %{SOURCE4} mysqld.conf
455 install %{SOURCE5} $RPM_BUILD_ROOT/etc/mysql/clusters.conf
456 install %{SOURCE6} $RPM_BUILD_ROOT/etc/monit
457 touch $RPM_BUILD_ROOT/var/log/mysql/{err,log,update,isamlog.log}
458
459 # remove innodb directives from mysqld.conf if mysqld is configured without
460 %if !%{with innodb}
461         cp mysqld.conf mysqld.tmp
462         awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
463 %endif
464
465 # remove berkeley-db directives from mysqld.conf if mysqld is configured without
466 %if !%{with bdb}
467         cp mysqld.conf mysqld.tmp
468         awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf
469 %endif
470
471 install mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.conf
472
473 # remove mysqld's *.po files
474 find . $RPM_BUILD_ROOT%{_datadir}/%{name} -name \*.txt | xargs -n 100 rm -f
475 mv -f $RPM_BUILD_ROOT%{_libdir}/mysql/lib* $RPM_BUILD_ROOT%{_libdir}
476 %{__perl} -pi -e 's,%{_libdir}/mysql,%{_libdir},;' $RPM_BUILD_ROOT%{_libdir}/libmysqlclient.la
477
478 rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test
479
480 %clean
481 rm -rf $RPM_BUILD_ROOT
482
483 %pre
484 if [ -n "`/usr/bin/getgid mysql`" ]; then
485         if [ "`/usr/bin/getgid mysql`" != "89" ]; then
486                 echo "Error: group mysql doesn't have gid=89. Correct this before installing mysql." 1>&2
487                 exit 1
488         fi
489 else
490         /usr/sbin/groupadd -g 89 mysql
491 fi
492 if [ -n "`/bin/id -u mysql 2>/dev/null`" ]; then
493         if [ "`/bin/id -u mysql`" != "89" ]; then
494                 echo "Error: user mysql doesn't have uid=89. Correct this before installing mysql." 1>&2
495                 exit 1
496         fi
497 else
498         /usr/sbin/useradd -u 89 \
499                         -d %{_mysqlhome} -s /bin/sh -g mysql \
500                         -c "MySQL Server" mysql 1>&2
501 fi
502
503 %post
504 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
505 /sbin/chkconfig --add mysql
506 if [ -f /var/lock/subsys/mysql ]; then
507         /etc/rc.d/init.d/mysql restart >&2
508 else
509         echo "Run \"/etc/rc.d/init.d/mysql start\" to start mysql." >&2
510 fi
511
512 %preun
513 if [ "$1" = "0" ]; then
514         if [ -f /var/lock/subsys/mysql ]; then
515                 /etc/rc.d/init.d/mysql stop
516         fi
517         /sbin/chkconfig --del mysql
518 fi
519
520 %postun
521 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
522 if [ "$1" = "0" ]; then
523         %userremove mysql
524         %groupremove mysql
525 fi
526
527 %post   libs -p /sbin/ldconfig
528 %postun libs -p /sbin/ldconfig
529
530 %triggerpostun -- mysql <= 4.0.20-2
531 # For clusters in /etc/mysql/clusters.conf
532 if [ -f "/etc/sysconfig/mysql" ]; then
533         . /etc/sysconfig/mysql
534         if [ -n "$MYSQL_DB_CLUSTERS" ]; then
535                 for i in "$MYSQL_DB_CLUSTERS"; do
536                         echo "$i/mysqld.conf=$i" >> /etc/mysql/clusters.conf
537                 done
538                 echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql
539                 echo "# USE /etc/mysql/clusters.conf instead" >> /etc/sysconfig/mysql
540                 echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/mysql/clusters.conf."
541                 echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/mysql/clusters.conf."
542         fi
543 fi
544
545 %files
546 %defattr(644,root,root,755)
547 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/mysql
548 %attr(754,root,root) /etc/rc.d/init.d/mysql
549 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql
550 %attr(751,root,root) %dir /etc/mysql
551 %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) /etc/mysql/clusters.conf
552 %attr(750,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/monit/*.monitrc
553 %attr(755,root,root) %{_bindir}/isamchk
554 %attr(755,root,root) %{_bindir}/isamlog
555 %attr(755,root,root) %{_bindir}/myisamchk
556 %attr(755,root,root) %{_bindir}/myisamlog
557 %attr(755,root,root) %{_bindir}/myisampack
558 %attr(755,root,root) %{_bindir}/pack_isam
559 %attr(755,root,root) %{_sbindir}/mysqld
560 %{_mandir}/man1/isamchk.1*
561 %{_mandir}/man1/isamlog.1*
562 %{_mandir}/man8/mysqld.8*
563
564 %attr(700,mysql,mysql) %{_mysqlhome}
565 # root:root is proper here for AC mysql.rpm while mysql:mysql is potential security hole
566 %attr(751,root,root) /var/lib/mysql
567 %attr(750,mysql,mysql) %dir /var/log/mysql
568 %attr(750,mysql,mysql) %dir /var/log/archiv/mysql
569 %attr(640,mysql,mysql) %config(noreplace) %verify(not md5 mtime size) /var/log/mysql/*
570
571 %{_infodir}/mysql.info*
572 %dir %{_datadir}/mysql
573 # This is template for configuration file which is created after 'service mysql init'
574 %{_datadir}/mysql/mysqld.conf
575 %{_datadir}/mysql/charsets
576 %{_datadir}/mysql/english
577 %lang(cs) %{_datadir}/mysql/czech
578 %lang(da) %{_datadir}/mysql/danish
579 %lang(de) %{_datadir}/mysql/german
580 %lang(el) %{_datadir}/mysql/greek
581 %lang(es) %{_datadir}/mysql/spanish
582 %lang(et) %{_datadir}/mysql/estonian
583 %lang(fr) %{_datadir}/mysql/french
584 %lang(hu) %{_datadir}/mysql/hungarian
585 %lang(it) %{_datadir}/mysql/italian
586 %lang(ja) %{_datadir}/mysql/japanese
587 %lang(ko) %{_datadir}/mysql/korean
588 %lang(nl) %{_datadir}/mysql/dutch
589 %lang(nb) %{_datadir}/mysql/norwegian
590 %lang(nn) %{_datadir}/mysql/norwegian-ny
591 %lang(pl) %{_datadir}/mysql/polish
592 %lang(pt) %{_datadir}/mysql/portuguese
593 %lang(ro) %{_datadir}/mysql/romanian
594 %lang(ru) %{_datadir}/mysql/russian
595 %lang(sk) %{_datadir}/mysql/slovak
596 %lang(sv) %{_datadir}/mysql/swedish
597 %lang(uk) %{_datadir}/mysql/ukrainian
598
599 %files extras
600 %defattr(644,root,root,755)
601 %attr(755,root,root) %{_bindir}/msql2mysql
602 %attr(755,root,root) %{_bindir}/mysql_fix_privilege_tables
603 %attr(755,root,root) %{_bindir}/perror
604 %attr(755,root,root) %{_bindir}/my_print_defaults
605 %attr(755,root,root) %{_bindir}/replace
606 %attr(755,root,root) %{_bindir}/resolveip
607 %{_mandir}/man1/mysql_fix_privilege_tables.1*
608 %{_mandir}/man1/perror.1*
609 %{_mandir}/man1/replace.1*
610
611 %files extras-perl
612 %defattr(644,root,root,755)
613 %attr(755,root,root) %{_bindir}/mysql_convert_table_format
614 %attr(755,root,root) %{_bindir}/mysqldumpslow
615 %attr(755,root,root) %{_bindir}/mysqlhotcopy
616 %attr(755,root,root) %{_bindir}/mysql_setpermission
617 %attr(755,root,root) %{_bindir}/mysql_zap
618 %attr(755,root,root) %{_bindir}/mysql_find_rows
619 %attr(755,root,root) %{_bindir}/mysqlaccess
620 %{_mandir}/man1/mysql_zap.1*
621 %{_mandir}/man1/mysqlaccess.1*
622
623 %files client
624 %defattr(644,root,root,755)
625 %attr(755,root,root) %{_bindir}/mysql
626 %attr(755,root,root) %{_bindir}/mysqlbug
627 %attr(755,root,root) %{_bindir}/mysqldump
628 %attr(755,root,root) %{_bindir}/mysqlimport
629 %attr(755,root,root) %{_bindir}/mysqlmanager*
630 %attr(755,root,root) %{_bindir}/mysqlshow
631 %attr(755,root,root) %{_bindir}/mysqlbinlog
632 %attr(755,root,root) %{_bindir}/mysqladmin
633 %attr(755,root,root) %{_bindir}/mysqltest
634 %{_mandir}/man1/mysql.1*
635 %{_mandir}/man1/mysqladmin.1*
636 %{_mandir}/man1/mysqldump.1*
637 %{_mandir}/man1/mysqlshow.1*
638
639 %files libs
640 %defattr(644,root,root,755)
641 %doc EXCEPTIONS-CLIENT
642 %attr(755,root,root) %{_libdir}/lib*.so.*.*
643
644 %files devel
645 %defattr(644,root,root,755)
646 %attr(755,root,root) %{_bindir}/mysql_config
647 %attr(755,root,root) %{_libdir}/lib*.so
648 %{_libdir}/lib*.la
649 %{_libdir}/lib*[!tr].a
650 %{_includedir}/mysql
651
652 %files static
653 %defattr(644,root,root,755)
654 %{_libdir}/lib*[tr].a
655
656 %files bench
657 %defattr(644,root,root,755)
658 %dir %{_datadir}/sql-bench
659 %{_datadir}/sql-bench/[CDRl]*
660 %attr(755,root,root) %{_datadir}/sql-bench/[bcgrst]*
661
662 #%files doc
663 #%defattr(644,root,root,755)
664 #%doc Docs/manual.html Docs/manual_toc.html
This page took 0.139468 seconds and 4 git commands to generate.