/[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 610879 - (show annotations) (download)
Mon Mar 31 07:51:29 2014 UTC (10 years ago) by oden
File size: 35649 byte(s)
- 10.0.10

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

  ViewVC Help
Powered by ViewVC 1.1.30