!1 Package init
From: @zhengyaohui Reviewed-by: @small_leek Signed-off-by: @small_leek
This commit is contained in:
commit
2453316bdb
50
273.patch
Normal file
50
273.patch
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
From d6507e52adcf851d8888b93f9905f0fad1052af2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Robin Lee <cheeselee@fedoraproject.org>
|
||||||
|
Date: Sun, 16 Feb 2020 02:37:42 +0800
|
||||||
|
Subject: [PATCH] Fix crashing of tests when '-Wp,-D_GLIBCXX_ASSERTIONS' is
|
||||||
|
given
|
||||||
|
|
||||||
|
If 'vec' is a vector, calling 'vec[0]' will crash the program if
|
||||||
|
'vec' is empty and '-Wp,-D_GLIBCXX_ASSERTIONS' given in CXXFLAGS.
|
||||||
|
|
||||||
|
Fixes https://github.com/gearman/gearmand/issues/272
|
||||||
|
---
|
||||||
|
libtest/cmdline.h | 4 ++--
|
||||||
|
tests/hostile.cc | 2 +-
|
||||||
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libtest/cmdline.h b/libtest/cmdline.h
|
||||||
|
index 692363f6..3503bada 100644
|
||||||
|
--- a/libtest/cmdline.h
|
||||||
|
+++ b/libtest/cmdline.h
|
||||||
|
@@ -153,7 +153,7 @@ class Application {
|
||||||
|
|
||||||
|
const char* stdout_c_str() const
|
||||||
|
{
|
||||||
|
- return &_stdout_buffer[0];
|
||||||
|
+ return _stdout_buffer.size() ? &_stdout_buffer[0] : NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
libtest::vchar_t stderr_result() const
|
||||||
|
@@ -163,7 +163,7 @@ class Application {
|
||||||
|
|
||||||
|
const char* stderr_c_str() const
|
||||||
|
{
|
||||||
|
- return &_stderr_buffer[0];
|
||||||
|
+ return _stderr_buffer.size() ? &_stderr_buffer[0] : NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t stderr_result_length() const
|
||||||
|
diff --git a/tests/hostile.cc b/tests/hostile.cc
|
||||||
|
index c4c0487d..c7686206 100644
|
||||||
|
--- a/tests/hostile.cc
|
||||||
|
+++ b/tests/hostile.cc
|
||||||
|
@@ -136,7 +136,7 @@ extern "C" {
|
||||||
|
gearman_return_t rc;
|
||||||
|
void *value= gearman_client_do(&client, WORKER_FUNCTION_NAME,
|
||||||
|
NULL,
|
||||||
|
- &payload[0],
|
||||||
|
+ payload.size() ? &payload[0] : NULL,
|
||||||
|
payload.size() ? random() % payload.size() : 0,
|
||||||
|
NULL, &rc);
|
||||||
|
|
||||||
21
gearmand-1.1.12-ppc64le.patch
Normal file
21
gearmand-1.1.12-ppc64le.patch
Normal file
@ -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
|
||||||
BIN
gearmand-1.1.19.1.tar.gz
Normal file
BIN
gearmand-1.1.19.1.tar.gz
Normal file
Binary file not shown.
81
gearmand.init
Normal file
81
gearmand.init
Normal file
@ -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
|
||||||
|
|
||||||
12
gearmand.service
Normal file
12
gearmand.service
Normal 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 --log-file none --syslog $OPTIONS
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
111
gearmand.spec
Normal file
111
gearmand.spec
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
Name: gearmand
|
||||||
|
Version: 1.1.19.1
|
||||||
|
Release: 1
|
||||||
|
Summary: A distributed job system
|
||||||
|
License: BSD
|
||||||
|
URL: http://www.gearman.org
|
||||||
|
Source0: https://github.com/gearman/%{name}/releases/download/%{version}/gearmand-%{version}.tar.gz
|
||||||
|
Source1: gearmand.init
|
||||||
|
Source2: gearmand.sysconfig
|
||||||
|
Source3: gearmand.service
|
||||||
|
Patch0: gearmand-1.1.12-ppc64le.patch
|
||||||
|
Patch1: https://github.com/gearman/gearmand/pull/273.patch
|
||||||
|
ExcludeArch: ppc
|
||||||
|
BuildRequires: gcc-c++ chrpath libuuid-devel boost-devel >= 1.37.0, boost-thread sqlite-devel
|
||||||
|
BuildRequires: tokyocabinet-devel libevent-devel libmemcached-devel, memcached hiredis-devel
|
||||||
|
BuildRequires: gperf mariadb-connector-c-devel openssl-devel libpq-devel zlib-devel systemd
|
||||||
|
%ifarch %{ix86} x86_64 ppc64 ppc64le aarch64 %{arm}
|
||||||
|
BuildRequires: gperftools-devel
|
||||||
|
%endif
|
||||||
|
Requires(pre): shadow-utils
|
||||||
|
Requires: procps
|
||||||
|
%{?systemd_requires}
|
||||||
|
%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
|
||||||
|
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} libevent-devel
|
||||||
|
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
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%configure --disable-static --disable-silent-rules --enable-ssl
|
||||||
|
make %{_smp_mflags}
|
||||||
|
|
||||||
|
%install
|
||||||
|
make install DESTDIR=%{buildroot}
|
||||||
|
rm -v %{buildroot}%{_libdir}/libgearman*.la
|
||||||
|
chrpath --delete %{buildroot}%{_bindir}/gearman
|
||||||
|
install -p -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/gearmand
|
||||||
|
mkdir -p %{buildroot}%{_unitdir}
|
||||||
|
install -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}.service
|
||||||
|
|
||||||
|
%check
|
||||||
|
|
||||||
|
%pre
|
||||||
|
getent group gearmand >/dev/null || groupadd -r gearmand
|
||||||
|
getent passwd gearmand >/dev/null || \
|
||||||
|
useradd -r -g gearmand -d / -s /sbin/nologin \
|
||||||
|
-c "Gearmand job server" gearmand
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
%post
|
||||||
|
%systemd_post gearmand.service
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%systemd_preun gearmand.service
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%systemd_postun_with_restart gearmand.service
|
||||||
|
%ldconfig_scriptlets -n libgearman
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license COPYING
|
||||||
|
%doc AUTHORS ChangeLog HACKING THANKS
|
||||||
|
%config(noreplace) %{_sysconfdir}/sysconfig/gearmand
|
||||||
|
%{_sbindir}/gearmand
|
||||||
|
%{_bindir}/gearman
|
||||||
|
%{_bindir}/gearadmin
|
||||||
|
%{_mandir}/man1/*
|
||||||
|
%{_mandir}/man8/*
|
||||||
|
%{_unitdir}/%{name}.service
|
||||||
|
|
||||||
|
%files -n libgearman
|
||||||
|
%license COPYING
|
||||||
|
%{_libdir}/libgearman.so.8
|
||||||
|
%{_libdir}/libgearman.so.8.0.0
|
||||||
|
|
||||||
|
%files -n libgearman-devel
|
||||||
|
%license COPYING
|
||||||
|
%doc AUTHORS ChangeLog HACKING THANKS
|
||||||
|
%dir %{_includedir}/libgearman
|
||||||
|
%{_includedir}/libgearman/
|
||||||
|
%{_libdir}/pkgconfig/gearmand.pc
|
||||||
|
%{_libdir}/libgearman.so
|
||||||
|
%{_includedir}/libgearman-1.0/
|
||||||
|
%{_mandir}/man3/*
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Tue Sep 7 2021 zhengyaohui <zhengyaohui1@huawei.com> - 1.1.19.1-1
|
||||||
|
- package init
|
||||||
3
gearmand.sysconfig
Normal file
3
gearmand.sysconfig
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
### Settings for gearmand
|
||||||
|
# OPTIONS=""
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user