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

  ViewVC Help
Powered by ViewVC 1.1.30