]> git.pld-linux.org Git - packages/mysql.git/blob - mysql.spec
- Requires for rc-scripts changed to Prereq,
[packages/mysql.git] / mysql.spec
1 %include        /usr/lib/rpm/macros.perl
2 %define         __find_requires %{_builddir}/%{buildsubdir}/find-perl-requires
3 Summary:        MySQL: a very fast and reliable SQL database engine
4 Summary(fr):    MySQL: un serveur SQL rapide et fiable
5 Summary(pl):    MySQL: bardzo szybka i niezawodna baza danych (SQL)
6 Summary(pt):    MySQL: Um servidor SQL rápido e confiável
7 Name:           mysql
8 Group:          Applications/Databases
9 Group(pl):      Aplikacje/Bazy danych
10 Group(pt):      Aplicações/Banco_de_Dados
11 Version:        3.23.32
12 Release:        1
13 License:        GPL/LGPL
14 Source0:        http://www.mysql.com/Downloads/MySQL-3.23/%{name}-%{version}.tar.gz
15 Source1:        %{name}.init
16 Source2:        %{name}.sysconfig
17 Source3:        %{name}.logrotate
18 Source4:        %{name}d.conf
19 Patch0:         %{name}-info.patch
20 Patch1:         %{name}-no_libbind.patch
21 Patch2:         %{name}-perldep.patch
22 Icon:           mysql.gif
23 URL:            http://www.mysql.com/
24 Requires:       %{name}-libs = %{version}
25 BuildRequires:  libstdc++-devel
26 BuildRequires:  zlib-devel
27 BuildRequires:  ncurses-devel
28 BuildRequires:  readline-devel
29 BuildRequires:  texinfo
30 BuildRequires:  rpm-perlprov
31 Prereq:         rc-scripts >= 0.2.0
32 Prereq:         shadow
33 Provides:       msqlormysql MySQL-server
34 Obsoletes:      MySQL
35 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36
37 %define         _libexecdir     %{_sbindir}
38 %define         _localstatedir  /var/lib/mysql
39
40 %description
41 MySQL is a true multi-user, multi-threaded SQL (Structured Query
42 Language) database server. SQL is the most popular database language
43 in the world. MySQL is a client/server implementation that consists of
44 a server daemon mysqld and many different client programs/libraries.
45
46 The main goals of MySQL are speed, robustness and easy to use. MySQL
47 was originally developed because we at Tcx needed a SQL server that
48 could handle very big databases with magnitude higher speed than what
49 any database vendor could offer to us. We have now been using MySQL
50 since 1996 in a environment with more than 40 databases, 10,000
51 tables, of which more than 500 have more than 7 million rows. This is
52 about 50G of mission critical data.
53
54 The base upon which MySQL is built is a set of routines that have been
55 used in a highly demanding production environment for many years.
56 While MySQL is still in development, it already offers a rich and
57 highly useful function set.
58
59 %description -l fr
60 MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et
61 multi-taches. Le langage SQL est le langage de bases de donnees le
62 plus populaire au monde. MySQL est une implementation client/serveur
63 qui consiste en un serveur (mysqld) et differents
64 programmes/bibliotheques clientes.
65
66 Les objectifs principaux de MySQL sont: vitesse, robustesse et
67 facilite d'utilisation. MySQL fut originalement developpe parce que
68 nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de
69 tres grandes bases de donnees avec une vitesse d'un ordre de magnitude
70 superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous
71 utilisons MySQL depuis 1996 dans un environnement avec plus de 40
72 bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7
73 millions de lignes. Ceci represente environ 50G de donnees critiques.
74
75 A la base de la conception de MySQL, on retrouve une serie de routines
76 qui ont ete utilisees dans un environnement de production pendant
77 plusieurs annees. Meme si MySQL est encore en developpement, il offre
78 deja une riche et utile serie de fonctions.
79
80 %description -l pl
81 MySQL to wielow±tkowy serwer baz danych SQL.
82
83 G³ówne zalety MySQL to szybko¶æ, potêga i ³atwo¶æ u¿ytkowania. MySQL
84 jest wykorzystywany m.in. do obs³ugi 40 baz danych, 10 000 tabeli,
85 gdzie ka¿da tabela zawiera 7 milionów pozycji. To ok 50GB danych.
86
87 %description -l pt_BR
88 O MySQL é um servidor de banco de dados SQL realmente multiusuário e
89 multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de
90 dados no mundo. O MySQL é uma implementação cliente/servidor que
91 consiste de um servidor chamado mysqld e diversos
92 programas/bibliotecas clientes. Os principais objetivos do MySQL são:
93 velocidade, robustez e facilidade de uso. O MySQL foi originalmente
94 desenvolvido porque nós na Tcx precisávamos de um servidor SQL que
95 pudesse lidar com grandes bases de dados e com uma velocidade muito
96 maior do que a que qualquer vendedor podia nos oferecer. Estamos
97 usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados
98 com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de
99 linhas. Isto é o equivalente a aproximadamente 50G de dados críticos.
100 A base da construção do MySQL é uma série de rotinas que foram usadas
101 em um ambiente de produção com alta demanda por muitos anos. Mesmo o
102 MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de
103 funções muito ricas e úteis. Veja a documentação para maiores
104 informações.
105
106 %package extras
107 Summary:        MySQL additional utilities 
108 Group:          Applications/Databases
109 Group(pl):      Aplikacje/Bazy danych
110 Group(pt):      Aplicações/Banco_de_Dados
111 Requires:       %{name}-libs = %{version}
112
113 %description extras
114 MySQL additional utilities except Perl scripts (they may be found in
115 %{name}-extras-perl package)
116
117 %package extras-perl
118 Summary:        MySQL additional utilities written in Perl
119 Group:          Applications/Databases
120 Group(pl):      Aplikacje/Bazy danych
121 Group(pt):      Aplicações/Banco_de_Dados
122 Requires:       %{name}-extras = %{version}
123
124 %description extras-perl
125 MySQL additional utilities written in Perl.
126
127 %package client
128 Summary:        MySQL - Client
129 Summary(pl):    MySQL - Klient
130 Summary(pt):    MySQL - Cliente
131 Group:          Applications/Databases
132 Group(pl):      Aplikacje/Bazy danych
133 Group(pt):      Aplicações/Banco_de_Dados
134 Requires:       %{name}-libs = %{version}
135 Obsoletes:      MySQL-client
136
137 %description client
138 This package contains the standard MySQL clients.
139
140 %description -l fr client
141 Ce package contient les clients MySQL standards.
142
143 %description -l pl client
144 Standardowe programy klienckie MySQL.
145
146 %description -l pt_BR client
147 Este pacote contém os clientes padrão para o MySQL.
148
149 %package libs
150 Summary:        Shared libraries for MySQL
151 Group:          Applications/Databases
152 Group(pl):      Aplikacje/Bazy danych
153
154 %description libs
155 Shared libraries for MySQL.
156
157 %package devel
158 Summary:        MySQL - Development header files and libraries
159 Summary(pl):    MySQL - Pliki nag³ówkowe i biblioteki dla programistów
160 Summary(pt):    MySQL - Medições de desempenho
161 Group:          Development/Libraries
162 Group(de):      Entwicklung/Libraries
163 Group(fr):      Development/Librairies
164 Group(pl):      Programowanie/Biblioteki
165 Requires:       %{name}-libs = %{version}
166 Obsoletes:      MySQL-devel
167
168 %description devel
169 This package contains the development header files and libraries
170 necessary to develop MySQL client applications.
171
172 %description -l pl devel
173 Pliki nag³ówkowe i biblioteki konieczne do kompilacji aplikacji
174 klienckich MySQL.
175
176 %description devel -l pt_BR
177 Este pacote contém os arquivos de cabeçalho (header files) e
178 bibliotecas necessárias para desenvolver aplicações clientes do MySQL.
179
180 %description -l fr devel
181 Ce package contient les fichiers entetes et les librairies de
182 developpement necessaires pour developper des applications clientes
183 MySQL.
184
185 %package static
186 Summary:        MySQL staic libraris
187 Summary(pl):    Biblioteki statyczne MySQL
188 Group:          Development/Libraries
189 Group(de):      Entwicklung/Libraries
190 Group(fr):      Development/Librairies
191 Group(pl):      Programowanie/Biblioteki
192 Requires:       %{name}-devel = %{version}
193 Obsoletes:      MySQL-static
194
195 %description static
196 MySQL staic libraris.
197
198 %description -l pl static
199 Biblioteki statyczne MySQL.
200
201 %package bench
202 Summary:        MySQL - Benchmarks
203 Summary(pl):    mySQL - Programy testuj±ce szybko¶æ dzia³ania bazy
204 Summary(pt):    MySQL - Medições de desempenho
205 Group:          Applications/Databases
206 Group(pl):      Aplikacje/Bazy danych
207 Group(pt):      Aplicações/Banco_de_Dados
208 Requires:       %{name} = %{version}
209 Requires:       %{name}-client
210 Obsoletes:      MySQL-bench
211
212 %description bench
213 This package contains MySQL benchmark scripts and data.
214
215 %description -l pl bench
216 Programy testuj±ce szybko¶æ serwera MySQL.
217
218 %description -l pt_BR bench
219 Este pacote contém medições de desempenho de scripts e dados do MySQL.
220
221 %prep
222 %setup -q -n %{name}-%{version}
223 %patch0 -p1
224 %patch1 -p1
225 %patch2 -p1
226
227 chmod +x find-perl-requires
228
229 %build
230 #automake
231 #aclocal
232 #autoconf
233 CXXFLAGS="%{?debug:-O -g}%{!?debug:$RPM_OPT_FLAGS} -fno-rtti -fno-exceptions -fomit-frame-pointer"
234 CFLAGS="%{?debug:-O -g}%{!?debug:$RPM_OPT_FLAGS} -fomit-frame-pointer"
235 %configure \
236         --without-debug \
237         --enable-shared \
238         --enable-static \
239         --with-pthread \
240         --with-named-curses-libs="-lncurses" \
241         --enable-assembler \
242         --with-raid \
243         --with-charset=latin2 \
244         --with-mysqld-user=mysql \
245         --with-unix-socket-path=/var/lib/mysql/mysql.sock \
246         --without-readline \
247         --without-berkeley-db \
248         --without-docs \
249         --with-low-memory  \
250         --with-comment="Polish Linux Distribution MySQL RPM"
251 # If you have much RAM you can remove --with-low-memory
252
253 # To build mysqld as static binary add option
254 #       --with-mysqld-ldflags='-all-static' 
255
256 %{__make} benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench
257 %{__make} -C Docs mysql.info
258
259 %install
260 rm -rf $RPM_BUILD_ROOT
261 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,rc.d/init.d,sysconfig} \
262            $RPM_BUILD_ROOT/var/{log/{archiv,}/mysql,lib/mysql} \
263            $RPM_BUILD_ROOT%{_infodir}
264
265 # Make install
266 %{__make} install DESTDIR=$RPM_BUILD_ROOT benchdir=%{_datadir}/sql-bench
267 install Docs/mysql.info $RPM_BUILD_ROOT%{_infodir}
268
269 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql
270 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql
271 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql
272 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/mysqld.conf
273 touch $RPM_BUILD_ROOT/var/log/mysql/{err,log,update,isamlog}
274
275 # remove mysqld's *.po files
276 find . $RPM_BUILD_ROOT%{_datadir}/%{name} -name \*.txt | xargs -n 100 rm -f
277 mv -f $RPM_BUILD_ROOT%{_libdir}/mysql/lib* $RPM_BUILD_ROOT%{_libdir}
278
279 %pre
280 if [ -n "`getgid mysql`" ]; then
281         if [ "`getgid mysql`" != "89" ]; then
282                 echo "Warning:group mysql haven't gid=89. Corect this before install mysql" 1>&2
283                 exit 1
284         fi
285 else
286         /usr/sbin/groupadd -g 89 -r -f mysql
287 fi
288 if [ -n "`id -u mysql 2>/dev/null`" ]; then
289         if [ "`id -u mysql`" != "89" ]; then
290                 echo "Warning:user mysql haven't uid=89. Corect this before install mysql" 1>&2
291                 exit 1
292         fi
293 else
294         /usr/sbin/useradd -u 89 -r -d /var/lib/mysql -s /bin/false -c "MySQL User" -g mysql mysql 1>&2
295 fi
296
297 %post
298 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
299 /sbin/chkconfig --add mysql
300 if [ -f /var/lock/subsys/mysql ]; then
301         /etc/rc.d/init.d/mysql restart >&2
302 else
303         echo "Run \"/etc/rc.d/init.d/mysql start\" to start mysql." >&2
304 fi
305
306 %preun
307 if [ "$1" = "0" ]; then
308         if [ -f /var/lock/subsys/mysql ]; then
309                 /etc/rc.d/init.d/mysql stop
310         fi
311         /sbin/chkconfig --del mysql
312 fi
313
314 %postun
315 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
316 if [ "$1" = "0" ]; then
317         /usr/sbin/userdel mysql
318         /usr/sbin/groupdel mysql
319 fi
320
321 %post   libs -p /sbin/ldconfig
322 %postun libs -p /sbin/ldconfig
323
324 %clean
325 rm -rf $RPM_BUILD_ROOT
326
327 %files
328 %defattr(644,root,root,755)
329 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/logrotate.d/mysql
330 %attr(754,root,root) /etc/rc.d/init.d/mysql
331 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/mysql
332 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/mysqld.conf
333 %attr(755,root,root) %{_bindir}/isamchk
334 %attr(755,root,root) %{_bindir}/isamlog
335 %attr(755,root,root) %{_bindir}/mysqladmin
336 %attr(755,root,root) %{_bindir}/mysqlbug
337 %attr(755,root,root) %{_bindir}/pack_isam
338 %attr(755,root,root) %{_bindir}/myisamchk
339 %attr(755,root,root) %{_bindir}/myisamlog
340 %attr(755,root,root) %{_bindir}/myisampack
341 %attr(755,root,root) %{_sbindir}/mysqld
342
343 %attr(751,mysql,mysql) %dir /var/lib/mysql
344 %attr(750,mysql,mysql) %dir /var/log/mysql
345 %attr(750,mysql,mysql) %dir /var/log/archiv/mysql
346 %attr(640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysql/*
347
348 %{_infodir}/mysql.info*
349 %dir %{_datadir}/mysql
350 %{_datadir}/mysql/charsets
351 %{_datadir}/mysql/english
352 %lang(cs) %{_datadir}/mysql/czech
353 %lang(da) %{_datadir}/mysql/danish
354 %lang(nl) %{_datadir}/mysql/dutch
355 %lang(et) %{_datadir}/mysql/estonian
356 %lang(fr) %{_datadir}/mysql/french
357 %lang(de) %{_datadir}/mysql/german
358 %lang(el) %{_datadir}/mysql/greek
359 %lang(hu) %{_datadir}/mysql/hungarian
360 %lang(it) %{_datadir}/mysql/italian
361 %lang(ja) %{_datadir}/mysql/japanese
362 %lang(ko) %{_datadir}/mysql/korean
363 %lang(no) %{_datadir}/mysql/norwegian
364 %lang(no@nynorsk) %{_datadir}/mysql/norwegian-ny
365 %lang(pl) %{_datadir}/mysql/polish
366 %lang(pt) %{_datadir}/mysql/portuguese
367 %lang(ru) %{_datadir}/mysql/russian
368 %lang(sk) %{_datadir}/mysql/slovak
369 %lang(es) %{_datadir}/mysql/spanish
370 %lang(sv) %{_datadir}/mysql/swedish
371
372 %files extras
373 %defattr(644,root,root,755)
374 %attr(755,root,root) %{_bindir}/msql2mysql
375 %attr(755,root,root) %{_bindir}/mysql_config
376 %attr(755,root,root) %{_bindir}/mysql_fix_privilege_tables
377 %attr(755,root,root) %{_bindir}/perror
378 %attr(755,root,root) %{_bindir}/my_print_defaults
379 %attr(755,root,root) %{_bindir}/replace
380 %attr(755,root,root) %{_bindir}/resolveip
381
382 %files extras-perl
383 %defattr(644,root,root,755)
384 %attr(755,root,root) %{_bindir}/mysql_convert_table_format
385 %attr(755,root,root) %{_bindir}/mysqlhotcopy
386 %attr(755,root,root) %{_bindir}/mysql_setpermission
387 %attr(755,root,root) %{_bindir}/mysql_zap
388 %attr(755,root,root) %{_bindir}/mysql_find_rows
389 %attr(755,root,root) %{_bindir}/mysqlaccess
390
391 %files client
392 %defattr(644,root,root,755)
393 %attr(755,root,root) %{_bindir}/mysql
394 %attr(755,root,root) %{_bindir}/mysqlbug
395 %attr(755,root,root) %{_bindir}/mysqldump
396 %attr(755,root,root) %{_bindir}/mysqlimport
397 %attr(755,root,root) %{_bindir}/mysqlshow
398 %attr(755,root,root) %{_bindir}/mysqlbinlog
399 %{_mandir}/man1/mysql.1*
400
401 %files libs
402 %defattr(644,root,root,755)
403 %attr(755,root,root) %{_libdir}/lib*.so.*.*
404
405 %files devel
406 %defattr(644,root,root,755)
407 %attr(755,root,root) %{_libdir}/lib*.la
408 %attr(755,root,root) %{_libdir}/lib*.so
409 %{_includedir}/mysql
410
411 %files static
412 %defattr(644,root,root,755)
413 %{_libdir}/lib*.a
414
415 %files bench
416 %defattr(644,root,root,755)
417 %attr(-,root,root) %{_datadir}/sql-bench
This page took 0.056859 seconds and 4 git commands to generate.