/[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 608921 - (show annotations) (download)
Thu Mar 27 07:14:10 2014 UTC (10 years ago) by oden
File size: 35501 byte(s)
- install one missing header file
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.9
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 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
622 # libmysqlclient_r is no more. Upstream tries to replace it with symlinks
623 # but that really doesn't work (wrong soname in particular). We'll keep
624 # just the devel libmysqlclient_r.so link, so that rebuilding without any
625 # source change is enough to get rid of dependency on libmysqlclient_r.
626 rm -f %{buildroot}%{_libdir}/libmysqlclient_r.so*
627 ln -s libmysqlclient.so %{buildroot}%{_libdir}/libmysqlclient_r.so
628
629 # remove static libs
630 rm -f %{buildroot}%{_libdir}/libmysqlclient.a
631 rm -f %{buildroot}%{_libdir}/libmysqlclient_r.a
632
633 # mysql-test includes one executable that doesn't belong under /usr/share,
634 # so move it and provide a symlink
635 mv %{buildroot}%{_datadir}/mysql/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
636 ln -s %{_bindir}/my_safe_process %{buildroot}%{_datadir}/mysql/mysql-test/lib/My/SafeProcess/my_safe_process
637
638 # mysql client statically built against a local embedded library, pretty useless
639 rm -f %{buildroot}%{_bindir}/mysql_embedded
640
641 # this command enables plugins, but needs ini file + configuration in my.cnf
642 # before executing... and oh yeah, mysql must be stopped... => useless
643 # however, apparently tests seem to want it, even thought they don't use it.
644 #rm -f %{buildroot}%{_bindir}/mysql_plugin
645 rm -f %{buildroot}%{_libdir}/mysql/plugin/daemon_example.ini
646
647 # no RHEL4 selinux files for us
648 rm -rf %{buildroot}%{_datadir}/mysql/SELinux
649 # no solaris files for us
650 rm -rf %{buildroot}%{_datadir}/mysql/solaris
651 # no init script for us
652 rm -f %{buildroot}%{_initrddir}/mysql
653 rm -f %{buildroot}%{_initrddir}/mysqld
654
655 # house cleaning
656 rm -rf %{buildroot}%{_datadir}/info
657 rm -f %{buildroot}%{_bindir}/client_test
658 rm -f %{buildroot}%{_bindir}/make_win_binary_distribution
659 rm -f %{buildroot}%{_bindir}/make_win_src_distribution
660 rm -f %{buildroot}%{_datadir}/mysql/binary-configure
661 rm -f %{buildroot}%{_datadir}/mysql/config.huge.ini
662 rm -f %{buildroot}%{_datadir}/mysql/config.medium.ini
663 rm -f %{buildroot}%{_datadir}/mysql/config.small.ini
664 rm -f %{buildroot}%{_datadir}/mysql/mysqld_multi.server
665 rm -f %{buildroot}%{_datadir}/mysql/mysql-log-rotate
666 rm -f %{buildroot}%{_datadir}/mysql/mysql.server
667 rm -f %{buildroot}%{_datadir}/mysql/ndb-config-2-node.ini
668 rm -f %{buildroot}%{_datadir}/mysql/binary-configure
669 rm -f %{buildroot}%{_mandir}/man1/make_win_bin_dist.1*
670 rm -f %{buildroot}%{_mandir}/man1/make_win_src_distribution.1*
671 rm -f %{buildroot}%{_datadir}/mysql/magic
672
673 # no idea how to fix this
674 rm -rf %{buildroot}%{_prefix}/data
675 rm -rf %{buildroot}%{_prefix}/docs
676 rm -rf %{buildroot}%{_prefix}/scripts
677 rm -rf %{buildroot}%{_datadir}/doc
678 rm -rf %{buildroot}%{_sysconfdir}/init.d/mysql
679 rm -rf %{buildroot}%{_sysconfdir}/logrotate.d/mysql
680
681 %multiarch_binaries %{buildroot}%{_bindir}/mysql_config
682 %multiarch_includes %{buildroot}%{_includedir}/mysql/my_config.h
683
684 cat > README.urpmi <<EOF
685
686 NOTE: MariaDB is installed without root password, it is recommended to set the
687 root password with the following command as soon as possible:
688
689 mysqladmin password
690
691 The initscript used to start mysql has been reverted to use the one shipped
692 by MariaDB. This means the following changes:
693
694 * The generation of the initial system mysql database is now done when mysql
695 is started from the initscript and only if the /var/lib/mysql/mysql
696 directory is empty (mysql_install_db). Previousely this was quite hidden and
697 silently done at (rpm) install time. As a consequence to this change you may
698 have to perform some manual tasks to upgrade the mysql system database and
699 such. So, doing something like this might help you:
700
701 systemctl stop mysqld.service
702 TMPDIR=/var/tmp mysql_install_db
703 mysql_upgrade --skip-write-binlog
704
705 The cluster functionalities (ndb) has been deactivated and will be removed in
706 future mysql versions. Oracle has a new product named mysql-cluster that
707 replaces the cluster functionalities.
708
709 The mysql-common-core package ships with a default /etc/my.cnf file that is
710 based on the my-medium.cnf file that comes with the source code.
711 EOF
712
713 ################################################################################
714 # run the tests
715 %if %{build_test}
716 # disable failing tests
717 pushd build/mysql-test
718 export LANG=C
719 export LC_ALL=C
720 export LANGUAGE=C
721 perl ./mysql-test-run.pl \
722 --mtr-build-thread="$((${RANDOM} % 100))" \
723 --retry=0 \
724 --ssl \
725 --big-test \
726 --force \
727 --max-test-fail=0 \
728 --testcase-timeout=60 \
729 --suite-timeout=1200 || false
730 popd
731 %endif
732
733 %pre
734 # enable plugins
735 if [ -f %{_sysconfdir}/my.cnf ]; then
736 perl -pi -e "s|^#plugin-load|plugin-load|g" %{_sysconfdir}/my.cnf
737 perl -pi -e "s|^#federated|federated|g" %{_sysconfdir}/my.cnf
738 # switch to federatedx provider
739 perl -pi -e "s|;ha_federated\.so$|;ha_federatedx\.so|g" %{_sysconfdir}/my.cnf
740 fi
741
742 %pre common
743 # delete the mysql group if no mysql user is found, before adding the user
744 if [ -z "`getent passwd %{muser}`" ] && ! [ -z "`getent group %{muser}`" ]; then
745 %{_sbindir}/groupdel %{muser} 2> /dev/null || :
746 fi
747
748 %_pre_useradd %{muser} /var/lib/mysql /bin/bash
749
750 %post
751 %_tmpfilescreate mysql
752 %_post_service mysqld
753
754 %preun
755 %_preun_service mysqld
756
757 %postun
758 %_post_service mysqld
759
760 %pre common-core
761 # enable plugins
762 if [ -f %{_sysconfdir}/my.cnf ]; then
763 perl -pi -e "s|^#plugin-load|plugin-load|g" %{_sysconfdir}/my.cnf
764 perl -pi -e "s|^#federated|federated|g" %{_sysconfdir}/my.cnf
765 # switch to federatedx provider
766 perl -pi -e "s|;ha_federated\.so$|;ha_federatedx\.so|g" %{_sysconfdir}/my.cnf
767 fi
768
769 %files
770 %doc README.urpmi
771 # authentication plugins
772 %config(noreplace) %{_sysconfdir}/my.cnf.d/auth_pam.cnf
773 %config(noreplace) %{_sysconfdir}/my.cnf.d/auth_socket.cnf
774 %config(noreplace) %{_sysconfdir}/my.cnf.d/dialog.cnf
775 %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql_clear_password.cnf
776 # replication plugins
777 %config(noreplace) %{_sysconfdir}/my.cnf.d/semisync_master.cnf
778 %config(noreplace) %{_sysconfdir}/my.cnf.d/semisync_slave.cnf
779 # storage engines
780 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_archive.cnf
781 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_blackhole.cnf
782 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_federatedx.cnf
783 # sql logging plugin
784 %config(noreplace) %{_sysconfdir}/my.cnf.d/sql_errlog.cnf
785 # new since 10.x
786 %config(noreplace) %{_sysconfdir}/my.cnf.d/locales.cnf
787 %config(noreplace) %{_sysconfdir}/my.cnf.d/metadata_lock_info.cnf
788 %config(noreplace) %{_sysconfdir}/my.cnf.d/query_response_time.cnf
789
790 %{_tmpfilesdir}/mysql.conf
791 %{_unitdir}/mysqld.service
792 %{_sbindir}/mysqld-prepare-db-dir
793 %{_sbindir}/mysqld-wait-ready
794 %dir %{_libdir}/mysql/plugin
795 # authentication plugins
796 %{_libdir}/mysql/plugin/auth_pam.so
797 %{_libdir}/mysql/plugin/auth_socket.so
798 %{_libdir}/mysql/plugin/dialog.so
799 %{_libdir}/mysql/plugin/mysql_clear_password.so
800 # replication plugins
801 %{_libdir}/mysql/plugin/semisync_master.so
802 %{_libdir}/mysql/plugin/semisync_slave.so
803 # storage engines
804 %{_libdir}/mysql/plugin/ha_archive.so
805 %{_libdir}/mysql/plugin/ha_blackhole.so
806 %{_libdir}/mysql/plugin/ha_federatedx.so
807 # sql logging plugin
808 %{_libdir}/mysql/plugin/sql_errlog.so
809 # new since 10.x
810 %{_libdir}/mysql/plugin/locales.so
811 %{_libdir}/mysql/plugin/metadata_lock_info.so
812 %{_libdir}/mysql/plugin/query_response_time.so
813
814 %files -n mysql-MariaDB
815
816 %files obsolete
817 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_innodb.cnf
818 %{_libdir}/mysql/plugin/ha_innodb.so
819 %{_libdir}/mysql/plugin/ha_federated.so
820
821 %files cassandra
822 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_cassandra.cnf
823 %{_libdir}/mysql/plugin/ha_cassandra.so
824
825 %files feedback
826 %config(noreplace) %{_sysconfdir}/my.cnf.d/feedback.cnf
827 %{_libdir}/mysql/plugin/feedback.so
828
829 %files oqgraph
830 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_oqgraph.cnf
831 %{_libdir}/mysql/plugin/ha_oqgraph.so
832
833 %files connect
834 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_connect.cnf
835 %{_libdir}/mysql/plugin/ha_connect.so
836
837 %files sphinx
838 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_sphinx.cnf
839 %{_libdir}/mysql/plugin/ha_sphinx.so
840
841 %files sequence
842 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_sequence.cnf
843 %{_libdir}/mysql/plugin/ha_sequence.so
844
845 %files spider
846 %config(noreplace) %{_sysconfdir}/my.cnf.d/ha_spider.cnf
847 %{_libdir}/mysql/plugin/ha_spider.so
848 %{_datadir}/mysql/install_spider.sql
849
850 %files extra
851 %config(noreplace) %{_sysconfdir}/my.cnf.d/handlersocket.cnf
852 %config(noreplace) %{_sysconfdir}/my.cnf.d/query_cache_info.cnf
853 %{_libdir}/mysql/plugin/handlersocket.so
854 # new optional functionality
855 %{_libdir}/mysql/plugin/query_cache_info.so
856
857 %files client
858 %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf
859 %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf
860 %{_bindir}/msql2mysql
861 %{_bindir}/mysql
862 %{_bindir}/mysqlaccess
863 %{_bindir}/mysqladmin
864 %{_bindir}/mysqlanalyze
865 %{_bindir}/mysqlbinlog
866 %{_bindir}/mysqlcheck
867 %{_bindir}/mysqldump
868 %{_bindir}/mysqldumpslow
869 %{_bindir}/mysql_find_rows
870 %{_bindir}/mysqlimport
871 %{_bindir}/mysqloptimize
872 %{_bindir}/mysqlrepair
873 %{_bindir}/mysqlshow
874 %{_bindir}/mysqlslap
875 %{_bindir}/mysql_waitpid
876 %{_mandir}/man1/msql2mysql.1*
877 %{_mandir}/man1/myisam_ftdump.1*
878 %{_mandir}/man1/mysql.1*
879 %{_mandir}/man1/mysqlaccess.1*
880 %{_mandir}/man1/mysqladmin.1*
881 %{_mandir}/man1/mysqlbinlog.1*
882 %{_mandir}/man1/mysqlcheck.1*
883 %{_mandir}/man1/mysqldump.1*
884 %{_mandir}/man1/mysqldumpslow.1*
885 %{_mandir}/man1/mysql_find_rows.1*
886 %{_mandir}/man1/mysqlimport.1*
887 %{_mandir}/man1/mysqlshow.1*
888 %{_mandir}/man1/mysql_waitpid.1*
889
890 %files bench
891 %doc build/sql-bench/README
892 %{_bindir}/my_safe_process
893 %{_bindir}/mysql_client_test
894 %{_bindir}/mysql_client_test_embedded
895 %{_bindir}/mysqltest_embedded
896 %{_datadir}/mysql/sql-bench
897 %attr(-,mysql,mysql) %{_datadir}/mysql/mysql-test
898 %{_mandir}/man1/mysql-stress-test.pl.1*
899 %{_mandir}/man1/mysql-test-run.pl.1*
900 %{_mandir}/man1/mysql_client_test.1*
901 %{_mandir}/man1/mysql_client_test_embedded.1*
902 %{_mandir}/man1/mysqltest.1*
903 %{_mandir}/man1/mysqltest_embedded.1*
904 %{_libdir}/mysql/plugin/adt_null.so
905 %{_libdir}/mysql/plugin/auth_0x0100.so
906 %{_libdir}/mysql/plugin/auth_test_plugin.so
907 %{_libdir}/mysql/plugin/dialog_examples.so
908 %{_libdir}/mysql/plugin/ha_test_sql_discovery.so
909 %{_libdir}/mysql/plugin/mypluglib.so
910 %{_libdir}/mysql/plugin/qa_auth_client.so
911 %{_libdir}/mysql/plugin/qa_auth_interface.so
912 %{_libdir}/mysql/plugin/qa_auth_server.so
913
914 %files core
915 %{_sbindir}/mysqld
916
917 %files common-core
918 %config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf
919 %config(noreplace) %{_sysconfdir}/my.cnf
920 %dir %{_datadir}/mysql
921 %{_datadir}/mysql/english
922 %{_datadir}/mysql/charsets
923
924 %files common
925 %doc README COPYING
926 %dir %{_sysconfdir}/my.cnf.d
927 %{_bindir}/aria_chk
928 %{_bindir}/aria_dump_log
929 %{_bindir}/aria_ftdump
930 %{_bindir}/aria_pack
931 %{_bindir}/aria_read_log
932 %{_bindir}/innochecksum
933 %{_bindir}/myisamchk
934 %{_bindir}/myisam_ftdump
935 %{_bindir}/myisamlog
936 %{_bindir}/myisampack
937 %{_bindir}/my_print_defaults
938 %{_bindir}/mysqlbug
939 %{_bindir}/mysql_convert_table_format
940 %{_bindir}/mysqld_multi
941 %{_bindir}/mysqld_safe
942 %{_bindir}/mysql_fix_extensions
943 %{_bindir}/mysqlhotcopy
944 %{_bindir}/mysql_install_db
945 %{_bindir}/mysql_plugin
946 %{_bindir}/mysql_secure_installation
947 %{_bindir}/mysql_setpermission
948 %{_bindir}/mysqltest
949 %{_bindir}/mysql_tzinfo_to_sql
950 %{_bindir}/mysql_upgrade
951 %{_bindir}/mysql_zap
952 %{_bindir}/mytop
953 %{_bindir}/perror
954 %{_bindir}/replace
955 %{_bindir}/resolveip
956 %{_bindir}/resolve_stack_dump
957 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql
958 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql/mysql
959 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql/test
960 %attr(0755,%{muser},%{muser}) %dir %{_var}/log/mysqld
961 %{_datadir}/mysql/*.cnf
962 %{_datadir}/mysql/fill_help_tables.sql
963 %{_datadir}/mysql/mysql_performance_tables.sql
964 %{_datadir}/mysql/mysql_system_tables.sql
965 %{_datadir}/mysql/mysql_system_tables_data.sql
966 %{_datadir}/mysql/mysql_test_data_timezone.sql
967 %{_datadir}/mysql/errmsg-utf8.txt
968 %{_datadir}/mysql/czech
969 %{_datadir}/mysql/danish
970 %{_datadir}/mysql/dutch
971 %{_datadir}/mysql/estonian
972 %{_datadir}/mysql/french
973 %{_datadir}/mysql/german
974 %{_datadir}/mysql/greek
975 %{_datadir}/mysql/hungarian
976 %{_datadir}/mysql/italian
977 %{_datadir}/mysql/japanese
978 %{_datadir}/mysql/korean
979 %{_datadir}/mysql/norwegian
980 %{_datadir}/mysql/norwegian-ny
981 %{_datadir}/mysql/polish
982 %{_datadir}/mysql/portuguese
983 %{_datadir}/mysql/romanian
984 %{_datadir}/mysql/russian
985 %{_datadir}/mysql/serbian
986 %{_datadir}/mysql/slovak
987 %{_datadir}/mysql/spanish
988 %{_datadir}/mysql/swedish
989 %{_datadir}/mysql/ukrainian
990 %{_mandir}/man1/innochecksum.1*
991 %{_mandir}/man1/myisamchk.1*
992 %{_mandir}/man1/myisamlog.1*
993 %{_mandir}/man1/myisampack.1*
994 %{_mandir}/man1/my_print_defaults.1*
995 %{_mandir}/man1/mysqlbug.1*
996 %{_mandir}/man1/mysql_convert_table_format.1*
997 %{_mandir}/man1/mysqld_multi.1*
998 %{_mandir}/man1/mysqld_safe.1*
999 %{_mandir}/man1/mysql_fix_extensions.1*
1000 %{_mandir}/man1/mysql_fix_privilege_tables.1*
1001 %{_mandir}/man1/mysqlhotcopy.1*
1002 %{_mandir}/man1/mysql_install_db.1*
1003 %{_mandir}/man1/mysqlman.1*
1004 %{_mandir}/man1/mysql_plugin.1*
1005 %{_mandir}/man1/mysql_secure_installation.1*
1006 %{_mandir}/man1/mysql.server.1*
1007 %{_mandir}/man1/mysql_setpermission.1*
1008 %{_mandir}/man1/mysqlslap.1*
1009 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
1010 %{_mandir}/man1/mysql_upgrade.1*
1011 %{_mandir}/man1/mysql_zap.1*
1012 %{_mandir}/man1/perror.1*
1013 %{_mandir}/man1/replace.1*
1014 %{_mandir}/man1/resolveip.1*
1015 %{_mandir}/man1/resolve_stack_dump.1*
1016 %{_mandir}/man8/mysqld.8*
1017 %{_mandir}/man8/mysqlmanager.8*
1018
1019 %files -n %{libname}
1020 %{_libdir}/libmysqlclient.so.%{major}*
1021
1022 %files -n %{develname}
1023 %doc INSTALL-SOURCE
1024 %multiarch %{multiarch_bindir}/mysql_config
1025 %{_bindir}/mysql_config
1026 %{_libdir}/libmysqlclient_r.so
1027 %{_libdir}/libmysqlclient.so
1028 %dir %{_includedir}/mysql
1029 %dir %{_includedir}/mysql/psi
1030 %{_includedir}/mysql/*.h
1031 %{_includedir}/mysql/private/*.h
1032 %{_includedir}/mysql/private/atomic/*.h
1033 %{_includedir}/mysql/psi/*.h
1034 %multiarch %{multiarch_includedir}/mysql/my_config.h
1035 %{_mandir}/man1/mysql_config.1*
1036 %{_datadir}/aclocal/mysql.m4
1037 # mysqlservices library is static, because it doesn't contain any code
1038 # itself, and is meant to be statically linked to all plugins.
1039 %{_libdir}/libmysqlservices.a
1040
1041 %files -n %{libmariadbembedded}
1042 %doc README COPYING
1043 %{_libdir}/libmysqld.so.%{major}
1044 %{_libdir}/libmysqld.so.%{libmysqlembedded_major}*
1045
1046 %files -n %{libmariadbembedded_devel}
1047 %{_libdir}/libmysqld.so
1048 %{_bindir}/mysql_client_test_embedded
1049 %{_bindir}/mysqltest_embedded
1050 %{_mandir}/man1/mysql_client_test_embedded.1*
1051 %{_mandir}/man1/mysqltest_embedded.1*

  ViewVC Help
Powered by ViewVC 1.1.30