[groonga] Import groonga 1.0.2-7.

Daiki Ueno ueno at fedoraproject.org
Thu Oct 7 03:04:07 UTC 2010


commit e9a2ba4026cd22a9d9e79f8a9555de2205c7f5db
Author: Daiki Ueno <ueno at unixuser.org>
Date:   Thu Oct 7 12:07:08 2010 +0900

    Import groonga 1.0.2-7.

 .gitignore               |    1 +
 groonga-initscript.patch |   46 +++++++
 groonga.spec             |  319 ++++++++++++++++++++++++++++++++++++++++++++++
 sources                  |    1 +
 4 files changed, 367 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..0fc021a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/groonga-1.0.2.tar.gz
diff --git a/groonga-initscript.patch b/groonga-initscript.patch
new file mode 100644
index 0000000..92ae198
--- /dev/null
+++ b/groonga-initscript.patch
@@ -0,0 +1,46 @@
+--- groonga-1.0.2.orig/data/init.d/redhat/groonga	2010-09-09 14:53:26.000000000 +0900
++++ groonga-1.0.2/data/init.d/redhat/groonga	2010-10-06 13:52:21.319175965 +0900
+@@ -2,7 +2,7 @@
+ #
+ # /etc/rc.d/init.d/groonga
+ #
+-# chkconfig: 2345 80 20
++# chkconfig: - 80 20
+ # description: A full-text search engine and column store.
+ # processname: groonga
+ # config: /etc/sysconfig/groonga
+@@ -10,7 +10,6 @@
+ #
+ ### BEGIN INIT INFO
+ # Provides:          groonga
+-# Default-Start:     2 3 4 5
+ # Default-Stop:      0 1 6
+ # Short-Description: groonga's init script
+ # Description:       groonga is a full-text search engine and column store.
+@@ -50,13 +49,6 @@
+ 	fi
+ 	DAEMON_ARGS="${DAEMON_ARGS} --user ${USER}"
+ fi
+-if [ -n "${GROUP}" ]; then
+-	if ! getent group | grep -q "^${GROUP}:"; then
+-		echo "$0: group for running $prog doesn't exist: ${GROUP}" >&2
+-		exit 1
+-	fi
+-	CGROUP_DAEMON="${CGROUP_DAEMON} ${GROUP}"
+-fi
+ 
+ if [ -n "${PIDFILE}" ]; then
+ 	mkdir -p $(dirname ${PIDFILE})
+@@ -147,8 +139,11 @@
+     condrestart)
+ 	[ -f /var/lock/subsys/$prog ] && restart || :
+ 	;;
++    status)
++	status $prog
++	;;
+     *)
+-	echo "Usage: $prog {start|stop|reload|restart|condrestart}"
++	echo "Usage: $prog {start|stop|reload|restart|condrestart|status}"
+ 	exit 1
+ 	;;
+ esac
diff --git a/groonga.spec b/groonga.spec
new file mode 100644
index 0000000..0c7848b
--- /dev/null
+++ b/groonga.spec
@@ -0,0 +1,319 @@
+%global php_extdir  %(php-config --extension-dir 2>/dev/null || echo "undefined")
+
+Name:		groonga
+Version:	1.0.2
+Release:	7%{?dist}
+Summary:	An Embeddable Fulltext Search Engine
+
+Group:		Applications/Text
+License:	LGPLv2
+URL:		http://groonga.org/
+Source0:	http://groonga.org/files/groonga/groonga-%{version}.tar.gz
+Patch0:		groonga-initscript.patch
+
+BuildRequires:	mecab-devel
+BuildRequires:	python2-devel
+BuildRequires:	php-devel
+Requires:	%{name}-libs = %{version}-%{release}
+Requires(pre):	shadow-utils
+Requires(post):	/sbin/chkconfig
+Requires(preun):	/sbin/chkconfig
+Requires(preun):	/sbin/service
+Requires(postun):	/sbin/service
+
+%description
+Groonga is an embeddable full-text search engine library.  It can
+integrate with DBMS and scripting languages to enhance their search
+functionality.  It also provides a standalone data store server based
+on relational data model.
+
+%package libs
+Summary:	Runtime libraries for groonga
+Group:		System Environment/Libraries
+License:	LGPLv2 and (MIT or GPLv2)
+Requires(post):	/sbin/ldconfig
+Requires(postun):	/sbin/ldconfig
+
+%description libs
+This package contains the libraries for groonga
+
+%package doc
+Summary:	Documentation for groonga
+Group:		Documentation
+License:	LGPLv2 and BSD
+Requires:	%{name}-libs = %{version}-%{release}
+
+%description doc
+Documentation for groonga
+
+%package devel
+Summary:	Libraries and header files for groonga
+Group:		Development/Libraries
+Requires:	%{name}-libs = %{version}-%{release}
+
+%description devel
+Libraries and header files for groonga
+
+%package tokenizer-mecab
+Summary:	MeCab tokenizer for groonga
+Group:		Applications/Text
+Requires:	%{name}-libs = %{version}-%{release}
+Requires:	mecab
+
+%description tokenizer-mecab
+MeCab tokenizer for groonga
+
+%package munin-plugins
+Summary:	Munin plugins for groonga
+Group:		Applications/System
+Requires:	%{name}-libs = %{version}-%{release}
+Requires:	munin-node
+Requires(post):	munin-node
+Requires(post):	/sbin/service
+Requires(postun):	/sbin/service
+
+%description munin-plugins
+Munin plugins for groonga
+
+%package python
+Summary:	Python language binding for groonga
+Group:		Development/Libraries
+Requires:	%{name}-libs = %{version}-%{release}
+
+%description python
+Python language binding for groonga
+
+%package php
+Summary:	PHP language binding for groonga
+Group:		Development/Libraries
+Requires:	%{name}-libs = %{version}-%{release}
+
+%description php
+PHP language binding for groonga
+
+
+%prep
+#% define optflags -O0
+%setup -q
+%patch0 -p1
+
+
+%build
+%configure --disable-static
+sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+make %{?_smp_mflags}
+
+# build python binding
+cd %{_builddir}/%{name}-%{version}/bindings/python/ql
+python setup.py config
+mkdir groonga
+cd groonga
+ln -sf %{_builddir}/%{name}-%{version}/groonga.h
+cd ..
+sed -i.cflags -e 's|^cflags =.*|cflags = []|' setup.py
+CFLAGS=-I.
+export CFLAGS
+LDFLAGS=-L%{_builddir}/%{name}-%{version}/lib/.libs
+export LDFLAGS
+python setup.py build
+
+# build php binding
+cd %{_builddir}/%{name}-%{version}/bindings/php
+mkdir -p include/groonga
+pushd include/groonga
+ln -sf %{_builddir}/%{name}-%{version}/groonga.h
+popd
+sed -i.ldflags -e 's|PHP_ADD_LIBRARY_WITH_PATH(groonga, .*)|PHP_ADD_LIBRARY(groonga, GROONGA_SHARED_LIBADD)|' config.m4
+phpize
+CFLAGS="-I. %{optflags}"
+export CFLAGS
+LDFLAGS=-L%{_builddir}/%{name}-%{version}/lib/.libs
+export LDFLAGS
+# --with-groonga is only necessary to avoid error in configure
+%configure --disable-static --with-groonga=.
+make %{?_smp_mflags}
+
+
+%install
+make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
+rm $RPM_BUILD_ROOT%{_libdir}/groonga/modules/*/*.la
+rm $RPM_BUILD_ROOT%{_libdir}/*.la
+
+mkdir -p $RPM_BUILD_ROOT%{_initddir}
+mv $RPM_BUILD_ROOT%{_sysconfdir}/groonga/init.d/redhat/groonga \
+	$RPM_BUILD_ROOT%{_initddir}
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
+mv $RPM_BUILD_ROOT%{_sysconfdir}/groonga/init.d/redhat/sysconfig \
+	$RPM_BUILD_ROOT%{_sysconfdir}/
+
+rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/groonga/init.d/
+
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/groonga
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/groonga/db
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/groonga
+
+rm $RPM_BUILD_ROOT%{_datadir}/groonga/doc/ja/html/.buildinfo
+
+mv $RPM_BUILD_ROOT%{_datadir}/groonga/munin/ $RPM_BUILD_ROOT%{_datadir}/
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/munin/plugin-conf.d/
+cat <<EOC > $RPM_BUILD_ROOT%{_sysconfdir}/munin/plugin-conf.d/groonga
+[groonga_*]
+  user groonga
+  group groonga
+  env.PATH %{_bindir}
+  env.pid_file %{_localstatedir}/run/groonga/groonga.pid
+  env.path %{_localstatedir}/lib/groonga/db/db
+  env.host 127.0.0.1
+  env.port 10041
+  env.log_path %{_localstatedir}/log/groonga/query.log
+EOC
+
+# install python binding
+cd %{_builddir}/%{name}-%{version}/bindings/python/ql
+python setup.py install --root=$RPM_BUILD_ROOT
+
+# install php binding
+cd %{_builddir}/%{name}-%{version}/bindings/php
+make install INSTALL_ROOT=$RPM_BUILD_ROOT INSTALL="install -p"
+
+
+%pre
+getent group groonga >/dev/null || groupadd -r groonga
+getent passwd groonga >/dev/null || \
+       useradd -r -g groonga -d %{_localstatedir}/lib/groonga -s /sbin/nologin \
+	-c 'groonga' groonga
+exit 0
+
+%post
+/sbin/chkconfig --add groonga
+
+%post libs -p /sbin/ldconfig
+
+%post munin-plugins
+%{_sbindir}/munin-node-configure --shell --remove-also | grep -e 'groonga_' | sh
+[ -f %{_localstatedir}/lock/subsys/munin-node ] && \
+	/sbin/service munin-node restart > /dev/null 2>&1
+:
+
+%preun
+if [ $1 = 0 ] ; then
+	/sbin/service groonga stop >/dev/null 2>&1 || :
+	/sbin/chkconfig --del groonga
+fi
+
+%postun
+if [ $1 -ge 1 ] ; then
+	/sbin/service groonga condrestart >/dev/null 2>&1 || :
+fi
+
+%postun libs -p /sbin/ldconfig
+
+%postun munin-plugins
+if [ $1 -eq 0 ]; then
+	[ -f %{_localstatedir}/lock/subsys/munin-node ] && \
+		/sbin/service munin-node restart >/dev/null 2>&1
+	:
+fi
+
+
+%files
+%defattr(-,root,root,-)
+%{_datadir}/man/man1/*
+%config(noreplace) %{_sysconfdir}/groonga/
+%config(noreplace) %{_sysconfdir}/sysconfig/groonga
+%{_bindir}/*
+%{_initddir}/*
+%attr(0755,groonga,groonga) %dir %{_localstatedir}/run/%{name}
+%attr(0755,groonga,groonga) %dir %{_localstatedir}/lib/%{name}
+%attr(0755,groonga,groonga) %dir %{_localstatedir}/lib/%{name}/db
+
+%files libs
+%defattr(-,root,root,-)
+%doc README AUTHORS COPYING
+%{_libdir}/*.so.*
+%dir %{_libdir}/groonga
+%dir %{_libdir}/groonga/modules
+%dir %{_libdir}/groonga/modules/suggest
+%{_libdir}/groonga/modules/suggest/*.so
+%dir %{_libdir}/groonga/modules/tokenizers
+%dir %{_datadir}/groonga
+%{_datadir}/groonga/admin_html/
+
+%files doc
+%defattr(-,root,root,-)
+%doc %{_datadir}/groonga/doc/
+
+%files devel
+%defattr(-,root,root,-)
+%{_includedir}/groonga/
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/groonga*.pc
+
+%files tokenizer-mecab
+%defattr(-,root,root,-)
+%{_libdir}/groonga/modules/tokenizers/mecab.so
+
+%files munin-plugins
+%defattr(-,root,root,-)
+%{_datadir}/munin/plugins/*
+%config(noreplace) %{_sysconfdir}/munin/plugin-conf.d/*
+
+%files python
+%defattr(-,root,root,-)
+%{python_sitearch}/groongaql*
+
+%files php
+%defattr(-,root,root,-)
+%{php_extdir}/groonga.so
+
+
+%changelog
+* Thu Oct  7 2010 Daiki Ueno <dueno at redhat.com> - 1.0.2-7
+- own %%_localstatedir/lib/%%name/db.
+- use %%_sbindir RPM macro.
+
+* Wed Oct  6 2010 Daiki Ueno <dueno at redhat.com> - 1.0.2-6
+- use %%python_sitearch and %%php_extdir macros.
+- correct directory ownership for -munin-plugins subpackage.
+- supply %%optflags when building PHP binding.
+- don't set CGROUP_DAEMON in initscript.
+
+* Tue Oct  5 2010 Daiki Ueno <dueno at redhat.com> - 1.0.2-5
+- correct directory ownership for -munin-plugins subpackage.
+- make -doc subpackage require -libs.
+- correct directory ownership for directories under %%_localstatedir.
+- make initscript disabled by default
+- move "build process" of Python and PHP bindings to %%build from %%install
+- build against Python 2.7
+- fix naming of Python and PHP bindings (python-%%{name} to %%{name}-python)
+
+* Mon Oct  4 2010 Daiki Ueno <dueno at redhat.com> - 1.0.2-4
+- package Python and PHP bindings.
+
+* Mon Oct  4 2010 Daiki Ueno <dueno at redhat.com> - 1.0.2-3
+- fix License.
+- pass "-p" to the install command to preserve timestamps.
+- use RPM macros %%_initddir, %%_localstatedir, %%_prefix, etc.
+- use the standard snippet to creating user/group for groonga; don't
+  call userdel/groupdel.
+- add missing "Require(foo): bar" for /sbin/service, /sbin/chkconfig,
+  /sbin/ldconfig, and /usr/sbin/munin-node-configure.
+- fix attributes in %%files.
+- correct directory ownership.
+
+* Fri Oct  1 2010 Daiki Ueno <dueno at redhat.com> - 1.0.2-2
+- don't require autotools when building
+- pass --disable-static to %%configure
+
+* Thu Sep 09 2010 Kouhei Sutou <kou at clear-code.com> - 1.0.2-1
+- new upstream release.
+
+* Thu Sep 06 2010 Kouhei Sutou <kou at clear-code.com> - 1.0.1-1
+- new upstream release.
+
+* Thu Sep 02 2010 Kouhei Sutou <kou at clear-code.com> - 1.0.0-1
+- split packages.
+
+* Tue Aug 24 2010 Daiki Ueno <dueno at redhat.com> - 0.7.6-1
+- initial packaging for Fedora
diff --git a/sources b/sources
index e69de29..1e4d274 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+1cfe0fbae8a6bbaa35e6de4b7a0bfcf6  groonga-1.0.2.tar.gz


More information about the scm-commits mailing list