%{?scl:%scl_package mroonga}
%{!?scl:%global pkg_name %{name}}
%define _centos_ver %{?centos_ver:%{centos_ver}}%{!?centos_ver:5}

%if %{_centos_ver} == 6
%define mysql_version_default 5.5.52
%define mysql_release_default 1
%define mysql_dist_default    el6
%define mysql_download_base_url_default http://vault.centos.org/6.8/sclo/Source/rh/mysql55/
%define mysql_spec_file_default mysql.spec
%else
%define mysql_version_default 5.5.45
%define mysql_release_default 1
%define mysql_dist_default    el5
%define mysql_download_base_url_default http://vault.centos.org/5.11/updates/SRPMS
%define mysql_spec_file_default mysql.spec
%endif

%define _mysql_version %{?mysql_version:%{mysql_version}}%{!?mysql_version:%{mysql_version_default}}
%define _mysql_release %{?mysql_release:%{mysql_release}}%{!?mysql_release:%{mysql_release_default}}
%define _mysql_dist %{?mysql_dist:%{mysql_dist}}%{!?mysql_dist:%{mysql_dist_default}}
%define _mysql_download_base_url %{?mysql_download_base_url:%{mysql_download_base_url}}%{!?mysql_download_base_url:%{mysql_download_base_url_default}}
%define _mysql_spec_file %{?mysql_spec_file:%{mysql_spec_file}}%{!?mysql_spec_file:%{mysql_spec_file_default}}

%define groonga_required_version @REQUIRED_GROONGA_VERSION@

Name:		%{?scl_prefix}mroonga
Version:	@VERSION@
Release:	1%{?dist}
Summary:	A fast fulltext searchable storage engine for MySQL

Group:		Applications/Databases
License:	LGPLv2.1
URL:		http://mroonga.org/
Source0:	http://packages.groonga.org/source/mroonga/mroonga-%{version}.tar.gz

BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n)
BuildRequires:	groonga-devel >= %{groonga_required_version}
BuildRequires:	groonga-normalizer-mysql-devel
BuildRequires:	wget
BuildRequires:	which
BuildRequires:	mysql55-mysql-devel = %{_mysql_version}-%{_mysql_release}.%{_mysql_dist}
BuildRequires:	mysql55-build
Requires:	mysql55-mysql-server = %{_mysql_version}-%{_mysql_release}.%{_mysql_dist}
Requires:	mysql55-mysql = %{_mysql_version}-%{_mysql_release}.%{_mysql_dist}
Requires:	groonga-libs >= %{groonga_required_version}
Requires:	groonga-normalizer-mysql
%{?scl:Requires: %scl_runtime}

%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.1

%description doc
Documentation for Mroonga


%prep
%setup -q -n %{pkg_name}-%{version}

mysql_full_version=%{_mysql_version}-%{_mysql_release}.%{_mysql_dist}
srpm=mysql55-mysql-${mysql_full_version}.src.rpm
if [ ! -f ../../SRPMS/$srpm ]; then
    wget --continue -O ../../SRPMS/$srpm %{_mysql_download_base_url}/$srpm
    rpm -Uvh ../../SRPMS/$srpm
fi

%build
mysql_source=../mysql-%{_mysql_version}
if [ ! -d ${mysql_source} ]; then
    specs_dir=
    MYSQL_RPMBUILD_TEST=no rpmbuild -bp \
	--define 'runselftest 0' \
	--define 'optflags -O0' \
	../../SPECS/%{_mysql_spec_file}
