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