/[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 584442 - (show annotations) (download)
Thu Feb 6 11:28:22 2014 UTC (10 years, 2 months ago) by oden
File size: 35311 byte(s)
- split

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.7
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
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 # sphinx has 2 plugins now? odd, but wth
833 %{_libdir}/mysql/plugin/sphinx.so
834
835 %files sequence
836 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_sequence.cnf
837 %{_libdir}/mysql/plugin/ha_sequence.so
838
839 %files spider
840 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_spider.cnf
841 %{_libdir}/mysql/plugin/ha_spider.so
842 %{_datadir}/mysql/install_spider.sql
843
844 %files extra
845 %config(noreplace) %{_sysconfdir}/my.cnf.d/handlersocket.cnf
846 %config(noreplace) %{_sysconfdir}/my.cnf.d/query_cache_info.cnf
847 %{_libdir}/mysql/plugin/handlersocket.so
848 # new optional functionality
849 %{_libdir}/mysql/plugin/query_cache_info.so
850
851 %files client
852 %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf
853 %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf
854 %{_bindir}/msql2mysql
855 %{_bindir}/mysql
856 %{_bindir}/mysqlaccess
857 %{_bindir}/mysqladmin
858 %{_bindir}/mysqlanalyze
859 %{_bindir}/mysqlbinlog
860 %{_bindir}/mysqlcheck
861 %{_bindir}/mysqldump
862 %{_bindir}/mysqldumpslow
863 %{_bindir}/mysql_find_rows
864 %{_bindir}/mysqlimport
865 %{_bindir}/mysqloptimize
866 %{_bindir}/mysqlrepair
867 %{_bindir}/mysqlshow
868 %{_bindir}/mysqlslap
869 %{_bindir}/mysql_waitpid
870 %{_mandir}/man1/msql2mysql.1*
871 %{_mandir}/man1/myisam_ftdump.1*
872 %{_mandir}/man1/mysql.1*
873 %{_mandir}/man1/mysqlaccess.1*
874 %{_mandir}/man1/mysqladmin.1*
875 %{_mandir}/man1/mysqlbinlog.1*
876 %{_mandir}/man1/mysqlcheck.1*
877 %{_mandir}/man1/mysqldump.1*
878 %{_mandir}/man1/mysqldumpslow.1*
879 %{_mandir}/man1/mysql_find_rows.1*
880 %{_mandir}/man1/mysqlimport.1*
881 %{_mandir}/man1/mysqlshow.1*
882 %{_mandir}/man1/mysql_waitpid.1*
883
884 %files bench
885 %doc build/sql-bench/README
886 %{_bindir}/my_safe_process
887 %{_bindir}/mysql_client_test
888 %{_bindir}/mysql_client_test_embedded
889 %{_bindir}/mysqltest_embedded
890 %{_datadir}/mysql/sql-bench
891 %attr(-,mysql,mysql) %{_datadir}/mysql/mysql-test
892 %{_mandir}/man1/mysql-stress-test.pl.1*
893 %{_mandir}/man1/mysql-test-run.pl.1*
894 %{_mandir}/man1/mysql_client_test.1*
895 %{_mandir}/man1/mysql_client_test_embedded.1*
896 %{_mandir}/man1/mysqltest.1*
897 %{_mandir}/man1/mysqltest_embedded.1*
898 %{_libdir}/mysql/plugin/adt_null.so
899 %{_libdir}/mysql/plugin/auth_0x0100.so
900 %{_libdir}/mysql/plugin/auth_test_plugin.so
901 %{_libdir}/mysql/plugin/dialog_examples.so
902 %{_libdir}/mysql/plugin/ha_test_sql_discovery.so
903 %{_libdir}/mysql/plugin/mypluglib.so
904 %{_libdir}/mysql/plugin/qa_auth_client.so
905 %{_libdir}/mysql/plugin/qa_auth_interface.so
906 %{_libdir}/mysql/plugin/qa_auth_server.so
907
908 %files core
909 %{_sbindir}/mysqld
910
911 %files common-core
912 %config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf
913 %config(noreplace) %{_sysconfdir}/my.cnf
914 %dir %{_datadir}/mysql
915 %{_datadir}/mysql/english
916 %{_datadir}/mysql/charsets
917
918 %files common
919 %doc README COPYING
920 %dir %{_sysconfdir}/my.cnf.d
921 %{_bindir}/aria_chk
922 %{_bindir}/aria_dump_log
923 %{_bindir}/aria_ftdump
924 %{_bindir}/aria_pack
925 %{_bindir}/aria_read_log
926 %{_bindir}/innochecksum
927 %{_bindir}/myisamchk
928 %{_bindir}/myisam_ftdump
929 %{_bindir}/myisamlog
930 %{_bindir}/myisampack
931 %{_bindir}/my_print_defaults
932 %{_bindir}/mysqlbug
933 %{_bindir}/mysql_convert_table_format
934 %{_bindir}/mysqld_multi
935 %{_bindir}/mysqld_safe
936 %{_bindir}/mysql_fix_extensions
937 %{_bindir}/mysqlhotcopy
938 %{_bindir}/mysql_install_db
939 %{_bindir}/mysql_plugin
940 %{_bindir}/mysql_secure_installation
941 %{_bindir}/mysql_setpermission
942 %{_bindir}/mysqltest
943 %{_bindir}/mysql_tzinfo_to_sql
944 %{_bindir}/mysql_upgrade
945 %{_bindir}/mysql_zap
946 %{_bindir}/mytop
947 %{_bindir}/perror
948 %{_bindir}/replace
949 %{_bindir}/resolveip
950 %{_bindir}/resolve_stack_dump
951 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql
952 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql/mysql
953 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql/test
954 %attr(0755,%{muser},%{muser}) %dir %{_var}/log/mysqld
955 %{_datadir}/mysql/*.cnf
956 %{_datadir}/mysql/fill_help_tables.sql
957 %{_datadir}/mysql/mysql_performance_tables.sql
958 %{_datadir}/mysql/mysql_system_tables.sql
959 %{_datadir}/mysql/mysql_system_tables_data.sql
960 %{_datadir}/mysql/mysql_test_data_timezone.sql
961 %{_datadir}/mysql/errmsg-utf8.txt
962 %{_datadir}/mysql/czech
963 %{_datadir}/mysql/danish
964 %{_datadir}/mysql/dutch
965 %{_datadir}/mysql/estonian
966 %{_datadir}/mysql/french
967 %{_datadir}/mysql/german
968 %{_datadir}/mysql/greek
969 %{_datadir}/mysql/hungarian
970 %{_datadir}/mysql/italian
971 %{_datadir}/mysql/japanese
972 %{_datadir}/mysql/korean
973 %{_datadir}/mysql/norwegian
974 %{_datadir}/mysql/norwegian-ny
975 %{_datadir}/mysql/polish
976 %{_datadir}/mysql/portuguese
977 %{_datadir}/mysql/romanian
978 %{_datadir}/mysql/russian
979 %{_datadir}/mysql/serbian
980 %{_datadir}/mysql/slovak
981 %{_datadir}/mysql/spanish
982 %{_datadir}/mysql/swedish
983 %{_datadir}/mysql/ukrainian
984 %{_mandir}/man1/innochecksum.1*
985 %{_mandir}/man1/myisamchk.1*
986 %{_mandir}/man1/myisamlog.1*
987 %{_mandir}/man1/myisampack.1*
988 %{_mandir}/man1/my_print_defaults.1*
989 %{_mandir}/man1/mysqlbug.1*
990 %{_mandir}/man1/mysql_convert_table_format.1*
991 %{_mandir}/man1/mysqld_multi.1*
992 %{_mandir}/man1/mysqld_safe.1*
993 %{_mandir}/man1/mysql_fix_extensions.1*
994 %{_mandir}/man1/mysql_fix_privilege_tables.1*
995 %{_mandir}/man1/mysqlhotcopy.1*
996 %{_mandir}/man1/mysql_install_db.1*
997 %{_mandir}/man1/mysqlman.1*
998 %{_mandir}/man1/mysql_plugin.1*
999 %{_mandir}/man1/mysql_secure_installation.1*
1000 %{_mandir}/man1/mysql.server.1*
1001 %{_mandir}/man1/mysql_setpermission.1*
1002 %{_mandir}/man1/mysqlslap.1*
1003 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
1004 %{_mandir}/man1/mysql_upgrade.1*
1005 %{_mandir}/man1/mysql_zap.1*
1006 %{_mandir}/man1/perror.1*
1007 %{_mandir}/man1/replace.1*
1008 %{_mandir}/man1/resolveip.1*
1009 %{_mandir}/man1/resolve_stack_dump.1*
1010 %{_mandir}/man8/mysqld.8*
1011 %{_mandir}/man8/mysqlmanager.8*
1012
1013 %files -n %{libname}
1014 %{_libdir}/libmysqlclient.so.%{major}*
1015
1016 %files -n %{develname}
1017 %doc INSTALL-SOURCE
1018 %multiarch %{multiarch_bindir}/mysql_config
1019 %{_bindir}/mysql_config
1020 %{_libdir}/libmysqlclient_r.so
1021 %{_libdir}/libmysqlclient.so
1022 %dir %{_includedir}/mysql
1023 %dir %{_includedir}/mysql/psi
1024 %{_includedir}/mysql/*.h
1025 %{_includedir}/mysql/private/*.h
1026 %{_includedir}/mysql/private/atomic/*.h
1027 %{_includedir}/mysql/psi/*.h
1028 %multiarch %{multiarch_includedir}/mysql/my_config.h
1029 %{_mandir}/man1/mysql_config.1*
1030 %{_datadir}/aclocal/mysql.m4
1031 # mysqlservices library is static, because it doesn't contain any code
1032 # itself, and is meant to be statically linked to all plugins.
1033 %{_libdir}/libmysqlservices.a
1034
1035 %files -n %{libmariadbembedded}
1036 %doc README COPYING
1037 %{_libdir}/libmysqld.so.%{major}
1038 %{_libdir}/libmysqld.so.%{libmysqlembedded_major}*
1039
1040 %files -n %{libmariadbembedded_devel}
1041 %{_libdir}/libmysqld.so
1042 %{_bindir}/mysql_client_test_embedded
1043 %{_bindir}/mysqltest_embedded
1044 %{_mandir}/man1/mysql_client_test_embedded.1*
1045 %{_mandir}/man1/mysqltest_embedded.1*

  ViewVC Help
Powered by ViewVC 1.1.30