%define mysql_version 5.5.33 %define mysql_release 1%{?dist} # %define mysql_download_base_url http://ftp.iij.ad.jp/pub/linux/fedora/releases/16/Everything/source/SRPMS %define mysql_download_base_url http://ftp.iij.ad.jp/pub/linux/fedora/updates/19/SRPMS %define groonga_required_version 3.0.7 Name: mysql-mroonga Version: 3.08 Release: 1%{?dist} Summary: A fast fulltext searchable storage engine for MySQL Group: Applications/Databases License: LGPLv2 URL: http://mroonga.org/ Source0: http://packages.groonga.org/source/mroonga/mroonga-%{version}.tar.gz BuildRequires: groonga-devel >= %{groonga_required_version} BuildRequires: groonga-normalizer-mysql-devel BuildRequires: community-mysql-devel Requires: groonga-libs >= %{groonga_required_version} Requires: community-mysql-server = %{mysql_version}-%{mysql_release} Requires: community-mysql = %{mysql_version}-%{mysql_release} Requires: groonga-normalizer-mysql Obsoletes: mysql-groonga < 1.10-0 %description Mroonga is a fast fulltext searchable storage plugin for MySQL. It is based on groonga that is a fast fulltext search engine and column store. Groonga is good at real-time update. %package doc Summary: Documentation for mroonga Group: Documentation License: LGPLv2 %description doc Documentation for mroonga %prep %setup -q -n mroonga-%{version} srpm=community-mysql-%{mysql_version}-%{mysql_release}.src.rpm if [ ! -f ../../SRPMS/$srpm ]; then curl --output ../../SRPMS/$srpm %{mysql_download_base_url}/$srpm rpm -Uvh ../../SRPMS/$srpm fi %build if [ ! -d ../mysql-%{mysql_version} ]; then rpmbuild -bp --define 'runselftest 0' --define 'optflags -O0' \ ../../SPECS/community-mysql.spec fi %configure CPPFLAGS="-DDISABLE_DTRACE" \ --disable-static \ --with-mysql-source=../mysql-%{mysql_version} \ --disable-fast-mutexes \ %{?mroonga_configure_options} make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT rm $RPM_BUILD_ROOT%{_libdir}/mysql/plugin/*.la mv $RPM_BUILD_ROOT%{_datadir}/doc/mroonga/ mysql-mroonga-doc/ %clean rm -rf $RPM_BUILD_ROOT %post password_option="" mysql -u root -e "quit" if [ $? -ne 0 ]; then password_option="-p" fi drop_sql=" USE mysql; DROP FUNCTION IF EXISTS mroonga_snippet; DROP FUNCTION IF EXISTS last_insert_grn_id; DROP FUNCTION IF EXISTS mroonga_command; DROP FUNCTION IF EXISTS mroonga_escape; UNINSTALL PLUGIN mroonga; FLUSH TABLES; " install_sql=" DELETE IGNORE FROM mysql.plugin WHERE name = 'mroonga'; INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so'; CREATE FUNCTION last_insert_grn_id RETURNS INTEGER SONAME 'ha_mroonga.so'; CREATE FUNCTION mroonga_snippet RETURNS STRING SONAME 'ha_mroonga.so'; CREATE FUNCTION mroonga_command RETURNS STRING SONAME 'ha_mroonga.so'; CREATE FUNCTION mroonga_escape RETURNS STRING SONAME 'ha_mroonga.so'; " current_version=0 version=`echo %{groonga_required_version} | sed -e 's/\.//g'` required_version=`expr $version` version=`mysql -e "show variables like 'mroonga_libgroonga_version'" | \ grep mroonga | cut -f 2 | sed -e 's/\.//g'` if [ -n "$version" ]; then current_version=`expr $version` fi if [ "$1" = 2 ] ; then if [ $current_version -lt $required_version ]; then sql="$drop_sql$install_sql" command="/usr/bin/mysql -u root $password_option -e \"$sql\"" echo "run the following command after restarting mysql server:"; echo " $command" exit 0 else sql="$drop_sql" command="/usr/bin/mysql -u root $password_option -e \"$sql\"" echo $command eval $command || \ (echo "run the following command to unregister mroonga:"; \ echo " $command") fi fi sql="$install_sql" command="/usr/bin/mysql -u root $password_option -e \"$sql\"" echo $command eval $command || \ (echo "run the following command to register mroonga:"; \ echo " $command") %preun password_option="" mysql -u root -e "quit" if [ $? -ne 0 ]; then password_option="-p" fi if [ "$1" = 0 ]; then sql=" USE mysql; DROP FUNCTION IF EXISTS mroonga_snippet; DROP FUNCTION IF EXISTS last_insert_grn_id; DROP FUNCTION IF EXISTS mroonga_command; DROP FUNCTION IF EXISTS mroonga_escape; UNINSTALL PLUGIN mroonga; FLUSH TABLES; " command="/usr/bin/mysql -u root $password_option -e \"$sql\"" echo $command eval $command || \ (echo "run the following command to unregister mroonga:"; \ echo " $command") fi %files %defattr(-,root,root,-) %{_libdir}/mysql/plugin/ %{_datadir}/man/man1/* %{_datadir}/man/*/man1/* %files doc %defattr(-,root,root,-) %doc README COPYING %doc mysql-mroonga-doc/* %changelog * Sun Sep 29 2013 HAYASHI Kentaro - 3.08-1 - new upstream release. - use MySQL 5.5.33 on Fedora 19. * Wed Sep 4 2013 HAYASHI Kentaro - 3.07-2 - fix a bug that mroonga is removed accidentally on upgrade #1918. Reported by @ceekz. Thanks!!! * Thu Aug 29 2013 HAYASHI Kentaro - 3.07-1 - new upstream release. * Mon Jul 29 2013 HAYASHI Kentaro - 3.06-1 - new upstream release. * Sat Jun 29 2013 HAYASHI Kentaro - 3.05-1 - new upstream release. - use MySQL 5.5.32 on Fedora 18. * Wed May 29 2013 HAYASHI Kentaro - 3.04-1 - new upstream release. - use MySQL 5.5.31 on Fedora 18. * Mon Apr 29 2013 HAYASHI Kentaro - 3.03-1 - new upstream release. * Fri Mar 29 2013 HAYASHI Kentaro - 3.02-0 - new upstream release. * Thu Feb 28 2013 HAYASHI Kentaro - 3.01-0 - new upstream release. - use MySQL 5.5.30 on Fedora 18. * Sat Feb 09 2013 HAYASHI Kentaro - 3.00-0 - new upstream release. - support Fedora 18. - drop Fedora 17 support. - require groonga 3.0.0 or later * Thu Jan 24 2013 HAYASHI Kentaro - 2.10-1 - build with MySQL 5.5.29 on Fedora 17. * Sat Dec 29 2012 HAYASHI Kentaro - 2.10-0 - new upstream release. * Thu Nov 29 2012 HAYASHI Kentaro - 2.09-0 - new upstream release. * Mon Oct 29 2012 HAYASHI Kentaro - 2.08-0 - new upstream release. - add missing "DROP FUNCTION mroonga_snippet". Reported by @tokuhy. Thanks!!! - use MySQL 5.5.28. * Sat Sep 29 2012 HAYASHI Kentaro - 2.07-0 - new upstream release. * Wed Aug 29 2012 Kouhei Sutou - 2.06-0 - new upstream release. - use MySQL 5.5.27. * Sun Jul 29 2012 HAYASHI Kentaro - 2.05-0 - new upstream release. - use MySQL 5.5.25a. * Fri Jun 29 2012 Kouhei Sutou - 2.04-0 - new upstream release. - ensure deleting mroonga plugin before install. Suggested by Kazuhiro Isobe. Thanks!!! - use MySQL 5.5.24. * Tue May 29 2012 Kouhei Sutou - 2.03-0 - new upstream release. - use MySQL 5.5.23. - require groonga 2.0.3 or later. * Sun Apr 29 2012 Kouhei Sutou - 2.02-0 - new upstream release. - require groonga 2.0.2 or later. - use MySQL 5.5.22. * Thu Mar 29 2012 Kouhei Sutou - 2.01-0 - new upstream release. - ensure plugin is uninstalled by closing all tables use mroonga. - use MySQL 5.5.21. * Wed Feb 29 2012 Kouhei Sutou - 2.00-0 - new upstream release. - always install/uninstall plugin. - use MySQL 5.5.20. - require groonga 2.0.0 or later. * Sun Jan 29 2012 Kouhei Sutou - 1.20-0 - new upstream release. - require groonga 1.3.0. - groonga -> mroonga. - use MySQL 5.5.19. * Thu Dec 29 2011 Kouhei Sutou - 1.11-0 - new upstream release. * Sat Oct 29 2011 Kouhei Sutou - 1.10-0 - new upstream release. - groonga storage engine -> mroonga. - split document package. * Thu Sep 29 2011 Kouhei Sutou - 1.0.0-0 - new upstream release. * Mon Aug 29 2011 Kouhei Sutou - 0.9-0 - new upstream release. * Fri Jul 29 2011 Kouhei Sutou - 0.8-0 - new upstream release. * Wed Jun 29 2011 Kouhei Sutou - 0.7-0 - new upstream release. * Sun May 29 2011 Kouhei Sutou - 0.6-0 - new upstream release. * Tue Mar 29 2011 Kouhei Sutou - 0.5-1 - new upstream release. * Sat Jan 29 2011 Kouhei Sutou - 0.4-3 - do not remove plugin on upgrade. * Thu Dec 30 2010 Kouhei Sutou - 0.4-2 - fix SQL literal notation. * Mon Nov 29 2010 Kouhei Sutou - 0.4-1 - use the latest MySQL. - new upstream release. * Sun Nov 21 2010 Kouhei Sutou - 0.3-2 - install user define function. * Fri Oct 29 2010 Kouhei Sutou - 0.3-1 - new upstream release. * Fri Oct 08 2010 Kouhei Sutou - 0.2-2 - use %{version}. * Wed Sep 29 2010 Kouhei Sutou - 0.2-1 - new upstream release. * Sun Sep 12 2010 Kouhei Sutou - 0.1-3 - require mysql-client. * Fri Sep 10 2010 Kouhei Sutou - 0.1-2 - follow configure option changes. * Fri Sep 03 2010 Kouhei Sutou - 0.1-1 - initial packaging for Fedora.