/[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 583354 - (show annotations) (download)
Wed Feb 5 14:18:48 2014 UTC (10 years, 2 months ago) by oden
File size: 30546 byte(s)
- 10.0.7
- drop mysqld.sysconfig as it's not used
- drop the mariadb-5.5.25-forgotten-files.patch patch because comp_err is not installed and mysqlaccess.conf is not used
- nuke useless perl autodeps
- use system jemalloc libs instead of bundled ones
- add br on judy-devel for oqgraph v3 (and boost-devel)
- add br on thrift-devel for cassandra
- move plugins used for tests to the bench sub package where they belong
- build xtrabd statically as done in 5.5
- activate %%{_sysconfdir}/my.cnf.d but disable plugin-load-add in some config files as it's not incremental

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

  ViewVC Help
Powered by ViewVC 1.1.30