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

  ViewVC Help
Powered by ViewVC 1.1.30