Merge branch 'master' into el5

Conflicts:
	.gitignore
This commit is contained in:
Ken Dreyer 2013-07-18 12:48:32 -06:00
commit 8ba26bb187
6 changed files with 210 additions and 100 deletions

12
.gitignore vendored
View File

@ -1 +1,13 @@
gearmand-0.14.tar.gz
/gearmand-0.14.tar.gz
/gearmand-0.20.tar.gz
/gearmand-0.23.tar.gz
/gearmand-0.25.tar.gz
/gearmand-0.26.tar.gz
/gearmand-0.27.tar.gz
/gearmand-0.28.tar.gz
/gearmand-0.32.tar.gz
/gearmand-0.33.tar.gz
/gearmand-0.35.tar.gz
/gearmand-0.39.tar.gz
/gearmand-1.1.2.tar.gz

View File

@ -0,0 +1,12 @@
https://bugs.launchpad.net/gearmand/+bug/1020778
--- gearmand-0.33/util/logfile.cc.orig 2012-05-03 22:51:48.000000000 -0500
+++ gearmand-0.33/util/logfile.cc 2012-07-03 00:53:10.153381199 -0500
@@ -49,6 +49,7 @@
#include <sstream>
#include <sys/stat.h>
#include <sys/types.h>
+#include <unistd.h>
namespace datadifferential {
namespace util {

12
gearmand.service Normal file
View File

@ -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

View File

@ -1,61 +1,47 @@
# libmemcached is currently too old in RHEL
%bcond_with libmemcached
# google-perftools is only available for i386/ppc on el5
# and i686 on el6.
# google-perftools not available in ppc64/sparc64
%if 0%{?el5}
%ifarch i386 ppc
%bcond_without google_perftools
%else
%bcond_with google_perftools
%endif
%endif
%if 0%{?el6}
%ifarch i386 i686
%bcond_without google_perftools
%else
%bcond_with google_perftools
%endif
%endif
Name: gearmand
Version: 0.14
Version: 1.1.2
Release: 3%{?dist}
Summary: A distributed job system
Group: System Environment/Daemons
License: BSD
URL: http://www.gearman.org
Source0: http://launchpad.net/gearmand/trunk/%{version}/+download/gearmand-%{version}.tar.gz
Source1: gearmand.init
Source0: https://launchpad.net/gearmand/1.2/%{version}/+download/gearmand-%{version}.tar.gz
#Source1: gearmand.init
Source2: gearmand.sysconfig
Source3: gearmand.service
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libevent-devel
BuildRequires: libevent-devel, libuuid-devel, libmemcached-devel, memcached
BuildRequires: boost-devel >= 1.37.0, boost-thread
BuildRequires: systemd-units
%if 0%{?el5}
BuildRequires: e2fsprogs-devel
%else
BuildRequires: libuuid-devel
# Additional support
BuildRequires: mysql-devel, mysql-libs, sqlite-devel, postgresql-devel, postgresql-libs
BuildRequires: zlib-devel
#Requires: mysql-libs, postgresql-libs, zlib
# google perftools available only on these
%ifarch %{ix86} x86_64 ppc
BuildRequires: gperftools-devel
%endif
%if %{with libmemcached}
BuildRequires: libmemcached-devel
%endif
%if %{with google_perftools}
BuildRequires: google-perftools-devel
Requires: google-perftools
%endif
Requires(pre): shadow-utils
Requires(post): chkconfig
Requires(preun): chkconfig, initscripts
Requires: procps
# This is actually needed for the %triggerun script but Requires(triggerun)
# is not valid. We can use %post because this particular %triggerun script
# should fire just after this package is installed.
Requires(post): systemd-sysv
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
#Patch0: gearmand-0.27-lp914495.patch
#Patch1: gearmand-0.28-lp932994.patch
#Patch2: gearmand-0.31-lp978235.patch
#Patch3: gearmand-0.33-lp1020778.patch
%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.
@ -66,61 +52,60 @@ 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}
%description -n libgearman
Development libraries for %{name}.
%package -n libgearman-devel
Summary: Development headers for libgearman
Requires: pkgconfig, libgearman = %{version}-%{release}
Group: Development/Libraries
Requires: libevent-devel
Provides: libgearman-1.0-devel = %{version}-%{release}
Obsoletes: libgearman-1.0-devel < %{version}-%{release}
%description -n libgearman-devel
Development headers for %{name}
%package -n libgearman
Summary: Development libraries for gearman
Group: Development/Libraries
%description -n libgearman
Development libraries for %{name}
Development headers for %{name}.
%prep
%setup -q
#%%patch1 -p1 -b .lp932994
#%%patch2 -p1 -b .lp978235
#%%patch3 -p1 -b .lp1020778
%build
# optional configure options
%if %{with google_perftools}
%global configure_tcmalloc --enable-tcmalloc
%else
%global configure_tcmalloc --disable-tcmalloc
%endif
# HACK to work around boost issues.
export LDFLAGS="$LDFLAGS -lboost_system"
%if %{with libmemcached}
%global configure_libmemcached --enable-libmemcached
%ifarch ppc64 sparc64
# no tcmalloc
%configure --disable-static --disable-rpath
%else
%global configure_libmemcached --disable-libmemcached
%configure --disable-static --disable-rpath --enable-tcmalloc
%endif
%configure \
--disable-static \
%{configure_tcmalloc} \
%{configure_libmemcached} \
--disable-rpath
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}
make %{_smp_mflags}
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
rm -v %{buildroot}%{_libdir}/libgearman*.la
install -p -D -m 0755 %{SOURCE1} %{buildroot}%{_initrddir}/gearmand
#install -p -D -m 0755 %{SOURCE1} %{buildroot}%{_initrddir}/gearmand
install -p -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/gearmand
mkdir -p %{buildroot}/var/run/gearmand
mkdir -p %{buildroot}/var/run/gearmand \
%{buildroot}%{_unitdir}
# For systemd
install -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}.service
%clean
rm -rf %{buildroot}
@ -134,16 +119,13 @@ getent passwd gearmand >/dev/null || \
exit 0
%post
if [ $1 -eq 1 ]; then
/sbin/chkconfig --add gearmand
fi
%systemd_post gearmand.service
%preun
if [ $1 -eq 0 ]; then
/sbin/service gearmand stop >/dev/null 2>&1 || :
/sbin/chkconfig --del gearmand
fi
%systemd_preun gearmand.service
%postun
%systemd_postun_with_restart gearmand.service
%post -n libgearman -p /sbin/ldconfig
@ -152,14 +134,18 @@ fi
%files
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING README
%dir %attr(755,gearmand,gearmand) /var/run/gearmand
%ghost %attr(755,gearmand,gearmand) /var/run/gearmand
%config(noreplace) %{_sysconfdir}/sysconfig/gearmand
%{_sbindir}/gearmand
%{_bindir}/gearman
%{_initrddir}/gearmand
%{_mandir}/man1/gearman.1.gz
%{_mandir}/man8/gearmand.8.gz
%{_bindir}/gearadmin
%{_unitdir}/%{name}.service
%files -n libgearman
%defattr(-,root,root,-)
%doc COPYING
%{_libdir}/libgearman.so.8
%{_libdir}/libgearman.so.8.0.0
%files -n libgearman-devel
%defattr(-,root,root,-)
@ -167,26 +153,114 @@ fi
%dir %{_includedir}/libgearman
%{_includedir}/libgearman/*.h
%{_libdir}/pkgconfig/gearmand.pc
%{_libdir}/libgearman*.so
%{_mandir}/man3/gearman*.3.gz
%files -n libgearman
%defattr(-,root,root,-)
%doc COPYING
%{_libdir}/libgearman.so.*
%{_libdir}/libgearman*.so.*
%{_libdir}/libgearman.so
%{_includedir}/libgearman-1.0/
%changelog
* Thu Feb 24 2011 BJ Dierkes <wdierkes@rackspace.com> - 0.14-3
- Only build with tcmalloc on selected archs (i386/ppc on el5,
and i686 only on el6) based on google-perftools availability
in the Koji build repos.
* Sun Feb 10 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.1.2-3
- Rebuild for Boost-1.53.0
* Fri Feb 04 2011 BJ Dierkes <wdierkes@rackspace.com> - 0.14-2
- Adding support for EPEL 5/6
- Added optional support for libmemcached
- Added optional support for tcmalloc (google-perftools)
* Sat Feb 09 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.1.2-2
- Rebuild for Boost-1.53.0
* Thu Oct 18 2012 BJ Dierkes <wdierkes@rackspace.com> - 1.1.2-1
- Bumping to 1.2 branch (1.1.2 current development version).
Release notes are available here:
https://launchpad.net/gearmand/1.2/1.1.2
- Repackaged libgearman-1.0, and libgearman-1.0-devel under the
devel sub-package.
- Updated scriptlets per BZ#850127
* Mon Sep 24 2012 BJ Dierkes <wdierkes@rackspace.com> - 0.39-1
- Latest sources from upstream. Release notes here:
https://launchpad.net/gearmand/trunk/0.39
- Added Postgres support
- Added Sqlite support
* Wed Aug 15 2012 BJ Dierkes <wdierkes@rackspace.com> - 0.35-1
- Latest sources from upstream. Release notes here:
https://launchpad.net/gearmand/trunk/0.35
- Removed Patch3: gearmand-0.33-lp1020778.patch (applied upstream)
- Added zlib support
- Added MySQL support
* Wed Aug 15 2012 BJ Dierkes <wdierkes@rackspace.com> - 0.33-3
- Rebuilt for latest boost.
- BuildRequires: boost-thread
- Added -lboost_system to LDFLAGS to work around boost issue
related to boost-thread.
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.33-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Tue Jul 03 2012 BJ Dierkes <wdierkes@rackspace.com> - 0.33-1
- Latest sources from upstream. Release notes here:
https://launchpad.net/gearmand/trunk/0.33
- Adding Patch3: gearmand-0.33-lp1020778.patch
* Mon Apr 23 2012 Remi Collet <remi@fedoraproject.org> - 0.32-2
- rebuild against libmemcached.so.10
* Tue Apr 18 2012 BJ Dierkes <wdierkes@rackspace.com> - 0.32-1
- Latest sources from upstream. Release notes here:
https://launchpad.net/gearmand/trunk/0.32
- Removed Patch2: gearmand-0.31-lp978235.patch (applied upstream)
* Tue Apr 10 2012 BJ Dierkes <wdierkes@rackspace.com> - 0.31-1
- Latest sources from upstream. Release notes here:
https://launchpad.net/gearmand/trunk/0.31
https://launchpad.net/gearmand/trunk/0.29
- Removed Patch1: gearmand-0.28-lp932994.patch (applied upstream)
- Added Patch2: gearmand-0.31-lp978235.patch. Resolves LP#978235.
* Wed Mar 07 2012 BJ Dierkes <wdierkes@rackspace.com> - 0.28-3
- Adding back _smp_mflags
* Wed Mar 07 2012 BJ Dierkes <wdierkes@rackspace.com> - 0.28-2
- Added Patch1: gearmand-0.28-lp932994.patch. Resolves: LP#932994
* Fri Jan 27 2012 BJ Dierkes <wdierkes@rackspace.com> - 0.28-1
- Latest sources from upstream. Release notes here:
https://launchpad.net/gearmand/trunk/0.28
- Removing Patch0: gearmand-0.27-lp914495.patch (applied upstream)
- Removing _smp_mflags per https://bugs.launchpad.net/bugs/901007
* Thu Jan 12 2012 BJ Dierkes <wdierkes@rackspace.com> - 0.27-2
- Adding Patch0: gearmand-0.27-lp914495.patch Resolves LP#914495
* Tue Jan 10 2012 BJ Dierkes <wdierkes@rackspace.com> - 0.27-1
- Latest sources from upstream. Release notes here:
https://launchpad.net/gearmand/trunk/0.27
* Tue Nov 22 2011 BJ Dierkes <wdierkes@rackspace.com> - 0.25-1
- Latest sources from upstream. Release notes here:
https://launchpad.net/gearmand/trunk/0.25
- Also rebuild against libboost_program_options-mt.so.1.47.0
- Added libgearman-1.0, libgearman-1.0-devel per upstream
* Sat Sep 17 2011 Remi Collet <remi@fedoraproject.org> - 0.23-2
- rebuild against libmemcached.so.8
* Thu Jul 21 2011 BJ Dierkes <wdierkes@rackspace.com> - 0.23-1
- Latest source from upstream. Release information available at:
https://launchpad.net/gearmand/+milestone/0.23
* Fri Jun 03 2011 BJ Dierkes <wdierkes@rackspace.com> - 0.20-1
- Latest sources from upstream.
- Add %%ghost to /var/run/gearmand. Resolves BZ#656592
- BuildRequires: boost-devel >= 1.37.0
- Adding gearadmin files
- Converted to Systemd. Resolves BZ#661643
* Tue Mar 22 2011 Dan Horák <dan[at]danny.cz> - 0.14-4
- switch to %%ifarch for google-perftools as BR
* Thu Feb 17 2011 BJ Dierkes <wdierkes@rackspace.com> - 0.14-3
- Rebuild against latest libevent in rawhide/f15
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.14-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Fri Feb 04 2011 BJ Dierkes <wdierkes@rackspace.com> - 0.14-1
- Latest sources from upstream. Full changelog available from:

View File

@ -1,3 +1,3 @@
## Settings for gearmand
#OPTIONS=""
### Settings for gearmand
# OPTIONS=""

View File

@ -1 +1 @@
6e5e1f63c02745da174947bb3a44d8f9 gearmand-0.14.tar.gz
b611bb36da36efea2d68428ba9e871ad gearmand-1.1.2.tar.gz