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

  ViewVC Help
Powered by ViewVC 1.1.30