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

  ViewVC Help
Powered by ViewVC 1.1.30