]>
Commit | Line | Data |
---|---|---|
1 | # TODO: | |
2 | # - make response_time_distribution.patch compatible with i386 alpha sparc ppc arches | |
3 | # - mysqldump ... (invalid usage) prints to stdout not stderr (idiotic if you want to create dump and get usage in .sql) | |
4 | # - unpackaged: | |
5 | # /usr/bin/mysqlaccess.conf | |
6 | # - http://bugs.mysql.com/bug.php?id=16470 | |
7 | # - innodb are dynamic (= as plugins) ? | |
8 | # - missing have_archive, have_merge | |
9 | # - is plugin_dir lib64 safe? | |
10 | # - Using NDB Cluster... could not find sci transporter in /{include, lib} | |
11 | # - !!! Makefiles for libmysqld.so !!! | |
12 | # - segfaults on select from non-mysql user (caused by builder environment): | |
13 | # https://bugs.launchpad.net/pld-linux/+bug/381904 | |
14 | # (profiling disabled temporaily to workaround this) | |
15 | # | |
16 | # Conditional build: | |
17 | %bcond_with autodeps # BR packages needed only for resolving deps | |
18 | %bcond_without innodb # InnoDB storage engine support | |
19 | %bcond_without big_tables # Support tables with more than 4G rows even on 32 bit platforms | |
20 | %bcond_without federated # Federated storage engine support | |
21 | %bcond_without raid # RAID support | |
22 | %bcond_without ssl # OpenSSL support | |
23 | %bcond_without tcpd # libwrap (tcp_wrappers) support | |
24 | %bcond_with sphinx # Sphinx storage engine support | |
25 | %bcond_with tests # FIXME: don't run correctly | |
26 | %bcond_with ndb # NDB is now a separate product, this here is broken, so disable it | |
27 | ||
28 | %include /usr/lib/rpm/macros.perl | |
29 | Summary: MySQL: a very fast and reliable SQL database engine | |
30 | Summary(de.UTF-8): MySQL: ist eine SQL-Datenbank | |
31 | Summary(fr.UTF-8): MySQL: un serveur SQL rapide et fiable | |
32 | Summary(pl.UTF-8): MySQL: bardzo szybka i niezawodna baza danych (SQL) | |
33 | Summary(pt_BR.UTF-8): MySQL: Um servidor SQL rápido e confiável | |
34 | Summary(ru.UTF-8): MySQL - быстрый SQL-сервер | |
35 | Summary(uk.UTF-8): MySQL - швидкий SQL-сервер | |
36 | Summary(zh_CN.UTF-8): MySQL数据库服务器 | |
37 | Name: mysql | |
38 | Version: 5.5.11 | |
39 | Release: 1 | |
40 | License: GPL + MySQL FLOSS Exception | |
41 | Group: Applications/Databases | |
42 | # Source0Download: http://dev.mysql.com/downloads/mysql/5.5.html#downloads | |
43 | Source0: http://vesta.informatik.rwth-aachen.de/mysql/Downloads/MySQL-5.5/%{name}-%{version}.tar.gz | |
44 | # Source0-md5: befa4e0d0aa95be6c8f6f143ae3b0641 | |
45 | Source100: http://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz | |
46 | # Source100-md5: 7b9b618cb9b378f949bb1b91ddcc4f54 | |
47 | Source1: %{name}.init | |
48 | Source2: %{name}.sysconfig | |
49 | Source3: %{name}.logrotate | |
50 | Source4: %{name}d.conf | |
51 | Source5: %{name}-clusters.conf | |
52 | Source7: %{name}-ndb.init | |
53 | Source8: %{name}-ndb.sysconfig | |
54 | Source9: %{name}-ndb-mgm.init | |
55 | Source10: %{name}-ndb-mgm.sysconfig | |
56 | Source11: %{name}-ndb-cpc.init | |
57 | Source12: %{name}-ndb-cpc.sysconfig | |
58 | Source13: %{name}-client.conf | |
59 | Source14: my.cnf | |
60 | # from fedora | |
61 | Source15: lib%{name}.version | |
62 | Patch2: %{name}-c++.patch | |
63 | Patch3: %{name}-info.patch | |
64 | Patch4: %{name}-sql-cxx-pic.patch | |
65 | # from fedora | |
66 | Patch5: %{name}-versioning.patch | |
67 | Patch6: %{name}-system-users.patch | |
68 | Patch7: %{name}-bug-34192.patch | |
69 | Patch8: %{name}-client-config.patch | |
70 | Patch9: %{name}-build.patch | |
71 | Patch10: %{name}-alpha.patch | |
72 | Patch11: %{name}-upgrade.patch | |
73 | Patch12: %{name}-config.patch | |
74 | Patch14: %{name}-bug-43594.patch | |
75 | Patch18: %{name}-sphinx.patch | |
76 | Patch19: %{name}-chain-certs.patch | |
77 | # from fedora | |
78 | Patch20: %{name}-dubious-exports.patch | |
79 | # <percona patches, updated with percona.sh> | |
80 | Patch100: microsec_process.patch | |
81 | Patch101: optimizer_fix.patch | |
82 | Patch102: mysql_dump_ignore_ct.patch | |
83 | Patch103: control_online_alter_index.patch | |
84 | Patch104: show_temp.patch | |
85 | Patch105: innodb_show_status.patch | |
86 | Patch106: innodb_io_patches.patch | |
87 | Patch107: innodb_opt_lru_count.patch | |
88 | Patch108: innodb_extra_rseg.patch | |
89 | Patch109: innodb_overwrite_relay_log_info.patch | |
90 | Patch110: innodb_thread_concurrency_timer_based.patch | |
91 | Patch111: innodb_dict_size_limit.patch | |
92 | Patch112: innodb_split_buf_pool_mutex.patch | |
93 | Patch113: innodb_expand_import.patch | |
94 | Patch114: innodb_show_sys_tables.patch | |
95 | Patch115: innodb_stats.patch | |
96 | Patch116: innodb_recovery_patches.patch | |
97 | Patch117: innodb_admin_command_base.patch | |
98 | Patch118: innodb_show_lock_name.patch | |
99 | Patch119: innodb_extend_slow.patch | |
100 | Patch120: innodb_lru_dump_restore.patch | |
101 | Patch121: innodb_separate_doublewrite.patch | |
102 | Patch122: innodb_pass_corrupt_table.patch | |
103 | Patch123: innodb_fast_checksum.patch | |
104 | Patch124: innodb_files_extend.patch | |
105 | Patch125: innodb_fix_misc.patch | |
106 | Patch126: innodb_deadlock_count.patch | |
107 | Patch127: innodb_adaptive_hash_index_partitions.patch | |
108 | Patch128: innodb_buffer_pool_pages_i_s.patch | |
109 | Patch129: innodb_buffer_pool_shm.patch | |
110 | Patch130: innodb_show_status_extend.patch | |
111 | Patch131: slow_extended.patch | |
112 | Patch132: percona_support.patch | |
113 | Patch133: query_cache_enhance.patch | |
114 | Patch134: log_connection_error.patch | |
115 | Patch135: mysql_syslog.patch | |
116 | Patch136: response_time_distribution.patch | |
117 | Patch137: error_pad.patch | |
118 | Patch138: remove_fcntl_excessive_calls.patch | |
119 | Patch139: sql_no_fcache.patch | |
120 | Patch140: show_slave_status_nolock.patch | |
121 | Patch141: log_warnings_suppress.patch | |
122 | Patch142: userstat.patch | |
123 | Patch143: bug580324.patch | |
124 | Patch144: mysql_remove_eol_carret.patch | |
125 | Patch145: processlist_row_stats.patch | |
126 | Patch146: innodb_expand_fast_index_creation.patch | |
127 | Patch147: innodb_bug60788.patch | |
128 | # </percona> | |
129 | URL: http://www.mysql.com/products/community/ | |
130 | BuildRequires: bison | |
131 | BuildRequires: cmake >= 2.6 | |
132 | BuildRequires: groff | |
133 | %if "%{pld_release}" == "ac" | |
134 | BuildRequires: libstdc++4-devel >= 5:4.0 | |
135 | %else | |
136 | BuildRequires: libstdc++-devel >= 5:4.0 | |
137 | %endif | |
138 | BuildRequires: libtool | |
139 | %{?with_tcpd:BuildRequires: libwrap-devel} | |
140 | BuildRequires: ncurses-devel >= 4.2 | |
141 | %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d} | |
142 | %{?with_autodeps:BuildRequires: perl-DBI} | |
143 | BuildRequires: perl-devel >= 1:5.6.1 | |
144 | BuildRequires: readline-devel >= 4.2 | |
145 | BuildRequires: rpm-perlprov >= 4.1-13 | |
146 | BuildRequires: rpmbuild(macros) >= 1.597 | |
147 | BuildRequires: sed >= 4.0 | |
148 | BuildRequires: zlib-devel | |
149 | Requires(post,preun): /sbin/chkconfig | |
150 | Requires(postun): /usr/sbin/groupdel | |
151 | Requires(postun): /usr/sbin/userdel | |
152 | Requires(pre): /bin/id | |
153 | Requires(pre): /usr/bin/getgid | |
154 | Requires(pre): /usr/sbin/groupadd | |
155 | Requires(pre): /usr/sbin/useradd | |
156 | Requires(triggerpostun): sed >= 4.0 | |
157 | Requires: %{name}-charsets = %{version}-%{release} | |
158 | Requires: %{name}-libs = %{version}-%{release} | |
159 | Requires: /usr/bin/setsid | |
160 | Requires: rc-scripts >= 0.2.0 | |
161 | Suggests: mysql-client | |
162 | %{?with_tcpd:Suggests: tcp_wrappers} | |
163 | Suggests: vim-syntax-mycnf | |
164 | Provides: MySQL-server | |
165 | Provides: group(mysql) | |
166 | Provides: msqlormysql | |
167 | Provides: user(mysql) | |
168 | Obsoletes: MySQL | |
169 | Obsoletes: mysql-server | |
170 | Conflicts: logrotate < 3.7-4 | |
171 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
172 | ||
173 | %define _libexecdir %{_sbindir} | |
174 | %define _localstatedir /var/lib/mysql | |
175 | %define _mysqlhome /home/services/mysql | |
176 | ||
177 | %define _noautoreqdep 'perl(DBD::mysql)' | |
178 | ||
179 | %description | |
180 | MySQL is a true multi-user, multi-threaded SQL (Structured Query | |
181 | Language) database server. SQL is the most popular database language | |
182 | in the world. MySQL is a client/server implementation that consists of | |
183 | a server daemon mysqld and many different client programs/libraries. | |
184 | ||
185 | The main goals of MySQL are speed, robustness and easy to use. MySQL | |
186 | was originally developed because we at Tcx needed a SQL server that | |
187 | could handle very big databases with magnitude higher speed than what | |
188 | any database vendor could offer to us. We have now been using MySQL | |
189 | since 1996 in a environment with more than 40 databases, 10,000 | |
190 | tables, of which more than 500 have more than 7 million rows. This is | |
191 | about 50G of mission critical data. | |
192 | ||
193 | The base upon which MySQL is built is a set of routines that have been | |
194 | used in a highly demanding production environment for many years. | |
195 | While MySQL is still in development, it already offers a rich and | |
196 | highly useful function set. | |
197 | ||
198 | %description -l fr.UTF-8 | |
199 | MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et | |
200 | multi-taches. Le langage SQL est le langage de bases de donnees le | |
201 | plus populaire au monde. MySQL est une implementation client/serveur | |
202 | qui consiste en un serveur (mysqld) et differents | |
203 | programmes/bibliotheques clientes. | |
204 | ||
205 | Les objectifs principaux de MySQL sont: vitesse, robustesse et | |
206 | facilite d'utilisation. MySQL fut originalement developpe parce que | |
207 | nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de | |
208 | tres grandes bases de donnees avec une vitesse d'un ordre de magnitude | |
209 | superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous | |
210 | utilisons MySQL depuis 1996 dans un environnement avec plus de 40 | |
211 | bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7 | |
212 | millions de lignes. Ceci represente environ 50G de donnees critiques. | |
213 | ||
214 | A la base de la conception de MySQL, on retrouve une serie de routines | |
215 | qui ont ete utilisees dans un environnement de production pendant | |
216 | plusieurs annees. Meme si MySQL est encore en developpement, il offre | |
217 | deja une riche et utile serie de fonctions. | |
218 | ||
219 | %description -l pl.UTF-8 | |
220 | MySQL to prawdziwie wieloużytkownikowy, wielowątkowy serwer baz danych | |
221 | SQL. SQL jest najpopularniejszym na świecie językiem używanym do baz | |
222 | danych. MySQL to implementacja klient/serwer składająca się z demona | |
223 | mysqld i wielu różnych programów i bibliotek klienckich. | |
224 | ||
225 | Głównymi celami MySQL-a są szybkość, potęga i łatwość użytkowania. | |
226 | MySQL oryginalnie był tworzony, ponieważ autorzy w Tcx potrzebowali | |
227 | serwera SQL do obsługi bardzo dużych baz danych z szybkością o wiele | |
228 | większą, niż mogli zaoferować inni producenci baz danych. Używają go | |
229 | od 1996 roku w środowisku z ponad 40 bazami danych, 10 000 tabel, z | |
230 | których ponad 500 zawiera ponad 7 milionów rekordów - w sumie około | |
231 | 50GB krytycznych danych. | |
232 | ||
233 | Baza, na której oparty jest MySQL, składa się ze zbioru procedur, | |
234 | które były używane w bardzo wymagającym środowisku produkcyjnym przez | |
235 | wiele lat. Pomimo, że MySQL jest ciągle rozwijany, już oferuje bogaty | |
236 | i użyteczny zbiór funkcji. | |
237 | ||
238 | %description -l de.UTF-8 | |
239 | MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz zu | |
240 | Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten | |
241 | werden zwar in zweidimensionalen Tabellen gespeichert und können mit | |
242 | einem Primärschlüssel versehen werden. Es ist aber keine Definition | |
243 | eines Fremdschlüssels möglich. Der Benutzer ist somit bei einer | |
244 | MySQL-Datenbank völlig allein für die (referenzielle) Integrität der | |
245 | Daten verantwortlich. Allein durch die Nutzung externer | |
246 | Tabellenformate, wie InnoDB bzw Berkeley DB wird eine Relationalität | |
247 | ermöglicht. Diese Projekte sind aber getrennt von MySQL zu betrachten. | |
248 | ||
249 | %description -l pt_BR.UTF-8 | |
250 | O MySQL é um servidor de banco de dados SQL realmente multiusuário e | |
251 | multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de | |
252 | dados no mundo. O MySQL é uma implementação cliente/servidor que | |
253 | consiste de um servidor chamado mysqld e diversos | |
254 | programas/bibliotecas clientes. Os principais objetivos do MySQL são: | |
255 | velocidade, robustez e facilidade de uso. O MySQL foi originalmente | |
256 | desenvolvido porque nós na Tcx precisávamos de um servidor SQL que | |
257 | pudesse lidar com grandes bases de dados e com uma velocidade muito | |
258 | maior do que a que qualquer vendedor podia nos oferecer. Estamos | |
259 | usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados | |
260 | com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de | |
261 | linhas. Isto é o equivalente a aproximadamente 50G de dados críticos. | |
262 | A base da construção do MySQL é uma série de rotinas que foram usadas | |
263 | em um ambiente de produção com alta demanda por muitos anos. Mesmo o | |
264 | MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de | |
265 | funções muito ricas e úteis. Veja a documentação para maiores | |
266 | informações. | |
267 | ||
268 | %description -l ru.UTF-8 | |
269 | MySQL - это SQL (Structured Query Language) сервер базы данных. MySQL | |
270 | была написана Michael'ом (monty) Widenius'ом. См. файл CREDITS в | |
271 | дистрибутиве на предмет других участников проекта и прочей информации | |
272 | о MySQL. | |
273 | ||
274 | %description -l uk.UTF-8 | |
275 | MySQL - це SQL (Structured Query Language) сервер бази даних. MySQL | |
276 | було написано Michael'ом (monty) Widenius'ом. Див. файл CREDITS в | |
277 | дистрибутиві для інформації про інших учасників проекту та іншої | |
278 | інформації. | |
279 | ||
280 | %package charsets | |
281 | Summary: MySQL - character sets definitions | |
282 | Summary(pl.UTF-8): MySQL - definicje kodowań znaków | |
283 | Group: Applications/Databases | |
284 | ||
285 | %description charsets | |
286 | This package contains character sets definitions needed by both client | |
287 | and server. | |
288 | ||
289 | %description charsets -l pl.UTF-8 | |
290 | Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i | |
291 | klienta. | |
292 | ||
293 | %package -n mysqlhotcopy | |
294 | Summary: mysqlhotcopy - A MySQL database backup program | |
295 | Summary(pl.UTF-8): mysqlhotcopy - program do tworzenia kopii zapasowych baz MySQL | |
296 | Group: Applications/Databases | |
297 | Requires: perl-DBD-mysql | |
298 | ||
299 | %description -n mysqlhotcopy | |
300 | mysqlhotcopy uses LOCK TABLES, FLUSH TABLES, and cp or scp to make a | |
301 | database backup quickly. It is the fastest way to make a backup of the | |
302 | database or single tables, but it can be run only on the same machine | |
303 | where the database directories are located. mysqlhotcopy works only | |
304 | for backing up MyISAM and ARCHIVE tables. | |
305 | ||
306 | See innobackup package to backup InnoDB tables. | |
307 | ||
308 | %description -n mysqlhotcopy -l pl.UTF-8 | |
309 | mysqlhotcopy wykorzystuje LOCK TABLES, FLUSH TABLES oraz cp i scp do | |
310 | szybkiego tworzenia kopii zapasowych baz danych. Jest to najszybszy | |
311 | sposób wykonania kopii zapasowej bazy danych lub pojedynczych tabel, | |
312 | ale może działać tylko na maszynie, na której znajdują się katalogi z | |
313 | bazą danych. mysqlhotcopy działa tylko dla tabel typu MyISAM i | |
314 | ARCHIVE. | |
315 | ||
316 | Narzędzie do tworzenia kopii tabel InnoDB znajduje się w pakiecie | |
317 | innobackup. | |
318 | ||
319 | %package extras | |
320 | Summary: MySQL additional utilities | |
321 | Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL | |
322 | Group: Applications/Databases | |
323 | Requires: %{name}-client = %{version}-%{release} | |
324 | Requires: %{name}-libs = %{version}-%{release} | |
325 | ||
326 | %description extras | |
327 | MySQL additional utilities except Perl scripts (they may be found in | |
328 | %{name}-extras-perl package). | |
329 | ||
330 | %description extras -l pl.UTF-8 | |
331 | Dodatkowe narzędzia do MySQL - z wyjątkiem skryptów Perla (które są w | |
332 | pakiecie %{name}-extras-perl). | |
333 | ||
334 | %package extras-perl | |
335 | Summary: MySQL additional utilities written in Perl | |
336 | Summary(pl.UTF-8): Dodatkowe narzędzia do MySQL napisane w Perlu | |
337 | Group: Applications/Databases | |
338 | Requires: %{name}-extras = %{version}-%{release} | |
339 | # this is just for the sake of smooth upgrade, not to break systems | |
340 | Requires: mysqlhotcopy = %{version}-%{release} | |
341 | Requires: perl(DBD::mysql) | |
342 | ||
343 | %description extras-perl | |
344 | MySQL additional utilities written in Perl. | |
345 | ||
346 | %description extras-perl -l pl.UTF-8 | |
347 | Dodatkowe narzędzia do MySQL napisane w Perlu. | |
348 | ||
349 | %package client | |
350 | Summary: MySQL - Client | |
351 | Summary(pl.UTF-8): MySQL - Klient | |
352 | Summary(pt.UTF-8): MySQL - Cliente | |
353 | Summary(ru.UTF-8): MySQL клиент | |
354 | Summary(uk.UTF-8): MySQL клієнт | |
355 | Group: Applications/Databases | |
356 | Requires: %{name}-charsets = %{version}-%{release} | |
357 | Requires: %{name}-libs = %{version}-%{release} | |
358 | Obsoletes: MySQL-client | |
359 | ||
360 | %description client | |
361 | This package contains the standard MySQL clients. | |
362 | ||
363 | %description client -l fr.UTF-8 | |
364 | Ce package contient les clients MySQL standards. | |
365 | ||
366 | %description client -l pl.UTF-8 | |
367 | Standardowe programy klienckie MySQL. | |
368 | ||
369 | %description client -l pt_BR.UTF-8 | |
370 | Este pacote contém os clientes padrão para o MySQL. | |
371 | ||
372 | %description client -l ru.UTF-8 | |
373 | Этот пакет содержит только клиент MySQL. | |
374 | ||
375 | %description client -l uk.UTF-8 | |
376 | Цей пакет містить тільки клієнта MySQL. | |
377 | ||
378 | %package libs | |
379 | Summary: Shared libraries for MySQL | |
380 | Summary(pl.UTF-8): Biblioteki współdzielone MySQL | |
381 | Group: Libraries | |
382 | Obsoletes: libmysql10 | |
383 | Obsoletes: mysql-doc < 4.1.12 | |
384 | ||
385 | %description libs | |
386 | Shared libraries for MySQL. | |
387 | ||
388 | %description libs -l pl.UTF-8 | |
389 | Biblioteki współdzielone MySQL. | |
390 | ||
391 | %package devel | |
392 | Summary: MySQL - development header files and other files | |
393 | Summary(pl.UTF-8): MySQL - Pliki nagłówkowe i inne dla programistów | |
394 | Summary(pt.UTF-8): MySQL - Medições de desempenho | |
395 | Summary(ru.UTF-8): MySQL - хедеры и библиотеки разработчика | |
396 | Summary(uk.UTF-8): MySQL - хедери та бібліотеки програміста | |
397 | Group: Development/Libraries | |
398 | Requires: %{name}-libs = %{version}-%{release} | |
399 | %{?with_ssl:Requires: openssl-devel} | |
400 | Requires: zlib-devel | |
401 | Obsoletes: MySQL-devel | |
402 | Obsoletes: libmysql10-devel | |
403 | ||
404 | %description devel | |
405 | This package contains the development header files and other files | |
406 | necessary to develop MySQL client applications. | |
407 | ||
408 | %description devel -l fr.UTF-8 | |
409 | Ce package contient les fichiers entetes et les librairies de | |
410 | developpement necessaires pour developper des applications clientes | |
411 | MySQL. | |
412 | ||
413 | %description devel -l pl.UTF-8 | |
414 | Pliki nagłówkowe i inne pliki konieczne do kompilacji aplikacji | |
415 | klienckich MySQL. | |
416 | ||
417 | %description devel -l pt_BR.UTF-8 | |
418 | Este pacote contém os arquivos de cabeçalho (header files) e | |
419 | bibliotecas necessárias para desenvolver aplicações clientes do MySQL. | |
420 | ||
421 | %description devel -l ru.UTF-8 | |
422 | Этот пакет содержит хедеры и библиотеки разработчика, необходимые для | |
423 | разработки клиентских приложений. | |
424 | ||
425 | %description devel -l uk.UTF-8 | |
426 | Цей пакет містить хедери та бібліотеки програміста, необхідні для | |
427 | розробки програм-клієнтів. | |
428 | ||
429 | %package static | |
430 | Summary: MySQL static libraries | |
431 | Summary(pl.UTF-8): Biblioteki statyczne MySQL | |
432 | Summary(ru.UTF-8): MySQL - статические библиотеки | |
433 | Summary(uk.UTF-8): MySQL - статичні бібліотеки | |
434 | Group: Development/Libraries | |
435 | Requires: %{name}-devel = %{version}-%{release} | |
436 | Obsoletes: MySQL-static | |
437 | ||
438 | %description static | |
439 | MySQL static libraries. | |
440 | ||
441 | %description static -l pl.UTF-8 | |
442 | Biblioteki statyczne MySQL. | |
443 | ||
444 | %description static -l ru.UTF-8 | |
445 | Этот пакет содержит статические библиотеки разработчика, необходимые | |
446 | для разработки клиентских приложений. | |
447 | ||
448 | %description static -l uk.UTF-8 | |
449 | Цей пакет містить статичні бібліотеки програміста, необхідні для | |
450 | розробки програм-клієнтів. | |
451 | ||
452 | %package bench | |
453 | Summary: MySQL - Benchmarks | |
454 | Summary(pl.UTF-8): MySQL - Programy testujące szybkość działania bazy | |
455 | Summary(pt.UTF-8): MySQL - Medições de desempenho | |
456 | Summary(ru.UTF-8): MySQL - бенчмарки | |
457 | Summary(uk.UTF-8): MySQL - бенчмарки | |
458 | Group: Applications/Databases | |
459 | Requires: %{name} = %{version}-%{release} | |
460 | Requires: %{name}-client | |
461 | Requires: perl(DBD::mysql) | |
462 | Obsoletes: MySQL-bench | |
463 | ||
464 | %description bench | |
465 | This package contains MySQL benchmark scripts and data. | |
466 | ||
467 | %description bench -l pl.UTF-8 | |
468 | Programy testujące szybkość serwera MySQL. | |
469 | ||
470 | %description bench -l pt_BR.UTF-8 | |
471 | Este pacote contém medições de desempenho de scripts e dados do MySQL. | |
472 | ||
473 | %description bench -l ru.UTF-8 | |
474 | Этот пакет содержит скрипты и данные для оценки производительности | |
475 | MySQL. | |
476 | ||
477 | %description bench -l uk.UTF-8 | |
478 | Цей пакет містить скрипти та дані для оцінки продуктивності MySQL. | |
479 | ||
480 | %package doc | |
481 | Summary: MySQL manual | |
482 | Summary(pl.UTF-8): Podręcznik użytkownika MySQL | |
483 | Group: Applications/Databases | |
484 | ||
485 | %description doc | |
486 | This package contains manual in HTML format. | |
487 | ||
488 | %description doc -l pl.UTF-8 | |
489 | Podręcznik MySQL-a w formacie HTML. | |
490 | ||
491 | %package ndb | |
492 | Summary: MySQL - NDB Storage Engine Daemon | |
493 | Summary(pl.UTF-8): MySQL - demon silnika przechowywania danych NDB | |
494 | Group: Applications/Databases | |
495 | Requires: %{name}-libs = %{version}-%{release} | |
496 | ||
497 | %description ndb | |
498 | This package contains the standard MySQL NDB Storage Engine Daemon. | |
499 | ||
500 | %description ndb -l pl.UTF-8 | |
501 | Ten pakiet zawiera standardowego demona silnika przechowywania danych | |
502 | NDB. | |
503 | ||
504 | %package ndb-client | |
505 | Summary: MySQL - NDB Clients | |
506 | Summary(pl.UTF-8): MySQL - programy klienckie NDB | |
507 | Group: Applications/Databases | |
508 | Requires: %{name}-libs = %{version}-%{release} | |
509 | ||
510 | %description ndb-client | |
511 | This package contains the standard MySQL NDB Clients. | |
512 | ||
513 | %description ndb-client -l pl.UTF-8 | |
514 | Ten pakiet zawiera standardowe programy klienckie MySQL NDB. | |
515 | ||
516 | %package ndb-mgm | |
517 | Summary: MySQL - NDB Management Daemon | |
518 | Summary(pl.UTF-8): MySQL - demon zarządzający NDB | |
519 | Group: Applications/Databases | |
520 | Requires: %{name}-libs = %{version}-%{release} | |
521 | ||
522 | %description ndb-mgm | |
523 | This package contains the standard MySQL NDB Management Daemon. | |
524 | ||
525 | %description ndb-mgm -l pl.UTF-8 | |
526 | Ten pakiet zawiera standardowego demona zarządzającego MySQL NDB. | |
527 | ||
528 | %package ndb-cpc | |
529 | Summary: MySQL - NDB CPC Daemon | |
530 | Summary(pl.UTF-8): MySQL - demon NDB CPC | |
531 | Group: Applications/Databases | |
532 | Requires: %{name}-libs = %{version}-%{release} | |
533 | ||
534 | %description ndb-cpc | |
535 | This package contains the standard MySQL NDB CPC Daemon. | |
536 | ||
537 | %description ndb-cpc -l pl.UTF-8 | |
538 | Ten pakiet zawiera standardowego demona MySQL NDB CPC. | |
539 | ||
540 | %prep | |
541 | %setup -q %{?with_sphinx:-a100} | |
542 | %if %{with sphinx} | |
543 | # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51 | |
544 | mv sphinx-*/mysqlse storage/sphinx | |
545 | %patch18 -p1 | |
546 | %endif | |
547 | #%patch2 -p1 # NEEDS CHECK, which exact program needs -lc++ | |
548 | %patch3 -p1 | |
549 | %ifarch alpha | |
550 | # this is strange: mysqld functions for UDF modules are not explicitly defined, | |
551 | # so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables | |
552 | # in objects compiled without -fPIC | |
553 | %patch4 -p1 | |
554 | # gcc 3.3.x ICE | |
555 | %patch10 -p1 | |
556 | %endif | |
557 | %patch5 -p1 | |
558 | %patch6 -p1 | |
559 | %patch7 -p1 | |
560 | %patch8 -p1 | |
561 | %patch9 -p1 | |
562 | %patch11 -p1 | |
563 | %patch12 -p1 | |
564 | %patch14 -p0 | |
565 | %patch19 -p1 | |
566 | %patch20 -p1 | |
567 | # <percona %patches> | |
568 | %patch100 -p1 | |
569 | %patch101 -p1 | |
570 | %patch102 -p1 | |
571 | %patch103 -p1 | |
572 | %patch104 -p1 | |
573 | %patch105 -p1 | |
574 | %patch106 -p1 | |
575 | %patch107 -p1 | |
576 | %patch108 -p1 | |
577 | %patch109 -p1 | |
578 | %patch110 -p1 | |
579 | %patch111 -p1 | |
580 | %patch112 -p1 | |
581 | %patch113 -p1 | |
582 | %patch114 -p1 | |
583 | %patch115 -p1 | |
584 | %patch116 -p1 | |
585 | %patch117 -p1 | |
586 | %patch118 -p1 | |
587 | %patch119 -p1 | |
588 | %patch120 -p1 | |
589 | %patch121 -p1 | |
590 | %patch122 -p1 | |
591 | %patch123 -p1 | |
592 | %patch124 -p1 | |
593 | %patch125 -p1 | |
594 | %patch126 -p1 | |
595 | %patch127 -p1 | |
596 | %patch128 -p1 | |
597 | %patch129 -p1 | |
598 | %patch130 -p1 | |
599 | %patch131 -p1 | |
600 | %patch132 -p1 | |
601 | %patch133 -p1 | |
602 | %patch134 -p1 | |
603 | %patch135 -p1 | |
604 | %ifnarch i386 alpha sparc ppc | |
605 | %patch136 -p1 | |
606 | %endif | |
607 | %patch137 -p1 | |
608 | %patch138 -p1 | |
609 | %patch139 -p1 | |
610 | %patch140 -p1 | |
611 | %patch141 -p1 | |
612 | %patch142 -p1 | |
613 | %patch143 -p1 | |
614 | %patch144 -p1 | |
615 | %patch145 -p1 | |
616 | %patch146 -p1 | |
617 | %patch147 -p1 | |
618 | # </percona> | |
619 | ||
620 | # to get these files rebuild | |
621 | rm sql/sql_yacc.cc | |
622 | rm sql/sql_yacc.h | |
623 | ||
624 | %build | |
625 | install -d build | |
626 | cd build | |
627 | # NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file | |
628 | # (it defaults to first cluster but user may change it to whatever | |
629 | # cluster it wants) | |
630 | ||
631 | %if "%{pld_release}" == "ac" | |
632 | # add suffix, but allow ccache, etc in ~/.rpmmacros | |
633 | %{expand:%%define __cc %(echo '%__cc' | sed -e 's,-gcc,-gcc4,')} | |
634 | %{expand:%%define __cxx %(echo '%__cxx' | sed -e 's,-g++,-g++4,')} | |
635 | %{expand:%%define __cpp %(echo '%__cpp' | sed -e 's,-gcc,-gcc4,')} | |
636 | %endif | |
637 | ||
638 | # upstream has fallen down badly on symbol versioning, do it ourselves | |
639 | install -d libmysql | |
640 | cp -a %{SOURCE15} libmysql/libmysql.version | |
641 | ||
642 | %cmake \ | |
643 | -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \ | |
644 | -DFEATURE_SET="community" \ | |
645 | -DCMAKE_C_FLAGS_RELEASE="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \ | |
646 | -DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \ | |
647 | -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ | |
648 | %{?debug:-DWITH_DEBUG=ON} \ | |
649 | -DWITH_FAST_MUTEXES=ON \ | |
650 | -DWITH_PIC=ON \ | |
651 | -DWITH_LIBEDIT=OFF \ | |
652 | -DWITH_READLINE=OFF \ | |
653 | %if "%{pld_release}" == "ac" | |
654 | -DWITH_SSL=%{?with_ssl:bundled}%{!?with_ssl:no} \ | |
655 | %else | |
656 | -DWITH_SSL=%{?with_ssl:system}%{!?with_ssl:no} \ | |
657 | %endif | |
658 | -DWITH_ZLIB=system \ | |
659 | -DCOMPILATION_COMMENT="PLD/Linux Distribution MySQL RPM" \ | |
660 | -DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \ | |
661 | -DWITH_UNIT_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \ | |
662 | -DCURSES_INCLUDE_PATH=/usr/include/ncurses \ | |
663 | -DMYSQL_UNIX_ADDR=/var/lib/%{name}/%{name}.sock \ | |
664 | -DINSTALL_LAYOUT=RPM \ | |
665 | -DINSTALL_MYSQLTESTDIR_RPM="" \ | |
666 | -DINSTALL_SQLBENCHDIR=%{_datadir} \ | |
667 | -DINSTALL_SUPPORTFILESDIR=%{_datadir}/%{name}-support \ | |
668 | .. | |
669 | ||
670 | %{__make} | |
671 | ||
672 | %{?with_tests:%{__make} test} | |
673 | ||
674 | %install | |
675 | rm -rf $RPM_BUILD_ROOT | |
676 | install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql,skel} \ | |
677 | $RPM_BUILD_ROOT/var/{log/{archive,}/mysql,lib/mysql} \ | |
678 | $RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}} | |
679 | ||
680 | %{__make} -C build install \ | |
681 | DESTDIR=$RPM_BUILD_ROOT | |
682 | ||
683 | cp -a Docs/mysql.info $RPM_BUILD_ROOT%{_infodir} | |
684 | ||
685 | install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql | |
686 | cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql | |
687 | cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql | |
688 | # This is template for configuration file which is created after 'service mysql init' | |
689 | cp -a %{SOURCE4} mysqld.conf | |
690 | cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/clusters.conf | |
691 | touch $RPM_BUILD_ROOT/var/log/%{name}/{mysqld,query,slow}.log | |
692 | ||
693 | # remove innodb directives from mysqld.conf if mysqld is configured without | |
694 | %if %{without innodb} | |
695 | cp mysqld.conf mysqld.tmp | |
696 | awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf | |
697 | %endif | |
698 | ||
699 | # remove berkeley-db directives from mysqld.conf if mysqld is configured without | |
700 | cp mysqld.conf mysqld.tmp | |
701 | awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf | |
702 | ||
703 | cp -a mysqld.conf $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.conf | |
704 | cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/mysql-client.conf | |
705 | cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/skel/.my.cnf | |
706 | ||
707 | # NDB | |
708 | %if %{with ndb} | |
709 | install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb | |
710 | cp -a %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb | |
711 | install -p %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm | |
712 | cp -a %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm | |
713 | install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc | |
714 | cp -a %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc | |
715 | %endif | |
716 | ||
717 | # symlinks point to the .so file, fix it | |
718 | ln -sf libmysqlclient.so.18 $RPM_BUILD_ROOT%{_libdir}/libmysqlclient_r.so.18 | |
719 | ln -sf libmysqlclient.so.18.0.0 $RPM_BUILD_ROOT%{_libdir}/libmysqlclient_r.so.18.0.0 | |
720 | ||
721 | sed -i -e 's,/usr//usr,%{_prefix},g' $RPM_BUILD_ROOT%{_bindir}/mysql_config | |
722 | sed -i -e '/libs/s/$ldflags//' $RPM_BUILD_ROOT%{_bindir}/mysql_config | |
723 | ||
724 | # remove known unpackaged files | |
725 | %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-support | |
726 | ||
727 | # rename not to be so generic name | |
728 | mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump | |
729 | mv $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1 | |
730 | ||
731 | # not useful without -debug build | |
732 | %{!?debug:%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump} | |
733 | %{!?debug:%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1} | |
734 | # generate symbols file, so one can generate backtrace using it | |
735 | # mysql_resolve_stack_dump -s %{_datadir}/%{name}/mysqld.sym -n mysqld.stack. | |
736 | # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html | |
737 | %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.sym} | |
738 | ||
739 | # do not clobber users $PATH | |
740 | mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade | |
741 | mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum | |
742 | mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk | |
743 | mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog | |
744 | mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack | |
745 | #mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables | |
746 | mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults | |
747 | sed -i -e 's#/usr/bin/my_print_defaults#%{_sbindir}/my_print_defaults#g' $RPM_BUILD_ROOT%{_bindir}/mysql_install_db | |
748 | mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck | |
749 | ||
750 | # delete - functionality in initscript / rpm | |
751 | # note: mysql_install_db (and thus resolveip) are needed by digikam | |
752 | %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_safe | |
753 | %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysqld_multi | |
754 | %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}* | |
755 | #rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate | |
756 | #rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server | |
757 | #rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure | |
758 | %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg-utf8.txt | |
759 | %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid | |
760 | %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_waitpid.1* | |
761 | %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server* | |
762 | %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1* | |
763 | %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1* | |
764 | ||
765 | # we don't package those (we have no -test or -testsuite pkg) and some of them just segfault | |
766 | %{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_client_test | |
767 | %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test.1* | |
768 | %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_client_test_embedded.1* | |
769 | %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-stress-test.pl.1* | |
770 | %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql-test-run.pl.1* | |
771 | %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-test | |
772 | ||
773 | # not needed | |
774 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/libdaemon_example.* | |
775 | ||
776 | %clean | |
777 | rm -rf $RPM_BUILD_ROOT | |
778 | ||
779 | %pre | |
780 | %groupadd -g 89 mysql | |
781 | %useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql | |
782 | ||
783 | %post | |
784 | [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 | |
785 | /sbin/ldconfig | |
786 | /sbin/chkconfig --add mysql | |
787 | %service mysql restart | |
788 | ||
789 | %preun | |
790 | if [ "$1" = "0" ]; then | |
791 | %service -q mysql stop | |
792 | /sbin/chkconfig --del mysql | |
793 | fi | |
794 | ||
795 | %postun | |
796 | [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 | |
797 | /sbin/ldconfig | |
798 | ||
799 | if [ "$1" = "0" ]; then | |
800 | %userremove mysql | |
801 | %groupremove mysql | |
802 | fi | |
803 | ||
804 | %post ndb | |
805 | /sbin/chkconfig --add mysql-ndb | |
806 | %service mysql-ndb restart "mysql NDB engine" | |
807 | ||
808 | %preun ndb | |
809 | if [ "$1" = "0" ]; then | |
810 | %service mysql-ndb stop | |
811 | /sbin/chkconfig --del mysql-ndb | |
812 | fi | |
813 | ||
814 | %post ndb-mgm | |
815 | /sbin/chkconfig --add mysql-ndb-mgm | |
816 | %service mysql-ndb-mgm restart "mysql NDB management node" | |
817 | ||
818 | %preun ndb-mgm | |
819 | if [ "$1" = "0" ]; then | |
820 | %service mysql-ndb-mgm stop | |
821 | /sbin/chkconfig --del mysql-ndb-mgm | |
822 | fi | |
823 | ||
824 | %post ndb-cpc | |
825 | /sbin/chkconfig --add mysql-ndb-cpc | |
826 | %service mysql-ndb-cpc restart "mysql NDB CPC" | |
827 | ||
828 | %preun ndb-cpc | |
829 | if [ "$1" = "0" ]; then | |
830 | %service mysql-ndb-cpc stop | |
831 | /sbin/chkconfig --del mysql-ndb-cpc | |
832 | fi | |
833 | ||
834 | %post libs -p /sbin/ldconfig | |
835 | %postun libs -p /sbin/ldconfig | |
836 | ||
837 | %triggerpostun -- mysql < 4.0.20-2.4 | |
838 | # For clusters in /etc/%{name}/clusters.conf | |
839 | if [ -f /etc/sysconfig/mysql ]; then | |
840 | . /etc/sysconfig/mysql | |
841 | if [ -n "$MYSQL_DB_CLUSTERS" ]; then | |
842 | for i in "$MYSQL_DB_CLUSTERS"; do | |
843 | echo "$i/mysqld.conf=$i" >> /etc/%{name}/clusters.conf | |
844 | done | |
845 | echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql | |
846 | echo "# USE /etc/%{name}/clusters.conf instead" >> /etc/sysconfig/mysql | |
847 | echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/%{name}/clusters.conf." | |
848 | echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/%{name}/clusters.conf." | |
849 | fi | |
850 | fi | |
851 | ||
852 | %triggerpostun -- mysql < 4.1.1 | |
853 | # For better compatibility with prevoius versions: | |
854 | for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do | |
855 | if echo "$config" | grep -q '^/'; then | |
856 | config_file="$config" | |
857 | elif [ -f "/etc/%{name}/$config" ]; then | |
858 | config_file=/etc/%{name}/$config | |
859 | else | |
860 | clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf) | |
861 | if [ -z "$clusterdir" ]; then | |
862 | echo >&2 "Can't find cluster dir for $config!" | |
863 | echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf" | |
864 | exit 1 | |
865 | fi | |
866 | config_file="$clusterdir/mysqld.conf" | |
867 | fi | |
868 | ||
869 | if [ ! -f "$config_file" ]; then | |
870 | echo >&2 "Lost myself! Please report this (with above errors, if any) to http://bugs.pld-linux.org/" | |
871 | exit 1 | |
872 | fi | |
873 | echo "Adding option old-passwords to config: $config_file" | |
874 | echo "If you want to use new, better passwords - remove it" | |
875 | ||
876 | # sed magic to add 'old-passwords' to [mysqld] section | |
877 | sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{ | |
878 | a | |
879 | a; Compatibility options: | |
880 | aold-passwords | |
881 | } | |
882 | ' $config_file | |
883 | done | |
884 | ||
885 | %banner -e %{name}-4.1.x <<-EOF | |
886 | If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data: | |
887 | mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql | |
888 | EOF | |
889 | #' | |
890 | ||
891 | %triggerpostun -- mysql < 5.1.0 | |
892 | configs="" | |
893 | for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do | |
894 | if echo "$config" | grep -q '^/'; then | |
895 | config_file="$config" | |
896 | elif [ -f "/etc/%{name}/$config" ]; then | |
897 | config_file=/etc/%{name}/$config | |
898 | else | |
899 | clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf) | |
900 | if [ -z "$clusterdir" ]; then | |
901 | echo >&2 "Can't find cluster dir for $config!" | |
902 | echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf" | |
903 | exit 1 | |
904 | fi | |
905 | config_file="$clusterdir/mysqld.conf" | |
906 | fi | |
907 | ||
908 | if [ ! -f "$config_file" ]; then | |
909 | echo >&2 "ERROR: Can't find real config file for $config! Please report this (with above errors, if any) to http://bugs.pld-linux.org/" | |
910 | continue | |
911 | fi | |
912 | configs="$configs $config_file" | |
913 | done | |
914 | ||
915 | ( | |
916 | echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.' | |
917 | echo 'Thus, you should invoke:' | |
918 | for config in $configs; do | |
919 | sed -i -e ' | |
920 | s/set-variable\s*=\s* // | |
921 | # use # as comment in config | |
922 | s/^;/#/ | |
923 | ' $config | |
924 | ||
925 | datadir=$(awk -F= '!/^#/ && $1 ~ /datadir/{print $2}' $config | xargs) | |
926 | echo "# mysql_upgrade --datadir=$datadir" | |
927 | done | |
928 | ) | %banner -e %{name}-5.1 | |
929 | ||
930 | %triggerpostun -- mysql < 5.5.0 | |
931 | configs="" | |
932 | for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do | |
933 | if echo "$config" | grep -q '^/'; then | |
934 | config_file="$config" | |
935 | elif [ -f "/etc/%{name}/$config" ]; then | |
936 | config_file=/etc/%{name}/$config | |
937 | else | |
938 | clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf) | |
939 | if [ -z "$clusterdir" ]; then | |
940 | echo >&2 "Can't find cluster dir for $config!" | |
941 | echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf" | |
942 | exit 1 | |
943 | fi | |
944 | config_file="$clusterdir/mysqld.conf" | |
945 | fi | |
946 | ||
947 | if [ ! -f "$config_file" ]; then | |
948 | echo >&2 "ERROR: Can't find real config file for $config! Please report this (with above errors, if any) to http://bugs.pld-linux.org/" | |
949 | continue | |
950 | fi | |
951 | configs="$configs $config_file" | |
952 | done | |
953 | ||
954 | ( | |
955 | echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.' | |
956 | echo 'Thus, you should invoke:' | |
957 | for config in $configs; do | |
958 | sed -i -e ' | |
959 | s/^language *= *polish/lc-messages = pl_PL/i | |
960 | s/set-variable\s*=\s* // | |
961 | s/^skip-locking/skip-external-locking/ | |
962 | # this is not valid for server. it is client option | |
963 | s/default-character-set/# client-config: &/ | |
964 | # use # as comment in config | |
965 | s/^;/#/ | |
966 | ' $config | |
967 | ||
968 | datadir=$(awk -F= '!/^#/ && $1 ~ /datadir/{print $2}' $config | xargs) | |
969 | echo "# mysql_upgrade --datadir=$datadir" | |
970 | done | |
971 | ) | %banner -e %{name}-5.5 | |
972 | ||
973 | %files | |
974 | %defattr(644,root,root,755) | |
975 | %doc build/support-files/*.cnf build/support-files/*.ini | |
976 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name} | |
977 | %attr(754,root,root) /etc/rc.d/init.d/%{name} | |
978 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name} | |
979 | %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/clusters.conf | |
980 | %attr(755,root,root) %{_sbindir}/innochecksum | |
981 | %attr(755,root,root) %{_sbindir}/my_print_defaults | |
982 | %attr(755,root,root) %{_sbindir}/myisamchk | |
983 | %attr(755,root,root) %{_sbindir}/myisamlog | |
984 | %attr(755,root,root) %{_sbindir}/myisampack | |
985 | #%attr(755,root,root) %{_sbindir}/mysql_fix_privilege_tables | |
986 | %attr(755,root,root) %{_sbindir}/mysql_upgrade | |
987 | %attr(755,root,root) %{_sbindir}/mysqlcheck | |
988 | %attr(755,root,root) %{_sbindir}/mysqld | |
989 | %dir %{_libdir}/%{name} | |
990 | %dir %{_libdir}/%{name}/plugin | |
991 | %attr(755,root,root) %{_libdir}/%{name}/plugin/adt_null.so | |
992 | %attr(755,root,root) %{_libdir}/%{name}/plugin/auth.so | |
993 | %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_socket.so | |
994 | %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_test_plugin.so | |
995 | %attr(755,root,root) %{_libdir}/%{name}/plugin/ha_archive.so | |
996 | %attr(755,root,root) %{_libdir}/%{name}/plugin/ha_blackhole.so | |
997 | %attr(755,root,root) %{_libdir}/%{name}/plugin/ha_federated.so | |
998 | %attr(755,root,root) %{_libdir}/%{name}/plugin/mypluglib.so | |
999 | %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_client.so | |
1000 | %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_interface.so | |
1001 | %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_server.so | |
1002 | %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_master.so | |
1003 | %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_slave.so | |
1004 | %if %{with sphinx} | |
1005 | %attr(755,root,root) %{_libdir}/%{name}/plugin/sphinx.so | |
1006 | %endif | |
1007 | # for plugins | |
1008 | %attr(755,root,root) %{_libdir}/libmysqlservices.so | |
1009 | %{_mandir}/man1/innochecksum.1* | |
1010 | %{_mandir}/man1/my_print_defaults.1* | |
1011 | %{_mandir}/man1/myisamchk.1* | |
1012 | %{_mandir}/man1/myisamlog.1* | |
1013 | %{_mandir}/man1/myisampack.1* | |
1014 | #%{_mandir}/man1/mysql_fix_privilege_tables.1* | |
1015 | %{_mandir}/man1/mysql_upgrade.1* | |
1016 | %{_mandir}/man1/mysqlcheck.1* | |
1017 | %{_mandir}/man8/mysqld.8* | |
1018 | ||
1019 | %if %{?debug:1}0 | |
1020 | %attr(755,root,root) %{_bindir}/*resolve_stack_dump | |
1021 | %{_datadir}/%{name}/mysqld.sym | |
1022 | %{_mandir}/man1/*resolve_stack_dump.1* | |
1023 | %endif | |
1024 | ||
1025 | %attr(700,mysql,mysql) %{_mysqlhome} | |
1026 | # root:root is proper here for mysql.rpm while mysql:mysql is potential security hole | |
1027 | %attr(751,root,root) /var/lib/mysql | |
1028 | %attr(750,mysql,mysql) %dir /var/log/mysql | |
1029 | %attr(750,mysql,mysql) %dir /var/log/archive/mysql | |
1030 | %attr(640,mysql,mysql) %ghost /var/log/mysql/* | |
1031 | ||
1032 | %{_infodir}/mysql.info* | |
1033 | # This is template for configuration file which is created after 'service mysql init' | |
1034 | %{_datadir}/%{name}/mysqld.conf | |
1035 | %{_datadir}/%{name}/mysql_system_tables.sql | |
1036 | %{_datadir}/%{name}/mysql_system_tables_data.sql | |
1037 | %{_datadir}/%{name}/mysql_test_data_timezone.sql | |
1038 | ||
1039 | %{_datadir}/%{name}/english | |
1040 | %{_datadir}/%{name}/fill_help_tables.sql | |
1041 | #%{_datadir}/%{name}/mysql_fix_privilege_tables.sql | |
1042 | %lang(cs) %{_datadir}/%{name}/czech | |
1043 | %lang(da) %{_datadir}/%{name}/danish | |
1044 | %lang(de) %{_datadir}/%{name}/german | |
1045 | %lang(el) %{_datadir}/%{name}/greek | |
1046 | %lang(es) %{_datadir}/%{name}/spanish | |
1047 | %lang(et) %{_datadir}/%{name}/estonian | |
1048 | %lang(fr) %{_datadir}/%{name}/french | |
1049 | %lang(hu) %{_datadir}/%{name}/hungarian | |
1050 | %lang(it) %{_datadir}/%{name}/italian | |
1051 | %lang(ja) %{_datadir}/%{name}/japanese | |
1052 | %lang(ko) %{_datadir}/%{name}/korean | |
1053 | %lang(nl) %{_datadir}/%{name}/dutch | |
1054 | %lang(nb) %{_datadir}/%{name}/norwegian | |
1055 | %lang(nn) %{_datadir}/%{name}/norwegian-ny | |
1056 | %lang(pl) %{_datadir}/%{name}/polish | |
1057 | %lang(pt) %{_datadir}/%{name}/portuguese | |
1058 | %lang(ro) %{_datadir}/%{name}/romanian | |
1059 | %lang(ru) %{_datadir}/%{name}/russian | |
1060 | %lang(sr) %{_datadir}/%{name}/serbian | |
1061 | %lang(sk) %{_datadir}/%{name}/slovak | |
1062 | %lang(sv) %{_datadir}/%{name}/swedish | |
1063 | %lang(uk) %{_datadir}/%{name}/ukrainian | |
1064 | ||
1065 | %files charsets | |
1066 | %defattr(644,root,root,755) | |
1067 | %dir %{_datadir}/mysql | |
1068 | %{_datadir}/%{name}/charsets | |
1069 | ||
1070 | %files extras | |
1071 | %defattr(644,root,root,755) | |
1072 | %attr(755,root,root) %{_bindir}/msql2mysql | |
1073 | %attr(755,root,root) %{_bindir}/myisam_ftdump | |
1074 | %attr(755,root,root) %{_bindir}/mysql_install_db | |
1075 | %attr(755,root,root) %{_bindir}/mysql_secure_installation | |
1076 | %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql | |
1077 | %attr(755,root,root) %{_bindir}/perror | |
1078 | %attr(755,root,root) %{_bindir}/replace | |
1079 | %attr(755,root,root) %{_bindir}/resolveip | |
1080 | %{_mandir}/man1/msql2mysql.1* | |
1081 | %{_mandir}/man1/myisam_ftdump.1* | |
1082 | %{_mandir}/man1/mysql_install_db.1* | |
1083 | %{_mandir}/man1/mysql_secure_installation.1* | |
1084 | %{_mandir}/man1/mysql_tzinfo_to_sql.1* | |
1085 | %{_mandir}/man1/perror.1* | |
1086 | %{_mandir}/man1/replace.1* | |
1087 | %{_mandir}/man1/resolveip.1* | |
1088 | ||
1089 | %files -n mysqlhotcopy | |
1090 | %defattr(644,root,root,755) | |
1091 | %attr(755,root,root) %{_bindir}/mysqlhotcopy | |
1092 | %{_mandir}/man1/mysqlhotcopy.1* | |
1093 | ||
1094 | %files extras-perl | |
1095 | %defattr(644,root,root,755) | |
1096 | %attr(755,root,root) %{_bindir}/mysql_convert_table_format | |
1097 | %attr(755,root,root) %{_bindir}/mysql_find_rows | |
1098 | %attr(755,root,root) %{_bindir}/mysql_fix_extensions | |
1099 | %attr(755,root,root) %{_bindir}/mysql_setpermission | |
1100 | %attr(755,root,root) %{_bindir}/mysql_zap | |
1101 | %attr(755,root,root) %{_bindir}/mysqlaccess | |
1102 | %attr(755,root,root) %{_bindir}/mysqldumpslow | |
1103 | %{_mandir}/man1/mysql_convert_table_format.1* | |
1104 | %{_mandir}/man1/mysql_find_rows.1* | |
1105 | %{_mandir}/man1/mysql_fix_extensions.1* | |
1106 | %{_mandir}/man1/mysql_setpermission.1* | |
1107 | %{_mandir}/man1/mysql_zap.1* | |
1108 | %{_mandir}/man1/mysqlaccess.1* | |
1109 | %{_mandir}/man1/mysqldumpslow.1* | |
1110 | ||
1111 | %files client | |
1112 | %defattr(644,root,root,755) | |
1113 | %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/skel/.my.cnf | |
1114 | %attr(755,root,root) %{_bindir}/mysql | |
1115 | %attr(755,root,root) %{_bindir}/mysqladmin | |
1116 | %attr(755,root,root) %{_bindir}/mysqlbinlog | |
1117 | %attr(755,root,root) %{_bindir}/mysqlbug | |
1118 | %attr(755,root,root) %{_bindir}/mysqldump | |
1119 | %attr(755,root,root) %{_bindir}/mysqlimport | |
1120 | %attr(755,root,root) %{_bindir}/mysqlshow | |
1121 | %{_mandir}/man1/mysql.1* | |
1122 | %{_mandir}/man1/mysqladmin.1* | |
1123 | %{_mandir}/man1/mysqlbinlog.1* | |
1124 | %{_mandir}/man1/mysqlbug.1* | |
1125 | %{_mandir}/man1/mysqldump.1* | |
1126 | %{_mandir}/man1/mysqlimport.1* | |
1127 | %{_mandir}/man1/mysqlshow.1* | |
1128 | ||
1129 | %files libs | |
1130 | %defattr(644,root,root,755) | |
1131 | %attr(751,root,root) %dir %{_sysconfdir}/mysql | |
1132 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/mysql-client.conf | |
1133 | %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.* | |
1134 | %attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.18 | |
1135 | %attr(755,root,root) %{_libdir}/libmysqlclient_r.so.*.*.* | |
1136 | %attr(755,root,root) %ghost %{_libdir}/libmysqlclient_r.so.18 | |
1137 | %if %{with ndb} | |
1138 | %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.* | |
1139 | %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3 | |
1140 | %endif | |
1141 | ||
1142 | %files devel | |
1143 | %defattr(644,root,root,755) | |
1144 | %attr(755,root,root) %{_bindir}/mysql_config | |
1145 | %attr(755,root,root) %{_libdir}/libmysqlclient.so | |
1146 | %attr(755,root,root) %{_libdir}/libmysqlclient_r.so | |
1147 | %if %{with ndb} | |
1148 | %attr(755,root,root) %{_libdir}/libndbclient.so | |
1149 | %endif | |
1150 | %{_includedir}/mysql | |
1151 | %{_aclocaldir}/mysql.m4 | |
1152 | %{_mandir}/man1/mysql_config.1* | |
1153 | ||
1154 | %files static | |
1155 | %defattr(644,root,root,755) | |
1156 | %{_libdir}/libmysqlclient.a | |
1157 | %{_libdir}/libmysqlclient_r.a | |
1158 | %if %{with ndb} | |
1159 | %{_libdir}/libndbclient.a | |
1160 | %endif | |
1161 | ||
1162 | %files bench | |
1163 | %defattr(644,root,root,755) | |
1164 | %attr(755,root,root) %{_bindir}/mysqlslap | |
1165 | %attr(755,root,root) %{_bindir}/mysqltest | |
1166 | %dir %{_datadir}/sql-bench | |
1167 | %{_datadir}/sql-bench/[CDRl]* | |
1168 | %attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]* | |
1169 | %{_mandir}/man1/mysqlslap.1* | |
1170 | %{_mandir}/man1/mysqltest.1* | |
1171 | %{_mandir}/man1/mysqltest_embedded.1* | |
1172 | ||
1173 | #%files doc | |
1174 | #%defattr(644,root,root,755) | |
1175 | #%doc Docs/manual.html Docs/manual_toc.html | |
1176 | ||
1177 | %if %{with ndb} | |
1178 | %files ndb | |
1179 | %defattr(644,root,root,755) | |
1180 | %attr(755,root,root) %{_sbindir}/ndbd | |
1181 | %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb | |
1182 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb | |
1183 | %{_mandir}/man1/ndbd_redo_log_reader.1* | |
1184 | %{_mandir}/man8/ndbd.8* | |
1185 | ||
1186 | %files ndb-client | |
1187 | %defattr(644,root,root,755) | |
1188 | %attr(755,root,root) %{_bindir}/ndb_config | |
1189 | %attr(755,root,root) %{_bindir}/ndb_delete_all | |
1190 | %attr(755,root,root) %{_bindir}/ndb_desc | |
1191 | %attr(755,root,root) %{_bindir}/ndb_drop_index | |
1192 | %attr(755,root,root) %{_bindir}/ndb_drop_table | |
1193 | %attr(755,root,root) %{_bindir}/ndb_error_reporter | |
1194 | %attr(755,root,root) %{_bindir}/ndb_mgm | |
1195 | %attr(755,root,root) %{_bindir}/ndb_print_backup_file | |
1196 | %attr(755,root,root) %{_bindir}/ndb_print_schema_file | |
1197 | %attr(755,root,root) %{_bindir}/ndb_print_sys_file | |
1198 | %attr(755,root,root) %{_bindir}/ndb_restore | |
1199 | %attr(755,root,root) %{_bindir}/ndb_select_all | |
1200 | %attr(755,root,root) %{_bindir}/ndb_select_count | |
1201 | %attr(755,root,root) %{_bindir}/ndb_show_tables | |
1202 | %attr(755,root,root) %{_bindir}/ndb_size.pl | |
1203 | %attr(755,root,root) %{_bindir}/ndb_test_platform | |
1204 | %attr(755,root,root) %{_bindir}/ndb_waiter | |
1205 | %{_mandir}/man1/ndb_config.1* | |
1206 | %{_mandir}/man1/ndb_delete_all.1* | |
1207 | %{_mandir}/man1/ndb_desc.1* | |
1208 | %{_mandir}/man1/ndb_drop_index.1* | |
1209 | %{_mandir}/man1/ndb_drop_table.1* | |
1210 | %{_mandir}/man1/ndb_error_reporter.1* | |
1211 | %{_mandir}/man1/ndb_mgm.1* | |
1212 | %{_mandir}/man1/ndb_print_backup_file.1* | |
1213 | %{_mandir}/man1/ndb_print_schema_file.1* | |
1214 | %{_mandir}/man1/ndb_print_sys_file.1* | |
1215 | %{_mandir}/man1/ndb_restore.1* | |
1216 | %{_mandir}/man1/ndb_select_all.1* | |
1217 | %{_mandir}/man1/ndb_select_count.1* | |
1218 | %{_mandir}/man1/ndb_show_tables.1* | |
1219 | %{_mandir}/man1/ndb_size.pl.1* | |
1220 | %{_mandir}/man1/ndb_waiter.1* | |
1221 | ||
1222 | %files ndb-mgm | |
1223 | %defattr(644,root,root,755) | |
1224 | %attr(755,root,root) %{_sbindir}/ndb_mgmd | |
1225 | %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm | |
1226 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm | |
1227 | %{_mandir}/man8/ndb_mgmd.8* | |
1228 | ||
1229 | %files ndb-cpc | |
1230 | %defattr(644,root,root,755) | |
1231 | %attr(755,root,root) %{_sbindir}/ndb_cpcd | |
1232 | %attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc | |
1233 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc | |
1234 | %{_mandir}/man1/ndb_cpcd.1* | |
1235 | %endif |