/[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 474237 - (show annotations) (download)
Mon Sep 2 06:24:26 2013 UTC (10 years, 7 months ago) by alien
File size: 31354 byte(s)
SILENT: forgot missing internal boost buildrequires
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.32
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
141 %description
142 The MariaDB software delivers a very fast, multi-threaded, multi-user, and
143 robust SQL (Structured Query Language) database server. MariaDB Server is
144 intended for mission-critical, heavy-load production systems as well as for
145 embedding into mass-deployed software.
146
147 The mariadb server is compiled with the following storage engines:
148
149 - Aria Storage Engine
150 - Archive Storage Engine
151 - Blackhole Storage Engine
152 - CSV Storage Engine
153 - FederatedX Storage Engine (Federated replacement)
154 - Heap Storage Engine
155 - MyISAM Storage Engine
156 - MyISAMMRG Storage Engine
157 - Partition Storage Engine
158 - Perfschema Storage Engine
159 - XtraDB Storage Engine (InnoDB replacement)
160
161 The following extra storage engines are provided by the mariadb-extra package
162
163 - OQGraph Storage Engine
164 - Sphinx Storage Engine
165
166 The feedback storage engine is provided by the mariadb-feedback package
167
168 - Feedback Storage Engine
169
170 The following storage engines are provided in the mariadb-obsolete package
171
172 - Federated Storage Engine
173 - InnoDB Storage Engine
174
175 %package -n mysql-MariaDB
176 Summary: A MySQL drop-in replacement
177 Group: System/Servers
178 Requires: %{name}%{_isa}
179
180 %description -n mysql-MariaDB
181 MariaDB is a complete MySQL drop-in replacement with additional fixes and
182 storage engines.
183
184 This package is used as a transitional virtual package, which requires
185 MariaDB so that people who used to use mysql can find it nicely.
186
187 %package feedback
188 Summary: MariaDB feedback storage engine
189 Group: System/Servers
190 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
191 Conflicts: %{name}-common-core%{_isa} < %{version}-%{release}
192
193 %description feedback
194 MariaDB feedback storage engine submits feedback about your mariadb server.
195 Results can be seen on http://mariadb.org/feedback_plugin/ .
196
197 %package extra
198 Summary: MariaDB extra storage engines
199 Group: System/Servers
200 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
201 Conflicts: %{name}-common-core%{_isa} < %{version}-%{release}
202
203 %description extra
204 MariaDB oqgraph and sphinx storage engines.
205
206 %package obsolete
207 Summary: MariaDB obsolete storage engines
208 Group: System/Servers
209 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
210 Conflicts: %{name}-common-core%{_isa} < %{version}-%{release}
211 Conflicts: mysql-core < 5.5.18
212
213 %description obsolete
214 MariaDB obsolete storage engines. InnoDB and Federated are being replaced by
215 XtraDB and FederatedX storage engines. These obsolete storage engines are
216 provided in case you need the vanilla mysql storage engines.
217
218 %package core
219 Summary: Server core binary
220 Group: System/Servers
221 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
222 Provides: mysql-core = %{version}-%{release}
223 Obsoletes: mysql-core < %{version}-%{release}
224
225 %description core
226 Core mysqld server binary. For a full MariaDB database server, install
227 package 'mariadb'.
228
229 %package common-core
230 Summary: Common files required by core binary
231 Group: System/Servers
232 Provides: mysql-common-core = %{version}-%{release}
233 Obsoletes: mysql-common-core < %{version}-%{release}
234
235 %description common-core
236 Common files minimally required by mysqld server binary.
237
238 %package common
239 Summary: Common files
240 Group: System/Servers
241 Requires(post): rpm-helper
242 Requires(preun): rpm-helper
243 Requires(pre): rpm-helper
244 Requires(postun): rpm-helper
245 Requires(post): %{name}-client%{_isa} >= %{version}-%{release}
246 Requires(preun): %{name}-client%{_isa} >= %{version}-%{release}
247 Requires: %{name}-client%{_isa} >= %{version}-%{release}
248 Requires: %{name}-common-core%{_isa} >= %{version}-%{release}
249 Provides: mysql-common = %{version}-%{release}
250 Obsoletes: mysql-common < %{version}-%{release}
251
252 %description common
253 Common files for the MariaDB database server.
254
255 %package client
256 Summary: Client
257 Group: Databases
258 Requires(post): %{libname}%{_isa} >= %{version}-%{release}
259 Requires(preun): %{libname}%{_isa} >= %{version}-%{release}
260 Requires: %{libname}%{_isa} >= %{version}-%{release}
261 Provides: mysql-client = %{version}-%{release}
262 Obsoletes: mysql-client < %{version}-%{release}
263
264 %description client
265 This package contains the standard MariaDB clients.
266
267 %package bench
268 Summary: Benchmarks and test system
269 Group: System/Servers
270 Requires(post): %{name}-client%{_isa} >= %{version}-%{release}
271 Requires(preun): %{name}-client%{_isa} >= %{version}-%{release}
272 Requires: %{name}-client%{_isa} >= %{version}-%{release}
273 Suggests: %{name}%{_isa} >= %{version}-%{release}
274 Provides: mysql-bench = %{version}-%{release}
275 Obsoletes: mysql-bench < %{version}-%{release}
276
277 %description bench
278 This package contains MariaDB benchmark scripts and data.
279
280 %package -n %{libname}
281 Summary: Shared libraries
282 Group: System/Libraries
283 Provides: %{name}-shared-libs = %{version}-%{release}
284 Provides: %{name}-shared = %{version}-%{release}
285 Provides: %{mysql_libname} = %{version}-%{release}
286 Obsoletes: %{mysql_libname} < %{version}-%{release}
287
288 %description -n %{libname}
289 This package contains the shared libraries (*.so*) which certain languages and
290 applications need to dynamically load and use MariaDB.
291
292 %package -n %{develname}
293 Summary: Development header files and libraries
294 Group: Development/Other
295 Requires(post): %{libname} >= %{version}-%{release}
296 Requires(preun): %{libname} >= %{version}-%{release}
297 Requires(post): %{name}-common%{_isa} >= %{version}-%{release}
298 Requires(preun): %{name}-common%{_isa} >= %{version}-%{release}
299 Requires(post): %{name}-client%{_isa} >= %{version}-%{release}
300 Requires(preun): %{name}-client%{_isa} >= %{version}-%{release}
301 Requires: %{libname} = %{version}-%{release}
302 Requires: %{name}-common%{_isa} >= %{version}-%{release}
303 Requires: %{name}-client%{_isa} >= %{version}-%{release}
304 Provides: %{name}-devel = %{version}-%{release}
305 Provides: %{libname}-devel = %{version}-%{release}
306 Obsoletes: %{libname}-devel < %{version}-%{release}
307 Obsoletes: %{old_staticdevelname} < %{version}-%{release}
308 Provides: %{mysql_develname} = %{version}-%{release}
309 Obsoletes: %{mysql_develname} < %{version}-%{release}
310 Provides: mysql-devel = %{version}-%{release}
311
312 %description -n %{develname}
313 This package contains the development header files and libraries necessary to
314 develop MariaDB client applications.
315
316 %package -n %{libmariadbembedded}
317 Summary: MariaDB as an embeddable library
318 Group: System/Libraries
319 Provides: %{name}-embedded = %{version}-%{release}
320 Obsoletes: %{name}-embedded < %{version}-%{release}
321 Provides: %{libmysqlembedded} = %{version}-%{release}
322 Obsoletes: %{libmysqlembedded} < %{version}-%{release}
323
324 %description -n %{libmariadbembedded}
325 MariaDB is a multi-user, multi-threaded SQL database server. This
326 package contains a version of the MariaDB server that can be embedded
327 into a client application instead of running as a separate process.
328
329 The API is identical for the embedded MariaDB version and the client/server
330 version.
331
332 %package -n %{libmariadbembedded_devel}
333 Summary: Development files for MySQL as an embeddable library
334 Group: Development/Other
335 Provides: %{name}-embedded-devel = %{version}-%{release}
336 Obsoletes: %{name}-embedded-devel < %{version}-%{release}
337 Requires: %{libmariadbembedded} = %{version}-%{release}
338 Requires: %{develname} = %{version}-%{release}
339 Provides: %{libmysqlembedded_devel} = %{version}-%{release}
340 Obsoletes: %{libmysqlembedded_devel} < %{version}-%{release}
341 Provides: mysql-embedded-devel = %{version}-%{release}
342
343 %description -n %{libmariadbembedded_devel}
344 MariaDB is a multi-user, multi-threaded SQL database server. This
345 package contains files needed for developing and testing with
346 the embedded version of the MariaDB server.
347
348 The API is identical for the embedded MariaDB version and the client/server
349 version.
350
351
352 %prep
353 %setup -q
354 %patch1 -p1
355 %patch3 -p1
356 %patch4 -p1
357 %patch101 -p1
358 %patch106 -p1
359 %patch107 -p1
360 %patch120 -p1
361 %patch132 -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 cd ..
400
401 %build
402
403 pushd ../boost_%{boostver}
404 ## build internal BOOST
405 %define gcc_ver %(rpm -q --queryformat="%%{VERSION}" gcc)
406 cat > ./tools/build/v2/user-config.jam << EOF
407 using gcc : %gcc_ver : gcc : <cflags>"%optflags -I%{_includedir}/python%{py_ver}" <cxxflags>"%optflags -I%{_includedir}/python%{py_ver}" <linkflags>"%ldflags" ;
408 using python : %py_ver : %{_bindir}/python%{py_ver} : %{_includedir}/python%{py_ver} : %{_libdir} ;
409 EOF
410 ./bootstrap.sh --with-toolset=gcc --with-icu --prefix=%{_prefix} --libdir=%{_libdir}
411 ./b2 -d+2 -q %{?_smp_mflags} --without-mpi \
412 --prefix=%{_prefix} --libdir=%{_libdir} \
413 linkflags="%{ldflags} -lpython%{py_ver} -lstdc++ -lm" \
414 -sHAVE_ICU=1 \
415 link=shared threading=multi debug-symbols=off --layout=system
416
417 ## install internal BOOST
418 ./b2 -d+2 -q %{?_smp_mflags} --without-mpi \
419 --prefix=%{buildroot}/../boost%{_prefix} --libdir=%{buildroot}/../boost%{_libdir} \
420 link=shared \
421 install
422 popd
423
424 ## let oqgraph find boost
425 sed -i '1iSET(BOOST_ROOT %{buildroot}/../boost%{_prefix})' storage/oqgraph/CMakeLists.txt
426
427 ## MariaDB
428 %serverbuild
429 export CFLAGS="${CFLAGS:-%{optflags}}"
430 export CXXFLAGS="${CXXFLAGS:-%{optflags}}"
431 export FFLAGS="${FFLAGS:-%{optflags}}"
432
433 %cmake \
434 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
435 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
436 -DINSTALL_SBINDIR=sbin \
437 -DMYSQL_DATADIR=/var/lib/mysql \
438 -DSYSCONFDIR=%{_sysconfdir} \
439 -DINSTALL_PLUGINDIR=%{_lib}/mysql/plugin \
440 -DINSTALL_MANDIR=share/man \
441 -DINSTALL_SHAREDIR=share/mysql \
442 -DINSTALL_LIBDIR=%{_lib} \
443 -DINSTALL_INCLUDEDIR=include/mysql \
444 -DINSTALL_INFODIR=share/info \
445 -DINSTALL_MYSQLDATADIR=/var/lib/mysql \
446 -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test \
447 -DINSTALL_SQLBENCHDIR=share/mysql \
448 -DINSTALL_SUPPORTFILESDIR=share/mysql \
449 -DINSTALL_MYSQLSHAREDIR=share/mysql \
450 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
451 -DWITH_READLINE=0 \
452 -DWITH_LIBEDIT=0 \
453 -DWITH_LIBWRAP=1 \
454 -DWITH_SSL=system \
455 -DWITH_ZLIB=system \
456 -DWITH_PIC=1 \
457 -DMYSQL_TCP_PORT=3306 \
458 -DEXTRA_CHARSETS=all \
459 -DENABLED_LOCAL_INFILE=1 \
460 -DENABLE_DTRACE=1 \
461 -DWITH_EMBEDDED_SERVER=1 \
462 -DMYSQL_USER=%{muser} \
463 %if %{build_debug}
464 -DWITH_DEBUG=1 \
465 %else
466 -DWITH_DEBUG=0 \
467 %endif
468 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
469 -DWITHOUT_NDBCLUSTER_STORAGE_ENGINE=1 \
470 -DWITHOUT_DAEMON_EXAMPLE=1 \
471 -DWITH_PLUGIN_PBXT=0 \
472 -DFEATURE_SET="community" \
473 -DRPM=1 \
474 -DCOMPILATION_COMMENT="%{_vendor} MariaDB Server"
475
476 %make
477
478 %install
479 rm -rf %{buildroot}
480
481 # don't fiddle with the initscript!
482 export DONT_GPRINTIFY=1
483
484 %if %{build_debug}
485 export DONT_STRIP=1
486 %endif
487
488 install -d %{buildroot}%{_sysconfdir}/sysconfig
489 install -d %{buildroot}%{_var}/log/mysqld
490 install -d %{buildroot}/var/lib/mysql/{mysql,test}
491
492 %makeinstall_std -C build
493
494 # exclude loaddata7 from being converted
495 export EXCLUDE_FROM_EOL_CONVERSION="std_data/loaddata7.dat"
496
497 # install configuration files
498 install -m0644 Mageia/mysqld.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/mysqld
499 install -m0644 Mageia/my.cnf %{buildroot}%{_sysconfdir}/my.cnf
500
501 install -m 0644 -D %{SOURCE10} %{buildroot}%{_tmpfilesdir}/mysql.conf
502 install -m 0644 -D %{SOURCE11} %{buildroot}%{_unitdir}/mysqld.service
503 install -m 0755 %{SOURCE12} %{buildroot}%{_sbindir}/mysqld-prepare-db-dir
504 install -m 0755 %{SOURCE13} %{buildroot}%{_sbindir}/mysqld-wait-ready
505
506 # bork
507 mv %{buildroot}%{_bindir}/mysqlaccess.conf %{buildroot}%{_sysconfdir}/
508 chmod 644 %{buildroot}%{_sysconfdir}/mysqlaccess.conf
509 mv %{buildroot}%{_datadir}/mysql/aclocal %{buildroot}%{_datadir}/aclocal
510
511 pushd %{buildroot}%{_bindir}
512 ln -sf mysqlcheck mysqlrepair
513 ln -sf mysqlcheck mysqlanalyze
514 ln -sf mysqlcheck mysqloptimize
515 popd
516
517 # nuke -Wl,--as-needed from the mysql_config file
518 perl -pi -e "s|^ldflags=.*|ldflags=\'-rdynamic\'|g" %{buildroot}%{_bindir}/mysql_config
519
520 # cmake generates some completely wacko references to -lprobes_mysql when
521 # building with dtrace support. Haven't found where to shut that off,
522 # so resort to this blunt instrument. While at it, let's not reference
523 # libmysqlclient_r anymore either.
524 sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \
525 %{buildroot}%{_bindir}/mysql_config >mysql_config.tmp
526 cp -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config
527 chmod 755 %{buildroot}%{_bindir}/mysql_config
528 install -m 0755 -d %{buildroot}/var/lib/mysql
529
530 # Remove libmysqld.a, + hardlink libmysqld.so.%{libmysqlembedded_major} so that it's provided
531 rm -f %{buildroot}%{_libdir}/libmysqld.a
532 ln %{buildroot}%{_libdir}/libmysqld.so.%{major} %{buildroot}%{_libdir}/libmysqld.so.%{libmysqlembedded_major}.%{libmysqlembedded_minor}
533 ln -s libmysqld.so.%{libmysqlembedded_major}.%{libmysqlembedded_minor} %{buildroot}%{_libdir}/libmysqld.so.%{libmysqlembedded_major}
534
535 # libmysqlclient_r is no more. Upstream tries to replace it with symlinks
536 # but that really doesn't work (wrong soname in particular). We'll keep
537 # just the devel libmysqlclient_r.so link, so that rebuilding without any
538 # source change is enough to get rid of dependency on libmysqlclient_r.
539 rm -f %{buildroot}%{_libdir}/libmysqlclient_r.so*
540 ln -s libmysqlclient.so %{buildroot}%{_libdir}/libmysqlclient_r.so
541
542 # remove static libs
543 rm -f %{buildroot}%{_libdir}/libmysqlclient.a
544 rm -f %{buildroot}%{_libdir}/libmysqlclient_r.a
545
546 # mysql-test includes one executable that doesn't belong under /usr/share,
547 # so move it and provide a symlink
548 mv %{buildroot}%{_datadir}/mysql/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
549 ln -s %{_bindir}/my_safe_process %{buildroot}%{_datadir}/mysql/mysql-test/lib/My/SafeProcess/my_safe_process
550
551 # mysql client statically built against a local embedded library, pretty useless
552 rm -f %{buildroot}%{_bindir}/mysql_embedded
553
554 # this command enables plugins, but needs ini file + configuration in my.cnf
555 # before executing... and oh yeah, mysql must be stopped... => useless
556 # however, apparently tests seem to want it, even thought they don't use it.
557 #rm -f %{buildroot}%{_bindir}/mysql_plugin
558 rm -f %{buildroot}%{_libdir}/mysql/plugin/daemon_example.ini
559
560 # remove more useless plugins
561 rm -f %{buildroot}%{_libdir}/mysql/plugin/auth_0x0100.so
562 rm -f %{buildroot}%{_libdir}/mysql/plugin/auth_test_plugin.so
563 rm -f %{buildroot}%{_libdir}/mysql/plugin/dialog_examples.so
564
565 # no RHEL4 selinux files for us
566 rm -rf %{buildroot}%{_datadir}/mysql/SELinux
567 # no solaris files for us
568 rm -rf %{buildroot}%{_datadir}/mysql/solaris
569 # no init script for us
570 rm -f %{buildroot}%{_initrddir}/mysql
571 rm -f %{buildroot}%{_initrddir}/mysqld
572 # no split up config yet
573 rm -rf %{buildroot}%{_sysconfdir}/my.cnf.d
574
575 # house cleaning
576 rm -rf %{buildroot}%{_datadir}/info
577 rm -f %{buildroot}%{_bindir}/client_test
578 rm -f %{buildroot}%{_bindir}/make_win_binary_distribution
579 rm -f %{buildroot}%{_bindir}/make_win_src_distribution
580 rm -f %{buildroot}%{_datadir}/mysql/binary-configure
581 rm -f %{buildroot}%{_datadir}/mysql/config.huge.ini
582 rm -f %{buildroot}%{_datadir}/mysql/config.medium.ini
583 rm -f %{buildroot}%{_datadir}/mysql/config.small.ini
584 rm -f %{buildroot}%{_datadir}/mysql/mysqld_multi.server
585 rm -f %{buildroot}%{_datadir}/mysql/mysql-log-rotate
586 rm -f %{buildroot}%{_datadir}/mysql/mysql.server
587 rm -f %{buildroot}%{_datadir}/mysql/ndb-config-2-node.ini
588 rm -f %{buildroot}%{_datadir}/mysql/binary-configure
589 rm -f %{buildroot}%{_mandir}/man1/make_win_bin_dist.1*
590 rm -f %{buildroot}%{_mandir}/man1/make_win_src_distribution.1*
591 rm -f %{buildroot}%{_datadir}/mysql/magic
592
593 # no idea how to fix this
594 rm -rf %{buildroot}%{_prefix}/data
595 rm -rf %{buildroot}%{_prefix}/docs
596 rm -rf %{buildroot}%{_prefix}/scripts
597 rm -rf %{buildroot}%{_datadir}/doc
598 rm -rf %{buildroot}%{_sysconfdir}/init.d/mysql
599 rm -rf %{buildroot}%{_sysconfdir}/logrotate.d/mysql
600
601 %multiarch_binaries %{buildroot}%{_bindir}/mysql_config
602 %multiarch_includes %{buildroot}%{_includedir}/mysql/my_config.h
603
604 cat > README.urpmi <<EOF
605
606 NOTE: MariaDB is installed without root password, it is recommended to set the
607 root password with the following command as soon as possible:
608
609 mysqladmin password
610
611 The initscript used to start mysql has been reverted to use the one shipped
612 by MariaDB. This means the following changes:
613
614 * The generation of the initial system mysql database is now done when mysql
615 is started from the initscript and only if the /var/lib/mysql/mysql
616 directory is empty (mysql_install_db). Previousely this was quite hidden and
617 silently done at (rpm) install time. As a consequence to this change you may
618 have to perform some manual tasks to upgrade the mysql system database and
619 such. So, doing something like this might help you:
620
621 /etc/init.d/mysqld stop
622 TMPDIR=/var/tmp mysql_install_db
623 mysql_upgrade
624
625 The cluster functionalities (ndb) has been deactivated and will be removed in
626 future mysql versions. Oracle has a new product named mysql-cluster that
627 replaces the cluster functionalities.
628
629 The mysql-common-core package ships with a default /etc/my.cnf file that is
630 based on the my-medium.cnf file that comes with the source code.
631 EOF
632
633 ################################################################################
634 # run the tests
635 %if %{build_test}
636 # disable failing tests
637 pushd build/mysql-test
638 export LANG=C
639 export LC_ALL=C
640 export LANGUAGE=C
641 perl ./mysql-test-run.pl \
642 --mtr-build-thread="$((${RANDOM} % 100))" \
643 --retry=0 \
644 --ssl \
645 --big-test \
646 --force \
647 --max-test-fail=0 \
648 --testcase-timeout=60 \
649 --suite-timeout=1200 || false
650 popd
651 %endif
652
653 %pre
654 # enable plugins
655 if [ -f %{_sysconfdir}/my.cnf ]; then
656 perl -pi -e "s|^#plugin-load|plugin-load|g" %{_sysconfdir}/my.cnf
657 perl -pi -e "s|^#federated|federated|g" %{_sysconfdir}/my.cnf
658 # switch to federatedx provider
659 perl -pi -e "s|;ha_federated\.so$|;ha_federatedx\.so|g" %{_sysconfdir}/my.cnf
660 fi
661
662 %pre common
663 # delete the mysql group if no mysql user is found, before adding the user
664 if [ -z "`getent passwd %{muser}`" ] && ! [ -z "`getent group %{muser}`" ]; then
665 %{_sbindir}/groupdel %{muser} 2> /dev/null || :
666 fi
667
668 %_pre_useradd %{muser} /var/lib/mysql /bin/bash
669
670 %post
671 %_tmpfilescreate mysql
672 %_post_service mysqld
673
674 %preun
675 %_preun_service mysqld
676
677 %postun
678 if [ "$1" = "1" ]; then
679 if [ -f /var/lock/subsys/mysqld ]; then
680 %{_initrddir}/mysqld restart > /dev/null 2>/dev/null || :
681 fi
682 fi
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