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

  ViewVC Help
Powered by ViewVC 1.1.30