/[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 581209 - (show annotations) (download)
Tue Feb 4 15:56:51 2014 UTC (10 years, 2 months ago) by oden
File size: 31314 byte(s)
- P133: drop, added upstream

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
83 Requires(post): systemd >= %{systemd_required_version}
84 Requires(post): rpm-helper >= 0.24.8-1
85 Requires(preun): rpm-helper >= 0.24.8-1
86 Requires(post): %{name}-common%{_isa} = %{version}-%{release}
87 Requires(preun): %{name}-common%{_isa} = %{version}-%{release}
88 Requires(post): %{name}-client%{_isa} = %{version}-%{release}
89 Requires(preun): %{name}-client%{_isa} = %{version}-%{release}
90 Requires(postun): %{name}-common%{_isa} = %{version}-%{release}
91 Requires(postun): %{name}-client%{_isa} = %{version}-%{release}
92 Requires: %{name}-common%{_isa} = %{version}-%{release}
93 Requires: %{name}-core%{_isa} = %{version}-%{release}
94 Requires: %{name}-client%{_isa} = %{version}-%{release}
95 Provides: mysql = %{version}-%{release}
96 Obsoletes: mysql < %{version}-%{release}
97 Obsoletes: %{libmariadbservices} < 5.5.18-0.3194.20111227.1
98 Obsoletes: %{libmysqlservices} < %{version}-%{release}
99 Conflicts: %{name}-extra%{_isa} < %{version}-%{release}
100 Conflicts: %{name}-feedback%{_isa} < %{version}-%{release}
101 Conflicts: %{name}-obsolete%{_isa} < %{version}-%{release}
102 Suggests: %{name}-extra%{_isa}
103 BuildRequires: bison
104 BuildRequires: cmake
105 BuildRequires: doxygen
106 BuildRequires: glibc-devel
107 BuildRequires: libaio-devel
108 BuildRequires: libstdc++-devel
109 BuildRequires: libtermcap-devel
110 BuildRequires: multiarch-utils >= 1.0.3
111 BuildRequires: ncurses-devel
112 BuildRequires: openssl-devel
113 BuildRequires: wrap-devel
114 BuildRequires: python
115 BuildRequires: systemtap
116 BuildRequires: tetex
117 BuildRequires: texinfo
118 BuildRequires: xfs-devel
119 BuildRequires: zlib-devel
120 BuildRequires: libaio-devel
121 BuildRequires: pam-devel
122 BuildConflicts: edit-devel
123
124 ## internal BOOST sources
125 Source200: http://download.sourceforge.net/boost/boost_%{boostver}.tar.bz2
126 # https://svn.boost.org/trac/boost/ticket/6150
127 Patch204: boost-1.50.0-fix-non-utf8-files.patch
128 # https://bugzilla.redhat.com/show_bug.cgi?id=756005
129 # https://svn.boost.org/trac/boost/ticket/6131
130 Patch207: boost-1.50.0-foreach.patch
131 # https://bugzilla.redhat.com/show_bug.cgi?id=783660
132 # https://svn.boost.org/trac/boost/ticket/6459 fixed
133 Patch210: boost-1.50.0-long-double-1.patch
134 # https://bugzilla.redhat.com/show_bug.cgi?id=828856
135 # https://bugzilla.redhat.com/show_bug.cgi?id=828857
136 Patch215: boost-1.50.0-pool.patch
137 Patch216: boost-1.54.0-glibc.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
363 mkdir -p Mageia
364 cp %{SOURCE2} Mageia/mysqld.sysconfig
365 cp %{SOURCE3} Mageia/my.cnf
366
367 # remove the sql_yacc.cc file so that bison will regenerate it properly, even if it's patched
368 rm -f sql/sql_yacc.cc
369
370 # lib64 fix
371 perl -pi -e "s|/usr/lib/|%{_libdir}/|g" Mageia/my.cnf
372
373 # antiborker
374 perl -pi -e "s|\@bindir\@|%{_bindir}|g" support-files/* scripts/*
375 perl -pi -e "s|\@sbindir\@|%{_sbindir}|g" support-files/* scripts/*
376 perl -pi -e "s|\@libexecdir\@|%{_sbindir}|g" support-files/* scripts/*
377 perl -pi -e "s|\@localstatedir\@|/var/lib/mysql|g" support-files/* scripts/*
378 perl -pi -e "s|^basedir=.*|basedir=%{_prefix}|g" support-files/* scripts/mysql_install_db*
379
380 # this may be part of the problems with mysql-test
381 # http://bugs.mysql.com/bug.php?id=52223
382 #perl -pi -e "s|basedir/lib\b|basedir/%{_lib}\b|g" mysql-test/mysql-test-run.pl
383 #perl -pi -e "s|basedir/lib/|basedir/%{_lib}/|g" mysql-test/mysql-test-run.pl
384
385 # workaround for upstream bug #56342
386 rm -f mysql-test/t/ssl_8k_key-master.opt
387 rm -f mysql-test/t/file_contents.test
388
389 # fix distribution name
390 sed -i 's/Source distribution/%{_vendor} MariaDB Server/' mysql-test/suite/percona/innodb_sys_index.result
391
392 ## prep internal BOOST
393 %setup -q -D -T -b 200
394 cd ../boost_%{boostver}
395 %patch204 -p1
396 %patch207 -p2
397 %patch210 -p1
398 %patch215 -p0
399 %patch216 -p1
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 systemctl stop mysqld.service
624 TMPDIR=/var/tmp mysql_install_db
625 mysql_upgrade --skip-write-binlog
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 %_post_service mysqld
681
682 %pre common-core
683 # enable plugins
684 if [ -f %{_sysconfdir}/my.cnf ]; then
685 perl -pi -e "s|^#plugin-load|plugin-load|g" %{_sysconfdir}/my.cnf
686 perl -pi -e "s|^#federated|federated|g" %{_sysconfdir}/my.cnf
687 # switch to federatedx provider
688 perl -pi -e "s|;ha_federated\.so$|;ha_federatedx\.so|g" %{_sysconfdir}/my.cnf
689 fi
690
691 %files
692 %doc README.urpmi
693 %{_tmpfilesdir}/mysql.conf
694 %{_unitdir}/mysqld.service
695 %{_sbindir}/mysqld-prepare-db-dir
696 %{_sbindir}/mysqld-wait-ready
697 %dir %{_libdir}/mysql/plugin
698 # authentication plugins
699 %{_libdir}/mysql/plugin/auth_socket.so
700 %{_libdir}/mysql/plugin/auth_pam.so
701 %{_libdir}/mysql/plugin/dialog.so
702 %{_libdir}/mysql/plugin/mysql_clear_password.so
703 # replication plugins
704 %{_libdir}/mysql/plugin/semisync_master.so
705 %{_libdir}/mysql/plugin/semisync_slave.so
706 # storage engines
707 %{_libdir}/mysql/plugin/ha_archive.so
708 %{_libdir}/mysql/plugin/ha_blackhole.so
709 %{_libdir}/mysql/plugin/ha_federatedx.so
710 # sql logging plugin
711 %{_libdir}/mysql/plugin/sql_errlog.so
712 # upstream describes this as "junk"
713 %{_libdir}/mysql/plugin/adt_null.so
714 %{_libdir}/mysql/plugin/mypluglib.so
715 %{_libdir}/mysql/plugin/qa_auth_client.so
716 %{_libdir}/mysql/plugin/qa_auth_interface.so
717 %{_libdir}/mysql/plugin/qa_auth_server.so
718 # example plugins, not usefull at all, removing
719 #%{_libdir}/mysql/plugin/auth_0x0100.so
720 #%{_libdir}/mysql/plugin/auth_test_plugin.so
721 #%{_libdir}/mysql/plugin/dialog_examples.so
722
723 %files -n mysql-MariaDB
724
725 %files obsolete
726 %{_libdir}/mysql/plugin/ha_innodb.so
727 %{_libdir}/mysql/plugin/ha_federated.so
728
729 %files feedback
730 %{_libdir}/mysql/plugin/feedback.so
731
732 %files extra
733 %{_libdir}/mysql/plugin/ha_oqgraph.so
734 %{_libdir}/mysql/plugin/ha_sphinx.so
735 %{_libdir}/mysql/plugin/handlersocket.so
736 # new optional functionality
737 %{_libdir}/mysql/plugin/query_cache_info.so
738 # sphinx has 2 plugins now? odd, but wth
739 %{_libdir}/mysql/plugin/sphinx.so
740
741 %files client
742 %config(noreplace) %{_sysconfdir}/mysqlaccess.conf
743 %{_bindir}/msql2mysql
744 %{_bindir}/mysql
745 %{_bindir}/mysqlaccess
746 %{_bindir}/mysqladmin
747 %{_bindir}/mysqlanalyze
748 %{_bindir}/mysqlbinlog
749 %{_bindir}/mysqlcheck
750 %{_bindir}/mysqldump
751 %{_bindir}/mysqldumpslow
752 %{_bindir}/mysql_find_rows
753 %{_bindir}/mysqlimport
754 %{_bindir}/mysqloptimize
755 %{_bindir}/mysqlrepair
756 %{_bindir}/mysqlshow
757 %{_bindir}/mysqlslap
758 %{_bindir}/mysql_waitpid
759 %{_mandir}/man1/msql2mysql.1*
760 %{_mandir}/man1/myisam_ftdump.1*
761 %{_mandir}/man1/mysql.1*
762 %{_mandir}/man1/mysqlaccess.1*
763 %{_mandir}/man1/mysqladmin.1*
764 %{_mandir}/man1/mysqlbinlog.1*
765 %{_mandir}/man1/mysqlcheck.1*
766 %{_mandir}/man1/mysqldump.1*
767 %{_mandir}/man1/mysqldumpslow.1*
768 %{_mandir}/man1/mysql_find_rows.1*
769 %{_mandir}/man1/mysqlimport.1*
770 %{_mandir}/man1/mysqlshow.1*
771 %{_mandir}/man1/mysql_waitpid.1*
772
773 %files bench
774 %doc build/sql-bench/README
775 %{_bindir}/my_safe_process
776 %{_bindir}/mysql_client_test
777 %{_bindir}/mysql_client_test_embedded
778 %{_bindir}/mysqltest_embedded
779 %{_datadir}/mysql/sql-bench
780 %attr(-,mysql,mysql) %{_datadir}/mysql/mysql-test
781 %{_mandir}/man1/mysql-stress-test.pl.1*
782 %{_mandir}/man1/mysql-test-run.pl.1*
783 %{_mandir}/man1/mysql_client_test.1*
784 %{_mandir}/man1/mysql_client_test_embedded.1*
785 %{_mandir}/man1/mysqltest.1*
786 %{_mandir}/man1/mysqltest_embedded.1*
787
788 %files core
789 %{_sbindir}/mysqld
790
791 %files common-core
792 %config(noreplace) %{_sysconfdir}/my.cnf
793 %dir %{_datadir}/mysql
794 %{_datadir}/mysql/english
795 %{_datadir}/mysql/charsets
796
797 %files common
798 %doc README COPYING
799 %config(noreplace) %{_sysconfdir}/sysconfig/mysqld
800 %{_bindir}/aria_chk
801 %{_bindir}/aria_dump_log
802 %{_bindir}/aria_ftdump
803 %{_bindir}/aria_pack
804 %{_bindir}/aria_read_log
805 %{_bindir}/innochecksum
806 %{_bindir}/myisamchk
807 %{_bindir}/myisam_ftdump
808 %{_bindir}/myisamlog
809 %{_bindir}/myisampack
810 %{_bindir}/my_print_defaults
811 %{_bindir}/mysqlbug
812 %{_bindir}/mysql_convert_table_format
813 %{_bindir}/mysqld_multi
814 %{_bindir}/mysqld_safe
815 %{_bindir}/mysql_fix_extensions
816 %{_bindir}/mysqlhotcopy
817 %{_bindir}/mysql_install_db
818 %{_bindir}/mysql_plugin
819 %{_bindir}/mysql_secure_installation
820 %{_bindir}/mysql_setpermission
821 %{_bindir}/mysqltest
822 %{_bindir}/mysql_tzinfo_to_sql
823 %{_bindir}/mysql_upgrade
824 %{_bindir}/mysql_zap
825 %{_bindir}/mytop
826 %{_bindir}/perror
827 %{_bindir}/replace
828 %{_bindir}/resolveip
829 %{_bindir}/resolve_stack_dump
830 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql
831 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql/mysql
832 %attr(0755,%{muser},%{muser}) %dir /var/lib/mysql/test
833 %attr(0755,%{muser},%{muser}) %dir %{_var}/log/mysqld
834 %{_datadir}/mysql/*.cnf
835 %{_datadir}/mysql/fill_help_tables.sql
836 %{_datadir}/mysql/mysql_performance_tables.sql
837 %{_datadir}/mysql/mysql_system_tables.sql
838 %{_datadir}/mysql/mysql_system_tables_data.sql
839 %{_datadir}/mysql/mysql_test_data_timezone.sql
840 %{_datadir}/mysql/errmsg-utf8.txt
841 %{_datadir}/mysql/czech
842 %{_datadir}/mysql/danish
843 %{_datadir}/mysql/dutch
844 %{_datadir}/mysql/estonian
845 %{_datadir}/mysql/french
846 %{_datadir}/mysql/german
847 %{_datadir}/mysql/greek
848 %{_datadir}/mysql/hungarian
849 %{_datadir}/mysql/italian
850 %{_datadir}/mysql/japanese
851 %{_datadir}/mysql/korean
852 %{_datadir}/mysql/norwegian
853 %{_datadir}/mysql/norwegian-ny
854 %{_datadir}/mysql/polish
855 %{_datadir}/mysql/portuguese
856 %{_datadir}/mysql/romanian
857 %{_datadir}/mysql/russian
858 %{_datadir}/mysql/serbian
859 %{_datadir}/mysql/slovak
860 %{_datadir}/mysql/spanish
861 %{_datadir}/mysql/swedish
862 %{_datadir}/mysql/ukrainian
863 %{_mandir}/man1/innochecksum.1*
864 %{_mandir}/man1/myisamchk.1*
865 %{_mandir}/man1/myisamlog.1*
866 %{_mandir}/man1/myisampack.1*
867 %{_mandir}/man1/my_print_defaults.1*
868 %{_mandir}/man1/mysqlbug.1*
869 %{_mandir}/man1/mysql_convert_table_format.1*
870 %{_mandir}/man1/mysqld_multi.1*
871 %{_mandir}/man1/mysqld_safe.1*
872 %{_mandir}/man1/mysql_fix_extensions.1*
873 %{_mandir}/man1/mysql_fix_privilege_tables.1*
874 %{_mandir}/man1/mysqlhotcopy.1*
875 %{_mandir}/man1/mysql_install_db.1*
876 %{_mandir}/man1/mysqlman.1*
877 %{_mandir}/man1/mysql_plugin.1*
878 %{_mandir}/man1/mysql_secure_installation.1*
879 %{_mandir}/man1/mysql.server.1*
880 %{_mandir}/man1/mysql_setpermission.1*
881 %{_mandir}/man1/mysqlslap.1*
882 %{_mandir}/man1/mysql_tzinfo_to_sql.1*
883 %{_mandir}/man1/mysql_upgrade.1*
884 %{_mandir}/man1/mysql_zap.1*
885 %{_mandir}/man1/perror.1*
886 %{_mandir}/man1/replace.1*
887 %{_mandir}/man1/resolveip.1*
888 %{_mandir}/man1/resolve_stack_dump.1*
889 %{_mandir}/man8/mysqld.8*
890 %{_mandir}/man8/mysqlmanager.8*
891
892 %files -n %{libname}
893 %{_libdir}/libmysqlclient.so.%{major}*
894
895 %files -n %{develname}
896 %doc INSTALL-SOURCE
897 %multiarch %{multiarch_bindir}/mysql_config
898 %{_bindir}/mysql_config
899 %{_libdir}/libmysqlclient_r.so
900 %{_libdir}/libmysqlclient.so
901 %dir %{_includedir}/mysql
902 %dir %{_includedir}/mysql/psi
903 %{_includedir}/mysql/*.h
904 %{_includedir}/mysql/private/*.h
905 %{_includedir}/mysql/private/atomic/*.h
906 %{_includedir}/mysql/psi/*.h
907 %multiarch %{multiarch_includedir}/mysql/my_config.h
908 %{_mandir}/man1/comp_err.1*
909 %{_mandir}/man1/mysql_config.1*
910 %{_datadir}/aclocal/mysql.m4
911 # mysqlservices library is static, because it doesn't contain any code
912 # itself, and is meant to be statically linked to all plugins.
913 %{_libdir}/libmysqlservices.a
914
915 %files -n %{libmariadbembedded}
916 %doc README COPYING
917 %{_libdir}/libmysqld.so.%{major}
918 %{_libdir}/libmysqld.so.%{libmysqlembedded_major}*
919
920 %files -n %{libmariadbembedded_devel}
921 %{_libdir}/libmysqld.so
922 %{_bindir}/mysql_client_test_embedded
923 %{_bindir}/mysqltest_embedded
924 %{_mandir}/man1/mysql_client_test_embedded.1*
925 %{_mandir}/man1/mysqltest_embedded.1*

  ViewVC Help
Powered by ViewVC 1.1.30