diff --git a/.gitignore b/.gitignore index 7c38ff2..45dd3f2 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/gearmand-0.33-lp1020778.patch b/gearmand-0.33-lp1020778.patch new file mode 100644 index 0000000..b030976 --- /dev/null +++ b/gearmand-0.33-lp1020778.patch @@ -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 + #include + #include ++#include + + namespace datadifferential { + namespace util { 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.spec b/gearmand.spec index 085e111..ddc20c6 100644 --- a/gearmand.spec +++ b/gearmand.spec @@ -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 - 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 - 1.1.2-3 +- Rebuild for Boost-1.53.0 -* Fri Feb 04 2011 BJ Dierkes - 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 - 1.1.2-2 +- Rebuild for Boost-1.53.0 + +* Thu Oct 18 2012 BJ Dierkes - 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 - 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 - 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 - 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 - 0.33-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jul 03 2012 BJ Dierkes - 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 - 0.32-2 +- rebuild against libmemcached.so.10 + +* Tue Apr 18 2012 BJ Dierkes - 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 - 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 - 0.28-3 +- Adding back _smp_mflags + +* Wed Mar 07 2012 BJ Dierkes - 0.28-2 +- Added Patch1: gearmand-0.28-lp932994.patch. Resolves: LP#932994 + +* Fri Jan 27 2012 BJ Dierkes - 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 - 0.27-2 +- Adding Patch0: gearmand-0.27-lp914495.patch Resolves LP#914495 + +* Tue Jan 10 2012 BJ Dierkes - 0.27-1 +- Latest sources from upstream. Release notes here: + https://launchpad.net/gearmand/trunk/0.27 + +* Tue Nov 22 2011 BJ Dierkes - 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 - 0.23-2 +- rebuild against libmemcached.so.8 + +* Thu Jul 21 2011 BJ Dierkes - 0.23-1 +- Latest source from upstream. Release information available at: + https://launchpad.net/gearmand/+milestone/0.23 + +* Fri Jun 03 2011 BJ Dierkes - 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 - 0.14-4 +- switch to %%ifarch for google-perftools as BR + +* Thu Feb 17 2011 BJ Dierkes - 0.14-3 +- Rebuild against latest libevent in rawhide/f15 + +* Tue Feb 08 2011 Fedora Release Engineering - 0.14-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Fri Feb 04 2011 BJ Dierkes - 0.14-1 - Latest sources from upstream. Full changelog available from: diff --git a/gearmand.sysconfig b/gearmand.sysconfig index 2548190..bee2500 100644 --- a/gearmand.sysconfig +++ b/gearmand.sysconfig @@ -1,3 +1,3 @@ -## Settings for gearmand -#OPTIONS="" +### Settings for gearmand +# OPTIONS="" diff --git a/sources b/sources index 6811b92..07f348e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6e5e1f63c02745da174947bb3a44d8f9 gearmand-0.14.tar.gz +b611bb36da36efea2d68428ba9e871ad gearmand-1.1.2.tar.gz