[packages/gearmand] new, version 1.1.12

glen glen at pld-linux.org
Wed Jan 27 21:38:03 CET 2016


commit 36bbbd00cd1656c5c8689a10ad1f1059af6a69e7
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Wed Jan 27 22:37:24 2016 +0200

    new, version 1.1.12
    
    based on fedora package, 46c0236

 gearmand-1.1.12-ppc64le.patch |  21 +++++
 gearmand.init                 |  81 +++++++++++++++++
 gearmand.service              |  12 +++
 gearmand.spec                 | 199 ++++++++++++++++++++++++++++++++++++++++++
 gearmand.sysconfig            |   3 +
 5 files changed, 316 insertions(+)
---
diff --git a/gearmand.spec b/gearmand.spec
new file mode 100644
index 0000000..88f1c93
--- /dev/null
+++ b/gearmand.spec
@@ -0,0 +1,199 @@
+# TODO
+# - fix make install linking stuff over again
+# - skip tests build if testing disabled
+# - add gearman user/group
+#
+# Conditional build:
+%bcond_with	tests		# build with tests
+%bcond_without	gperftools	# gperftools
+%bcond_without	sqlite		# sqlite
+%bcond_without	tokyocabinet	# tokyocabinet
+%bcond_with	tcmalloc	# tcmalloc
+
+# google perftools available only on these
+%ifnarch %{ix86} x86_64 ppc64 ppc64le aarch64 %{arm}
+%undefine	with_gperftools
+%endif
+
+%ifarch ppc64 sparc64
+%undefine	with_tcmalloc
+%endif
+
+Summary:	A distributed job system
+Name:		gearmand
+Version:	1.1.12
+Release:	0.1
+License:	BSD
+Group:		Daemons
+Source0:	https://launchpad.net/gearmand/1.2/%{version}/+download/%{name}-%{version}.tar.gz
+# Source0-md5:	99dd0be85b181eccf7fb1ca3c2a28a9f
+Source1:	%{name}.init
+Source2:	%{name}.sysconfig
+Source3:	%{name}.service
+Patch0:		%{name}-1.1.12-ppc64le.patch
+URL:		http://www.gearman.org
+BuildRequires:	boost-devel >= 1.37.0
+BuildRequires:	boost-thread
+BuildRequires:	e2fsprogs-devel
+BuildRequires:	gperf
+%{?with_gperftools:BuildRequires:	gperftools-devel}
+BuildRequires:	libevent-devel
+BuildRequires:	libmemcached-devel
+BuildRequires:	libuuid-devel
+#BuildRequires:	memcached
+BuildRequires:	mysql-devel
+BuildRequires:	postgresql-devel
+BuildRequires:	rpmbuild(macros) >= 1.647
+%{?with_sqlite:BuildRequires:	sqlite3-devel}
+BuildRequires:	systemd-units
+%{?with_tokyocabinet:BuildRequires:	tokyocabinet-devel}
+BuildRequires:	zlib-devel
+%if %{with tests}
+BuildRequires:	curl-devel
+BuildRequires:	mysql-server
+%endif
+Requires(post,preun):	/sbin/chkconfig
+Requires(post,preun,postun):	systemd-units >= 38
+Requires:	procps
+Requires:	rc-scripts
+Requires:	systemd-units >= 0.38
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+# FIXME: add tmpfiles conf
+%define		no_install_post_check_tmpfiles	1
+
+%description
+Gearman provides a generic framework to farm out work to other
+machines or dispatch function calls to machines that are better suited
+to do the work. It allows you to do work in parallel, to load balance
+processing, and to call functions between languages. It can be used in
+a variety of applications, from high-availability web sites to the
+transport for database replication. In other words, it is the nervous
+system for how distributed processing communicates.
+
+%package -n libgearman
+Summary:	Development libraries for gearman
+Group:		Development/Libraries
+Provides:	libgearman-1.0 = %{version}-%{release}
+Obsoletes:	libgearman-1.0 < %{version}-%{release}
+# gearman requires uuid_generate_time_safe, which only exists in newer e2fsprogs-libs
+Requires:	e2fsprogs-libs >= 1.39-32
+
+%description -n libgearman
+Development libraries for %{name}.
+
+%package -n libgearman-devel
+Summary:	Development headers for libgearman
+Group:		Development/Libraries
+Requires:	libevent-devel
+Requires:	libgearman = %{version}-%{release}
+Provides:	libgearman-1.0-devel = %{version}-%{release}
+Obsoletes:	libgearman-1.0-devel < %{version}-%{release}
+
+%description -n libgearman-devel
+Development headers for %{name}.
+
+%prep
+%setup -q
+%patch0 -p1
+
+%build
+# HACK to work around boost issues.
+#export LDFLAGS="%{rpmldflags} LDFLAGS -lboost_system"
+
+%configure \
+	--disable-silent-rules \
+	--disable-static \
+%if %{with tcmalloc}
+	--enable-tcmalloc \
+%endif
+
+%{__make}
+
+%if %{with tests}
+%{__make} check
+%endif
+
+%install
+rm -rf $RPM_BUILD_ROOT
+%{__make} install \
+	DESTDIR=$RPM_BUILD_ROOT
+
+rm -v $RPM_BUILD_ROOT%{_libdir}/libgearman*.la
+
+install -p -D %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/gearmand
+
+# install systemd unit file
+install -d $RPM_BUILD_ROOT%{systemdunitdir}
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
+
+# install legacy SysV init script
+install -p -D %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/gearmand
+install -d $RPM_BUILD_ROOT/var/run/gearmand
+
+install -d $RPM_BUILD_ROOT/var/log
+touch $RPM_BUILD_ROOT/var/log/gearmand.log
+
+install -d $RPM_BUILD_ROOT/var/run/gearmand
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%if 0
+%pre
+%groupadd -r gearmand
+%useradd -r -g gearmand -d / -s /sbin/nologin -c "Gearmand job server" gearmand
+
+%post
+%systemd_post gearmand.service
+if [ $1 = 1 ]; then
+	/sbin/chkconfig --add gearmand
+fi
+touch /var/log/gearmand.log
+
+%preun
+%systemd_preun gearmand.service
+if [ "$1" = 0 ] ; then
+	%service gearmand stop
+	/sbin/chkconfig --del gearmand
+fi
+
+%postun
+%systemd_postun_with_restart gearmand.service
+%endif
+
+%post	-n libgearman -p /sbin/ldconfig
+%postun	-n libgearman -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc README
+%attr(755,gearmand,gearmand) /var/run/gearmand
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/gearmand
+%attr(755,root,root) %{_sbindir}/gearmand
+%attr(755,root,root) %{_bindir}/gearman
+%attr(755,root,root) %{_bindir}/gearadmin
+%{_mandir}/man1/*
+%{_mandir}/man8/*
+%attr(640,gearmand,gearmand) %config(noreplace) %verify(not md5 mtime size) /var/log/gearmand.log
+%if %{with systemd}
+%{systemdunitdir}/%{name}.service
+%else
+%{_initrddir}/%{name}
+%endif
+
+%files -n libgearman
+%defattr(644,root,root,755)
+%doc COPYING
+%attr(755,root,root) %{_libdir}/libgearman.so.*.*.*
+%ghost %{_libdir}/libgearman.so.8
+
+%files -n libgearman-devel
+%defattr(644,root,root,755)
+%doc AUTHORS ChangeLog
+%dir %{_includedir}/libgearman
+%{_includedir}/libgearman/*.h
+%{_pkgconfigdir}/gearmand.pc
+%{_libdir}/libgearman.so
+%{_includedir}/libgearman-1.0
+%{_mandir}/man3/*
diff --git a/gearmand-1.1.12-ppc64le.patch b/gearmand-1.1.12-ppc64le.patch
new file mode 100644
index 0000000..4a6780b
--- /dev/null
+++ b/gearmand-1.1.12-ppc64le.patch
@@ -0,0 +1,21 @@
+diff -up gearmand-1.1.12/configure.ppc64le gearmand-1.1.12/configure
+--- gearmand-1.1.12/configure.ppc64le	2014-09-09 17:12:22.368039057 +0200
++++ gearmand-1.1.12/configure	2014-09-09 17:11:49.584039857 +0200
+@@ -16219,7 +16219,7 @@ $as_echo_n "checking for boostlib >= $bo
+                         libsubdirs="lib"
+     ax_arch=`uname -m`
+     case $ax_arch in
+-      x86_64|ppc64|s390x|sparc64|aarch64)
++      x86_64|ppc64*|s390x|sparc64|aarch64)
+         libsubdirs="lib64 lib lib64"
+         ;;
+     esac
+@@ -26051,7 +26051,7 @@ if ac_fn_c_try_compile "$LINENO"; then :
+ 	for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+ 	 if test -n "$ac_prev"; then
+ 	   case $ac_word in
+-	     i?86 | x86_64 | ppc | ppc64)
++	     i?86 | x86_64 | ppc | ppc64*)
+ 	       if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+ 		 ac_arch=$ac_word
+ 	       else
diff --git a/gearmand.init b/gearmand.init
new file mode 100644
index 0000000..e2502aa
--- /dev/null
+++ b/gearmand.init
@@ -0,0 +1,81 @@
+#!/bin/bash
+#
+# gearmand        Startup script for the Gearman server
+#
+# chkconfig: - 85 15
+# description: Gearman is a distributed job system.
+# processname: gearmand
+# config: /etc/sysconfig/gearmand
+# pidfile: /var/run/gearmand/gearmand.pid
+#
+### BEGIN INIT INFO
+# Provides: gearmand
+# Required-Start: $local_fs $network
+# Required-Stop: $local_fs $network
+# Default-Start:
+# Default-Stop:
+# Short-Description: start and stop the Gearman server
+# Description: Gearman is a distributed job system.
+### END INIT INFO
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+if [ -f /etc/sysconfig/gearmand ]; then
+        . /etc/sysconfig/gearmand
+fi
+
+[ -z "${PIDFILE}" ] && pidfile="/var/run/gearmand/gearmand.pid"
+[ -z "${LOCKFILE}" ] && lockfile="/var/lock/subsys/gearmand"
+
+gearmand=/usr/sbin/gearmand
+prog=gearmand
+
+RETVAL=0
+
+start() {
+        echo -n $"Starting $prog: "
+        daemon --pidfile=$pidfile --user=gearmand $gearmand -d $OPTIONS
+        RETVAL=$?
+        echo
+        [ $RETVAL = 0 ] && (touch $lockfile; pgrep -f $gearmand > $pidfile)
+        return $RETVAL
+}
+
+stop() {
+	echo -n $"Stopping $prog: "
+	killproc -p $pidfile $gearmand
+	RETVAL=$?
+	echo
+	[ $RETVAL = 0 ] && rm -f $lockfile $pidfile
+}
+
+# See how we were called.
+case "$1" in
+  start)
+	start
+	;;
+  stop)
+	stop
+	;;
+  status)
+        status -p $pidfile $gearmand
+	RETVAL=$?
+	;;
+  restart|reload)
+	stop
+	start
+	;;
+  condrestart|try-restart)
+	if status -p $pidfile $gearmand >&/dev/null; then
+		stop
+		start
+	fi
+	;;
+  *)
+	echo $"Usage: $prog {start|stop|restart|reload|condrestart|status|help}"
+	RETVAL=3
+esac
+
+exit $RETVAL
+
diff --git a/gearmand.service b/gearmand.service
new file mode 100644
index 0000000..34f97f0
--- /dev/null
+++ b/gearmand.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Gearmand distributed job system
+After=syslog.target network.target
+
+[Service]
+EnvironmentFile=/etc/sysconfig/gearmand
+User=gearmand
+Type=forking
+ExecStart=/usr/sbin/gearmand -d $OPTIONS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/gearmand.sysconfig b/gearmand.sysconfig
new file mode 100644
index 0000000..bee2500
--- /dev/null
+++ b/gearmand.sysconfig
@@ -0,0 +1,3 @@
+### Settings for gearmand
+# OPTIONS=""
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/gearmand.git/commitdiff/36bbbd00cd1656c5c8689a10ad1f1059af6a69e7



More information about the pld-cvs-commit mailing list