/[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 661955 - (show annotations) (download)
Tue Aug 12 09:19:51 2014 UTC (9 years, 8 months ago) by oden
File size: 35750 byte(s)
- 10.0.13

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