[packages/python-celery] Version: 3.1.19, many updates
jajcus
jajcus at pld-linux.org
Tue Nov 17 10:03:34 CET 2015
commit d9473a22c4e6f96a0a771070a4e0fd4737480c7d
Author: Jacek Konieczny <j.konieczny at eggsoft.pl>
Date: Tue Nov 17 10:02:19 2015 +0100
Version: 3.1.19, many updates
- up to 3.1.19
- outdated init scripts removed (Celery is useful without them)
- Python3 support added
- api documentation added
amqp-objects.inv | Bin 0 -> 2436 bytes
celery.tmpfiles | 1 -
celeryd.init | 131 ----------------------------
celeryd.sysconfig | 25 ------
cyme-objects.inv | Bin 0 -> 4203 bytes
djcelery-objects.inv | Bin 0 -> 1123 bytes
intersphinx.patch | 20 +++++
kombu-objects.inv | Bin 0 -> 10616 bytes
python-celery.spec | 231 +++++++++++++++++++++++++++++++++++---------------
python-objects.inv | Bin 0 -> 131706 bytes
pytz_dependency.patch | 8 ++
unittest2.patch | 7 ++
12 files changed, 197 insertions(+), 226 deletions(-)
---
diff --git a/python-celery.spec b/python-celery.spec
index 5ed6940..fad2fb7 100644
--- a/python-celery.spec
+++ b/python-celery.spec
@@ -1,28 +1,58 @@
+
+# TODO:
+# - consider init script / systemd job (uid/gid celery 274 used to be used)
+# NOTE: this must not be included and enabled by default in the default
+# package! Real-life deployments will mostly be application-specific.
+
+# Conditional build:
+%bcond_without doc # don't build doc
+%bcond_with tests # run tests (broken)
+%bcond_without python2 # CPython 2.x module
+%bcond_without python3 # CPython 3.x module
+%bcond_without python3_default # Use Python 3.x for celery executables
+
+%if %{without python3}
+%undefine python3_default
+%endif
+
%define module celery
-Summary: Distributed Task Query
+Summary: Celery - Distributed Task Query
Name: python-%{module}
-Version: 2.5.1
-Release: 0.4
+Version: 3.1.19
+Release: 0.1
License: BSD-like
Group: Development/Languages/Python
Source0: http://pypi.python.org/packages/source/c/%{module}/%{module}-%{version}.tar.gz
-# Source0-md5: c0912f29b69929219b353c748e0bf936
-Source1: celeryd.sysconfig
-Source2: celeryd.init
-Source3: celery.tmpfiles
+# Source0-md5: fba8c4b269814dc6dbc36abb0e66c384
+Source1: amqp-objects.inv
+Source2: cyme-objects.inv
+Source3: djcelery-objects.inv
+Source4: kombu-objects.inv
+Source5: python-objects.inv
+Patch0: pytz_dependency.patch
+Patch1: unittest2.patch
+Patch2: intersphinx.patch
URL: http://celeryproject.org/
-BuildRequires: python-distribute
BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.228
-Requires: python-amqplib
-Requires: python-anyjson >= 0.3.1
-Requires: python-dateutil >= 1.5
-Requires: python-dateutil < 2.0.0
-Requires(post,preun): /sbin/chkconfig
-Requires: python-kombu >= 2.1.1
-Requires: python-modules
-Requires: rc-scripts
-Provides: user(celery)
+BuildRequires: rpmbuild(macros) >= 1.612
+BuildRequires: sed >= 4.0
+%if %{with python2}
+BuildRequires: python-setuptools
+%if %{with tests}
+BuildRequires: python-mock >= 1.0.1
+BuildRequires: python-modules >= 1:2.7
+BuildRequires: python-nose
+%endif
+%endif
+%if %{with python3}
+BuildRequires: python3-setuptools
+%if %{with tests}
+BuildRequires: python3-nose
+%endif
+%endif
+Requires: python-billiard >= 3.3.0.21
+Requires: python-kombu >= 3.0.29
+Requires: python-pytz
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -31,72 +61,135 @@ Celery is an asynchronous task queue/job queue based on distributed
message passing. It is focused on real-time operation, but supports
scheduling as well.
+%package -n python3-%{module}
+Summary: Celery - Distributed Task Query
+Group: Development/Languages/Python
+Requires: python3-billiard >= 3.3.0.21
+Requires: python3-billiard < 3.4
+Requires: python3-kombu >= 3.0.29
+Requires: python3-kombu < 3.1
+Requires: python3-pytz
+
+%description -n python3-%{module}
+Celery is an asynchronous task queue/job queue based on distributed
+message passing. It is focused on real-time operation, but supports
+scheduling as well.
+
+%package -n celery
+Summary: Celery - Distributed Task Query
+Group: Development/Languages/Python
+%if %{with python3_default}
+Requires: python3-%{module} = %{version}
+%else
+Requires: python-%{module} = %{version}
+%endif
+
+%description -n celery
+Celery is an asynchronous task queue/job queue based on distributed
+message passing. It is focused on real-time operation, but supports
+scheduling as well.
+
+%package apidocs
+Summary: %{module} API documentation
+Summary(pl.UTF-8): Dokumentacja API %{module}
+Group: Documentation
+
+%description apidocs
+API documentation for %{module}.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API %{module}.
+
%prep
%setup -q -n %{module}-%{version}
-%build
-%{__python} setup.py build
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
-%install
-rm -rf $RPM_BUILD_ROOT
-%{__python} setup.py install \
- --skip-build \
- --optimize=2 \
- --root=$RPM_BUILD_ROOT
-
-install -d $RPM_BUILD_ROOT%{_localstatedir}/run/celery
-install -d $RPM_BUILD_ROOT/var/log{,/archive}/celery
-install -D %{SOURCE3} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/celery.conf
-install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
-cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+cp -a %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} docs
-install -D %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/celeryd
-install -D %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/celeryd
+%build
+%if %{with python2}
+%{__python} setup.py build --build-base build-2 %{?with_tests:test}
-%py_postclean
+%if %{with doc}
+cd docs
+PYTHONPATH=../build-2/lib %{__make} -j1 html
+rm -rf .build/html/_sources
+cd ..
+%endif
+%endif
+%if %{with python3}
+%{__python3} setup.py build --build-base build-3 %{?with_tests:test}
+%endif
-%clean
+%install
rm -rf $RPM_BUILD_ROOT
-%pre
-%groupadd -g 274 celery
-%useradd -u 274 -g celery -r -s /bin/false "Celery Daemon" celery
+install_python2() {
+ %{__python} setup.py \
+ build --build-base build-2 \
+ install --skip-build \
+ --optimize=2 \
+ --root=$RPM_BUILD_ROOT
-%post
-/sbin/chkconfig --add celeryd
-%service celeryd restart
+ %py_postclean
+}
+install_python3() {
+ %{__python3} setup.py \
+ build --build-base build-3 \
+ install --skip-build \
+ --optimize=2 \
+ --root=$RPM_BUILD_ROOT
+}
-%preun
-if [ "$1" = "0" ]; then
- %service -q celeryd stop
- /sbin/chkconfig --del celeryd
-fi
+# install the right executables last
+%if %{with python3} && %{without python3_default}
+install_python3
+%endif
+%if %{with python2}
+install_python2
+%endif
+%if %{with python3} && %{with python3_default}
+install_python3
+%endif
-%postun
-if [ "$1" = "0" ]; then
- %userremove celery
- %groupremove celery
-fi
+%if %{with python2}
+install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+find $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} -name '*.py' \
+ | xargs sed -i '1s|^#!.*python\b|#!%{__python}|'
+%endif
+%if %{with python3}
+install -d $RPM_BUILD_ROOT%{_examplesdir}/python3-%{module}-%{version}
+cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/python3-%{module}-%{version}
+find $RPM_BUILD_ROOT%{_examplesdir}/python3-%{module}-%{version} -name '*.py' \
+ | xargs sed -i '1s|^#!.*python\b|#!%{__python3}|'
+%endif
+
+%clean
+rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc AUTHORS Changelog FAQ README THANKS TODO
-%attr(755,root,root) %{_bindir}/camqadm
-%attr(755,root,root) %{_bindir}/celerybeat
-%attr(755,root,root) %{_bindir}/celeryctl
-%attr(755,root,root) %{_bindir}/celeryd
-%attr(755,root,root) %{_bindir}/celeryd-multi
-%attr(755,root,root) %{_bindir}/celeryev
-
-%attr(754,root,root) /etc/rc.d/init.d/celeryd
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/celeryd
-%attr(750,celery,root) %dir %{_localstatedir}/run/celery
-%attr(750,celery,logs) %dir /var/log/archive/celery
-%attr(750,celery,logs) /var/log/celery
-/usr/lib/tmpfiles.d/celery.conf
-
+%doc CONTRIBUTORS.txt Changelog LICENSE README.rst TODO extra
%{py_sitescriptdir}/%{module}
-%if "%{py_ver}" > "2.4"
%{py_sitescriptdir}/celery-*.egg-info
-%endif
%{_examplesdir}/%{name}-%{version}
+
+%files -n python3-%{module}
+%defattr(644,root,root,755)
+%doc CONTRIBUTORS.txt Changelog LICENSE README.rst TODO extra
+%{py3_sitescriptdir}/%{module}
+%{py3_sitescriptdir}/celery-*.egg-info
+%{_examplesdir}/python3-%{module}-%{version}
+
+%files -n celery
+%attr(755,root,root) %{_bindir}/*
+
+%if %{with doc}
+%files apidocs
+%defattr(644,root,root,755)
+%doc docs/.build/html/*
+%endif
diff --git a/amqp-objects.inv b/amqp-objects.inv
new file mode 100644
index 0000000..ef43597
Binary files /dev/null and b/amqp-objects.inv differ
diff --git a/celery.tmpfiles b/celery.tmpfiles
deleted file mode 100644
index c78cdd0..0000000
--- a/celery.tmpfiles
+++ /dev/null
@@ -1 +0,0 @@
-d /var/run/celery 0755 root root -
diff --git a/celeryd.init b/celeryd.init
deleted file mode 100644
index 3e71505..0000000
--- a/celeryd.init
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/bin/sh
-#
-# celeryd Starts the Celery worker daemon.
-#
-# chkconfig: 2345 55 45
-# description: Celery worker daemon
-# config: /etc/sysconfig/celeryd
-# pidfile: /var/run/celeryd.pid
-
-### BEGIN INIT INFO
-# Provides: celeryd
-# Required-Start: $network $local_fs $remote_fs
-# Required-Stop: $network $local_fs $remote_fs
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: celery task worker daemon
-### END INIT INFO
-
-DEFAULT_NODES="celery"
-
-# Source function library
-. /etc/rc.d/init.d/functions
-
-# Get service config
-[ -f /etc/sysconfig/celeryd ] && . /etc/sysconfig/celeryd
-
-CELERYD_USER=${CELERYD_USER:-"celery"}
-CELERYD_GROUP=${CELERYD_GROUP:-"users"}
-
-CELERYD_LOG_FILE=${CELERYD_LOG_FILE:-${CELERYD_LOGFILE:-"/var/log/celery/%n.log"}}
-CELERYD_PID_FILE=${CELERYD_PID_FILE:-${CELERYD_PIDFILE:-"/var/run/celery/%n.pid"}}
-CELERYD_LOG_LEVEL=${CELERYD_LOG_LEVEL:-${CELERYD_LOGLEVEL:-"INFO"}}
-
-CELERYD=${CELERYD:-"/usr/bin/celeryd"}
-
-CELERYD_MULTI=${CELERYD_MULTI:-"/usr/bin/celeryd-multi"}
-CELERYD_NODES=${CELERYD_NODES:-$DEFAULT_NODES}
-
-if [ -n "$2" ]; then
- CELERYD_OPTS="$CELERYD_OPTS $2"
-fi
-
-if [ -n "$CELERY_PYTHONPATH" ]; then
- PYTHONPATH=$CELERY_PYTHONPATH
- export PYTHONPATH
-fi
-
-if [ -n "$CELERY_CONFIG_MODULE" ]; then
- CELERYD_OPTS="$CELERYD_OPTS --config=$CELERY_CONFIG_MODULE"
-fi
-
-if [ -n "$CELERY_LOADER" ]; then
- CELERYD_OPTS="$CELERYD_OPTS --loader=$CELERY_LOADER"
-fi
-
-# Extra start-stop-daemon options, like user/group.
-if [ -n "$CELERYD_CHDIR" ]; then
- DAEMON_OPTS="$DAEMON_OPTS --chdir $CELERYD_CHDIR"
-fi
-if [ -n "$CELERYD_USER" ]; then
- DAEMON_OPTS="$DAEMON_OPTS --chuid $CELERYD_USER"
-fi
-if [ -n "$CELERYD_GROUP" ]; then
- DAEMON_OPTS="$DAEMON_OPTS --group $CELERYD_GROUP"
-fi
-
-start() {
- # Check if the service is already running?
- if [ -f /var/lock/subsys/celeryd ]; then
- msg_already_running "celeryd"
- return
- fi
-
- msg_starting "celeryd"
- start-stop-daemon --start $DAEMON_OPTS --background \
- --exec $CELERYD_MULTI \
- start $CELERYD_NODES -- \
- --pidfile="$CELERYD_PID_FILE" \
- --logfile="$CELERYD_LOG_FILE" \
- --loglevel="$CELERYD_LOG_LEVEL" \
- $CELERYD_OPTS
- ok
- RETVAL=$?
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/celeryd
-}
-
-stop() {
- if [ ! -f /var/lock/subsys/celeryd ]; then
- msg_not_running "celeryd"
- return
- fi
-
- msg_stopping "celeryd"
- $CELERYD_MULTI stop $CELERYD_NODES --pidfile="$CELERYD_PID_FILE" >/dev/null 2>&1
- RETVAL=$?
- if [ $RETVAL == 0 ]; then
- ok
- rm -f /var/lock/subsys/celeryd >/dev/null 2>&1
- else
- fail
- fi
-}
-
-RETVAL=0
-# See how we were called.
-case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- stop
- start
- ;;
- try-restart)
- stop
- start
- ;;
- status)
- cd $CELERYD_CHDIR
- celeryctl status --config="$CELERY_CONFIG_MODULE"
- ;;
- *)
- msg_usage "$0 {start|stop|restart|try-restart|kill}"
- exit 3
- ;;
-esac
-
-exit $RETVAL
diff --git a/celeryd.sysconfig b/celeryd.sysconfig
deleted file mode 100644
index a84fd24..0000000
--- a/celeryd.sysconfig
+++ /dev/null
@@ -1,25 +0,0 @@
-# Define nice level for celeryd
-SERVICE_RUN_NICE_LEVEL="+0"
-
-# Config for celeryd
-
-# List of nodes to start
-#CELERYD_NODES="worker1 worker2 worker3"k
-# ... can also be a number of workers
-#CELERYD_NODES=3
-
-# Where to chdir at start
-#CELERYD_CHDIR="/opt/Myproject/"
-
-# Extra arguments to celeryd
-CELERYD_OPTS="-B -s /tmp/celerybeat-schedule"
-
-#CELERYD="$CELERYD_CHDIR/manage.pyc celeryd"
-
-#CELERY_LOADER=
-
-# Name of the celery config module.
-#CELERY_CONFIG_MODULE="celeryconfig"
-#export DJANGO_SETTINGS_MODULE="celeryconfig"
-
-#CELERY_PYTHONPATH=
diff --git a/cyme-objects.inv b/cyme-objects.inv
new file mode 100644
index 0000000..1a0b817
Binary files /dev/null and b/cyme-objects.inv differ
diff --git a/djcelery-objects.inv b/djcelery-objects.inv
new file mode 100644
index 0000000..341f3df
Binary files /dev/null and b/djcelery-objects.inv differ
diff --git a/intersphinx.patch b/intersphinx.patch
new file mode 100644
index 0000000..c0f28cb
--- /dev/null
+++ b/intersphinx.patch
@@ -0,0 +1,20 @@
+diff -dur celery-3.1.19.orig/docs/conf.py celery-3.1.19/docs/conf.py
+--- celery-3.1.19.orig/docs/conf.py 2015-10-26 21:04:39.000000000 +0100
++++ celery-3.1.19/docs/conf.py 2015-11-17 09:53:06.000000000 +0100
+@@ -76,11 +76,11 @@
+ add_function_parentheses = True
+
+ intersphinx_mapping = {
+- 'python': ('http://docs.python.org/dev', None),
+- 'kombu': ('http://kombu.readthedocs.org/en/latest/', None),
+- 'djcelery': ('http://django-celery.readthedocs.org/en/latest', None),
+- 'cyme': ('http://cyme.readthedocs.org/en/latest', None),
+- 'amqp': ('http://amqp.readthedocs.org/en/latest', None),
++ 'python': ('http://docs.python.org/dev', "python-objects.inv"),
++ 'kombu': ('http://kombu.readthedocs.org/en/latest/', "kombu-objects.inv"),
++ 'djcelery': ('http://django-celery.readthedocs.org/en/latest', "djcelery-objects.inv"),
++ 'cyme': ('http://cyme.readthedocs.org/en/latest', "cyme-objects.inv"),
++ 'amqp': ('http://amqp.readthedocs.org/en/latest', "amqp-objects.inv"),
+ }
+
+ # The name of the Pygments (syntax highlighting) style to use.
diff --git a/kombu-objects.inv b/kombu-objects.inv
new file mode 100644
index 0000000..ee53c6e
Binary files /dev/null and b/kombu-objects.inv differ
diff --git a/python-objects.inv b/python-objects.inv
new file mode 100644
index 0000000..6f851b8
Binary files /dev/null and b/python-objects.inv differ
diff --git a/pytz_dependency.patch b/pytz_dependency.patch
new file mode 100644
index 0000000..ccd3c32
--- /dev/null
+++ b/pytz_dependency.patch
@@ -0,0 +1,8 @@
+diff -dur celery-3.1.19.orig/requirements/default.txt celery-3.1.19/requirements/default.txt
+--- celery-3.1.19.orig/requirements/default.txt 2015-10-26 21:04:39.000000000 +0100
++++ celery-3.1.19/requirements/default.txt 2015-11-16 15:15:38.000000000 +0100
+@@ -1,3 +1,3 @@
+-pytz>dev
++pytz
+ billiard>=3.3.0.21,<3.4
+ kombu>=3.0.29,<3.1
diff --git a/unittest2.patch b/unittest2.patch
new file mode 100644
index 0000000..0933b56
--- /dev/null
+++ b/unittest2.patch
@@ -0,0 +1,7 @@
+diff -dur celery-3.1.19.orig/requirements/test.txt celery-3.1.19/requirements/test.txt
+--- celery-3.1.19.orig/requirements/test.txt 2015-10-26 21:04:39.000000000 +0100
++++ celery-3.1.19/requirements/test.txt 2015-11-17 09:42:12.000000000 +0100
+@@ -1,3 +1,2 @@
+-unittest2>=0.5.1
+ nose
+ mock>=1.0.1
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/python-celery.git/commitdiff/d9473a22c4e6f96a0a771070a4e0fd4737480c7d
More information about the pld-cvs-commit
mailing list