Search
j0ke.net Open Build Service
>
Projects
>
internetx
:
mysql5
:
EL5
:
5.1.61
>
mysql
> mysql.spec
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File mysql.spec of Package mysql
Name: mysql Version: 5.1.61 Release: 1 Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com # exceptions allow client libraries to be linked with most open source SW, # not only GPL code. License: GPLv2 with exceptions # Regression tests take a long time, you can skip 'em with this %{!?runselftest:%global runselftest 0} # Upstream has a mirror redirector for downloads, so the URL is hard to # represent statically. You can get the tarball by following a link from # http://dev.mysql.com/downloads/mysql/ Source0: mysql-%{version}.tar.bz2 # The upstream tarball includes non-free documentation that we cannot ship. # To remove the non-free documentation, run this script after downloading # the tarball into the current directory: # ./generate-tarball.sh $VERSION # Source1: generate-tarball.sh not used for remi repo Source2: mysql.init Source3: my.cnf Source4: scriptstub.c Source5: my_config.h Source6: README.mysql-docs Source9: mysql-embedded-check.c # Working around perl dependency checking bug in rpm FTTB. Remove later. Source999: filter-requires-mysql.sh Patch1: mysql-ssl-multilib.patch Patch2: mysql-errno.patch # Patch3: mysql-stack.patch Patch4: mysql-testing.patch Patch5: mysql-install-test.patch Patch6: mysql-stack-guard.patch #Patch7: mysql-plugin-bug.patch Patch8: mysql-setschedparam.patch Patch9: mysql-no-docs.patch #Patch10: mysql-strmov.patch Patch12: mysql-cve-2008-7247.patch Patch13: mysql-expired-certs.patch #Patch14: mysql-missing-string-code.patch #Patch15: mysql-lowercase-bug.patch Patch16: mysql-chain-certs.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gperf, perl, readline-devel, openssl-devel BuildRequires: gcc-c++, ncurses-devel, zlib-devel BuildRequires: libtool automake autoconf gawk # make test requires time and ps BuildRequires: time procps # Socket is needed to run regression tests BuildRequires: perl(Socket) # This is required old EL4 BuildRequires: perl(Time::HiRes) Requires: grep, fileutils Requires: %{name}-libs = %{version}-%{release} Requires: bash # MySQL (with caps) is upstream's spelling of their own RPMs for mysql Conflicts: MySQL # mysql-cluster used to be built from this SRPM, but no more Obsoletes: mysql-cluster < 5.1.44 # Working around perl dependency checking bug in rpm FTTB. Remove later. %global __perl_requires %{SOURCE999} %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. The base package contains the standard MySQL client programs and generic MySQL files. %package libs Summary: The shared libraries required for MySQL clients Group: Applications/Databases Requires: /sbin/ldconfig Obsoletes: mysqlclient16 %description libs The mysql-libs package provides the essential shared libraries for any MySQL client program or interface. You will need to install this package to use any other MySQL package or any clients that need to connect to a MySQL server. %package server Summary: The MySQL server and related files Group: Applications/Databases Requires: %{name} = %{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd Requires(post): chkconfig Requires(preun): chkconfig # This is for /sbin/service Requires(preun): initscripts Requires(postun): initscripts # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL Conflicts: MySQL-server %description server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. This package contains the MySQL server and some accompanying files and directories. %package devel Summary: Files for development of MySQL applications Group: Applications/Databases Requires: %{name} = %{version}-%{release} Requires: openssl-devel Conflicts: MySQL-devel %description devel MySQL is a multi-user, multi-threaded SQL database server. This package contains the libraries and header files that are needed for developing MySQL client applications. %package embedded Summary: MySQL as an embeddable library Group: Applications/Databases %description embedded MySQL is a multi-user, multi-threaded SQL database server. This package contains a version of the MySQL server that can be embedded into a client application instead of running as a separate process. %package embedded-devel Summary: Development files for MySQL as an embeddable library Group: Applications/Databases Requires: %{name}-embedded = %{version}-%{release} Requires: %{name}-devel = %{version}-%{release} %description embedded-devel MySQL is a multi-user, multi-threaded SQL database server. This package contains files needed for developing and testing with the embedded version of the MySQL server. %package bench Summary: MySQL benchmark scripts and data Group: Applications/Databases Requires: %{name} = %{version}-%{release} Conflicts: MySQL-bench %description bench MySQL is a multi-user, multi-threaded SQL database server. This package contains benchmark scripts and data for use when benchmarking MySQL. %package test Summary: The test suite distributed with MySQL Group: Applications/Databases Requires: %{name} = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} Conflicts: MySQL-test %description test MySQL is a multi-user, multi-threaded SQL database server. This package contains the regression test suite distributed with the MySQL sources. %prep %setup -q -n mysql-%{version} %patch1 -p1 %patch2 -p1 # %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 ##patch7 -p1 %patch8 -p1 %patch9 -p1 ##patch10 -p1 %patch12 -p1 %patch13 -p1 ##patch14 -p1 ##patch15 -p1 %patch16 -p1 chmod +x %{S:999} # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt libtoolize --force aclocal automake --add-missing -Wno-portability autoconf autoheader %build # fail quickly and obviously if user tries to build as root %if %runselftest if [ x"`id -u`" = x0 ]; then echo "mysql's regression tests fail if run as root." echo "If you really need to build the RPM as root, use" echo "--define='runselftest 0' to skip the regression tests." exit 1 fi %endif CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" # MySQL 4.1.10 definitely doesn't work under strict aliasing; also, # gcc 4.1 breaks MySQL 5.0.16 without -fwrapv CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv" # force PIC mode so that we can build libmysqld.so CFLAGS="$CFLAGS -fPIC" # gcc seems to have some bugs on sparc as of 4.4.1, back off optimization # submitted as bz #529298 %ifarch sparc sparcv9 sparc64 CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` %endif # extra C++ flags as per recommendations in mysql's INSTALL-SOURCE doc CXXFLAGS="$CFLAGS -felide-constructors -fno-rtti -fno-exceptions" export CFLAGS CXXFLAGS # mysql 5.1.30 fails regression tests on x86 unless we use --with-big-tables, # suggesting that upstream doesn't bother to test the other case ... # note: the with-plugin and without-plugin options do actually work; ignore # warnings from configure suggesting they are ignored ... %configure \ --with-readline \ --with-ssl=/usr \ --without-debug \ --enable-shared \ --with-embedded-server \ --localstatedir=/var/lib/mysql \ --with-unix-socket-path=/var/lib/mysql/mysql.sock \ --with-mysqld-user="mysql" \ --with-extra-charsets=all \ --with-big-tables \ --with-pic \ --with-plugin-innobase \ --with-plugin-archive \ --with-plugin-blackhole \ --with-plugin-csv \ --with-plugin-federated \ --with-plugin-partition \ --without-example-storage-engine \ --without-plugin-daemon_example \ --without-plugin-ftexample \ --enable-local-infile \ --enable-largefile \ --enable-thread-safe-client \ --with-comment="MySQL Community Server (GPL) by InterNetX GmbH" \ --disable-dependency-tracking gcc $CFLAGS $LDFLAGS -o scriptstub "-DLIBDIR=\"%{_libdir}/mysql\"" %{SOURCE4} # Not enabling assembler make %{?_smp_mflags} # regular build will make libmysqld.a but not libmysqld.so :-( mkdir libmysqld/work cd libmysqld/work ar -x ../libmysqld.a # define twice ?? rm ha_federated.o gcc $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o libmysqld.so.0.0.1 \ *.o \ -lpthread -lcrypt -lnsl -lssl -lcrypto -lz -lrt -lstdc++ -lm -lc # this is to check that we built a complete library cp %{SOURCE9} . ln -s libmysqld.so.0.0.1 libmysqld.so.0 gcc -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.0 LD_LIBRARY_PATH=. ldd ./a.out cd ../.. make check %if %runselftest # hack to let 32- and 64-bit tests run concurrently on same build machine case `uname -m` in ppc64 | s390x | x86_64 | sparc64 ) MTR_BUILD_THREAD=7 ;; *) MTR_BUILD_THREAD=11 ;; esac export MTR_BUILD_THREAD # note: "make test" invokes two largely-duplicate sets of tests, # which makes the runtime really unacceptably long ... # if you want to change this, look at mysql-testing.patch too. #make test-ns #make force=--force test-ns || : #make force=--force test-pr || : # RC minimal test cd mysql-test %{__perl} ./mysql-test-run.pl \ --ssl --mysqld=--binlog-format=mixed --suite=main %endif %install rm -rf $RPM_BUILD_ROOT %makeinstall # multilib header hacks # we only apply this to known Red Hat multilib arches, per bug #181335 case `uname -i` in i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparc64 ) mv $RPM_BUILD_ROOT/usr/include/mysql/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/ ;; *) ;; esac mkdir -p $RPM_BUILD_ROOT/var/log touch $RPM_BUILD_ROOT/var/log/mysqld.log # List the installed tree for RPM package maintenance purposes. find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d mkdir -p $RPM_BUILD_ROOT/var/run/mysqld install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql install -m 0755 %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf mv $RPM_BUILD_ROOT/usr/sql-bench $RPM_BUILD_ROOT%{_datadir}/sql-bench mv $RPM_BUILD_ROOT/usr/mysql-test $RPM_BUILD_ROOT%{_datadir}/mysql-test # 5.1.32 forgets to install the mysql-test README file install -m 0644 mysql-test/README $RPM_BUILD_ROOT%{_datadir}/mysql-test/README mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysqlbug install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config install -m 0755 scriptstub ${RPM_BUILD_ROOT}%{_bindir}/mysql_config rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a install -m 0755 libmysqld/work/libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so.0.0.1 ln -s libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so.0 ln -s libmysqld.so.0 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so rm -f ${RPM_BUILD_ROOT}%{_bindir}/comp_err rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/comp_err.1* rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_binary_distribution rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_src_distribution rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_bin_dist.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_src_distribution.1* rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient*.la rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/*.a rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/plugin/*.la rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/plugin/*.a rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_binary_distribution rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_sharedlib_distribution rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mi_test_all* rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb-config-2-node.ini rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysqld_multi.server rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/MySQL-shared-compat.spec rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/*.plist rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/preinstall rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/postinstall rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-*.spec rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ChangeLog rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf # copy additional docs into build tree so %%doc will find them cp %{SOURCE6} README.mysql-docs %clean rm -rf $RPM_BUILD_ROOT %pre libs echo -e "\nWARNING : This MySQL RPM is not an official Fedora/Redhat build and it" echo -e "overrides the official one. Don't file bugs on Fedora Project nor Redhat." echo -e "Use dedicated forums http://forums.famillecollet.com/\n" %if %{?fedora}%{!?fedora:99} <= 11 echo -e "WARNING : Fedora %{fedora} is now EOL :" echo -e "You should consider upgrading to a supported release.\n" %endif %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : # -N options used on Fedora not available on EL and fedora <= 8 and EL <= 5 /usr/sbin/useradd -M -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %post libs /sbin/ldconfig %post server if [ $1 = 1 ]; then /sbin/chkconfig --add mysqld fi /bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log %preun server if [ $1 = 0 ]; then /sbin/service mysqld stop >/dev/null 2>&1 /sbin/chkconfig --del mysqld fi %postun libs if [ $1 = 0 ] ; then /sbin/ldconfig fi %postun server if [ $1 -ge 1 ]; then /sbin/service mysqld condrestart >/dev/null 2>&1 || : fi %files %defattr(-,root,root) %doc README COPYING EXCEPTIONS-CLIENT %doc README.mysql-docs %{_bindir}/msql2mysql %{_bindir}/mysql %{_bindir}/mysql_config %{_bindir}/mysql_find_rows %{_bindir}/mysql_waitpid %{_bindir}/mysqlaccess %{_bindir}/mysqladmin %{_bindir}/mysqlbinlog %{_bindir}/mysqlcheck %{_bindir}/mysqldump %{_bindir}/mysqlimport %{_bindir}/mysqlshow %{_bindir}/mysqlslap %{_bindir}/my_print_defaults %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysql_config.1* %{_mandir}/man1/mysql_find_rows.1* %{_mandir}/man1/mysql_waitpid.1* %{_mandir}/man1/mysqlaccess.1* %{_mandir}/man1/mysqladmin.1* %{_mandir}/man1/mysqldump.1* %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/my_print_defaults.1* %{_libdir}/mysql/mysqlbug %{_libdir}/mysql/mysql_config %files libs %defattr(-,root,root) %doc COPYING EXCEPTIONS-CLIENT # although the default my.cnf contains only server settings, we put it in the # libs package because it can be used for client settings too. %config(noreplace) /etc/my.cnf %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient*.so.* /etc/ld.so.conf.d/* %dir %{_datadir}/mysql %{_datadir}/mysql/english %lang(cs) %{_datadir}/mysql/czech %lang(da) %{_datadir}/mysql/danish %lang(nl) %{_datadir}/mysql/dutch %lang(et) %{_datadir}/mysql/estonian %lang(fr) %{_datadir}/mysql/french %lang(de) %{_datadir}/mysql/german %lang(el) %{_datadir}/mysql/greek %lang(hu) %{_datadir}/mysql/hungarian %lang(it) %{_datadir}/mysql/italian %lang(ja) %{_datadir}/mysql/japanese %lang(ko) %{_datadir}/mysql/korean %lang(no) %{_datadir}/mysql/norwegian %lang(no) %{_datadir}/mysql/norwegian-ny %lang(pl) %{_datadir}/mysql/polish %lang(pt) %{_datadir}/mysql/portuguese %lang(ro) %{_datadir}/mysql/romanian %lang(ru) %{_datadir}/mysql/russian %lang(sr) %{_datadir}/mysql/serbian %lang(sk) %{_datadir}/mysql/slovak %lang(es) %{_datadir}/mysql/spanish %lang(sv) %{_datadir}/mysql/swedish %lang(uk) %{_datadir}/mysql/ukrainian %{_datadir}/mysql/charsets %files server %defattr(-,root,root) %doc support-files/*.cnf %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack %{_bindir}/mysql_convert_table_format %{_bindir}/mysql_fix_extensions %{_bindir}/mysql_fix_privilege_tables %{_bindir}/mysql_install_db %{_bindir}/mysql_secure_installation %{_bindir}/mysql_setpermission %{_bindir}/mysql_tzinfo_to_sql %{_bindir}/mysql_upgrade %{_bindir}/mysql_zap %{_bindir}/mysqlbug %{_bindir}/mysqldumpslow %{_bindir}/mysqld_multi %{_bindir}/mysqld_safe %{_bindir}/mysqlhotcopy %{_bindir}/mysqltest %{_bindir}/innochecksum %{_bindir}/perror %{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip /usr/libexec/mysqld /usr/libexec/mysqlmanager %{_libdir}/mysql/plugin %{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* %{_mandir}/man1/mysql_convert_table_format.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/mysql.server.1* %{_mandir}/man1/mysql_fix_extensions.1* %{_mandir}/man1/mysql_fix_privilege_tables.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysql_zap.1* %{_mandir}/man1/mysqlbug.1* %{_mandir}/man1/mysqldumpslow.1* %{_mandir}/man1/mysqlbinlog.1* %{_mandir}/man1/mysqlcheck.1* %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqld_safe.1* %{_mandir}/man1/mysqlhotcopy.1* %{_mandir}/man1/mysqlimport.1* %{_mandir}/man1/mysqlman.1* %{_mandir}/man1/mysql_setpermission.1* %{_mandir}/man1/mysqltest.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* %{_mandir}/man1/replace.1* %{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man1/resolveip.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man8/mysqld.8* %{_mandir}/man8/mysqlmanager.8* %{_datadir}/mysql/errmsg.txt %{_datadir}/mysql/fill_help_tables.sql %{_datadir}/mysql/mysql_fix_privilege_tables.sql %{_datadir}/mysql/mysql_system_tables.sql %{_datadir}/mysql/mysql_system_tables_data.sql %{_datadir}/mysql/mysql_test_data_timezone.sql %{_datadir}/mysql/my-*.cnf %{_datadir}/mysql/config.*.ini /etc/rc.d/init.d/mysqld %attr(0755,mysql,mysql) %dir /var/run/mysqld %attr(0755,mysql,mysql) %dir /var/lib/mysql %attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log %files devel %defattr(-,root,root) /usr/include/mysql /usr/share/aclocal/mysql.m4 %{_libdir}/mysql/libmysqlclient*.so %files embedded %defattr(-,root,root) %doc COPYING EXCEPTIONS-CLIENT %{_libdir}/mysql/libmysqld.so.* %files embedded-devel %defattr(-,root,root) %{_libdir}/mysql/libmysqld.so %{_bindir}/mysql_client_test_embedded %{_bindir}/mysqltest_embedded %{_mandir}/man1/mysql_client_test_embedded.1* %{_mandir}/man1/mysqltest_embedded.1* %files bench %defattr(-,root,root) %{_datadir}/sql-bench %files test %defattr(-,root,root) %{_bindir}/mysql_client_test %attr(-,mysql,mysql) %{_datadir}/mysql-test %{_mandir}/man1/mysql_client_test.1* %changelog