/[packages]/cauldron/mariadb/current/SPECS/mariadb.spec
ViewVC logotype

Contents of /cauldron/mariadb/current/SPECS/mariadb.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 599466 - (show annotations) (download)
Tue Mar 4 11:42:12 2014 UTC (6 years, 7 months ago) by oden
File size: 35503 byte(s)
- P122: use system pcre (#12665)

1 #(ie. use with rpm --rebuild):
2 #
3 # --with debug Compile with debugging code
4 #
5 # enable build with debugging code: will _not_ strip away any debugging code,
6 # will _add_ -g3 to CFLAGS, will _add_ --enable-maintainer-mode to
7 # configure.
8
9 %define build_debug 0
10 %define build_test 0
11
12 # commandline overrides:
13 # rpm -ba|--rebuild --with 'xxx'
14 %{?_with_debug: %{expand: %%define build_debug 1}}
15 %{?_with_test: %{expand: %%define build_test 1}}
16 %{?_without_test: %global build_test 0}
17
18 %if %{build_debug}
19 # disable build root strip policy
20 %define __spec_install_post %{_libdir}/rpm/brp-compress || :
21
22 # This gives extra debuggin and huge binaries
23 %{expand:%%define optflags %{optflags} %([ ! $DEBUG ] && echo '-g3')}
24 %endif
25
26 %if %{build_debug}
27 %define build_debug 1
28 %endif
29
30 %if %{build_test}
31 %define build_test 1
32 %endif
33
34 %define major 18
35 %define libmysqlembedded_major 0
36 %define libmysqlembedded_minor 0.1
37 %define libname %mklibname mariadb %{major}
38 %define libmariadbservices %mklibname mariadbservices
39 %define libmariadbembedded %mklibname mariadb-embedded %{major}
40 %define develname %mklibname -d mariadb
41 %define old_staticdevelname %mklibname -d -s mariadb
42 %define libmariadbembedded_devel %mklibname -d mariadb-embedded
43
44 %define mysql_libname %mklibname mysql %{major}
45 %define mysql_develname %mklibname -d mysql
46 %define libmysqlservices %mklibname mysqlservices
47 %define libmysqlembedded %mklibname mysqld %{libmysqlembedded_major}
48 %define libmysqlembedded_devel %mklibname -d mariadb-embedded
49
50 %define mirror http://ftp.osuosl.org/pub/mariadb
51
52 %define muser mysql
53
54 # rule out some useless autodeps in the test suite
55 %define _requires_exceptions perl(th\\|perl(lib\\|perl(mtr\\|perl(My
56 %define _provides_exceptions perl(th\\|perl(lib\\|perl(mtr\\|perl(My
57
58 Summary: A very fast and reliable SQL database engine
59 Name: mariadb
60 Version: 10.0.8
61 Release: %mkrel 0.1
62 Group: Databases
63 License: GPLv2 with exceptions
64 URL: http://mariadb.org/
65 Source0: %{mirror}/%{name}-%{version}/kvm-tarbake-jaunty-x86/%{name}-%{version}.tar.gz
66 Source3: my.cnf
67 Source10: mysql.tmpfiles.d
68 Source11: mysqld.service
69 Source12: mysqld-prepare-db-dir
70 Source13: mysqld-wait-ready
71 Source50: auth_pam.cnf
72 Source51: auth_socket.cnf
73 Source52: dialog.cnf
74 Source53: ha_archive.cnf
75 Source54: ha_blackhole.cnf
76 Source55: ha_cassandra.cnf
77 Source56: ha_connect.cnf
78 Source57: ha_federatedx.cnf
79 Source58: handlersocket.cnf
80 Source59: ha_oqgraph.cnf
81 Source60: ha_sequence.cnf
82 Source61: ha_sphinx.cnf
83 Source62: ha_spider.cnf
84 Source63: locales.cnf
85 Source64: metadata_lock_info.cnf
86 Source65: mysql_clear_password.cnf
87 Source66: query_cache_info.cnf
88 Source67: query_response_time.cnf
89 Source68: semisync_master.cnf
90 Source69: semisync_slave.cnf
91 Source70: sql_errlog.cnf
92 Source71: feedback.cnf
93 Source72: ha_xtradb.cnf
94
95 # the following patches are rediffed from the mysql-5.5 src.rpm to mariadb-5.5
96 # fedora patches
97 Patch1: mariadb-5.5-errno.patch
98 Patch3: mariadb-5.5-install-test.patch
99 Patch4: mysql-expired-certs.patch
100
101 # mandriva patches
102 Patch101: mariadb-5.5-logrotate.patch
103 Patch106: mariadb-5.5-hotcopy.patch
104 Patch107: mariadb-5.5-mysql_install_db-quiet.patch
105
106 # mageia patches
107 Patch121: mariadb-10.0.7-mysqlbug_67018.diff
108 Patch122: mariadb-10.0.8-external_pcre.diff
109
110 Requires(post): systemd >= %{systemd_required_version}
111 Requires(post): rpm-helper >= 0.24.8-1
112 Requires(preun): rpm-helper >= 0.24.8-1
113 Requires(post): %{name}-common%{_isa} = %{version}-%{release}
114 Requires(preun): %{name}-common%{_isa} = %{version}-%{release}
115 Requires(post): %{name}-client%{_isa} = %{version}-%{release}
116 Requires(preun): %{name}-client%{_isa} = %{version}-%{release}
117 Requires(postun): %{name}-common%{_isa} = %{version}-%{release}
118 Requires(postun): %{name}-client%{_isa} = %{version}-%{release}
119 Requires: %{name}-common%{_isa} = %{version}-%{release}
120 Requires: %{name}-core%{_isa} = %{version}-%{release}
121 Requires: %{name}-client%{_isa} = %{version}-%{release}
122 Provides: mysql = %{version}-%{release}
123 Obsoletes: mysql < %{version}-%{release}
124 Obsoletes: %{libmariadbservices} < 5.5.18-0.3194.20111227.1
125 Obsoletes: %{libmysqlservices} < %{version}-%{release}
126 Conflicts: %{name}-extra%{_isa} < %{version}-%{release}
127 Conflicts: %{name}-feedback%{_isa} < %{version}-%{release}
128 Conflicts: %{name}-obsolete%{_isa} < %{version}-%{release}
129 Suggests: %{name}-extra%{_isa}
130 BuildRequires: bison
131 BuildRequires: cmake
132 BuildRequires: doxygen
133 BuildRequires: glibc-devel
134 BuildRequires: libaio-devel
135 BuildRequires: libstdc++-devel
136 BuildRequires: libtermcap-devel
137 BuildRequires: multiarch-utils >= 1.0.3
138 BuildRequires: ncurses-devel
139 BuildRequires: openssl-devel
140 BuildRequires: wrap-devel
141 BuildRequires: python
142 BuildRequires: systemtap
143 BuildRequires: tetex
144 BuildRequires: texinfo
145 BuildRequires: xfs-devel
146 BuildRequires: zlib-devel
147 BuildRequires: libaio-devel
148 BuildRequires: pam-devel
149 BuildConflicts: edit-devel
150 BuildRequires: python-devel
151 BuildRequires: icu-devel
152 BuildRequires: bzip2-devel
153 # use system jemalloc libs instead of bundled ones
154 BuildRequires: jemalloc-devel
155 # required by oqgraph v3
156 BuildRequires: boost-devel
157 BuildRequires: judy-devel
158 # required by cassandra
159 BuildRequires: thrift-devel
160 # external pcre, 10.0.9+
161 # https://bugs.mageia.org/show_bug.cgi?id=12665
162 BuildRequires: pcre-devel >= 8.34-2
163 BuildRequires: pcreposix-devel >= 8.34-2
164
165 %description
166 The MariaDB software delivers a very fast, multi-threaded, multi-user, and
167 robust SQL (Structured Query Language) database server. MariaDB Server is
168 intended for mission-critical, heavy-load production systems as well as for
169 embedding into mass-deployed software.
170
171 The mariadb server is compiled with the following storage engines:
172
173 - Aria Storage Engine
174 - Archive Storage Engine
175 - Blackhole Storage Engine
176 - CSV Storage Engine
177 - FederatedX Storage Engine (Federated replacement)
178 - Heap Storage Engine
179 - MyISAM Storage Engine
180 - MyISAMMRG Storage Engine
181 - Partition Storage Engine
182 - Perfschema Storage Engine
183 - Percona XtraDB Storage Engine (InnoDB replacement)
184
185 A multitude of storage engines and handlers are being provided in separate sub
186 packages such as:
187
188 mariadb-cassandra - Cassandra Storage Engine
189 mariadb-feedback - Feedback Storage Engine
190 mariadb-oqgraph - Open Query GRAPH computation engine
191 mariadb-connect - CONNECT handler
192 mariadb-sphinx - Sphinx Storage Engine
193 mariadb-sequence - Sequence Storage Engine
194 mariadb-spider - Spider Storage Engine
195
196 The following extra storage engines are provided by the mariadb-extra package
197
198 - handlersocket
199 - query_cache_info
200
201 The following storage engines are provided in the mariadb-obsolete package
202
203 - Federated Storage Engine
204
205 %package -n mysql-MariaDB
206 Summary: A MySQL drop-in replacement
207 Group: System/Servers
208 Requires: %{name}%{_isa}
209
210 %description -n mysql-MariaDB
211 MariaDB is a complete MySQL drop-in replacement with additional fixes and
212 storage engines.
213
214 This package is used as a transitional virtual package, which requires
215 MariaDB so that people who used to use mysql can find it nicely.
216
217 %package cassandra
218 Summary: Cassandra Storage Engine
219 Group: System/Servers
220 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
221 Conflicts: %{name}-common-core%{_isa} < %{version}-%{release}
222
223 %description cassandra
224 The Cassandra Storage Engine allows access to data in a Cassandra cluster from
225 MariaDB.
226
227 %package feedback
228 Summary: Feedback storage engine
229 Group: System/Servers
230 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
231 Conflicts: %{name}-common-core%{_isa} < %{version}-%{release}
232
233 %description feedback
234 MariaDB feedback storage engine submits feedback about your mariadb server.
235 Results can be seen on http://mariadb.org/feedback_plugin/ .
236
237 %package oqgraph
238 Summary: Open Query GRAPH computation engine
239 Group: System/Servers
240 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
241 Conflicts: %{name}-common-core%{_isa} < %{version}-%{release}
242 Conflicts: mariadb-extra < 10.0.7
243
244 %description oqgraph
245 The Open Query GRAPH computation engine allows you to handle hierarchies
246 (tree structures) and complex graphs (nodes having many connections in
247 several directions).
248
249 %package connect
250 Summary: CONNECT handler
251 Group: System/Servers
252 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
253 Conflicts: %{name}-common-core%{_isa} < %{version}-%{release}
254
255 %description connect
256 The CONNECT handler enables MariaDB to access external local or remote data.
257 This is done by defining tables based on different data types, in particular
258 files of various format, data extracted from other products (such as Excel),
259 or data retrieved from the environment (for example DIR, WMI, and MAC tables).
260
261 This handler supports MariaDB virtual columns and also permits to define
262 “special” columns such as ROWID and FILEID.
263
264 %package sphinx
265 Summary: Sphinx Storage Engine
266 Group: System/Servers
267 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
268 Conflicts: %{name}-common-core%{_isa} < %{version}-%{release}
269 Conflicts: mariadb-extra < 10.0.7
270 Suggests: sphinx >= 2.1.5
271
272 %description sphinx
273 SphinxSE is a storage engine that talks to searchd (Sphinx daemon) to enable
274 full text searching.
275
276 %package sequence
277 Summary: Sequence Storage Engine
278 Group: System/Servers
279 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
280 Conflicts: %{name}-common-core%{_isa} < %{version}-%{release}
281
282 %description sequence
283 A Sequence engine allows the creation of ascending or descending sequences of
284 numbers with a given starting value, ending value and increment.
285
286 It creates completely virtual, ephemeral tables automatically when you need
287 them. There is no way to create a Sequence table explicitly. Nor are they ever
288 written to disk or create .frm files. They are read-only, transactional, and
289 support XA.
290
291 %package spider
292 Summary: Spider Storage Engine
293 Group: System/Servers
294 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
295 Conflicts: %{name}-common-core%{_isa} < %{version}-%{release}
296
297 %description spider
298 The Spider storage engine supports partitioning and xa transactions, and allows
299 tables of different MariaDB instances to be handled as if they were on the same
300 instance.
301
302 %package extra
303 Summary: MariaDB extra storage engines
304 Group: System/Servers
305 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
306 Conflicts: %{name}-common-core%{_isa} < %{version}-%{release}
307
308 %description extra
309 This package provides various storage engines/handlers such as:
310
311 - handlersocket
312 - query_cache_info
313
314 %package obsolete
315 Summary: MariaDB obsolete storage engines
316 Group: System/Servers
317 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
318 Conflicts: %{name}-common-core%{_isa} < %{version}-%{release}
319 Conflicts: mysql-core < 5.5.18
320
321 %description obsolete
322 MariaDB obsolete storage engines. Federated are being replaced by XtraDB and
323 FederatedX storage engines. These obsolete storage engines are provided in
324 case you need the vanilla mysql storage engines.
325
326 %package core
327 Summary: Server core binary
328 Group: System/Servers
329 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
330 Provides: mysql-core = %{version}-%{release}
331 Obsoletes: mysql-core < %{version}-%{release}
332
333 %description core
334 Core mysqld server binary. For a full MariaDB database server, install
335 package 'mariadb'.
336
337 %package common-core
338 Summary: Common files required by core binary
339 Group: System/Servers
340 Provides: mysql-common-core = %{version}-%{release}
341 Obsoletes: mysql-common-core < %{version}-%{release}
342
343 %description common-core
344 Common files minimally required by mysqld server binary.
345
346 %package common
347 Summary: Common files
348 Group: System/Servers
349 Requires(post): rpm-helper
350 Requires(preun): rpm-helper
351 Requires(pre): rpm-helper
352 Requires(postun): rpm-helper
353 Requires(post): %{name}-client%{_isa} >= %{version}-%{release}
354 Requires(preun): %{name}-client%{_isa} >= %{version}-%{release}
355 Requires: %{name}-client%{_isa} >= %{version}-%{release}
356 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
357 Provides: mysql-common = %{version}-%{release}
358 Obsoletes: mysql-common < %{version}-%{release}
359
360 %description common
361 Common files for the MariaDB database server.
362
363 %package client
364 Summary: Client
365 Group: Databases
366 Requires(post): %{libname}%{_isa} >= %{version}-%{release}
367 Requires(preun): %{libname}%{_isa} >= %{version}-%{release}
368 Requires: %{libname}%{_isa} >= %{version}-%{release}
369 Provides: mysql-client = %{version}-%{release}
370 Obsoletes: mysql-client < %{version}-%{release}
371
372 %description client
373 This package contains the standard MariaDB clients.
374
375 %package bench
376 Summary: Benchmarks and test system
377 Group: System/Servers
378 Requires(post): %{name}-client%{_isa} >= %{version}-%{release}
379 Requires(preun): %{name}-client%{_isa} >= %{version}-%{release}
380 Requires: %{name}-client%{_isa} >= %{version}-%{release}
381 Suggests: %{name}%{_isa} >= %{version}-%{release}
382 Provides: mysql-bench = %{version}-%{release}
383 Obsoletes: mysql-bench < %{version}-%{release}
384 Conflicts: mariadb < 10.0.7
385
386 %description bench
387 This package contains MariaDB benchmark scripts and data.
388
389 %package -n %{libname}
390 Summary: Shared libraries
391 Group: System/Libraries
392 Provides: %{name}-shared-libs = %{version}-%{release}
393 Provides: %{name}-shared = %{version}-%{release}
394 Provides: %{mysql_libname} = %{version}-%{release}
395 Obsoletes: %{mysql_libname} < %{version}-%{release}
396
397 %description -n %{libname}
398 This package contains the shared libraries (*.so*) which certain languages and
399 applications need to dynamically load and use MariaDB.
400
401 %package -n %{develname}
402 Summary: Development header files and libraries
403 Group: Development/Other
404 Requires(post): %{libname} >= %{version}-%{release}
405 Requires(preun): %{libname} >= %{version}-%{release}
406 Requires(post): %{name}-common%{_isa} >= %{version}-%{release}
407 Requires(preun): %{name}-common%{_isa} >= %{version}-%{release}
408 Requires(post): %{name}-client%{_isa} >= %{version}-%{release}
409 Requires(preun): %{name}-client%{_isa} >= %{version}-%{release}
410 Requires: %{libname} = %{version}-%{release}
411 Requires: %{name}-common%{_isa} >= %{version}-%{release}
412 Requires: %{name}-client%{_isa} >= %{version}-%{release}
413 Provides: %{name}-devel = %{version}-%{release}
414 Provides: %{libname}-devel = %{version}-%{release}
415 Obsoletes: %{libname}-devel < %{version}-%{release}
416 Obsoletes: %{old_staticdevelname} < %{version}-%{release}
417 Provides: %{mysql_develname} = %{version}-%{release}
418 Obsoletes: %{mysql_develname} < %{version}-%{release}
419 Provides: mysql-devel = %{version}-%{release}
420
421 %description -n %{develname}
422 This package contains the development header files and libraries necessary to
423 develop MariaDB client applications.
424
425 %package -n %{libmariadbembedded}
426 Summary: MariaDB as an embeddable library
427 Group: System/Libraries
428 Provides: %{name}-embedded = %{version}-%{release}
429 Obsoletes: %{name}-embedded < %{version}-%{release}
430 Provides: %{libmysqlembedded} = %{version}-%{release}
431 Obsoletes: %{libmysqlembedded} < %{version}-%{release}
432
433 %description -n %{libmariadbembedded}
434 MariaDB is a multi-user, multi-threaded SQL database server. This
435 package contains a version of the MariaDB server that can be embedded
436 into a client application instead of running as a separate process.
437
438 The API is identical for the embedded MariaDB version and the client/server
439 version.
440
441 %package -n %{libmariadbembedded_devel}
442 Summary: Development files for MySQL as an embeddable library
443 Group: Development/Other
444 Provides: %{name}-embedded-devel = %{version}-%{release}
445 Obsoletes: %{name}-embedded-devel < %{version}-%{release}
446 Requires: %{libmariadbembedded} = %{version}-%{release}
447 Requires: %{develname} = %{version}-%{release}
448 Provides: %{libmysqlembedded_devel} = %{version}-%{release}
449 Obsoletes: %{libmysqlembedded_devel} < %{version}-%{release}
450 Provides: mysql-embedded-devel = %{version}-%{release}
451
452 %description -n %{libmariadbembedded_devel}
453 MariaDB is a multi-user, multi-threaded SQL database server. This
454 package contains files needed for developing and testing with
455 the embedded version of the MariaDB server.
456
457 The API is identical for the embedded MariaDB version and the client/server
458 version.
459
460
461 %prep
462 %setup -q
463 %patch1 -p1
464 %patch3 -p1
465 %patch4 -p1
466 %patch101 -p1
467 %patch106 -p1
468 %patch107 -p1
469 %patch121 -p1
470 %patch122 -p1
471
472 # no bundled pcre
473 rm -rf pcre
474
475 mkdir -p Mageia
476 cp %{SOURCE3} Mageia/my.cnf
477
478 # remove the sql_yacc.cc file so that bison will regenerate it properly, even if it's patched
479 rm -f sql/sql_yacc.cc
480
481 # lib64 fix
482 perl -pi -e "s|/usr/lib/|%{_libdir}/|g" Mageia/my.cnf
483
484 # antiborker
485 perl -pi -e "s|\@bindir\@|%{_bindir}|g" support-files/* scripts/*
486 perl -pi -e "s|\@sbindir\@|%{_sbindir}|g" support-files/* scripts/*
487 perl -pi -e "s|\@libexecdir\@|%{_sbindir}|g" support-files/* scripts/*
488 perl -pi -e "s|\@localstatedir\@|/var/lib/mysql|g" support-files/* scripts/*
489 perl -pi -e "s|^basedir=.*|basedir=%{_prefix}|g" support-files/* scripts/mysql_install_db*
490
491 # this may be part of the problems with mysql-test
492 # http://bugs.mysql.com/bug.php?id=52223
493 #perl -pi -e "s|basedir/lib\b|basedir/%{_lib}\b|g" mysql-test/mysql-test-run.pl
494 #perl -pi -e "s|basedir/lib/|basedir/%{_lib}/|g" mysql-test/mysql-test-run.pl
495
496 # workaround for upstream bug #56342
497 rm -f mysql-test/t/ssl_8k_key-master.opt
498 rm -f mysql-test/t/file_contents.test
499
500 # fix distribution name
501 sed -i 's/Source distribution/%{_vendor} MariaDB Server/' mysql-test/suite/percona/innodb_sys_index.result
502
503 %build
504
505 ## MariaDB
506 %serverbuild
507 export CFLAGS="${CFLAGS:-%{optflags}}"
508 export CXXFLAGS="${CXXFLAGS:-%{optflags}}"
509 export FFLAGS="${FFLAGS:-%{optflags}}"
510 export LC_ALL=C
511
512 %cmake \
513 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
514 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
515 -DINSTALL_SBINDIR=sbin \
516 -DMYSQL_DATADIR=/var/lib/mysql \
517 -DSYSCONFDIR=%{_sysconfdir} \
518 -DINSTALL_PLUGINDIR=%{_lib}/mysql/plugin \
519 -DINSTALL_MANDIR=share/man \
520 -DINSTALL_SHAREDIR=share/mysql \
521 -DINSTALL_LIBDIR=%{_lib} \
522 -DINSTALL_INCLUDEDIR=include/mysql \
523 -DINSTALL_INFODIR=share/info \
524 -DINSTALL_MYSQLDATADIR=/var/lib/mysql \
525 -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test \
526 -DINSTALL_SQLBENCHDIR=share/mysql \
527 -DINSTALL_SUPPORTFILESDIR=share/mysql \
528 -DINSTALL_MYSQLSHAREDIR=share/mysql \
529 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
530 -DWITH_READLINE=0 \
531 -DWITH_LIBEDIT=0 \
532 -DWITH_LIBWRAP=1 \
533 -DWITH_SSL=system \
534 -DWITH_ZLIB=system \
535 -DWITH_PRCE=system \
536 -DWITH_PIC=1 \
537 -DMYSQL_TCP_PORT=3306 \
538 -DEXTRA_CHARSETS=all \
539 -DENABLED_LOCAL_INFILE=1 \
540 -DENABLE_DTRACE=1 \
541 -DWITH_EMBEDDED_SERVER=1 \
542 -DMYSQL_USER=%{muser} \
543 %if %{build_debug}
544 -DWITH_DEBUG=1 \
545 %else
546 -DWITH_DEBUG=0 \
547 %endif
548 -DWITHOUT_TOKUDB_STORAGE_ENGINE=1 \
549 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
550 -DWITHOUT_NDBCLUSTER_STORAGE_ENGINE=1 \
551 -DWITHOUT_DAEMON_EXAMPLE=1 \
552 -DWITH_PLUGIN_PBXT=0 \
553 -DFEATURE_SET="community" \
554 -DRPM=1 \
555 -DCOMPILATION_COMMENT="%{_vendor} MariaDB Server"
556
557 %make VERBOSE=1
558
559 %install
560 rm -rf %{buildroot}
561
562 # don't fiddle with the initscript!
563 export DONT_GPRINTIFY=1
564
565 %if %{build_debug}
566 export DONT_STRIP=1
567 %endif
568
569 install -d %{buildroot}%{_sysconfdir}/sysconfig
570 install -d %{buildroot}%{_var}/log/mysqld
571 install -d %{buildroot}/var/lib/mysql/{mysql,test}
572
573 %makeinstall_std -C build
574
575 # exclude loaddata7 from being converted
576 export EXCLUDE_FROM_EOL_CONVERSION="std_data/loaddata7.dat"
577
578 # install configuration files
579 install -m0644 Mageia/my.cnf %{buildroot}%{_sysconfdir}/my.cnf
580
581 install -m 0644 -D %{SOURCE10} %{buildroot}%{_tmpfilesdir}/mysql.conf
582 install -m 0644 -D %{SOURCE11} %{buildroot}%{_unitdir}/mysqld.service
583 install -m 0755 %{SOURCE12} %{buildroot}%{_sbindir}/mysqld-prepare-db-dir
584 install -m 0755 %{SOURCE13} %{buildroot}%{_sbindir}/mysqld-wait-ready
585
586 # cleanup some config files
587 rm -f %{buildroot}%{_sysconfdir}/my.cnf.d/cassandra.cnf \
588 %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf \
589 %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf
590
591 # magic by anssi
592 pushd %{buildroot}%{_sysconfdir}/my.cnf.d
593 %{expand:%(for i in {50..72}; do echo "install -m 644 %%SOURCE$i ."; done)}
594 popd
595
596 # bork
597 mv %{buildroot}%{_datadir}/mysql/aclocal %{buildroot}%{_datadir}/aclocal
598
599 pushd %{buildroot}%{_bindir}
600 ln -sf mysqlcheck mysqlrepair
601 ln -sf mysqlcheck mysqlanalyze
602 ln -sf mysqlcheck mysqloptimize
603 popd
604
605 # nuke -Wl,--as-needed from the mysql_config file
606 perl -pi -e "s|^ldflags=.*|ldflags=\'-rdynamic\'|g" %{buildroot}%{_bindir}/mysql_config
607
608 # cmake generates some completely wacko references to -lprobes_mysql when
609 # building with dtrace support. Haven't found where to shut that off,
610 # so resort to this blunt instrument. While at it, let's not reference
611 # libmysqlclient_r anymore either.
612 sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \
613 %{buildroot}%{_bindir}/mysql_config >mysql_config.tmp
614 cp -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config
615 chmod 755 %{buildroot}%{_bindir}/mysql_config
616 install -m 0755 -d %{buildroot}/var/lib/mysql
617
618 # Remove libmysqld.a, + hardlink libmysqld.so.%{libmysqlembedded_major} so that it's provided
619 rm -f %{buildroot}%{_libdir}/libmysqld.a
620 ln %{buildroot}%{_libdir}/libmysqld.so.%{major} %{buildroot}%{_libdir}/libmysqld.so.%{libmysqlembedded_major}.%{libmysqlembedded_minor}
621 ln -s libmysqld.so.%{libmysqlembedded_major}.%{libmysqlembedded_minor} %{buildroot}%{_libdir}/libmysqld.so.%{libmysqlembedded_major}
622
623 # libmysqlclient_r is no more. Upstream tries to replace it with symlinks
624 # but that really doesn't work (wrong soname in particular). We'll keep
625 # just the devel libmysqlclient_r.so link, so that rebuilding without any
626 # source change is enough to get rid of dependency on libmysqlclient_r.
627 rm -f %{buildroot}%{_libdir}/libmysqlclient_r.so*
628 ln -s libmysqlclient.so %{buildroot}%{_libdir}/libmysqlclient_r.so
629
630 # remove static libs
631 rm -f %{buildroot}%{_libdir}/libmysqlclient.a
632 rm -f %{buildroot}%{_libdir}/libmysqlclient_r.a
633
634 # mysql-test includes one executable that doesn't belong under /usr/share,
635 # so move it and provide a symlink
636 mv %{buildroot}%{_datadir}/mysql/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
637 ln -s %{_bindir}/my_safe_process %{buildroot}%{_datadir}/mysql/mysql-test/lib/My/SafeProcess/my_safe_process
638
639 # mysql client statically built against a local embedded library, pretty useless
640 rm -f %{buildroot}%{_bindir}/mysql_embedded
641
642 # this command enables plugins, but needs ini file + configuration in my.cnf
643 # before executing... and oh yeah, mysql must be stopped... => useless
644 # however, apparently tests seem to want it, even thought they don't use it.
645 #rm -f %{buildroot}%{_bindir}/mysql_plugin
646 rm -f %{buildroot}%{_libdir}/mysql/plugin/daemon_example.ini
647
648 # no RHEL4 selinux files for us
649 rm -rf %{buildroot}%{_datadir}/mysql/SELinux
650 # no solaris files for us
651 rm -rf %{buildroot}%{_datadir}/mysql/solaris
652 # no init script for us
653 rm -f %{buildroot}%{_initrddir}/mysql
654 rm -f %{buildroot}%{_initrddir}/mysqld
655
656 # house cleaning
657 rm -rf %{buildroot}%{_datadir}/info
658 rm -f %{buildroot}%{_bindir}/client_test
659 rm -f %{buildroot}%{_bindir}/make_win_binary_distribution
660 rm -f %{buildroot}%{_bindir}/make_win_src_distribution
661 rm -f %{buildroot}%{_datadir}/mysql/binary-configure
662 rm -f %{buildroot}%{_datadir}/mysql/config.huge.ini
663 rm -f %{buildroot}%{_datadir}/mysql/config.medium.ini
664 rm -f %{buildroot}%{_datadir}/mysql/config.small.ini
665 rm -f %{buildroot}%{_datadir}/mysql/mysqld_multi.server
666 rm -f %{buildroot}%{_datadir}/mysql/mysql-log-rotate
667 rm -f %{buildroot}%{_datadir}/mysql/mysql.server
668 rm -f %{buildroot}%{_datadir}/mysql/ndb-config-2-node.ini
669 rm -f %{buildroot}%{_datadir}/mysql/binary-configure
670 rm -f %{buildroot}%{_mandir}/man1/make_win_bin_dist.1*
671 rm -f %{buildroot}%{_mandir}/man1/make_win_src_distribution.1*
672 rm -f %{buildroot}%{_datadir}/mysql/magic
673
674 # no idea how to fix this
675 rm -rf %{buildroot}%{_prefix}/data
676 rm -rf %{buildroot}%{_prefix}/docs
677 rm -rf %{buildroot}%{_prefix}/scripts
678 rm -rf %{buildroot}%{_datadir}/doc
679 rm -rf %{buildroot}%{_sysconfdir}/init.d/mysql
680 rm -rf %{buildroot}%{_sysconfdir}/logrotate.d/mysql
681
682 %multiarch_binaries %{buildroot}%{_bindir}/mysql_config
683 %multiarch_includes %{buildroot}%{_includedir}/mysql/my_config.h
684
685 cat > README.urpmi <<EOF
686
687 NOTE: MariaDB is installed without root password, it is recommended to set the
688 root password with the following command as soon as possible:
689
690 mysqladmin password
691
692 The initscript used to start mysql has been reverted to use the one shipped
693 by MariaDB. This means the following changes:
694
695 * The generation of the initial system mysql database is now done when mysql
696 is started from the initscript and only if the /var/lib/mysql/mysql
697 directory is empty (mysql_install_db). Previousely this was quite hidden and
698 silently done at (rpm) install time. As a consequence to this change you may
699 have to perform some manual tasks to upgrade the mysql system database and
700 such. So, doing something like this might help you:
701
702 systemctl stop mysqld.service
703 TMPDIR=/var/tmp mysql_install_db
704 mysql_upgrade --skip-write-binlog
705
706 The cluster functionalities (ndb) has been deactivated and will be removed in
707 future mysql versions. Oracle has a new product named mysql-cluster that
708 replaces the cluster functionalities.
709
710 The mysql-common-core package ships with a default /etc/my.cnf file that is
711 based on the my-medium.cnf file that comes with the source code.
712 EOF
713
714 ################################################################################
715 # run the tests
716 %if %{build_test}
717 # disable failing tests
718 pushd build/mysql-test
719 export LANG=C
720 export LC_ALL=C
721 export LANGUAGE=C
722 perl ./mysql-test-run.pl \
723 --mtr-build-thread="$((${RANDOM} % 100))" \
724 --retry=0 \
725 --ssl \
726 --big-test \
727 --force \
728 --max-test-fail=0 \
729 --testcase-timeout=60 \
730 --suite-timeout=1200 || false
731 popd
732 %endif
733
734 %pre
735 # enable plugins
736 if [ -f %{_sysconfdir}/my.cnf ]; then
737 perl -pi -e "s|^#plugin-load|plugin-load|g" %{_sysconfdir}/my.cnf
738 perl -pi -e "s|^#federated|federated|g" %{_sysconfdir}/my.cnf
739 # switch to federatedx provider
740 perl -pi -e "s|;ha_federated\.so$|;ha_federatedx\.so|g" %{_sysconfdir}/my.cnf
741 fi
742
743 %pre common
744 # delete the mysql group if no mysql user is found, before adding the user
745 if [ -z "`getent passwd %{muser}`" ] && ! [ -z "`getent group %{muser}`" ]; then
746 %{_sbindir}/groupdel %{muser} 2> /dev/null || :
747 fi
748
749 %_pre_useradd %{muser} /var/lib/mysql /bin/bash
750
751 %post
752 %_tmpfilescreate mysql
753 %_post_service mysqld
754
755 %preun
756 %_preun_service mysqld
757
758 %postun
759 %_post_service mysqld
760
761 %pre common-core
762 # enable plugins
763 if [ -f %{_sysconfdir}/my.cnf ]; then
764 perl -pi -e "s|^#plugin-load|plugin-load|g" %{_sysconfdir}/my.cnf
765 perl -pi -e "s|^#federated|federated|g" %{_sysconfdir}/my.cnf
766 # switch to federatedx provider
767 perl -pi -e "s|;ha_federated\.so$|;ha_federatedx\.so|g" %{_sysconfdir}/my.cnf
768 fi
769
770 %files
771 %doc README.urpmi
772 # authentication plugins
773 %config(noreplace) %{_sysconfdir}/my.cnf.d/auth_pam.cnf
774 %config(noreplace) %{_sysconfdir}/my.cnf.d/auth_socket.cnf
775 %config(noreplace) %{_sysconfdir}/my.cnf.d/dialog.cnf
776 %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql_clear_password.cnf
777 # replication plugins
778 %config(noreplace) %{_sysconfdir}/my.cnf.d/semisync_master.cnf
779 %config(noreplace) %{_sysconfdir}/my.cnf.d/semisync_slave.cnf
780 # storage engines
781 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_archive.cnf
782 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_blackhole.cnf
783 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_federatedx.cnf
784 # sql logging plugin
785 %config(noreplace) %{_sysconfdir}/my.cnf.d/sql_errlog.cnf
786 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_xtradb.cnf
787 # new since 10.x
788 %config(noreplace) %{_sysconfdir}/my.cnf.d/locales.cnf
789 %config(noreplace) %{_sysconfdir}/my.cnf.d/metadata_lock_info.cnf
790 %config(noreplace) %{_sysconfdir}/my.cnf.d/query_response_time.cnf
791
792 %{_tmpfilesdir}/mysql.conf
793 %{_unitdir}/mysqld.service
794 %{_sbindir}/mysqld-prepare-db-dir
795 %{_sbindir}/mysqld-wait-ready
796 %dir %{_libdir}/mysql/plugin
797 # authentication plugins
798 %{_libdir}/mysql/plugin/auth_pam.so
799 %{_libdir}/mysql/plugin/auth_socket.so
800 %{_libdir}/mysql/plugin/dialog.so
801 %{_libdir}/mysql/plugin/mysql_clear_password.so
802 # replication plugins
803 %{_libdir}/mysql/plugin/semisync_master.so
804 %{_libdir}/mysql/plugin/semisync_slave.so
805 # storage engines
806 %{_libdir}/mysql/plugin/ha_archive.so
807 %{_libdir}/mysql/plugin/ha_blackhole.so
808 %{_libdir}/mysql/plugin/ha_federatedx.so
809 # sql logging plugin
810 %{_libdir}/mysql/plugin/sql_errlog.so
811 %{_libdir}/mysql/plugin/ha_xtradb.so
812 # new since 10.x
813 %{_libdir}/mysql/plugin/locales.so
814 %{_libdir}/mysql/plugin/metadata_lock_info.so
815 %{_libdir}/mysql/plugin/query_response_time.so
816
817 %files -n mysql-MariaDB
818
819 %files obsolete
820 %{_libdir}/mysql/plugin/ha_federated.so
821
822 %files cassandra
823 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_cassandra.cnf
824 %{_libdir}/mysql/plugin/ha_cassandra.so
825
826 %files feedback
827 %config(noreplace) %{_sysconfdir}/my.cnf.d/feedback.cnf
828 %{_libdir}/mysql/plugin/feedback.so
829
830 %files oqgraph
831 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_oqgraph.cnf
832 %{_libdir}/mysql/plugin/ha_oqgraph.so
833
834 %files connect
835 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_connect.cnf
836 %{_libdir}/mysql/plugin/ha_connect.so
837
838 %files sphinx
839 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_sphinx.cnf
840 %{_libdir}/mysql/plugin/ha_sphinx.so
841
842 %files sequence
843 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_sequence.cnf
844 %{_libdir}/mysql/plugin/ha_sequence.so
845
846 %files spider
847 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_spider.cnf
848 %{_libdir}/mysql/plugin/ha_spider.so
849 %{_datadir}/mysql/install_spider.sql
850
851 %files extra
852 %config(noreplace) %{_sysconfdir}/my.cnf.d/handlersocket.cnf
853 %config(noreplace) %{_sysconfdir}/my.cnf.d/query_cache_info.cnf
854 %{_libdir}/mysql/plugin/handlersocket.so
855 # new optional functionality
856 %{_libdir}/mysql/plugin/query_cache_info.so
857
858 %files client
859 %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf
860 %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf
861 %{_bindir}/msql2mysql
862 %{_bindir}/mysql
863 %{_bindir}/mysqlaccess
864 %{_bindir}/mysqladmin
865 %{_bindir}/mysqlanalyze
866 %{_bindir}/mysqlbinlog
867 %{_bindir}/mysqlcheck
868 %{_bindir}/mysqldump
869 %{_bindir}/mysqldumpslow
870 %{_bindir}/mysql_find_rows
871 %{_bindir}/mysqlimport
872 %{_bindir}/mysqloptimize
873 %{_bindir}/mysqlrepair
874 %{_bindir}/mysqlshow
875 %{_bindir}/mysqlslap
876 %{_bindir}/mysql_waitpid
877 %{_mandir}/man1/msql2mysql.1*
878 %{_mandir}/man1/myisam_ftdump.1*
879 %{_mandir}/man1/mysql.1*
880 %{_mandir}/man1/mysqlaccess.1*
881 %{_mandir}/man1/mysqladmin.1*
882 %{_mandir}/man1/mysqlbinlog.1*
883 %{_mandir}/man1/mysqlcheck.1*
884 %{_mandir}/man1/mysqldump.1*
885 %{_mandir}/man1/mysqldumpslow.1*
886 %{_mandir}/man1/mysql_find_rows.1*
887 %{_mandir}/man1/mysqlimport.1*
888 %{_mandir}/man1/mysqlshow.1*
889 %{_mandir}/man1/mysql_waitpid.1*
890
891 %files bench
892 %doc build/sql-bench/README
893 %{_bindir}/my_safe_process
894 %{_bindir}/mysql_client_test
895 %{_bindir}/mysql_client_test_embedded
896 %{_bindir}/mysqltest_embedded
897 %{_datadir}/mysql/sql-bench
898 %attr(-,mysql,mysql) %{_datadir}/mysql/mysql-test
899 %{_mandir}/man1/mysql-stress-test.pl.1*
900 %{_mandir}/man1/mysql-test-run.pl.1*
901 %{_mandir}/man1/mysql_client_test.1*
902 %{_mandir}/man1/mysql_client_test_embedded.1*
903 %{_mandir}/man1/mysqltest.1*
904 %{_mandir}/man1/mysqltest_embedded.1*
905 %{_libdir}/mysql/plugin/adt_null.so
906 %{_libdir}/mysql/plugin/auth_0x0100.so
907 %{_libdir}/mysql/plugin/auth_test_plugin.so
908 %{_libdir}/mysql/plugin/dialog_examples.so
909 %{_libdir}/mysql/plugin/ha_test_sql_discovery.so
910 %{_libdir}/mysql/plugin/mypluglib.so
911 %{_libdir}/mysql/plugin/qa_auth_client.so
912 %{_libdir}/mysql/plugin/qa_auth_interface.so
913 %{_libdir}/mysql/plugin/qa_auth_server.so
914
915 %files core
916 %{_sbindir}/mysqld
917
918 %files common-core
919 %config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf
920 %config(noreplace) %{_sysconfdir}/my.cnf
921 %dir %{_datadir}/mysql
922 %{_datadir}/mysql/english
923 %{_datadir}/mysql/charsets
924
925 %files common
926 %doc README COPYING
927 %dir %{_sysconfdir}/my.cnf.d
928 %{_bindir}/aria_chk
929 %{_bindir}/aria_dump_log
930 %{_bindir}/aria_ftdump
931 %{_bindir}/aria_pack
932 %{_bindir}/aria_read_log
933 %{_bindir}/innochecksum
934 %{_bindir}/myisamchk
935 %{_bindir}/myisam_ftdump
936 %{_bindir}/myisamlog
937 %{_bindir}/myisampack
938 %{_bindir}/my_print_defaults
939 %{_bindir}/mysqlbug
940 %{_bindir}/mysql_convert_table_format
941 %{_bindir}/mysqld_multi
942 %{_bindir}/mysqld_safe
943 %{_bindir}/mysql_fix_extensions
944 %{_bindir}/mysqlhotcopy
945 %{_bindir}/mysql_install_db
946 %{_bindir}/mysql_plugin
947 %{_bindir}/mysql_secure_installation
948 %{_bindir}/mysql_setpermission
949 %{_bindir}/mysqltest
950 %{_bindir}/mysql_tzinfo_to_sql
951 %{_bindir}/mysql_upgrade
952 %{_bindir}/mysql_zap
953 %{_bindir}/mytop
954 %{_bindir}/perror
955 %{_bindir}/replace
956 %{_bindir}/resolveip
957 %{_bindir}/resolve_stack_dump
958 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql
959 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql/mysql
960 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql/test
961 %attr(0755,%{muser},%{muser}) %dir %{_var}/log/mysqld
962 %{_datadir}/mysql/*.cnf
963 %{_datadir}/mysql/fill_help_tables.sql
964 %{_datadir}/mysql/mysql_performance_tables.sql
965 %{_datadir}/mysql/mysql_system_tables.sql
966 %{_datadir}/mysql/mysql_system_tables_data.sql
967 %{_datadir}/mysql/mysql_test_data_timezone.sql
968 %{_datadir}/mysql/errmsg-utf8.txt
969 %{_datadir}/mysql/czech
970 %{_datadir}/mysql/danish
971 %{_datadir}/mysql/dutch
972 %{_datadir}/mysql/estonian
973 %{_datadir}/mysql/french
974 %{_datadir}/mysql/german
975 %{_datadir}/mysql/greek
976 %{_datadir}/mysql/hungarian
977 %{_datadir}/mysql/italian
978 %{_datadir}/mysql/japanese
979 %{_datadir}/mysql/korean
980 %{_datadir}/mysql/norwegian
981 %{_datadir}/mysql/norwegian-ny
982 %{_datadir}/mysql/polish
983 %{_datadir}/mysql/portuguese
984 %{_datadir}/mysql/romanian
985 %{_datadir}/mysql/russian
986 %{_datadir}/mysql/serbian
987 %{_datadir}/mysql/slovak
988 %{_datadir}/mysql/spanish
989 %{_datadir}/mysql/swedish
990 %{_datadir}/mysql/ukrainian
991 %{_mandir}/man1/innochecksum.1*
992 %{_mandir}/man1/myisamchk.1*
993 %{_mandir}/man1/myisamlog.1*
994 %{_mandir}/man1/myisampack.1*
995 %{_mandir}/man1/my_print_defaults.1*
996 %{_mandir}/man1/mysqlbug.1*
997 %{_mandir}/man1/mysql_convert_table_format.1*
998 %{_mandir}/man1/mysqld_multi.1*
999 %{_mandir}/man1/mysqld_safe.1*
1000 %{_mandir}/man1/mysql_fix_extensions.1*
1001 %{_mandir}/man1/mysql_fix_privilege_tables.1*
1002 %{_mandir}/man1/mysqlhotcopy.1*
1003 %{_mandir}/man1/mysql_install_db.1*
1004 %{_mandir}/man1/mysqlman.1*
1005 %{_mandir}/man1/mysql_plugin.1*
1006 %{_mandir}/man1/mysql_secure_installation.1*
1007 %{_mandir}/man1/mysql.server.1*
1008 %{_mandir}/man1/mysql_setpermission.1*
1009 %{_mandir}/man1/mysqlslap.1*
1010 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
1011 %{_mandir}/man1/mysql_upgrade.1*
1012 %{_mandir}/man1/mysql_zap.1*
1013 %{_mandir}/man1/perror.1*
1014 %{_mandir}/man1/replace.1*
1015 %{_mandir}/man1/resolveip.1*
1016 %{_mandir}/man1/resolve_stack_dump.1*
1017 %{_mandir}/man8/mysqld.8*
1018 %{_mandir}/man8/mysqlmanager.8*
1019
1020 %files -n %{libname}
1021 %{_libdir}/libmysqlclient.so.%{major}*
1022
1023 %files -n %{develname}
1024 %doc INSTALL-SOURCE
1025 %multiarch %{multiarch_bindir}/mysql_config
1026 %{_bindir}/mysql_config
1027 %{_libdir}/libmysqlclient_r.so
1028 %{_libdir}/libmysqlclient.so
1029 %dir %{_includedir}/mysql
1030 %dir %{_includedir}/mysql/psi
1031 %{_includedir}/mysql/*.h
1032 %{_includedir}/mysql/private/*.h
1033 %{_includedir}/mysql/private/atomic/*.h
1034 %{_includedir}/mysql/psi/*.h
1035 %multiarch %{multiarch_includedir}/mysql/my_config.h
1036 %{_mandir}/man1/mysql_config.1*
1037 %{_datadir}/aclocal/mysql.m4
1038 # mysqlservices library is static, because it doesn't contain any code
1039 # itself, and is meant to be statically linked to all plugins.
1040 %{_libdir}/libmysqlservices.a
1041
1042 %files -n %{libmariadbembedded}
1043 %doc README COPYING
1044 %{_libdir}/libmysqld.so.%{major}
1045 %{_libdir}/libmysqld.so.%{libmysqlembedded_major}*
1046
1047 %files -n %{libmariadbembedded_devel}
1048 %{_libdir}/libmysqld.so
1049 %{_bindir}/mysql_client_test_embedded
1050 %{_bindir}/mysqltest_embedded
1051 %{_mandir}/man1/mysql_client_test_embedded.1*
1052 %{_mandir}/man1/mysqltest_embedded.1*

  ViewVC Help
Powered by ViewVC 1.1.28