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

  ViewVC Help
Powered by ViewVC 1.1.30