/[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 394775 - (show annotations) (download)
Wed Feb 6 07:16:41 2013 UTC (11 years, 2 months ago) by alien
File size: 29516 byte(s)
- fix test for CVE-2012-5615
- remove anonymous user in default installation so that CVE-2012-5615 isn't exploitable anymore
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 8
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 # lib64 fix
354 perl -pi -e "s|/usr/lib/|%{_libdir}/|g" Mageia/my.cnf
355
356 # antiborker
357 perl -pi -e "s|\@bindir\@|%{_bindir}|g" support-files/* scripts/*
358 perl -pi -e "s|\@sbindir\@|%{_sbindir}|g" support-files/* scripts/*
359 perl -pi -e "s|\@libexecdir\@|%{_sbindir}|g" support-files/* scripts/*
360 perl -pi -e "s|\@localstatedir\@|/var/lib/mysql|g" support-files/* scripts/*
361 perl -pi -e "s|^basedir=.*|basedir=%{_prefix}|g" support-files/* scripts/mysql_install_db*
362
363 # this may be part of the problems with mysql-test
364 # http://bugs.mysql.com/bug.php?id=52223
365 #perl -pi -e "s|basedir/lib\b|basedir/%{_lib}\b|g" mysql-test/mysql-test-run.pl
366 #perl -pi -e "s|basedir/lib/|basedir/%{_lib}/|g" mysql-test/mysql-test-run.pl
367
368 # workaround for upstream bug #56342
369 rm -f mysql-test/t/ssl_8k_key-master.opt
370
371 # upstream has fallen down badly on symbol versioning, do it ourselves
372 cp %{SOURCE4} libmysql/libmysql.version
373
374 %build
375 %serverbuild
376 export CFLAGS="${CFLAGS:-%{optflags}}"
377 export CXXFLAGS="${CXXFLAGS:-%{optflags}}"
378 export FFLAGS="${FFLAGS:-%{optflags}}"
379
380 %cmake \
381 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
382 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
383 -DINSTALL_SBINDIR=sbin \
384 -DMYSQL_DATADIR=/var/lib/mysql \
385 -DSYSCONFDIR=%{_sysconfdir} \
386 -DINSTALL_PLUGINDIR=%{_lib}/mysql/plugin \
387 -DINSTALL_MANDIR=share/man \
388 -DINSTALL_SHAREDIR=share/mysql \
389 -DINSTALL_LIBDIR=%{_lib} \
390 -DINSTALL_INCLUDEDIR=include/mysql \
391 -DINSTALL_INFODIR=share/info \
392 -DINSTALL_MYSQLDATADIR=/var/lib/mysql \
393 -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test \
394 -DINSTALL_SQLBENCHDIR=share/mysql \
395 -DINSTALL_SUPPORTFILESDIR=share/mysql \
396 -DINSTALL_MYSQLSHAREDIR=share/mysql \
397 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
398 -DWITH_READLINE=0 \
399 -DWITH_LIBEDIT=0 \
400 -DWITH_LIBWRAP=1 \
401 -DWITH_SSL=system \
402 -DWITH_ZLIB=system \
403 -DWITH_PIC=1 \
404 -DMYSQL_TCP_PORT=3306 \
405 -DEXTRA_CHARSETS=all \
406 -DENABLED_LOCAL_INFILE=1 \
407 -DENABLE_DTRACE=1 \
408 -DWITH_EMBEDDED_SERVER=1 \
409 -DMYSQL_USER=%{muser} \
410 %if %{build_debug}
411 -DWITH_DEBUG=1 \
412 %else
413 -DWITH_DEBUG=0 \
414 %endif
415 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
416 -DWITHOUT_NDBCLUSTER_STORAGE_ENGINE=1 \
417 -DWITHOUT_DAEMON_EXAMPLE=1 \
418 -DWITH_PLUGIN_PBXT=1 \
419 -DFEATURE_SET="community" \
420 -DCOMPILATION_COMMENT="%{_vendor} - MariaDB Community Edition (GPL)"
421
422 cp ../libmysql/libmysql.version libmysql/libmysql.version
423
424 %make
425
426 %install
427 rm -rf %{buildroot}
428
429 # don't fiddle with the initscript!
430 export DONT_GPRINTIFY=1
431
432 %if %{build_debug}
433 export DONT_STRIP=1
434 %endif
435
436 install -d %{buildroot}%{_sysconfdir}/sysconfig
437 install -d %{buildroot}%{_initrddir}
438 install -d %{buildroot}%{_var}/log/mysqld
439 install -d %{buildroot}/var/lib/mysql/{mysql,test}
440
441 %makeinstall_std -C build
442
443 # install init scripts
444 install -m0755 build/support-files/mysql.server %{buildroot}%{_initrddir}/mysqld
445
446 # install configuration files
447 install -m0644 Mageia/mysqld.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/mysqld
448 install -m0644 Mageia/my.cnf %{buildroot}%{_sysconfdir}/my.cnf
449
450 install -m 0644 -D %{SOURCE10} %{buildroot}%{_tmpfilesdir}/mysql.conf
451 install -m 0644 -D %{SOURCE11} %{buildroot}%{_unitdir}/mysqld.service
452 install -m 0755 %{SOURCE12} %{buildroot}%{_sbindir}/mysqld-prepare-db-dir
453 install -m 0755 %{SOURCE13} %{buildroot}%{_sbindir}/mysqld-wait-ready
454
455 # bork
456 mv %{buildroot}%{_bindir}/mysqlaccess.conf %{buildroot}%{_sysconfdir}/
457 chmod 644 %{buildroot}%{_sysconfdir}/mysqlaccess.conf
458 mv %{buildroot}%{_prefix}/scripts/mysql_install_db %{buildroot}%{_bindir}/
459 mv %{buildroot}%{_datadir}/mysql/aclocal %{buildroot}%{_datadir}/aclocal
460
461 pushd %{buildroot}%{_bindir}
462 ln -sf mysqlcheck mysqlrepair
463 ln -sf mysqlcheck mysqlanalyze
464 ln -sf mysqlcheck mysqloptimize
465 popd
466
467 # nuke -Wl,--as-needed from the mysql_config file
468 perl -pi -e "s|^ldflags=.*|ldflags=\'-rdynamic\'|g" %{buildroot}%{_bindir}/mysql_config
469
470 # cmake generates some completely wacko references to -lprobes_mysql when
471 # building with dtrace support. Haven't found where to shut that off,
472 # so resort to this blunt instrument. While at it, let's not reference
473 # libmysqlclient_r anymore either.
474 sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \
475 %{buildroot}%{_bindir}/mysql_config >mysql_config.tmp
476 cp -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config
477 chmod 755 %{buildroot}%{_bindir}/mysql_config
478 install -m 0755 -d %{buildroot}/var/lib/mysql
479
480 # Remove libmysqld.a, + hardlink libmysqld.so.%{libmysqlembedded_major} so that it's provided
481 rm -f %{buildroot}%{_libdir}/libmysqld.a
482 ln %{buildroot}%{_libdir}/libmysqld.so.%{major} %{buildroot}%{_libdir}/libmysqld.so.%{libmysqlembedded_major}.%{libmysqlembedded_minor}
483 ln -s libmysqld.so.%{libmysqlembedded_major}.%{libmysqlembedded_minor} %{buildroot}%{_libdir}/libmysqld.so.%{libmysqlembedded_major}
484
485 # libmysqlclient_r is no more. Upstream tries to replace it with symlinks
486 # but that really doesn't work (wrong soname in particular). We'll keep
487 # just the devel libmysqlclient_r.so link, so that rebuilding without any
488 # source change is enough to get rid of dependency on libmysqlclient_r.
489 rm -f %{buildroot}%{_libdir}/libmysqlclient_r.so*
490 ln -s libmysqlclient.so %{buildroot}%{_libdir}/libmysqlclient_r.so
491
492 # remove static libs
493 rm -f %{buildroot}%{_libdir}/libmysqlclient.a
494 rm -f %{buildroot}%{_libdir}/libmysqlclient_r.a
495
496 # mysql-test includes one executable that doesn't belong under /usr/share,
497 # so move it and provide a symlink
498 mv %{buildroot}%{_datadir}/mysql/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
499 ln -s %{_bindir}/my_safe_process %{buildroot}%{_datadir}/mysql/mysql-test/lib/My/SafeProcess/my_safe_process
500
501 # mysql client statically built against a local embedded library, pretty useless
502 rm -f %{buildroot}%{_bindir}/mysql_embedded
503
504 # this command enables plugins, but needs ini file + configuration in my.cnf
505 # before executing... and oh yeah, mysql must be stopped... => useless
506 # however, apparently tests seem to want it, even thought they don't use it.
507 #rm -f %{buildroot}%{_bindir}/mysql_plugin
508 rm -f %{buildroot}%{_libdir}/mysql/plugin/daemon_example.ini
509
510 # remove more useless plugins
511 rm -f %{buildroot}%{_libdir}/mysql/plugin/auth_test_plugin.so
512 rm -f %{buildroot}%{_libdir}/mysql/plugin/dialog_examples.so
513
514 # no RHEL4 selinux files for us
515 rm -rf %{buildroot}%{_datadir}/mysql/SELinux
516
517 # house cleaning
518 rm -rf %{buildroot}%{_datadir}/info
519 rm -f %{buildroot}%{_bindir}/client_test
520 rm -f %{buildroot}%{_bindir}/make_win_binary_distribution
521 rm -f %{buildroot}%{_bindir}/make_win_src_distribution
522 rm -f %{buildroot}%{_datadir}/mysql/binary-configure
523 rm -f %{buildroot}%{_datadir}/mysql/config.huge.ini
524 rm -f %{buildroot}%{_datadir}/mysql/config.medium.ini
525 rm -f %{buildroot}%{_datadir}/mysql/config.small.ini
526 rm -f %{buildroot}%{_datadir}/mysql/mysqld_multi.server
527 rm -f %{buildroot}%{_datadir}/mysql/mysql-log-rotate
528 rm -f %{buildroot}%{_datadir}/mysql/mysql.server
529 rm -f %{buildroot}%{_datadir}/mysql/ndb-config-2-node.ini
530 rm -f %{buildroot}%{_datadir}/mysql/binary-configure
531 rm -f %{buildroot}%{_mandir}/man1/make_win_bin_dist.1*
532 rm -f %{buildroot}%{_mandir}/man1/make_win_src_distribution.1*
533 rm -f %{buildroot}%{_datadir}/mysql/magic
534
535 # no idea how to fix this
536 rm -rf %{buildroot}%{_prefix}/data
537 rm -rf %{buildroot}%{_prefix}/docs
538 rm -rf %{buildroot}%{_prefix}/scripts
539 rm -f %{buildroot}%{_prefix}/COPYING
540 rm -f %{buildroot}%{_prefix}/COPYING.LESSER
541 rm -f %{buildroot}%{_prefix}/INSTALL-BINARY
542 rm -f %{buildroot}%{_prefix}/README
543
544 %multiarch_binaries %{buildroot}%{_bindir}/mysql_config
545 %multiarch_includes %{buildroot}%{_includedir}/mysql/my_config.h
546
547 cat > README.urpmi <<EOF
548
549 NOTE: MariaDB is installed without root password, it is recommended to set the
550 root password with the following command as soon as possible:
551
552 mysqladmin password
553
554 The initscript used to start mysql has been reverted to use the one shipped
555 by MariaDB. This means the following changes:
556
557 * The generation of the initial system mysql database is now done when mysql
558 is started from the initscript and only if the /var/lib/mysql/mysql
559 directory is empty (mysql_install_db). Previousely this was quite hidden and
560 silently done at (rpm) install time. As a consequence to this change you may
561 have to perform some manual tasks to upgrade the mysql system database and
562 such. So, doing something like this might help you:
563
564 /etc/init.d/mysqld stop
565 TMPDIR=/var/tmp mysql_install_db
566 mysql_upgrade
567
568 The cluster functionalities (ndb) has been deactivated and will be removed in
569 future mysql versions. Oracle has a new product named mysql-cluster that
570 replaces the cluster functionalities.
571
572 The mysql-common-core package ships with a default /etc/my.cnf file that is
573 based on the my-medium.cnf file that comes with the source code.
574 EOF
575
576 ################################################################################
577 # run the tests
578 %if %{build_test}
579 # disable failing tests
580 echo "rpl_trigger : Unstable test case" >> mysql-test/t/disabled.def
581 echo "type_enum : Unstable test case" >> mysql-test/t/disabled.def
582 echo "windows : For MS Windows only" >> mysql-test/t/disabled.def
583 pushd build/mysql-test
584 export LANG=C
585 export LC_ALL=C
586 export LANGUAGE=C
587 perl ./mysql-test-run.pl \
588 --mtr-build-thread="$((${RANDOM} % 100))" \
589 --skip-ndb \
590 --timer \
591 --retry=0 \
592 --ssl \
593 --mysqld=--binlog-format=mixed \
594 --testcase-timeout=60 \
595 --suite-timeout=120 || false
596 popd
597 %endif
598
599 %pre
600 # enable plugins
601 if [ -f %{_sysconfdir}/my.cnf ]; then
602 perl -pi -e "s|^#plugin-load|plugin-load|g" %{_sysconfdir}/my.cnf
603 perl -pi -e "s|^#federated|federated|g" %{_sysconfdir}/my.cnf
604 # switch to federatedx provider
605 perl -pi -e "s|;ha_federated\.so$|;ha_federatedx\.so|g" %{_sysconfdir}/my.cnf
606 fi
607
608 %pre common
609 # delete the mysql group if no mysql user is found, before adding the user
610 if [ -z "`getent passwd %{muser}`" ] && ! [ -z "`getent group %{muser}`" ]; then
611 %{_sbindir}/groupdel %{muser} 2> /dev/null || :
612 fi
613
614 %_pre_useradd %{muser} /var/lib/mysql /bin/bash
615
616 %post
617 %_tmpfilescreate mysql
618 %_post_service mysqld
619
620 %preun
621 %_preun_service mysqld
622
623 %postun
624 if [ "$1" = "1" ]; then
625 if [ -f /var/lock/subsys/mysqld ]; then
626 %{_initrddir}/mysqld restart > /dev/null 2>/dev/null || :
627 fi
628 fi
629
630 %pre common-core
631 # enable plugins
632 if [ -f %{_sysconfdir}/my.cnf ]; then
633 perl -pi -e "s|^#plugin-load|plugin-load|g" %{_sysconfdir}/my.cnf
634 perl -pi -e "s|^#federated|federated|g" %{_sysconfdir}/my.cnf
635 # switch to federatedx provider
636 perl -pi -e "s|;ha_federated\.so$|;ha_federatedx\.so|g" %{_sysconfdir}/my.cnf
637 fi
638
639 %files
640 %doc README.urpmi
641 %{_initrddir}/mysqld
642 %{_tmpfilesdir}/mysql.conf
643 %{_unitdir}/mysqld.service
644 %{_sbindir}/mysqld-prepare-db-dir
645 %{_sbindir}/mysqld-wait-ready
646 %dir %{_libdir}/mysql/plugin
647 # authentication plugins
648 %{_libdir}/mysql/plugin/auth_socket.so
649 %{_libdir}/mysql/plugin/auth_pam.so
650 %{_libdir}/mysql/plugin/dialog.so
651 %{_libdir}/mysql/plugin/mysql_clear_password.so
652 # replication plugins
653 %{_libdir}/mysql/plugin/semisync_master.so
654 %{_libdir}/mysql/plugin/semisync_slave.so
655 # storage engines
656 %{_libdir}/mysql/plugin/ha_archive.so
657 %{_libdir}/mysql/plugin/ha_blackhole.so
658 %{_libdir}/mysql/plugin/ha_federatedx.so
659 # sql logging plugin
660 %{_libdir}/mysql/plugin/sql_errlog.so
661 # upstream describes this as "junk"
662 %{_libdir}/mysql/plugin/adt_null.so
663 %{_libdir}/mysql/plugin/mypluglib.so
664 %{_libdir}/mysql/plugin/qa_auth_client.so
665 %{_libdir}/mysql/plugin/qa_auth_interface.so
666 %{_libdir}/mysql/plugin/qa_auth_server.so
667 # example plugins, not usefull at all, removing
668 #%{_libdir}/mysql/plugin/auth_test_plugin.so
669 #%{_libdir}/mysql/plugin/dialog_examples.so
670
671 %files -n mysql-MariaDB
672
673 %files obsolete
674 %{_libdir}/mysql/plugin/ha_innodb.so
675 %{_libdir}/mysql/plugin/ha_federated.so
676
677 %files feedback
678 %{_libdir}/mysql/plugin/feedback.so
679
680 %files extra
681 %{_libdir}/mysql/plugin/ha_oqgraph.so
682 %{_libdir}/mysql/plugin/ha_sphinx.so
683 %{_libdir}/mysql/plugin/handlersocket.so
684
685 %files client
686 %config(noreplace) %{_sysconfdir}/mysqlaccess.conf
687 %{_bindir}/msql2mysql
688 %{_bindir}/mysql
689 %{_bindir}/mysqlaccess
690 %{_bindir}/mysqladmin
691 %{_bindir}/mysqlanalyze
692 %{_bindir}/mysqlbinlog
693 %{_bindir}/mysqlcheck
694 %{_bindir}/mysqldump
695 %{_bindir}/mysqldumpslow
696 %{_bindir}/mysql_find_rows
697 %{_bindir}/mysqlimport
698 %{_bindir}/mysqloptimize
699 %{_bindir}/mysqlrepair
700 %{_bindir}/mysqlshow
701 %{_bindir}/mysqlslap
702 %{_bindir}/mysql_waitpid
703 %{_mandir}/man1/msql2mysql.1*
704 %{_mandir}/man1/myisam_ftdump.1*
705 %{_mandir}/man1/mysql.1*
706 %{_mandir}/man1/mysqlaccess.1*
707 %{_mandir}/man1/mysqladmin.1*
708 %{_mandir}/man1/mysqlbinlog.1*
709 %{_mandir}/man1/mysqlcheck.1*
710 %{_mandir}/man1/mysqldump.1*
711 %{_mandir}/man1/mysqldumpslow.1*
712 %{_mandir}/man1/mysql_find_rows.1*
713 %{_mandir}/man1/mysqlimport.1*
714 %{_mandir}/man1/mysqlshow.1*
715 %{_mandir}/man1/mysql_waitpid.1*
716
717 %files bench
718 %doc build/sql-bench/README
719 %{_bindir}/my_safe_process
720 %{_bindir}/mysql_client_test
721 %{_bindir}/mysql_client_test_embedded
722 %{_bindir}/mysqltest_embedded
723 %{_datadir}/mysql/sql-bench
724 %attr(-,mysql,mysql) %{_datadir}/mysql/mysql-test
725 %{_mandir}/man1/mysql-stress-test.pl.1*
726 %{_mandir}/man1/mysql-test-run.pl.1*
727 %{_mandir}/man1/mysql_client_test.1*
728 %{_mandir}/man1/mysql_client_test_embedded.1*
729 %{_mandir}/man1/mysqltest.1*
730 %{_mandir}/man1/mysqltest_embedded.1*
731
732 %files core
733 %{_sbindir}/mysqld
734
735 %files common-core
736 %config(noreplace) %{_sysconfdir}/my.cnf
737 %dir %{_datadir}/mysql
738 %{_datadir}/mysql/english
739 %{_datadir}/mysql/charsets
740
741 %files common
742 %doc README COPYING
743 %config(noreplace) %{_sysconfdir}/sysconfig/mysqld
744 %{_bindir}/aria_chk
745 %{_bindir}/aria_dump_log
746 %{_bindir}/aria_ftdump
747 %{_bindir}/aria_pack
748 %{_bindir}/aria_read_log
749 %{_bindir}/innochecksum
750 %{_bindir}/myisamchk
751 %{_bindir}/myisam_ftdump
752 %{_bindir}/myisamlog
753 %{_bindir}/myisampack
754 %{_bindir}/my_print_defaults
755 %{_bindir}/mysqlbug
756 %{_bindir}/mysql_convert_table_format
757 %{_bindir}/mysqld_multi
758 %{_bindir}/mysqld_safe
759 %{_bindir}/mysql_fix_extensions
760 %{_bindir}/mysqlhotcopy
761 %{_bindir}/mysql_install_db
762 %{_bindir}/mysql_plugin
763 %{_bindir}/mysql_secure_installation
764 %{_bindir}/mysql_setpermission
765 %{_bindir}/mysqltest
766 %{_bindir}/mysql_tzinfo_to_sql
767 %{_bindir}/mysql_upgrade
768 %{_bindir}/mysql_zap
769 %{_bindir}/mytop
770 %{_bindir}/perror
771 %{_bindir}/replace
772 %{_bindir}/resolveip
773 %{_bindir}/resolve_stack_dump
774 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql
775 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql/mysql
776 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql/test
777 %attr(0755,%{muser},%{muser}) %dir %{_var}/log/mysqld
778 %{_datadir}/mysql/*.cnf
779 %{_datadir}/mysql/fill_help_tables.sql
780 %{_datadir}/mysql/mysql_system_tables.sql
781 %{_datadir}/mysql/mysql_system_tables_data.sql
782 %{_datadir}/mysql/mysql_test_data_timezone.sql
783 %{_datadir}/mysql/errmsg-utf8.txt
784 %{_datadir}/mysql/czech
785 %{_datadir}/mysql/danish
786 %{_datadir}/mysql/dutch
787 %{_datadir}/mysql/estonian
788 %{_datadir}/mysql/french
789 %{_datadir}/mysql/german
790 %{_datadir}/mysql/greek
791 %{_datadir}/mysql/hungarian
792 %{_datadir}/mysql/italian
793 %{_datadir}/mysql/japanese
794 %{_datadir}/mysql/korean
795 %{_datadir}/mysql/norwegian
796 %{_datadir}/mysql/norwegian-ny
797 %{_datadir}/mysql/polish
798 %{_datadir}/mysql/portuguese
799 %{_datadir}/mysql/romanian
800 %{_datadir}/mysql/russian
801 %{_datadir}/mysql/serbian
802 %{_datadir}/mysql/slovak
803 %{_datadir}/mysql/spanish
804 %{_datadir}/mysql/swedish
805 %{_datadir}/mysql/ukrainian
806 %{_mandir}/man1/innochecksum.1*
807 %{_mandir}/man1/myisamchk.1*
808 %{_mandir}/man1/myisamlog.1*
809 %{_mandir}/man1/myisampack.1*
810 %{_mandir}/man1/my_print_defaults.1*
811 %{_mandir}/man1/mysqlbug.1*
812 %{_mandir}/man1/mysql_convert_table_format.1*
813 %{_mandir}/man1/mysqld_multi.1*
814 %{_mandir}/man1/mysqld_safe.1*
815 %{_mandir}/man1/mysql_fix_extensions.1*
816 %{_mandir}/man1/mysql_fix_privilege_tables.1*
817 %{_mandir}/man1/mysqlhotcopy.1*
818 %{_mandir}/man1/mysql_install_db.1*
819 %{_mandir}/man1/mysqlman.1*
820 %{_mandir}/man1/mysql_secure_installation.1*
821 %{_mandir}/man1/mysql.server.1*
822 %{_mandir}/man1/mysql_setpermission.1*
823 %{_mandir}/man1/mysqlslap.1*
824 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
825 %{_mandir}/man1/mysql_upgrade.1*
826 %{_mandir}/man1/mysql_zap.1*
827 %{_mandir}/man1/perror.1*
828 %{_mandir}/man1/replace.1*
829 %{_mandir}/man1/resolveip.1*
830 %{_mandir}/man1/resolve_stack_dump.1*
831 %{_mandir}/man8/mysqld.8*
832 %{_mandir}/man8/mysqlmanager.8*
833
834 %files -n %{libname}
835 %{_libdir}/libmysqlclient.so.%{major}*
836
837 %files -n %{develname}
838 %doc INSTALL-SOURCE
839 %multiarch %{multiarch_bindir}/mysql_config
840 %{_bindir}/mysql_config
841 %{_libdir}/libmysqlclient_r.so
842 %{_libdir}/libmysqlclient.so
843 %dir %{_includedir}/mysql
844 %dir %{_includedir}/mysql/psi
845 %{_includedir}/mysql/*.h
846 %{_includedir}/mysql/private/*.h
847 %{_includedir}/mysql/private/atomic/*.h
848 %{_includedir}/mysql/psi/*.h
849 %multiarch %{multiarch_includedir}/mysql/my_config.h
850 %{_mandir}/man1/comp_err.1*
851 %{_mandir}/man1/mysql_config.1*
852 %{_datadir}/aclocal/mysql.m4
853 # mysqlservices library is static, because it doesn't contain any code
854 # itself, and is meant to be statically linked to all plugins.
855 %{_libdir}/libmysqlservices.a
856
857 %files -n %{libmariadbembedded}
858 %doc README COPYING
859 %{_libdir}/libmysqld.so.%{major}
860 %{_libdir}/libmysqld.so.%{libmysqlembedded_major}*
861
862 %files -n %{libmariadbembedded_devel}
863 %{_libdir}/libmysqld.so
864 %{_bindir}/mysql_client_test_embedded
865 %{_bindir}/mysqltest_embedded
866 %{_mandir}/man1/mysql_client_test_embedded.1*
867 %{_mandir}/man1/mysqltest_embedded.1*

  ViewVC Help
Powered by ViewVC 1.1.30