fi
%configure --disable-static --with-mysql-source=${mysql_source} \
    --disable-fast-mutexes \
    --with-mysql-config=`scl enable mysql55 'which mysql_config'` \
    %{?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
mysql_command=`scl enable mysql55 'which mysql'`
if $mysql_command -u root -e "quit" > /dev/null 2>&1; then
  password_option=""
else
  password_option="-p"
fi
current_version=0
version=`echo %{groonga_required_version} | sed -e 's/\.//g'`
required_version=`expr $version`
version=`$mysql_command -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
install_sql=%{_datadir}/mroonga/install.sql
uninstall_sql=%{_datadir}/mroonga/uninstall.sql

if [ "$1" = 2 ] ; then
    if [ $current_version -lt $required_version ]; then
	command="$mysql_command -u root $password_option"
	echo "run the following command after restarting MySQL server:";
	echo "  $command < ${uninstall_sql}"
	echo "  $command < ${install_sql}"
	exit 0
    else
	command="$mysql_command -u root $password_option < ${uninstall_sql}"
	echo $command
	eval $command || \
	    (echo "run the following command to unregister Mroonga:"; \
	     echo "  $command")
    fi
fi
command="$mysql_command -u root $password_option < ${install_sql}"
echo $command
eval $command || \
	(echo "run the following command to register Mroonga:"; \
	 echo "  $command")

%preun
uninstall_sql=%{_datadir}/mroonga/uninstall.sql
mysql_command=`scl enable mysql55 'which mysql'`
if $mysql_command -u root -e "quit" > /dev/null 2>&1; then
    password_option=""
else
    password_option="-p"
fi
if [ "$1" = 0 ]; then
    command="$mysql_command -u root $password_option < ${uninstall_sql}"
    echo $command
    eval $command || \
	(echo "run the following command to unregister Mroonga:"; \
	 echo "  $command")
fi

%files
%defattr(-,root,root,-)
%{_libdir}/mysql/plugin/
%{_datadir}/mroonga/*
%{_datadir}/man/man1/*
%{_datadir}/man/*/man1/*

%files doc
%defattr(-,root,root,-)
%doc README COPYING
%doc mysql-mroonga-doc/*

%changelog
* Thu Oct 12 2017 Kentaro Hayashi <hayashi@clear-code.com> - 7.07-1
- new upstream release.

* Tue Aug 29 2017 Kentaro Hayashi <hayashi@clear-code.com> - 7.06-1
- new upstream release.

* Sat Jul 29 2017 Kentaro Hayashi <hayashi@clear-code.com> - 7.05-1
- new upstream release.

* Thu Jun 29 2017 Kentaro Hayashi <hayashi@clear-code.com> - 7.04-1
- new upstream release.

* Mon May 29 2017 Kentaro Hayashi <hayashi@clear-code.com> - 7.03-1
- new upstream release.

* Sat Apr 29 2017 Kentaro Hayashi <hayashi@clear-code.com> - 7.02-1
- new upstream release.

* Wed Mar 29 2017 Kentaro Hayashi <hayashi@clear-code.com> - 7.01-1
- new upstream release.

* Thu Feb 09 2017 Kentaro Hayashi <hayashi@clear-code.com> - 7.00-1
- new upstream release.

* Fri Jan 13 2017 Kouhei Sutou <kou@clear-code.com> - 6.13-1
- new upstream release.

* Thu Dec 29 2016 Kentaro Hayashi <hayashi@clear-code.com> - 6.12-1
- new upstream release.

* Tue Nov 29 2016 Kentaro Hayashi <hayashi@clear-code.com> - 6.11-1
- new upstream release.

* Sat Oct 29 2016 Kentaro Hayashi <hayashi@clear-code.com> - 6.10-1
- new upstream release.

* Thu Sep 29 2016 Kentaro Hayashi <hayashi@clear-code.com> - 6.09-1
- new upstream release.

* Mon Aug 29 2016 Kentaro Hayashi <hayashi@clear-code.com> - 6.08-1
- new upstream release.

* Fri Jul 29 2016 Kentaro Hayashi <hayashi@clear-code.com> - 6.07-1
- new upstream release.

* Thu Jun 30 2016 Masafumi Yokoyama <yokoyama@clear-code.com> - 6.06-1
- new upstream release.

* Wed Jun 29 2016 Kentaro Hayashi <hayashi@clear-code.com> - 6.05-1
- new upstream release.

* Sun May 29 2016 Kentaro Hayashi <hayashi@clear-code.com> - 6.03-1
- new upstream release.

* Fri Apr 29 2016 HAYASHI Kentaro <hayashi@clear-code.com> - 6.02-1
- new upstream release.

* Tue Mar 29 2016 Masafumi Yokoyama <yokoyama@clear-code.com> - 6.01-1
- new upstream release.

* Mon Feb 29 2016 Kouhei Sutou <kou@clear-code.com> - 6.00-1
- new upstream release.

* Fri Jan 29 2016 Kouhei Sutou <kou@clear-code.com> - 5.12-1
- new upstream release.

* Sun Nov 29 2015 Kouhei Sutou <kou@clear-code.com> - 5.10-1
- new upstream release.

* Thu Oct 29 2015 Kouhei Sutou <kou@cozmixng.org> - 5.09-1
- new upstream release.

* Tue Sep 29 2015 Kouhei Sutou <kou@clear-code.com> - 5.08-1
- new upstream release.

* Mon Aug 31 2015 Kouhei Sutou <kou@clear-code.com> - 5.06-1
- new upstream release.

* Wed Jul 29 2015 Masafumi Yokoyama <yokoyama@clear-code.com> - 5.05-1
- new upstream release.

* Mon Jun 29 2015 Masafumi Yokoyama <myokoym@gmail.com> - 5.04-1
- new upstream release.

* Fri May 29 2015 HAYASHI Kentaro <hayashi@clear-code.com> - 5.03-1
- new upstream release.

* Wed Apr 29 2015 HAYASHI Kentaro <hayashi@clear-code.com> - 5.02-1
- new upstream release.

* Sun Mar 29 2015 HAYASHI Kentaro <hayashi@clear-code.com> - 5.01-1
- new upstream release.

* Mon Feb 09 2015  <hayashi@clear-code.com> - 5.00-1
- new upstream release.

* Thu Jan 29 2015 HAYASHI Kentaro <hayashi@clear-code.com> - 4.10-1
- new upstream release.

* Mon Dec 29 2014 Kouhei Sutou <kou@cozmixng.org> - 4.09-1
- new upstream release.

* Sat Nov 29 2014 HAYASHI Kentaro <hayashi@clear-code.com> - 4.08-1
- new upstream release.

* Wed Oct 29 2014 Kouhei Sutou <kou@clear-code.com> - 4.07-1
- new upstream release.

* Mon Sep 29 2014 Kouhei Sutou <kou@clear-code.com> - 4.06-1
- new upstream release.

* Fri Aug 29 2014 Kouhei Sutou <kou@clear-code.com> - 4.05-1
- new upstream release.

* Tue Jul 29 2014 HAYASHI Kentaro <hayashi@clear-code.com> - 4.04-1
- new upstream release.

* Thu May 29 2014 Kouhei Sutou <kou@clear-code.com> - 4.03-2
- build against MySQL 5.6.37. Reported by YOSHIDA Mitsuo. Thanks!!!

* Thu May 29 2014 Kouhei Sutou <kou@clear-code.com> - 4.03-1
- new upstream release.

* Tue Apr 29 2014 Kouhei Sutou <kou@clear-code.com> - 4.02-1
- new upstream release.

* Sat Mar 29 2014 HAYASHI Kentaro <hayashi@clear-code.com> - 4.01-1
- new upstream release.

* Thu Mar 06 2014 HAYASHI Kentaro <hayashi@clear-code.com> - 4.00-2
- use MySQL 5.5.36 on CentOS 5.

* Sun Feb 09 2014 HAYASHI Kentaro <hayashi@clear-code.com> - 4.00-1
- new upstream release.

* Wed Jan 29 2014 HAYASHI Kentaro <hayashi@clear-code.com> - 3.12-1
- new upstream release.

* Sun Dec 29 2013 HAYASHI Kentaro <hayashi@clear-code.com> - 3.11-1
- new upstream release.

* Fri Nov 29 2013 HAYASHI Kentaro <hayashi@clear-code.com> - 3.10-1
- new upstream release.

* Tue Oct 29 2013 HAYASHI Kentaro <hayashi@clear-code.com> - 3.09-1
- initial packaging for MySQL 5.5 on CentOS 5.
