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

  ViewVC Help
Powered by ViewVC 1.1.30