Files @ e7d6373631c4
Branch filter:

Location: kallithea/init.d/celeryd-upstart.conf

Thomas De Schampheleire
setup.py: support Paste 3.0.x

In a fresh virtualenv on the stable branch, pastescript 3.0.0 is installed
which depends on paste 3.0.x. Using this virtualenv to upgrade to the
default branch, using 'pip install --upgrade -e .' fails because on the
default branch, the paste version is restricted with '>= 2.0.3, < 3'.
Following error occurs:

pastescript 3.0.0 has requirement Paste>=3.0, but you'll have paste 2.0.3 which is incompatible.
...
Traceback (most recent call last):
File "<string>", line 1, in <module>
File ".../kallithea/kallithea-release/setup.py", line 160, in <module>
""",
File "/usr/lib64/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File ".../kallithea/venv/kallithea-release/lib/python2.7/site-packages/setuptools/command/develop.py", line 36, in run
self.install_for_development()
File ".../kallithea/venv/kallithea-release/lib/python2.7/site-packages/setuptools/command/develop.py", line 117, in install_for_development
self.run_command('egg_info')
File "/usr/lib64/python2.7/distutils/cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File ".../kallithea/venv/kallithea-release/lib/python2.7/site-packages/setuptools/command/egg_info.py", line 270, in run
ep.require(installer=installer)
File ".../kallithea/venv/kallithea-release/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2307, in require
items = working_set.resolve(reqs, env, installer)
File ".../kallithea/venv/kallithea-release/lib/python2.7/site-packages/pkg_resources/__init__.py", line 854, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (Paste 2.0.3 (.../kallithea/venv/kallithea-release/lib/python2.7/site-packages), Requirement.parse('Paste>=3.0'))


The '< 3' restriction is introduced with commit
e1ab826131334150b1f003e26de3207c34fc6e67 in January 2017, at which point
2.0.3 was the latest version. Version 3.0.0 was introduced in October 2018.

Paste has a new maintainer and moved to github, after years of
inactivity (March 2016 -> Oct 2018). There have AFAICS not been
incompatible changes. This analysis is based on:
- the news file: https://pythonpaste.readthedocs.io/en/latest/news.html
- the commit message of the 3.0.0 release:
(https://github.com/cdent/paste/commit/9ceef07267ba83ea5c00533f85f9edf9ba38cd71)

"This is for the sake of getting something out there, including
fixes to get stuff working with Python 3.7."

- and a walk through the commits since 2.0.3 on github
(https://github.com/cdent/paste/commits/master).
# celeryd - run the celeryd daemon as an upstart job for kallithea
# Change variables/paths as necessary and place file /etc/init/celeryd.conf
# start/stop/restart as normal upstart job (ie: $ start celeryd)

description     "Celery for Kallithea Mercurial Server"
author          "Matt Zuba <matt.zuba@goodwillaz.org"

start on starting kallithea
stop on stopped kallithea

respawn

umask 0022

env PIDFILE=/tmp/celeryd.pid
env APPINI=/var/hg/kallithea/production.ini
env HOME=/var/hg
env USER=hg
# To use group (if different from user), you must edit sudoers file and change
# root's entry from (ALL) to (ALL:ALL)
# env GROUP=hg

script
    COMMAND="/var/hg/.virtualenvs/kallithea/bin/kallithea-cli celery-run -c $APPINI -- --pidfile=$PIDFILE"
    if [ -z "$GROUP" ]; then
        exec sudo -u $USER $COMMAND
    else
        exec sudo -u $USER -g $GROUP $COMMAND
    fi
end script

post-stop script
    rm -f $PIDFILE
end script