/[packages]/cauldron/mariadb/current/SPECS/mariadb.spec
ViewVC logotype

Annotation of /cauldron/mariadb/current/SPECS/mariadb.spec

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.30