/[packages]/updates/2/mariadb/current/SPECS/mariadb.spec
ViewVC logotype

Contents of /updates/2/mariadb/current/SPECS/mariadb.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 391741 - (show annotations) (download)
Wed Jan 23 22:36:55 2013 UTC (11 years, 2 months ago) by alien
File size: 29769 byte(s)
Fix CVE-2012-5612 no MDL lock for aliasses (mga#8784)
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 subrel 5
53
54 %define muser mysql
55 Summary: A very fast and reliable SQL database engine
56 Name: mariadb
57 Version: 5.5.25
58 Release: %mkrel 2
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 Source2: mysqld.sysconfig
64 Source3: my.cnf
65 Source4: libmysql.version
66 Source10: mysql.tmpfiles.d
67 Source11: mysqld.service
68 Source12: mysqld-prepare-db-dir
69 Source13: mysqld-wait-ready
70 # the following patches are rediffed from the mysql-5.5 src.rpm to mariadb-5.5
71 # fedora patches
72 Patch1: mariadb-5.5-errno.patch
73 Patch2: mariadb-5.5-strmov.patch
74 Patch3: mariadb-5.5-install-test.patch
75 Patch4: mysql-expired-certs.patch
76 Patch7: mariadb-5.5-versioning.patch
77 Patch8: mariadb-5.5-dubious-exports.patch
78 Patch12: mysql-openssl-test.patch
79
80 # mandriva patches
81 Patch101: mariadb-5.5-logrotate.patch
82 Patch102: mariadb-5.5-initscript.patch
83 Patch103: mariadb-5.5-mysql_upgrade-exit-status.patch
84 Patch106: mariadb-5.5-hotcopy.patch
85 Patch107: mariadb-5.5-mysql_install_db-quiet.patch
86
87 # mageia patches (from upstream)
88 Patch120: mariadb-5.5.25-forgotten-files.patch
89 Patch121: mariadb-5.5-fix-merge-with-gis-index.patch
90 Patch122: mariadb-5.5.25-fix-OS-report-feedback.patch
91 Patch123: mariadb-5.5.25-replication-with-prior-versions.patch
92 Patch124: mariadb-5.5-fix-binlogs.patch
93 Patch125: mariadb-5.5-exact-protocol-checks.patch
94 Patch126: mariadb-5.5-check-dbname.patch
95 Patch127: mariadb-5.5-no-MDL-locks-for-aliases.patch
96
97 Requires(post): rpm-helper >= 0.24.8-1
98 Requires(preun): rpm-helper >= 0.24.8-1
99 Requires(post): %{name}-common%{_isa} = %{version}-%{release}
100 Requires(preun): %{name}-common%{_isa} = %{version}-%{release}
101 Requires(post): %{name}-client%{_isa} = %{version}-%{release}
102 Requires(preun): %{name}-client%{_isa} = %{version}-%{release}
103 Requires(postun): %{name}-common%{_isa} = %{version}-%{release}
104 Requires(postun): %{name}-client%{_isa} = %{version}-%{release}
105 Requires: %{name}-common%{_isa} = %{version}-%{release}
106 Requires: %{name}-core%{_isa} = %{version}-%{release}
107 Requires: %{name}-client%{_isa} = %{version}-%{release}
108 Provides: mysql = %{version}-%{release}
109 Obsoletes: mysql < %{version}-%{release}
110 Obsoletes: %{libmariadbservices} < 5.5.18-0.3194.20111227.1
111 Obsoletes: %{libmysqlservices} < %{version}-%{release}
112 Conflicts: %{name}-extra%{_isa} < %{version}-%{release}
113 Conflicts: %{name}-feedback%{_isa} < %{version}-%{release}
114 Conflicts: %{name}-obsolete%{_isa} < %{version}-%{release}
115 Suggests: %{name}-extra%{_isa}
116 BuildRequires: bison
117 BuildRequires: cmake
118 BuildRequires: doxygen
119 BuildRequires: glibc-devel
120 BuildRequires: libaio-devel
121 BuildRequires: libstdc++-devel
122 BuildRequires: libtermcap-devel
123 BuildRequires: multiarch-utils >= 1.0.3
124 BuildRequires: ncurses-devel
125 BuildRequires: openssl-devel
126 BuildRequires: wrap-devel
127 BuildRequires: python
128 BuildRequires: systemtap
129 BuildRequires: tetex
130 BuildRequires: texinfo
131 BuildRequires: xfs-devel
132 BuildRequires: zlib-devel
133 BuildRequires: boost-devel
134 BuildRequires: libaio-devel
135 BuildRequires: pam-devel
136 BuildConflicts: edit-devel
137
138 %description
139 The MariaDB software delivers a very fast, multi-threaded, multi-user, and
140 robust SQL (Structured Query Language) database server. MariaDB Server is
141 intended for mission-critical, heavy-load production systems as well as for
142 embedding into mass-deployed software.
143
144 The mariadb server is compiled with the following storage engines:
145
146 - Aria Storage Engine
147 - Archive Storage Engine
148 - Blackhole Storage Engine
149 - CSV Storage Engine
150 - FederatedX Storage Engine (Federated replacement)
151 - Heap Storage Engine
152 - MyISAM Storage Engine
153 - MyISAMMRG Storage Engine
154 - Partition Storage Engine
155 - Perfschema Storage Engine
156 - XtraDB Storage Engine (InnoDB replacement)
157
158 The following extra storage engines are provided by the mariadb-extra package
159
160 - OQGraph Storage Engine
161 - Sphinx Storage Engine
162
163 The feedback storage engine is provided by the mariadb-feedback package
164
165 - Feedback Storage Engine
166
167 The following storage engines are provided in the mariadb-obsolete package
168
169 - Federated Storage Engine
170 - InnoDB Storage Engine
171
172 %package -n mysql-MariaDB
173 Summary: A MySQL drop-in replacement
174 Group: System/Servers
175 Requires: %{name}%{_isa}
176
177 %description -n mysql-MariaDB
178 MariaDB is a complete MySQL drop-in replacement with additional fixes and
179 storage engines.
180
181 This package is used as a transitional virtual package, which requires
182 MariaDB so that people who used to use mysql can find it nicely.
183
184 %package feedback
185 Summary: MariaDB feedback storage engine
186 Group: System/Servers
187 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
188 Conflicts: %{name}-common-core%{_isa} < %{version}-%{release}
189
190 %description feedback
191 MariaDB feedback storage engine submits feedback about your mariadb server.
192 Results can be seen on http://mariadb.org/feedback_plugin/ .
193
194 %package extra
195 Summary: MariaDB extra storage engines
196 Group: System/Servers
197 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
198 Conflicts: %{name}-common-core%{_isa} < %{version}-%{release}
199
200 %description extra
201 MariaDB oqgraph and sphinx storage engines.
202
203 %package obsolete
204 Summary: MariaDB obsolete storage engines
205 Group: System/Servers
206 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
207 Conflicts: %{name}-common-core%{_isa} < %{version}-%{release}
208 Conflicts: mysql-core < 5.5.18
209
210 %description obsolete
211 MariaDB obsolete storage engines. InnoDB and Federated are being replaced by
212 XtraDB and FederatedX storage engines. These obsolete storage engines are
213 provided in case you need the vanilla mysql storage engines.
214
215 %package core
216 Summary: Server core binary
217 Group: System/Servers
218 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
219 Provides: mysql-core = %{version}-%{release}
220 Obsoletes: mysql-core < %{version}-%{release}
221
222 %description core
223 Core mysqld server binary. For a full MariaDB database server, install
224 package 'mariadb'.
225
226 %package common-core
227 Summary: Common files required by core binary
228 Group: System/Servers
229 Provides: mysql-common-core = %{version}-%{release}
230 Obsoletes: mysql-common-core < %{version}-%{release}
231
232 %description common-core
233 Common files minimally required by mysqld server binary.
234
235 %package common
236 Summary: Common files
237 Group: System/Servers
238 Requires(post): rpm-helper
239 Requires(preun): rpm-helper
240 Requires(pre): rpm-helper
241 Requires(postun): rpm-helper
242 Requires(post): %{name}-client%{_isa} >= %{version}-%{release}
243 Requires(preun): %{name}-client%{_isa} >= %{version}-%{release}
244 Requires: %{name}-client%{_isa} >= %{version}-%{release}
245 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
246 Provides: mysql-common = %{version}-%{release}
247 Obsoletes: mysql-common < %{version}-%{release}
248
249 %description common
250 Common files for the MariaDB database server.
251
252 %package client
253 Summary: Client
254 Group: Databases
255 Requires(post): %{libname}%{_isa} >= %{version}-%{release}
256 Requires(preun): %{libname}%{_isa} >= %{version}-%{release}
257 Requires: %{libname}%{_isa} >= %{version}-%{release}
258 Provides: mysql-client = %{version}-%{release}
259 Obsoletes: mysql-client < %{version}-%{release}
260
261 %description client
262 This package contains the standard MariaDB clients.
263
264 %package bench
265 Summary: Benchmarks and test system
266 Group: System/Servers
267 Requires(post): %{name}-client%{_isa} >= %{version}-%{release}
268 Requires(preun): %{name}-client%{_isa} >= %{version}-%{release}
269 Requires: %{name}-client%{_isa} >= %{version}-%{release}
270 Provides: mysql-bench = %{version}-%{release}
271 Obsoletes: mysql-bench < %{version}-%{release}
272
273 %description bench
274 This package contains MariaDB benchmark scripts and data.
275
276 %package -n %{libname}
277 Summary: Shared libraries
278 Group: System/Libraries
279 Provides: %{name}-shared-libs = %{version}-%{release}
280 Provides: %{name}-shared = %{version}-%{release}
281 Provides: %{mysql_libname} = %{version}-%{release}
282 Obsoletes: %{mysql_libname} < %{version}-%{release}
283
284 %description -n %{libname}
285 This package contains the shared libraries (*.so*) which certain languages and
286 applications need to dynamically load and use MariaDB.
287
288 %package -n %{develname}
289 Summary: Development header files and libraries
290 Group: Development/Other
291 Requires(post): %{libname} >= %{version}-%{release}
292 Requires(preun): %{libname} >= %{version}-%{release}
293 Requires(post): %{name}-common%{_isa} >= %{version}-%{release}
294 Requires(preun): %{name}-common%{_isa} >= %{version}-%{release}
295 Requires(post): %{name}-client%{_isa} >= %{version}-%{release}
296 Requires(preun): %{name}-client%{_isa} >= %{version}-%{release}
297 Requires: %{libname} = %{version}-%{release}
298 Requires: %{name}-common%{_isa} >= %{version}-%{release}
299 Requires: %{name}-client%{_isa} >= %{version}-%{release}
300 Provides: %{name}-devel = %{version}-%{release}
301 Provides: %{libname}-devel = %{version}-%{release}
302 Obsoletes: %{libname}-devel < %{version}-%{release}
303 Obsoletes: %{old_staticdevelname} < %{version}-%{release}
304 Provides: %{mysql_develname} = %{version}-%{release}
305 Obsoletes: %{mysql_develname} < %{version}-%{release}
306 Provides: mysql-devel = %{version}-%{release}
307
308 %description -n %{develname}
309 This package contains the development header files and libraries necessary to
310 develop MariaDB client applications.
311
312 %package -n %{libmariadbembedded}
313 Summary: MariaDB as an embeddable library
314 Group: System/Libraries
315 Provides: %{name}-embedded = %{version}-%{release}
316 Obsoletes: %{name}-embedded < %{version}-%{release}
317 Provides: %{libmysqlembedded} = %{version}-%{release}
318 Obsoletes: %{libmysqlembedded} < %{version}-%{release}
319
320 %description -n %{libmariadbembedded}
321 MariaDB is a multi-user, multi-threaded SQL database server. This
322 package contains a version of the MariaDB server that can be embedded
323 into a client application instead of running as a separate process.
324
325 The API is identical for the embedded MariaDB version and the client/server
326 version.
327
328 %package -n %{libmariadbembedded_devel}
329 Summary: Development files for MySQL as an embeddable library
330 Group: Development/Other
331 Provides: %{name}-embedded-devel = %{version}-%{release}
332 Obsoletes: %{name}-embedded-devel < %{version}-%{release}
333 Requires: %{libmariadbembedded} = %{version}-%{release}
334 Requires: %{develname} = %{version}-%{release}
335 Provides: %{libmysqlembedded_devel} = %{version}-%{release}
336 Obsoletes: %{libmysqlembedded_devel} < %{version}-%{release}
337 Provides: mysql-embedded-devel = %{version}-%{release}
338
339 %description -n %{libmariadbembedded_devel}
340 MariaDB is a multi-user, multi-threaded SQL database server. This
341 package contains files needed for developing and testing with
342 the embedded version of the MariaDB server.
343
344 The API is identical for the embedded MariaDB version and the client/server
345 version.
346
347
348 %prep
349 %setup -q
350 %apply_patches
351
352 mkdir -p Mageia
353 cp %{SOURCE2} Mageia/mysqld.sysconfig
354 cp %{SOURCE3} Mageia/my.cnf
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}/run/mysqld
442 install -d %{buildroot}%{_var}/log/mysqld
443 install -d %{buildroot}/var/lib/mysql/{mysql,test}
444
445 %makeinstall_std -C build
446
447 # install init scripts
448 install -m0755 build/support-files/mysql.server %{buildroot}%{_initrddir}/mysqld
449
450 # install configuration files
451 install -m0644 Mageia/mysqld.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/mysqld
452 install -m0644 Mageia/my.cnf %{buildroot}%{_sysconfdir}/my.cnf
453
454 mkdir -p %{buildroot}/etc/tmpfiles.d
455 install -m 0644 %{SOURCE10} %{buildroot}/etc/tmpfiles.d/mysql.conf
456 mkdir -p %{buildroot}/lib/systemd/system
457 install -m 644 %{SOURCE11} %{buildroot}/lib/systemd/system
458 install -m 755 %{SOURCE12} %{buildroot}%{_sbindir}/mysqld-prepare-db-dir
459 install -m 755 %{SOURCE13} %{buildroot}%{_sbindir}/mysqld-wait-ready
460
461 # bork
462 mv %{buildroot}%{_bindir}/mysqlaccess.conf %{buildroot}%{_sysconfdir}/
463 chmod 644 %{buildroot}%{_sysconfdir}/mysqlaccess.conf
464 mv %{buildroot}%{_prefix}/scripts/mysql_install_db %{buildroot}%{_bindir}/
465 mv %{buildroot}%{_datadir}/mysql/aclocal %{buildroot}%{_datadir}/aclocal
466
467 pushd %{buildroot}%{_bindir}
468 ln -sf mysqlcheck mysqlrepair
469 ln -sf mysqlcheck mysqlanalyze
470 ln -sf mysqlcheck mysqloptimize
471 popd
472
473 # nuke -Wl,--as-needed from the mysql_config file
474 perl -pi -e "s|^ldflags=.*|ldflags=\'-rdynamic\'|g" %{buildroot}%{_bindir}/mysql_config
475
476 # cmake generates some completely wacko references to -lprobes_mysql when
477 # building with dtrace support. Haven't found where to shut that off,
478 # so resort to this blunt instrument. While at it, let's not reference
479 # libmysqlclient_r anymore either.
480 sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \
481 %{buildroot}%{_bindir}/mysql_config >mysql_config.tmp
482 cp -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config
483 chmod 755 %{buildroot}%{_bindir}/mysql_config
484 install -m 0755 -d %{buildroot}/var/lib/mysql
485
486 # Remove libmysqld.a, + hardlink libmysqld.so.%{libmysqlembedded_major} so that it's provided
487 rm -f %{buildroot}%{_libdir}/libmysqld.a
488 ln %{buildroot}%{_libdir}/libmysqld.so.%{major} %{buildroot}%{_libdir}/libmysqld.so.%{libmysqlembedded_major}.%{libmysqlembedded_minor}
489 ln -s libmysqld.so.%{libmysqlembedded_major}.%{libmysqlembedded_minor} %{buildroot}%{_libdir}/libmysqld.so.%{libmysqlembedded_major}
490
491 # libmysqlclient_r is no more. Upstream tries to replace it with symlinks
492 # but that really doesn't work (wrong soname in particular). We'll keep
493 # just the devel libmysqlclient_r.so link, so that rebuilding without any
494 # source change is enough to get rid of dependency on libmysqlclient_r.
495 rm -f %{buildroot}%{_libdir}/libmysqlclient_r.so*
496 ln -s libmysqlclient.so %{buildroot}%{_libdir}/libmysqlclient_r.so
497
498 # remove static libs
499 rm -f %{buildroot}%{_libdir}/libmysqlclient.a
500 rm -f %{buildroot}%{_libdir}/libmysqlclient_r.a
501
502 # mysql-test includes one executable that doesn't belong under /usr/share,
503 # so move it and provide a symlink
504 mv %{buildroot}%{_datadir}/mysql/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
505 ln -s %{_bindir}/my_safe_process %{buildroot}%{_datadir}/mysql/mysql-test/lib/My/SafeProcess/my_safe_process
506
507 # mysql client statically built against a local embedded library, pretty useless
508 rm -f %{buildroot}%{_bindir}/mysql_embedded
509
510 # this command enables plugins, but needs ini file + configuration in my.cnf
511 # before executing... and oh yeah, mysql must be stopped... => useless
512 # however, apparently tests seem to want it, even thought they don't use it.
513 #rm -f %{buildroot}%{_bindir}/mysql_plugin
514 rm -f %{buildroot}%{_libdir}/mysql/plugin/daemon_example.ini
515
516 # remove more useless plugins
517 rm -f %{buildroot}%{_libdir}/mysql/plugin/auth_test_plugin.so
518 rm -f %{buildroot}%{_libdir}/mysql/plugin/dialog_examples.so
519
520 # no RHEL4 selinux files for us
521 rm -rf %{buildroot}%{_datadir}/mysql/SELinux
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}/COPYING.LESSER
547 rm -f %{buildroot}%{_prefix}/INSTALL-BINARY
548 rm -f %{buildroot}%{_prefix}/README
549
550 %multiarch_binaries %{buildroot}%{_bindir}/mysql_config
551 %multiarch_includes %{buildroot}%{_includedir}/mysql/my_config.h
552
553 cat > README.urpmi <<EOF
554
555 NOTE: MariaDB is installed without root password, it is recommended to set the
556 root password with the following command as soon as possible:
557
558 mysqladmin password
559
560 The initscript used to start mysql has been reverted to use the one shipped
561 by MariaDB. This means the following changes:
562
563 * The generation of the initial system mysql database is now done when mysql
564 is started from the initscript and only if the /var/lib/mysql/mysql
565 directory is empty (mysql_install_db). Previousely this was quite hidden and
566 silently done at (rpm) install time. As a consequence to this change you may
567 have to perform some manual tasks to upgrade the mysql system database and
568 such. So, doing something like this might help you:
569
570 /etc/init.d/mysqld stop
571 TMPDIR=/var/tmp mysql_install_db
572 mysql_upgrade
573
574 The cluster functionalities (ndb) has been deactivated and will be removed in
575 future mysql versions. Oracle has a new product named mysql-cluster that
576 replaces the cluster functionalities.
577
578 The mysql-common-core package ships with a default /etc/my.cnf file that is
579 based on the my-medium.cnf file that comes with the source code.
580 EOF
581
582 ################################################################################
583 # run the tests
584 %if %{build_test}
585 # disable failing tests
586 echo "rpl_trigger : Unstable test case" >> mysql-test/t/disabled.def
587 echo "type_enum : Unstable test case" >> mysql-test/t/disabled.def
588 echo "windows : For MS Windows only" >> mysql-test/t/disabled.def
589 pushd build/mysql-test
590 export LANG=C
591 export LC_ALL=C
592 export LANGUAGE=C
593 perl ./mysql-test-run.pl \
594 --mtr-build-thread="$((${RANDOM} % 100))" \
595 --skip-ndb \
596 --timer \
597 --retry=0 \
598 --ssl \
599 --mysqld=--binlog-format=mixed \
600 --testcase-timeout=60 \
601 --suite-timeout=120 || false
602 popd
603 %endif
604
605 %pre
606 # enable plugins
607 if [ -f %{_sysconfdir}/my.cnf ]; then
608 perl -pi -e "s|^#plugin-load|plugin-load|g" %{_sysconfdir}/my.cnf
609 perl -pi -e "s|^#federated|federated|g" %{_sysconfdir}/my.cnf
610 # switch to federatedx provider
611 perl -pi -e "s|;ha_federated\.so$|;ha_federatedx\.so|g" %{_sysconfdir}/my.cnf
612 fi
613
614 %pre common
615 # delete the mysql group if no mysql user is found, before adding the user
616 if [ -z "`getent passwd %{muser}`" ] && ! [ -z "`getent group %{muser}`" ]; then
617 %{_sbindir}/groupdel %{muser} 2> /dev/null || :
618 fi
619
620 %_pre_useradd %{muser} /var/lib/mysql /bin/bash
621
622 %post
623 %_post_service mysqld
624
625 %preun
626 %_preun_service mysqld
627
628 %postun
629 if [ "$1" = "1" ]; then
630 if [ -f /var/lock/subsys/mysqld ]; then
631 %{_initrddir}/mysqld restart > /dev/null 2>/dev/null || :
632 fi
633 fi
634
635 %pre common-core
636 # enable plugins
637 if [ -f %{_sysconfdir}/my.cnf ]; then
638 perl -pi -e "s|^#plugin-load|plugin-load|g" %{_sysconfdir}/my.cnf
639 perl -pi -e "s|^#federated|federated|g" %{_sysconfdir}/my.cnf
640 # switch to federatedx provider
641 perl -pi -e "s|;ha_federated\.so$|;ha_federatedx\.so|g" %{_sysconfdir}/my.cnf
642 fi
643
644 %files
645 %doc README.urpmi
646 %{_initrddir}/mysqld
647 %_sysconfdir/tmpfiles.d/mysql.conf
648 /lib/systemd/system/mysqld.service
649 %{_sbindir}/mysqld-prepare-db-dir
650 %{_sbindir}/mysqld-wait-ready
651 %dir %{_libdir}/mysql/plugin
652 # authentication plugins
653 %{_libdir}/mysql/plugin/auth_socket.so
654 %{_libdir}/mysql/plugin/auth_pam.so
655 %{_libdir}/mysql/plugin/dialog.so
656 %{_libdir}/mysql/plugin/mysql_clear_password.so
657 # replication plugins
658 %{_libdir}/mysql/plugin/semisync_master.so
659 %{_libdir}/mysql/plugin/semisync_slave.so
660 # storage engines
661 %{_libdir}/mysql/plugin/ha_archive.so
662 %{_libdir}/mysql/plugin/ha_blackhole.so
663 %{_libdir}/mysql/plugin/ha_federatedx.so
664 # sql logging plugin
665 %{_libdir}/mysql/plugin/sql_errlog.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 %{_libdir}/mysql/plugin/handlersocket.so
689
690 %files client
691 %config(noreplace) %{_sysconfdir}/mysqlaccess.conf
692 %{_bindir}/msql2mysql
693 %{_bindir}/mysql
694 %{_bindir}/mysqlaccess
695 %{_bindir}/mysqladmin
696 %{_bindir}/mysqlanalyze
697 %{_bindir}/mysqlbinlog
698 %{_bindir}/mysqlcheck
699 %{_bindir}/mysqldump
700 %{_bindir}/mysqldumpslow
701 %{_bindir}/mysql_find_rows
702 %{_bindir}/mysqlimport
703 %{_bindir}/mysqloptimize
704 %{_bindir}/mysqlrepair
705 %{_bindir}/mysqlshow
706 %{_bindir}/mysqlslap
707 %{_bindir}/mysql_waitpid
708 %{_mandir}/man1/msql2mysql.1*
709 %{_mandir}/man1/myisam_ftdump.1*
710 %{_mandir}/man1/mysql.1*
711 %{_mandir}/man1/mysqlaccess.1*
712 %{_mandir}/man1/mysqladmin.1*
713 %{_mandir}/man1/mysqlbinlog.1*
714 %{_mandir}/man1/mysqlcheck.1*
715 %{_mandir}/man1/mysqldump.1*
716 %{_mandir}/man1/mysqldumpslow.1*
717 %{_mandir}/man1/mysql_find_rows.1*
718 %{_mandir}/man1/mysqlimport.1*
719 %{_mandir}/man1/mysqlshow.1*
720 %{_mandir}/man1/mysql_waitpid.1*
721
722 %files bench
723 %doc build/sql-bench/README
724 %{_bindir}/my_safe_process
725 %{_bindir}/mysql_client_test
726 %{_bindir}/mysql_client_test_embedded
727 %{_bindir}/mysqltest_embedded
728 %{_datadir}/mysql/sql-bench
729 %attr(-,mysql,mysql) %{_datadir}/mysql/mysql-test
730 %{_mandir}/man1/mysql-stress-test.pl.1*
731 %{_mandir}/man1/mysql-test-run.pl.1*
732 %{_mandir}/man1/mysql_client_test.1*
733 %{_mandir}/man1/mysql_client_test_embedded.1*
734 %{_mandir}/man1/mysqltest.1*
735 %{_mandir}/man1/mysqltest_embedded.1*
736
737 %files core
738 %{_sbindir}/mysqld
739
740 %files common-core
741 %config(noreplace) %{_sysconfdir}/my.cnf
742 %dir %{_datadir}/mysql
743 %{_datadir}/mysql/english
744 %{_datadir}/mysql/charsets
745
746 %files common
747 %doc README COPYING
748 %config(noreplace) %{_sysconfdir}/sysconfig/mysqld
749 %{_bindir}/aria_chk
750 %{_bindir}/aria_dump_log
751 %{_bindir}/aria_ftdump
752 %{_bindir}/aria_pack
753 %{_bindir}/aria_read_log
754 %{_bindir}/innochecksum
755 %{_bindir}/myisamchk
756 %{_bindir}/myisam_ftdump
757 %{_bindir}/myisamlog
758 %{_bindir}/myisampack
759 %{_bindir}/my_print_defaults
760 %{_bindir}/mysqlbug
761 %{_bindir}/mysql_convert_table_format
762 %{_bindir}/mysqld_multi
763 %{_bindir}/mysqld_safe
764 %{_bindir}/mysql_fix_extensions
765 %{_bindir}/mysqlhotcopy
766 %{_bindir}/mysql_install_db
767 %{_bindir}/mysql_plugin
768 %{_bindir}/mysql_secure_installation
769 %{_bindir}/mysql_setpermission
770 %{_bindir}/mysqltest
771 %{_bindir}/mysql_tzinfo_to_sql
772 %{_bindir}/mysql_upgrade
773 %{_bindir}/mysql_zap
774 %{_bindir}/mytop
775 %{_bindir}/perror
776 %{_bindir}/replace
777 %{_bindir}/resolveip
778 %{_bindir}/resolve_stack_dump
779 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql
780 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql/mysql
781 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql/test
782 %attr(0755,%{muser},%{muser}) %dir %{_var}/run/mysqld
783 %attr(0755,%{muser},%{muser}) %dir %{_var}/log/mysqld
784 %{_datadir}/mysql/*.cnf
785 %{_datadir}/mysql/fill_help_tables.sql
786 %{_datadir}/mysql/mysql_system_tables.sql
787 %{_datadir}/mysql/mysql_system_tables_data.sql
788 %{_datadir}/mysql/mysql_test_data_timezone.sql
789 %{_datadir}/mysql/errmsg-utf8.txt
790 %{_datadir}/mysql/czech
791 %{_datadir}/mysql/danish
792 %{_datadir}/mysql/dutch
793 %{_datadir}/mysql/estonian
794 %{_datadir}/mysql/french
795 %{_datadir}/mysql/german
796 %{_datadir}/mysql/greek
797 %{_datadir}/mysql/hungarian
798 %{_datadir}/mysql/italian
799 %{_datadir}/mysql/japanese
800 %{_datadir}/mysql/korean
801 %{_datadir}/mysql/norwegian
802 %{_datadir}/mysql/norwegian-ny
803 %{_datadir}/mysql/polish
804 %{_datadir}/mysql/portuguese
805 %{_datadir}/mysql/romanian
806 %{_datadir}/mysql/russian
807 %{_datadir}/mysql/serbian
808 %{_datadir}/mysql/slovak
809 %{_datadir}/mysql/spanish
810 %{_datadir}/mysql/swedish
811 %{_datadir}/mysql/ukrainian
812 %{_mandir}/man1/innochecksum.1*
813 %{_mandir}/man1/myisamchk.1*
814 %{_mandir}/man1/myisamlog.1*
815 %{_mandir}/man1/myisampack.1*
816 %{_mandir}/man1/my_print_defaults.1*
817 %{_mandir}/man1/mysqlbug.1*
818 %{_mandir}/man1/mysql_convert_table_format.1*
819 %{_mandir}/man1/mysqld_multi.1*
820 %{_mandir}/man1/mysqld_safe.1*
821 %{_mandir}/man1/mysql_fix_extensions.1*
822 %{_mandir}/man1/mysql_fix_privilege_tables.1*
823 %{_mandir}/man1/mysqlhotcopy.1*
824 %{_mandir}/man1/mysql_install_db.1*
825 %{_mandir}/man1/mysqlman.1*
826 %{_mandir}/man1/mysql_secure_installation.1*
827 %{_mandir}/man1/mysql.server.1*
828 %{_mandir}/man1/mysql_setpermission.1*
829 %{_mandir}/man1/mysqlslap.1*
830 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
831 %{_mandir}/man1/mysql_upgrade.1*
832 %{_mandir}/man1/mysql_zap.1*
833 %{_mandir}/man1/perror.1*
834 %{_mandir}/man1/replace.1*
835 %{_mandir}/man1/resolveip.1*
836 %{_mandir}/man1/resolve_stack_dump.1*
837 %{_mandir}/man8/mysqld.8*
838 %{_mandir}/man8/mysqlmanager.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/private/*.h
853 %{_includedir}/mysql/private/atomic/*.h
854 %{_includedir}/mysql/psi/*.h
855 %multiarch %{multiarch_includedir}/mysql/my_config.h
856 %{_mandir}/man1/comp_err.1*
857 %{_mandir}/man1/mysql_config.1*
858 %{_datadir}/aclocal/mysql.m4
859 # mysqlservices library is static, because it doesn't contain any code
860 # itself, and is meant to be statically linked to all plugins.
861 %{_libdir}/libmysqlservices.a
862
863 %files -n %{libmariadbembedded}
864 %doc README COPYING
865 %{_libdir}/libmysqld.so.%{major}
866 %{_libdir}/libmysqld.so.%{libmysqlembedded_major}*
867
868 %files -n %{libmariadbembedded_devel}
869 %{_libdir}/libmysqld.so
870 %{_bindir}/mysql_client_test_embedded
871 %{_bindir}/mysqltest_embedded
872 %{_mandir}/man1/mysql_client_test_embedded.1*
873 %{_mandir}/man1/mysqltest_embedded.1*

  ViewVC Help
Powered by ViewVC 1.1.30