Merge branch 'master' into el6

Conflicts:
	gearmand.spec
This commit is contained in:
Ken Dreyer 2013-07-18 12:47:07 -06:00
commit ab780d7241
6 changed files with 209 additions and 104 deletions

11
.gitignore vendored
View File

@ -1,2 +1,13 @@
gearmand-0.14.tar.gz gearmand-0.14.tar.gz
/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,60 +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 Name: gearmand
Version: 0.14 Version: 1.1.2
Release: 3%{?dist}.2 Release: 3%{?dist}
Summary: A distributed job system Summary: A distributed job system
Group: System Environment/Daemons Group: System Environment/Daemons
License: BSD License: BSD
URL: http://www.gearman.org URL: http://www.gearman.org
Source0: http://launchpad.net/gearmand/trunk/%{version}/+download/gearmand-%{version}.tar.gz Source0: https://launchpad.net/gearmand/1.2/%{version}/+download/gearmand-%{version}.tar.gz
Source1: gearmand.init #Source1: gearmand.init
Source2: gearmand.sysconfig Source2: gearmand.sysconfig
Source3: gearmand.service
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 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} # Additional support
BuildRequires: e2fsprogs-devel BuildRequires: mysql-devel, mysql-libs, sqlite-devel, postgresql-devel, postgresql-libs
%else BuildRequires: zlib-devel
BuildRequires: libuuid-devel #Requires: mysql-libs, postgresql-libs, zlib
# google perftools available only on these
%ifarch %{ix86} x86_64 ppc
BuildRequires: gperftools-devel
%endif %endif
%if %{with libmemcached}
BuildRequires: libmemcached-devel
%endif
%if %{with google_perftools}
BuildRequires: gperftools-devel
%endif
Requires(pre): shadow-utils Requires(pre): shadow-utils
Requires(post): chkconfig
Requires(preun): chkconfig, initscripts
Requires: procps 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 %description
Gearman provides a generic framework to farm out work to other machines 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. or dispatch function calls to machines that are better suited to do the work.
@ -65,60 +52,59 @@ In other words, it is the nervous system for how distributed processing
communicates. 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 %package -n libgearman-devel
Summary: Development headers for libgearman Summary: Development headers for libgearman
Requires: pkgconfig, libgearman = %{version}-%{release} Requires: pkgconfig, libgearman = %{version}-%{release}
Group: Development/Libraries Group: Development/Libraries
Requires: libevent-devel Requires: libevent-devel
Provides: libgearman-1.0-devel = %{version}-%{release}
Obsoletes: libgearman-1.0-devel < %{version}-%{release}
%description -n libgearman-devel %description -n libgearman-devel
Development headers for %{name} Development headers for %{name}.
%package -n libgearman
Summary: Development libraries for gearman
Group: Development/Libraries
%description -n libgearman
Development libraries for %{name}
%prep %prep
%setup -q %setup -q
#%%patch1 -p1 -b .lp932994
#%%patch2 -p1 -b .lp978235
#%%patch3 -p1 -b .lp1020778
%build %build
# optional configure options # HACK to work around boost issues.
%if %{with google_perftools} export LDFLAGS="$LDFLAGS -lboost_system"
%global configure_tcmalloc --enable-tcmalloc
%else
%global configure_tcmalloc --disable-tcmalloc
%endif
%if %{with libmemcached} %ifarch ppc64 sparc64
%global configure_libmemcached --enable-libmemcached # no tcmalloc
%configure --disable-static --disable-rpath
%else %else
%global configure_libmemcached --disable-libmemcached %configure --disable-static --disable-rpath --enable-tcmalloc
%endif %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|^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 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags} make %{_smp_mflags}
%install %install
rm -rf %{buildroot} rm -rf %{buildroot}
make install DESTDIR=%{buildroot} make install DESTDIR=%{buildroot}
rm -v %{buildroot}%{_libdir}/libgearman*.la 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 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 %clean
rm -rf %{buildroot} rm -rf %{buildroot}
@ -132,31 +118,33 @@ getent passwd gearmand >/dev/null || \
exit 0 exit 0
%post %post
if [ $1 -eq 1 ]; then %systemd_post gearmand.service
/sbin/chkconfig --add gearmand
fi
%preun %preun
if [ $1 -eq 0 ]; then %systemd_preun gearmand.service
/sbin/service gearmand stop >/dev/null 2>&1 || :
/sbin/chkconfig --del gearmand
fi
%postun
%systemd_postun_with_restart gearmand.service
%post -n libgearman -p /sbin/ldconfig %post -n libgearman -p /sbin/ldconfig
%postun -n libgearman -p /sbin/ldconfig %postun -n libgearman -p /sbin/ldconfig
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING README %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 %config(noreplace) %{_sysconfdir}/sysconfig/gearmand
%{_sbindir}/gearmand %{_sbindir}/gearmand
%{_bindir}/gearman %{_bindir}/gearman
%{_initrddir}/gearmand %{_bindir}/gearadmin
%{_mandir}/man1/gearman.1.gz %{_unitdir}/%{name}.service
%{_mandir}/man8/gearmand.8.gz
%files -n libgearman
%defattr(-,root,root,-)
%doc COPYING
%{_libdir}/libgearman.so.8
%{_libdir}/libgearman.so.8.0.0
%files -n libgearman-devel %files -n libgearman-devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
@ -164,31 +152,113 @@ fi
%dir %{_includedir}/libgearman %dir %{_includedir}/libgearman
%{_includedir}/libgearman/*.h %{_includedir}/libgearman/*.h
%{_libdir}/pkgconfig/gearmand.pc %{_libdir}/pkgconfig/gearmand.pc
%{_libdir}/libgearman*.so %{_libdir}/libgearman.so
%{_mandir}/man3/gearman*.3.gz %{_includedir}/libgearman-1.0/
%files -n libgearman
%defattr(-,root,root,-)
%doc COPYING
%{_libdir}/libgearman.so.*
%{_libdir}/libgearman*.so.*
%changelog %changelog
* Tue Apr 17 2012 Tom Callaway <spot@fedoraproject.org> - 0.14-3.2 * Sun Feb 10 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.1.2-3
- drop explicit gperftools Requires - Rebuild for Boost-1.53.0
* Wed Apr 4 2012 Tom Callaway <spot@fedoraproject.org> - 0.14-3.1 * Sat Feb 09 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.1.2-2
- rebuild against gperftools - Rebuild for Boost-1.53.0
* Thu Feb 24 2011 BJ Dierkes <wdierkes@rackspace.com> - 0.14-3 * Thu Oct 18 2012 BJ Dierkes <wdierkes@rackspace.com> - 1.1.2-1
- Only build with tcmalloc on selected archs (i386/ppc on el5, - Bumping to 1.2 branch (1.1.2 current development version).
and i686 only on el6) based on google-perftools availability Release notes are available here:
in the Koji build repos. 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
* Fri Feb 04 2011 BJ Dierkes <wdierkes@rackspace.com> - 0.14-2 * Wed Aug 15 2012 BJ Dierkes <wdierkes@rackspace.com> - 0.35-1
- Adding support for EPEL 5/6 - Latest sources from upstream. Release notes here:
- Added optional support for libmemcached https://launchpad.net/gearmand/trunk/0.35
- Added optional support for tcmalloc (google-perftools) - 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 * Fri Feb 04 2011 BJ Dierkes <wdierkes@rackspace.com> - 0.14-1
- Latest sources from upstream. Full changelog available from: - Latest sources from upstream. Full changelog available from:

View File

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

View File

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