/[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 480734 - (show annotations) (download)
Tue Sep 17 06:13:48 2013 UTC (10 years, 6 months ago) by alien
File size: 31441 byte(s)
- New version
- Keep TokuDB disabled for now
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.33
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 -DTOKUDB_OK=0 \
471 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
472 -DWITHOUT_NDBCLUSTER_STORAGE_ENGINE=1 \
473 -DWITHOUT_DAEMON_EXAMPLE=1 \
474 -DWITH_PLUGIN_PBXT=0 \
475 -DFEATURE_SET="community" \
476 -DRPM=1 \
477 -DCOMPILATION_COMMENT="%{_vendor} MariaDB Server"
478
479 %make
480
481 %install
482 rm -rf %{buildroot}
483
484 # don't fiddle with the initscript!
485 export DONT_GPRINTIFY=1
486
487 %if %{build_debug}
488 export DONT_STRIP=1
489 %endif
490
491 install -d %{buildroot}%{_sysconfdir}/sysconfig
492 install -d %{buildroot}%{_var}/log/mysqld
493 install -d %{buildroot}/var/lib/mysql/{mysql,test}
494
495 %makeinstall_std -C build
496
497 # exclude loaddata7 from being converted
498 export EXCLUDE_FROM_EOL_CONVERSION="std_data/loaddata7.dat"
499
500 # install configuration files
501 install -m0644 Mageia/mysqld.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/mysqld
502 install -m0644 Mageia/my.cnf %{buildroot}%{_sysconfdir}/my.cnf
503
504 install -m 0644 -D %{SOURCE10} %{buildroot}%{_tmpfilesdir}/mysql.conf
505 install -m 0644 -D %{SOURCE11} %{buildroot}%{_unitdir}/mysqld.service
506 install -m 0755 %{SOURCE12} %{buildroot}%{_sbindir}/mysqld-prepare-db-dir
507 install -m 0755 %{SOURCE13} %{buildroot}%{_sbindir}/mysqld-wait-ready
508
509 # bork
510 mv %{buildroot}%{_bindir}/mysqlaccess.conf %{buildroot}%{_sysconfdir}/
511 chmod 644 %{buildroot}%{_sysconfdir}/mysqlaccess.conf
512 mv %{buildroot}%{_datadir}/mysql/aclocal %{buildroot}%{_datadir}/aclocal
513
514 pushd %{buildroot}%{_bindir}
515 ln -sf mysqlcheck mysqlrepair
516 ln -sf mysqlcheck mysqlanalyze
517 ln -sf mysqlcheck mysqloptimize
518 popd
519
520 # nuke -Wl,--as-needed from the mysql_config file
521 perl -pi -e "s|^ldflags=.*|ldflags=\'-rdynamic\'|g" %{buildroot}%{_bindir}/mysql_config
522
523 # cmake generates some completely wacko references to -lprobes_mysql when
524 # building with dtrace support. Haven't found where to shut that off,
525 # so resort to this blunt instrument. While at it, let's not reference
526 # libmysqlclient_r anymore either.
527 sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \
528 %{buildroot}%{_bindir}/mysql_config >mysql_config.tmp
529 cp -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config
530 chmod 755 %{buildroot}%{_bindir}/mysql_config
531 install -m 0755 -d %{buildroot}/var/lib/mysql
532
533 # Remove libmysqld.a, + hardlink libmysqld.so.%{libmysqlembedded_major} so that it's provided
534 rm -f %{buildroot}%{_libdir}/libmysqld.a
535 ln %{buildroot}%{_libdir}/libmysqld.so.%{major} %{buildroot}%{_libdir}/libmysqld.so.%{libmysqlembedded_major}.%{libmysqlembedded_minor}
536 ln -s libmysqld.so.%{libmysqlembedded_major}.%{libmysqlembedded_minor} %{buildroot}%{_libdir}/libmysqld.so.%{libmysqlembedded_major}
537
538 # libmysqlclient_r is no more. Upstream tries to replace it with symlinks
539 # but that really doesn't work (wrong soname in particular). We'll keep
540 # just the devel libmysqlclient_r.so link, so that rebuilding without any
541 # source change is enough to get rid of dependency on libmysqlclient_r.
542 rm -f %{buildroot}%{_libdir}/libmysqlclient_r.so*
543 ln -s libmysqlclient.so %{buildroot}%{_libdir}/libmysqlclient_r.so
544
545 # remove static libs
546 rm -f %{buildroot}%{_libdir}/libmysqlclient.a
547 rm -f %{buildroot}%{_libdir}/libmysqlclient_r.a
548
549 # mysql-test includes one executable that doesn't belong under /usr/share,
550 # so move it and provide a symlink
551 mv %{buildroot}%{_datadir}/mysql/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
552 ln -s %{_bindir}/my_safe_process %{buildroot}%{_datadir}/mysql/mysql-test/lib/My/SafeProcess/my_safe_process
553
554 # mysql client statically built against a local embedded library, pretty useless
555 rm -f %{buildroot}%{_bindir}/mysql_embedded
556
557 # this command enables plugins, but needs ini file + configuration in my.cnf
558 # before executing... and oh yeah, mysql must be stopped... => useless
559 # however, apparently tests seem to want it, even thought they don't use it.
560 #rm -f %{buildroot}%{_bindir}/mysql_plugin
561 rm -f %{buildroot}%{_libdir}/mysql/plugin/daemon_example.ini
562
563 # remove more useless plugins
564 rm -f %{buildroot}%{_libdir}/mysql/plugin/auth_0x0100.so
565 rm -f %{buildroot}%{_libdir}/mysql/plugin/auth_test_plugin.so
566 rm -f %{buildroot}%{_libdir}/mysql/plugin/dialog_examples.so
567
568 # no RHEL4 selinux files for us
569 rm -rf %{buildroot}%{_datadir}/mysql/SELinux
570 # no solaris files for us
571 rm -rf %{buildroot}%{_datadir}/mysql/solaris
572 # no init script for us
573 rm -f %{buildroot}%{_initrddir}/mysql
574 rm -f %{buildroot}%{_initrddir}/mysqld
575 # no split up config yet
576 rm -rf %{buildroot}%{_sysconfdir}/my.cnf.d
577
578 # house cleaning
579 rm -rf %{buildroot}%{_datadir}/info
580 rm -f %{buildroot}%{_bindir}/client_test
581 rm -f %{buildroot}%{_bindir}/make_win_binary_distribution
582 rm -f %{buildroot}%{_bindir}/make_win_src_distribution
583 rm -f %{buildroot}%{_datadir}/mysql/binary-configure
584 rm -f %{buildroot}%{_datadir}/mysql/config.huge.ini
585 rm -f %{buildroot}%{_datadir}/mysql/config.medium.ini
586 rm -f %{buildroot}%{_datadir}/mysql/config.small.ini
587 rm -f %{buildroot}%{_datadir}/mysql/mysqld_multi.server
588 rm -f %{buildroot}%{_datadir}/mysql/mysql-log-rotate
589 rm -f %{buildroot}%{_datadir}/mysql/mysql.server
590 rm -f %{buildroot}%{_datadir}/mysql/ndb-config-2-node.ini
591 rm -f %{buildroot}%{_datadir}/mysql/binary-configure
592 rm -f %{buildroot}%{_mandir}/man1/make_win_bin_dist.1*
593 rm -f %{buildroot}%{_mandir}/man1/make_win_src_distribution.1*
594 rm -f %{buildroot}%{_datadir}/mysql/magic
595
596 # no idea how to fix this
597 rm -rf %{buildroot}%{_prefix}/data
598 rm -rf %{buildroot}%{_prefix}/docs
599 rm -rf %{buildroot}%{_prefix}/scripts
600 rm -rf %{buildroot}%{_datadir}/doc
601 rm -rf %{buildroot}%{_sysconfdir}/init.d/mysql
602 rm -rf %{buildroot}%{_sysconfdir}/logrotate.d/mysql
603
604 %multiarch_binaries %{buildroot}%{_bindir}/mysql_config
605 %multiarch_includes %{buildroot}%{_includedir}/mysql/my_config.h
606
607 cat > README.urpmi <<EOF
608
609 NOTE: MariaDB is installed without root password, it is recommended to set the
610 root password with the following command as soon as possible:
611
612 mysqladmin password
613
614 The initscript used to start mysql has been reverted to use the one shipped
615 by MariaDB. This means the following changes:
616
617 * The generation of the initial system mysql database is now done when mysql
618 is started from the initscript and only if the /var/lib/mysql/mysql
619 directory is empty (mysql_install_db). Previousely this was quite hidden and
620 silently done at (rpm) install time. As a consequence to this change you may
621 have to perform some manual tasks to upgrade the mysql system database and
622 such. So, doing something like this might help you:
623
624 /etc/init.d/mysqld stop
625 TMPDIR=/var/tmp mysql_install_db
626 mysql_upgrade
627
628 The cluster functionalities (ndb) has been deactivated and will be removed in
629 future mysql versions. Oracle has a new product named mysql-cluster that
630 replaces the cluster functionalities.
631
632 The mysql-common-core package ships with a default /etc/my.cnf file that is
633 based on the my-medium.cnf file that comes with the source code.
634 EOF
635
636 ################################################################################
637 # run the tests
638 %if %{build_test}
639 # disable failing tests
640 pushd build/mysql-test
641 export LANG=C
642 export LC_ALL=C
643 export LANGUAGE=C
644 perl ./mysql-test-run.pl \
645 --mtr-build-thread="$((${RANDOM} % 100))" \
646 --retry=0 \
647 --ssl \
648 --big-test \
649 --force \
650 --max-test-fail=0 \
651 --testcase-timeout=60 \
652 --suite-timeout=1200 || false
653 popd
654 %endif
655
656 %pre
657 # enable plugins
658 if [ -f %{_sysconfdir}/my.cnf ]; then
659 perl -pi -e "s|^#plugin-load|plugin-load|g" %{_sysconfdir}/my.cnf
660 perl -pi -e "s|^#federated|federated|g" %{_sysconfdir}/my.cnf
661 # switch to federatedx provider
662 perl -pi -e "s|;ha_federated\.so$|;ha_federatedx\.so|g" %{_sysconfdir}/my.cnf
663 fi
664
665 %pre common
666 # delete the mysql group if no mysql user is found, before adding the user
667 if [ -z "`getent passwd %{muser}`" ] && ! [ -z "`getent group %{muser}`" ]; then
668 %{_sbindir}/groupdel %{muser} 2> /dev/null || :
669 fi
670
671 %_pre_useradd %{muser} /var/lib/mysql /bin/bash
672
673 %post
674 %_tmpfilescreate mysql
675 %_post_service mysqld
676
677 %preun
678 %_preun_service mysqld
679
680 %postun
681 if [ "$1" = "1" ]; then
682 if [ -f /var/lock/subsys/mysqld ]; then
683 %{_initrddir}/mysqld restart > /dev/null 2>/dev/null || :
684 fi
685 fi
686
687 %pre common-core
688 # enable plugins
689 if [ -f %{_sysconfdir}/my.cnf ]; then
690 perl -pi -e "s|^#plugin-load|plugin-load|g" %{_sysconfdir}/my.cnf
691 perl -pi -e "s|^#federated|federated|g" %{_sysconfdir}/my.cnf
692 # switch to federatedx provider
693 perl -pi -e "s|;ha_federated\.so$|;ha_federatedx\.so|g" %{_sysconfdir}/my.cnf
694 fi
695
696 %files
697 %doc README.urpmi
698 %{_tmpfilesdir}/mysql.conf
699 %{_unitdir}/mysqld.service
700 %{_sbindir}/mysqld-prepare-db-dir
701 %{_sbindir}/mysqld-wait-ready
702 %dir %{_libdir}/mysql/plugin
703 # authentication plugins
704 %{_libdir}/mysql/plugin/auth_socket.so
705 %{_libdir}/mysql/plugin/auth_pam.so
706 %{_libdir}/mysql/plugin/dialog.so
707 %{_libdir}/mysql/plugin/mysql_clear_password.so
708 # replication plugins
709 %{_libdir}/mysql/plugin/semisync_master.so
710 %{_libdir}/mysql/plugin/semisync_slave.so
711 # storage engines
712 %{_libdir}/mysql/plugin/ha_archive.so
713 %{_libdir}/mysql/plugin/ha_blackhole.so
714 %{_libdir}/mysql/plugin/ha_federatedx.so
715 # sql logging plugin
716 %{_libdir}/mysql/plugin/sql_errlog.so
717 # upstream describes this as "junk"
718 %{_libdir}/mysql/plugin/adt_null.so
719 %{_libdir}/mysql/plugin/mypluglib.so
720 %{_libdir}/mysql/plugin/qa_auth_client.so
721 %{_libdir}/mysql/plugin/qa_auth_interface.so
722 %{_libdir}/mysql/plugin/qa_auth_server.so
723 # example plugins, not usefull at all, removing
724 #%{_libdir}/mysql/plugin/auth_0x0100.so
725 #%{_libdir}/mysql/plugin/auth_test_plugin.so
726 #%{_libdir}/mysql/plugin/dialog_examples.so
727
728 %files -n mysql-MariaDB
729
730 %files obsolete
731 %{_libdir}/mysql/plugin/ha_innodb.so
732 %{_libdir}/mysql/plugin/ha_federated.so
733
734 %files feedback
735 %{_libdir}/mysql/plugin/feedback.so
736
737 %files extra
738 %{_libdir}/mysql/plugin/ha_oqgraph.so
739 %{_libdir}/mysql/plugin/ha_sphinx.so
740 %{_libdir}/mysql/plugin/handlersocket.so
741 # new optional functionality
742 %{_libdir}/mysql/plugin/query_cache_info.so
743 # sphinx has 2 plugins now? odd, but wth
744 %{_libdir}/mysql/plugin/sphinx.so
745
746 %files client
747 %config(noreplace) %{_sysconfdir}/mysqlaccess.conf
748 %{_bindir}/msql2mysql
749 %{_bindir}/mysql
750 %{_bindir}/mysqlaccess
751 %{_bindir}/mysqladmin
752 %{_bindir}/mysqlanalyze
753 %{_bindir}/mysqlbinlog
754 %{_bindir}/mysqlcheck
755 %{_bindir}/mysqldump
756 %{_bindir}/mysqldumpslow
757 %{_bindir}/mysql_find_rows
758 %{_bindir}/mysqlimport
759 %{_bindir}/mysqloptimize
760 %{_bindir}/mysqlrepair
761 %{_bindir}/mysqlshow
762 %{_bindir}/mysqlslap
763 %{_bindir}/mysql_waitpid
764 %{_mandir}/man1/msql2mysql.1*
765 %{_mandir}/man1/myisam_ftdump.1*
766 %{_mandir}/man1/mysql.1*
767 %{_mandir}/man1/mysqlaccess.1*
768 %{_mandir}/man1/mysqladmin.1*
769 %{_mandir}/man1/mysqlbinlog.1*
770 %{_mandir}/man1/mysqlcheck.1*
771 %{_mandir}/man1/mysqldump.1*
772 %{_mandir}/man1/mysqldumpslow.1*
773 %{_mandir}/man1/mysql_find_rows.1*
774 %{_mandir}/man1/mysqlimport.1*
775 %{_mandir}/man1/mysqlshow.1*
776 %{_mandir}/man1/mysql_waitpid.1*
777
778 %files bench
779 %doc build/sql-bench/README
780 %{_bindir}/my_safe_process
781 %{_bindir}/mysql_client_test
782 %{_bindir}/mysql_client_test_embedded
783 %{_bindir}/mysqltest_embedded
784 %{_datadir}/mysql/sql-bench
785 %attr(-,mysql,mysql) %{_datadir}/mysql/mysql-test
786 %{_mandir}/man1/mysql-stress-test.pl.1*
787 %{_mandir}/man1/mysql-test-run.pl.1*
788 %{_mandir}/man1/mysql_client_test.1*
789 %{_mandir}/man1/mysql_client_test_embedded.1*
790 %{_mandir}/man1/mysqltest.1*
791 %{_mandir}/man1/mysqltest_embedded.1*
792
793 %files core
794 %{_sbindir}/mysqld
795
796 %files common-core
797 %config(noreplace) %{_sysconfdir}/my.cnf
798 %dir %{_datadir}/mysql
799 %{_datadir}/mysql/english
800 %{_datadir}/mysql/charsets
801
802 %files common
803 %doc README COPYING
804 %config(noreplace) %{_sysconfdir}/sysconfig/mysqld
805 %{_bindir}/aria_chk
806 %{_bindir}/aria_dump_log
807 %{_bindir}/aria_ftdump
808 %{_bindir}/aria_pack
809 %{_bindir}/aria_read_log
810 %{_bindir}/innochecksum
811 %{_bindir}/myisamchk
812 %{_bindir}/myisam_ftdump
813 %{_bindir}/myisamlog
814 %{_bindir}/myisampack
815 %{_bindir}/my_print_defaults
816 %{_bindir}/mysqlbug
817 %{_bindir}/mysql_convert_table_format
818 %{_bindir}/mysqld_multi
819 %{_bindir}/mysqld_safe
820 %{_bindir}/mysql_fix_extensions
821 %{_bindir}/mysqlhotcopy
822 %{_bindir}/mysql_install_db
823 %{_bindir}/mysql_plugin
824 %{_bindir}/mysql_secure_installation
825 %{_bindir}/mysql_setpermission
826 %{_bindir}/mysqltest
827 %{_bindir}/mysql_tzinfo_to_sql
828 %{_bindir}/mysql_upgrade
829 %{_bindir}/mysql_zap
830 %{_bindir}/mytop
831 %{_bindir}/perror
832 %{_bindir}/replace
833 %{_bindir}/resolveip
834 %{_bindir}/resolve_stack_dump
835 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql
836 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql/mysql
837 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql/test
838 %attr(0755,%{muser},%{muser}) %dir %{_var}/log/mysqld
839 %{_datadir}/mysql/*.cnf
840 %{_datadir}/mysql/fill_help_tables.sql
841 %{_datadir}/mysql/mysql_performance_tables.sql
842 %{_datadir}/mysql/mysql_system_tables.sql
843 %{_datadir}/mysql/mysql_system_tables_data.sql
844 %{_datadir}/mysql/mysql_test_data_timezone.sql
845 %{_datadir}/mysql/errmsg-utf8.txt
846 %{_datadir}/mysql/czech
847 %{_datadir}/mysql/danish
848 %{_datadir}/mysql/dutch
849 %{_datadir}/mysql/estonian
850 %{_datadir}/mysql/french
851 %{_datadir}/mysql/german
852 %{_datadir}/mysql/greek
853 %{_datadir}/mysql/hungarian
854 %{_datadir}/mysql/italian
855 %{_datadir}/mysql/japanese
856 %{_datadir}/mysql/korean
857 %{_datadir}/mysql/norwegian
858 %{_datadir}/mysql/norwegian-ny
859 %{_datadir}/mysql/polish
860 %{_datadir}/mysql/portuguese
861 %{_datadir}/mysql/romanian
862 %{_datadir}/mysql/russian
863 %{_datadir}/mysql/serbian
864 %{_datadir}/mysql/slovak
865 %{_datadir}/mysql/spanish
866 %{_datadir}/mysql/swedish
867 %{_datadir}/mysql/ukrainian
868 %{_mandir}/man1/innochecksum.1*
869 %{_mandir}/man1/myisamchk.1*
870 %{_mandir}/man1/myisamlog.1*
871 %{_mandir}/man1/myisampack.1*
872 %{_mandir}/man1/my_print_defaults.1*
873 %{_mandir}/man1/mysqlbug.1*
874 %{_mandir}/man1/mysql_convert_table_format.1*
875 %{_mandir}/man1/mysqld_multi.1*
876 %{_mandir}/man1/mysqld_safe.1*
877 %{_mandir}/man1/mysql_fix_extensions.1*
878 %{_mandir}/man1/mysql_fix_privilege_tables.1*
879 %{_mandir}/man1/mysqlhotcopy.1*
880 %{_mandir}/man1/mysql_install_db.1*
881 %{_mandir}/man1/mysqlman.1*
882 %{_mandir}/man1/mysql_plugin.1*
883 %{_mandir}/man1/mysql_secure_installation.1*
884 %{_mandir}/man1/mysql.server.1*
885 %{_mandir}/man1/mysql_setpermission.1*
886 %{_mandir}/man1/mysqlslap.1*
887 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
888 %{_mandir}/man1/mysql_upgrade.1*
889 %{_mandir}/man1/mysql_zap.1*
890 %{_mandir}/man1/perror.1*
891 %{_mandir}/man1/replace.1*
892 %{_mandir}/man1/resolveip.1*
893 %{_mandir}/man1/resolve_stack_dump.1*
894 %{_mandir}/man8/mysqld.8*
895 %{_mandir}/man8/mysqlmanager.8*
896
897 %files -n %{libname}
898 %{_libdir}/libmysqlclient.so.%{major}*
899
900 %files -n %{develname}
901 %doc INSTALL-SOURCE
902 %multiarch %{multiarch_bindir}/mysql_config
903 %{_bindir}/mysql_config
904 %{_libdir}/libmysqlclient_r.so
905 %{_libdir}/libmysqlclient.so
906 %dir %{_includedir}/mysql
907 %dir %{_includedir}/mysql/psi
908 %{_includedir}/mysql/*.h
909 %{_includedir}/mysql/private/*.h
910 %{_includedir}/mysql/private/atomic/*.h
911 %{_includedir}/mysql/psi/*.h
912 %multiarch %{multiarch_includedir}/mysql/my_config.h
913 %{_mandir}/man1/comp_err.1*
914 %{_mandir}/man1/mysql_config.1*
915 %{_datadir}/aclocal/mysql.m4
916 # mysqlservices library is static, because it doesn't contain any code
917 # itself, and is meant to be statically linked to all plugins.
918 %{_libdir}/libmysqlservices.a
919
920 %files -n %{libmariadbembedded}
921 %doc README COPYING
922 %{_libdir}/libmysqld.so.%{major}
923 %{_libdir}/libmysqld.so.%{libmysqlembedded_major}*
924
925 %files -n %{libmariadbembedded_devel}
926 %{_libdir}/libmysqld.so
927 %{_bindir}/mysql_client_test_embedded
928 %{_bindir}/mysqltest_embedded
929 %{_mandir}/man1/mysql_client_test_embedded.1*
930 %{_mandir}/man1/mysqltest_embedded.1*

  ViewVC Help
Powered by ViewVC 1.1.30