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

  ViewVC Help
Powered by ViewVC 1.1.30