/[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 589108 - (show annotations) (download)
Mon Feb 10 19:03:16 2014 UTC (10 years, 2 months ago) by oden
File size: 35236 byte(s)
- sphinx.so is not installed now

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

  ViewVC Help
Powered by ViewVC 1.1.30