Prefix PKGNAME with PYPKGPREFX and move binaries in post-install to support
multiple python versions. Update DEPENDS versions for py-kombu and
py-billiard. From Changelog:

3.1.9
=====
- **Prefork pool**: Better handling of exiting child processes.
- **Prefork pool**: Now makes sure all file descriptors are removed
  from the hub when a process is cleaned up.
- **New Sphinx extension**: for autodoc documentation of tasks:
  :mod:`celery.contrib.spinx` (Issue #1833).
- **Django**: Now works with Django 1.7a1.
- **Task**: Task.backend is now a property that forwards to ``app.backend``
  if no custom backend has been specified for the task (Issue #1821).
- **Generic init scripts**: Fixed bug in stop command.
- **Generic init scripts**: Fixed compatibility with GNU :manpage:`stat`.
- **Generic init scripts**: Fixed compatibility with the minimal
  :program:`dash` shell (Issue #1815).
- **Commands**: The :program:`celery amqp basic.publish` command was not
  working properly.
- **Commands**: Did no longer emit an error message if the pidfile exists
  and the process is still alive (Issue #1855).
- **Commands**: Better error message for missing arguments to preload
  options (Issue #1860).
- **Commands**: :program:`celery -h` did not work because of a bug in the
  argument parser (Issue #1849).
- **Worker**: Improved error message for message decoding errors.
- **Time**: Now properly parses the `Z` timezone specifier in ISO 8601 date
  strings.
- **Worker**: Now uses the *negotiated* heartbeat value to calculate
  how often to run the heartbeat checks.
- **Beat**: Fixed problem with beat hanging after the first schedule
  iteration (Issue #1822).
- **Signals**: The header argument to :signal:`before_task_publish` is now
  always a dictionary instance so that signal handlers can add headers.
- **Worker**: A list of message headers is now included in message related
  errors.

3.1.8
=====
- **Worker**: The event loop was not properly reinitialized at consumer restart
  which would force the worker to continue with a closed ``epoll`` instance on
  Linux, resulting in a crash.
- **Events:** Fixed issue with both heartbeats and task events that could
  result in the data not being kept in sorted order.
    As a result this would force the worker to log "heartbeat missed"
    events even though the remote node was sending heartbeats in a timely manner.
- **Results:** The pickle serializer no longer converts group results to tuples,
  and will keep the original type (*Issue #1750*).
- **Results:** ``ResultSet.iterate`` is now pending deprecation.
    The method will be deprecated in version 3.2 and removed in version 3.3.
    Use ``result.get(callback=)`` (or ``result.iter_native()`` where available)
    instead.
- **Worker**\|eventlet/gevent: A regression caused ``Ctrl+C`` to be ineffective
  for shutdown.
- **Redis result backend:** Now using a pipeline to store state changes
  for improved performance.
- **Redis result backend:** Will now retry storing the result if disconnected.
- **Worker**\|gossip: Fixed attribute error occurring when another node leaves.
- **Generic init scripts:** Now runs a check at startup to verify
  that any configuration scripts are owned by root and that they
  are not world/group writeable.
    The init script configuration is a shell script executed by root,
    so this is a preventive measure to ensure that users do not
    leave this file vulnerable to changes by unprivileged users.
    .. note::
        Note that upgrading celery will not update the init scripts,
        instead you need to manually copy the improved versions from the
        source distribution:
        https://github.com/celery/celery/tree/3.1/extra/generic-init.d
- **Commands**: The :program:`celery purge` command now warns that the operation
  will delete all tasks and prompts the user for confirmation.
    A new :option:`-f` was added that can be used to disable
    interactive mode.
- **Task**: ``.retry()`` did not raise the value provided in the ``exc``
  argument when called outside of an error context (*Issue #1755*).
- **Commands:** The :program:`celery multi` command did not forward command
  line configuration to the target workers.
    The change means that multi will forward the special ``--`` argument and
    configuration content at the end of the arguments line to the specified
    workers.
    Example using command-line configuration to set a broker heartbeat
    from :program:`celery multi`:
    .. code-block:: bash
        $ celery multi start 1 -c3 -- broker.heartbeat=30
- **Canvas:** ``chain.apply_async()`` now properly forwards execution options.
- **Redis result backend:** Now takes ``connection_pool`` argument that can be
  used to change the connection pool class/constructor.
- **Worker:** Now truncates very long arguments and keyword arguments logged by
  the pool at debug severity.
- **Worker:** The worker now closes all open files on :sig:`SIGHUP` (regression)
  (*Issue #1768*).
- **Worker:** Will no longer accept remote control commands while the
  worker startup phase is incomplete (*Issue #1741*).
- **Commands:** The output of the event dump utility
  (:program:`celery events -d`) can now be piped into other commands.
- **Documentation:** The RabbitMQ installation instructions for OS X was
  updated to use modern homebrew practices.
- **Commands:** The :program:`celery inspect conf` utility now works.
- **Commands:** The :option:`-no-color` argument was not respected by
  all commands (*Issue #1799*).
- **App:** Fixed rare bug with ``autodiscover_tasks()`` (*Issue #1797*).
- **Distribution:** The sphinx docs will now always add the parent directory
  to path so that the current celery source code is used as a basis for
  API documentation (*Issue #1782*).
- **Documentation:** Supervisord examples contained an extraneous '-' in a
  `--logfile` argument example.
CATEGORIES+=python