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

  ViewVC Help
Powered by ViewVC 1.1.30