/[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 593844 - (show annotations) (download)
Mon Feb 17 14:54:17 2014 UTC (10 years, 1 month ago) by oden
File size: 35213 byte(s)
- make xtradb a dynamically loadable storage engine again (my bad)

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

  ViewVC Help
Powered by ViewVC 1.1.30