Debian

Available patches from Ubuntu

To see Ubuntu differences wrt. to Debian, write down a grep-dctrl query identifying the packages you're interested in:
grep-dctrl -n -sPackage Sources.Debian
(e.g. -FPackage linux-ntfs or linux-ntfs)

Modified packages are listed below:

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: alembic

alembic (1.1.0-1ubuntu1) focal; urgency=low * Merge from Debian unstable. Remaining changes: - d/control: Demote runtime dependency on python{3}-editor to Suggests to avoid inclusion in Ubuntu main. - d/p/disable-editor.patch: Patch out hard requirement on python-editor. - d/rules: Ignore any issues with removal of files post build. - Build against only the current python3, as alembic fails tests against python3.8. -- Steve Langasek <steve.langasek@ubuntu.com> Wed, 13 Nov 2019 21:33:35 -0800

Modifications :
  1. Download patch debian/rules

    --- 1.1.0-1/debian/rules 2019-07-19 13:26:57.000000000 +0000 +++ 1.1.0-1ubuntu1/debian/rules 2019-11-13 07:11:29.000000000 +0000 @@ -3,7 +3,7 @@ include /usr/share/dpkg/pkg-info.mk export PYBUILD_NAME=alembic export PYBUILD_BEFORE_TEST=cp {dir}/setup.cfg {build_dir} -export PYBUILD_AFTER_TEST=rm {build_dir}/setup.cfg ; rm -r {build_dir}/scratch ; rm {build_dir}/test_schema.db +export PYBUILD_AFTER_TEST=rm -f {build_dir}/setup.cfg ; rm -rf {build_dir}/scratch ; rm -f {build_dir}/test_schema.db %: dh $@ --with python3,sphinxdoc --buildsystem=pybuild
  2. Download patch debian/control

    --- 1.1.0-1/debian/control 2019-10-31 13:41:59.000000000 +0000 +++ 1.1.0-1ubuntu1/debian/control 2019-11-13 07:11:29.000000000 +0000 @@ -1,14 +1,15 @@ Source: alembic Section: python Priority: optional -Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org> Uploaders: Thomas Goirand <zigo@debian.org>, Ondřej Nový <onovy@debian.org>, Build-Depends: debhelper-compat (= 12), dh-python (>= 3.20180927~), - python3-all, + python3, python3-changelog, python3-setuptools, python3-sphinx, @@ -65,6 +66,8 @@ Depends: ${sphinxdoc:Depends}, Breaks: alembic (<< 0.8.8-3), +Suggests: + python3-editor, Description: lightweight database migration tool for SQLAlchemy - Python module Alembic is a new database migration tool, written by the author of SQLAlchemy. A migration tool offers the following functionality:
  3. Download patch debian/patches/series

    --- 1.1.0-1/debian/patches/series 2019-07-15 23:08:10.000000000 +0000 +++ 1.1.0-1ubuntu1/debian/patches/series 2019-11-13 07:11:29.000000000 +0000 @@ -1 +1,2 @@ 0001-Do-not-use-intersphinx.patch +disable-editor.patch
  4. Download patch debian/patches/disable-editor.patch

    --- 1.1.0-1/debian/patches/disable-editor.patch 1970-01-01 00:00:00.000000000 +0000 +++ 1.1.0-1ubuntu1/debian/patches/disable-editor.patch 2019-11-14 05:33:35.000000000 +0000 @@ -0,0 +1,16 @@ +Description: Disable hard requirement on python-editor +Author: James Page <james.page@ubuntu.com> +Forwarded: not-needed + +Index: alembic-1.1.0-1ubuntu1/setup.py +=================================================================== +--- alembic-1.1.0-1ubuntu1.orig/setup.py ++++ alembic-1.1.0-1ubuntu1/setup.py +@@ -21,7 +21,6 @@ + requires = [ + "SQLAlchemy>=1.1.0", + "Mako", +- "python-editor>=0.3", + "python-dateutil", + ] +

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: backblaze-b2

backblaze-b2 (1.3.8-2ubuntu1) eoan; urgency=medium * Build-depend on pylint which is now python3, not pylint3. -- Steve Langasek <steve.langasek@ubuntu.com> Wed, 25 Sep 2019 14:30:53 -0700

Modifications :
  1. Download patch debian/control

    --- 1.3.8-2/debian/control 2019-08-05 23:42:46.000000000 +0000 +++ 1.3.8-2ubuntu1/debian/control 2019-09-25 21:30:53.000000000 +0000 @@ -1,12 +1,13 @@ Source: backblaze-b2 -Maintainer: Python Applications Packaging Team <python-apps-team@lists.alioth.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: Python Applications Packaging Team <python-apps-team@lists.alioth.debian.org> Uploaders: Ondřej Kobližek <koblizeko@gmail.com>, Ondřej Nový <onovy@debian.org>, Section: utils Priority: optional Build-Depends: debhelper-compat (= 12), dh-python, - pylint3 (>= 1.4.5), + pylint (>= 1.4.5), python3-all, python3-logfury, python3-mock,

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: pytest

pytest (4.6.6-1ubuntu4) focal; urgency=medium * Mark the pypy autopkg test as skippable, flaky * Don't run the pypy tests during the build. -- Matthias Klose <doko@ubuntu.com> Mon, 04 Nov 2019 14:28:32 +0100 pytest (4.6.6-1ubuntu2) focal; urgency=medium * Fix rmtree to remove directories with read-only files, #5524. -- Matthias Klose <doko@ubuntu.com> Mon, 04 Nov 2019 10:50:51 +0100 pytest (4.6.6-1ubuntu1) focal; urgency=medium [ Stefano Rivera ] * Skip the mock integration test under PyPy, there isn't a pypy-mock package in Debian. -- Matthias Klose <doko@ubuntu.com> Mon, 04 Nov 2019 07:45:41 +0100

Modifications :
  1. Download patch debian/tests/control

    --- 4.6.6-1/debian/tests/control 2019-07-16 22:41:07.000000000 +0000 +++ 4.6.6-1ubuntu4/debian/tests/control 2019-11-04 13:28:32.000000000 +0000 @@ -6,3 +6,4 @@ Depends: python3-pytest, python3-all Tests: smoketest-pypy Depends: pypy-pytest +Restrictions: skippable, flaky
  2. Download patch debian/rules

    --- 4.6.6-1/debian/rules 2019-08-10 21:20:51.000000000 +0000 +++ 4.6.6-1ubuntu4/debian/rules 2019-11-04 13:28:32.000000000 +0000 @@ -3,6 +3,8 @@ export PYBUILD_NAME=pytest +export PYBUILD_DISABLE_pypy=test + export PYBUILD_BEFORE_TEST=mkdir -p {dir}/debian/tmp/test-working-directory export PYBUILD_AFTER_TEST=rm -rf {dir}/debian/tmp/test-working-directory export PYBUILD_TEST_ARGS=\
  3. Download patch debian/patches/5524-Fix-rmtree-to-remove-directories-with-read-only-files.diff

    --- 4.6.6-1/debian/patches/5524-Fix-rmtree-to-remove-directories-with-read-only-files.diff 1970-01-01 00:00:00.000000000 +0000 +++ 4.6.6-1ubuntu4/debian/patches/5524-Fix-rmtree-to-remove-directories-with-read-only-files.diff 2019-11-04 09:50:15.000000000 +0000 @@ -0,0 +1,44 @@ +--- /dev/null ++++ b/changelog/5524.bugfix.rst +@@ -0,0 +1,2 @@ ++Fix issue where ``tmp_path`` and ``tmpdir`` would not remove directories containing files marked as read-only, ++which could lead to pytest crashing when executed a second time with the ``--basetemp`` option. +--- a/src/_pytest/pathlib.py ++++ b/src/_pytest/pathlib.py +@@ -92,9 +92,34 @@ def rm_rf(path): + """Remove the path contents recursively, even if some elements + are read-only. + """ +- onerror = partial(on_rm_rf_error, start_path=path) +- shutil.rmtree(str(path), onerror=onerror) + ++ def chmod_w(p): ++ import stat ++ ++ mode = os.stat(str(p)).st_mode ++ os.chmod(str(p), mode | stat.S_IWRITE) ++ ++ def force_writable_and_retry(function, p, excinfo): ++ p = Path(p) ++ ++ # for files, we need to recursively go upwards ++ # in the directories to ensure they all are also ++ # writable ++ if p.is_file(): ++ for parent in p.parents: ++ chmod_w(parent) ++ # stop when we reach the original path passed to rm_rf ++ if parent == path: ++ break ++ ++ chmod_w(p) ++ try: ++ # retry the function that failed ++ function(str(p)) ++ except Exception as e: ++ warnings.warn(PytestWarning("(rm_rf) error removing {}: {}".format(p, e))) ++ ++ shutil.rmtree(str(path), onerror=force_writable_and_retry) + + def find_prefixed(root, prefix): + """finds all elements in root that begin with the prefix, case insensitive"""
  4. Download patch debian/patches/0005-Drop-sphinxcontrib_trio-extension.patch

    --- 4.6.6-1/debian/patches/0005-Drop-sphinxcontrib_trio-extension.patch 2019-07-16 22:42:07.000000000 +0000 +++ 4.6.6-1ubuntu4/debian/patches/0005-Drop-sphinxcontrib_trio-extension.patch 2019-11-04 06:44:18.000000000 +0000 @@ -1,5 +1,4 @@ -From 02dd52b948c605f49442ebc2a601a5776e2cd206 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ond=C5=99ej=20Nov=C3=BD?= <onovy@debian.org> +From: =?utf-8?b?T25kxZllaiBOb3bDvQ==?= <onovy@debian.org> Date: Fri, 15 Jun 2018 13:43:56 +0200 Subject: Drop sphinxcontrib_trio extension @@ -7,9 +6,11 @@ Subject: Drop sphinxcontrib_trio extensi doc/en/conf.py | 1 - 1 file changed, 1 deletion(-) +diff --git a/doc/en/conf.py b/doc/en/conf.py +index 07cdbdc..63ed84f 100644 --- a/doc/en/conf.py +++ b/doc/en/conf.py -@@ -47,7 +47,6 @@ +@@ -47,7 +47,6 @@ extensions = [ "sphinx.ext.todo", "sphinx.ext.viewcode", "sphinx_removed_in",
  5. Download patch debian/patches/0003-Skip-test-under-PyPy.patch

    --- 4.6.6-1/debian/patches/0003-Skip-test-under-PyPy.patch 2019-07-16 22:41:39.000000000 +0000 +++ 4.6.6-1ubuntu4/debian/patches/0003-Skip-test-under-PyPy.patch 2019-11-04 06:44:18.000000000 +0000 @@ -1,15 +1,30 @@ -From 393239ab30af4acc535e871f408528adfb5a6a86 Mon Sep 17 00:00:00 2001 From: Sebastian Ramacher <sramacher@debian.org> Date: Thu, 13 Jul 2017 13:44:54 +0200 Subject: Skip test under PyPy --- - testing/test_warnings.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + testing/acceptance_test.py | 2 ++ + testing/test_warnings.py | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) +diff --git a/testing/acceptance_test.py b/testing/acceptance_test.py +index 9b33930..eedab3e 100644 +--- a/testing/acceptance_test.py ++++ b/testing/acceptance_test.py +@@ -1173,6 +1173,8 @@ def test_frame_leak_on_failing_test(testdir): + result.stdout.fnmatch_lines(["*1 failed, 1 passed in*"]) + + ++@pytest.mark.skipif('__pypy__' in sys.builtin_module_names, ++ reason='no mock on pypy in Debian') + def test_fixture_mock_integration(testdir): + """Test that decorators applied to fixture are left working (#3774)""" + p = testdir.copy_example("acceptance/fixture_mock_integration.py") +diff --git a/testing/test_warnings.py b/testing/test_warnings.py +index 65f57e0..c27a1d0 100644 --- a/testing/test_warnings.py +++ b/testing/test_warnings.py -@@ -158,7 +158,7 @@ +@@ -158,7 +158,7 @@ def test_unicode(testdir, pyfile_with_warnings): @pytest.mark.skipif(
  6. Download patch debian/patches/series

    --- 4.6.6-1/debian/patches/series 2019-07-17 22:09:26.000000000 +0000 +++ 4.6.6-1ubuntu4/debian/patches/series 2019-11-04 09:41:11.000000000 +0000 @@ -3,3 +3,4 @@ 0003-Skip-test-under-PyPy.patch 0005-Drop-sphinxcontrib_trio-extension.patch 0006-Disable-sphinx-extensions.patch +5524-Fix-rmtree-to-remove-directories-with-read-only-files.diff
  7. Download patch debian/patches/0002-Use-local-intersphinx-mappings.patch

    --- 4.6.6-1/debian/patches/0002-Use-local-intersphinx-mappings.patch 2019-07-16 22:41:36.000000000 +0000 +++ 4.6.6-1ubuntu4/debian/patches/0002-Use-local-intersphinx-mappings.patch 2019-11-04 06:44:18.000000000 +0000 @@ -1,15 +1,16 @@ -From 69a0160339737963d0095be23c639c25def47216 Mon Sep 17 00:00:00 2001 From: Sebastian Ramacher <sramacher@debian.org> Date: Thu, 14 Jul 2016 23:01:01 +0200 Subject: Use local intersphinx mappings --- - doc/en/conf.py | 13 +++++++++++-- - 1 file changed, 11 insertions(+), 2 deletions(-) + doc/en/conf.py | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) +diff --git a/doc/en/conf.py b/doc/en/conf.py +index 5daa15a..07cdbdc 100644 --- a/doc/en/conf.py +++ b/doc/en/conf.py -@@ -329,7 +329,17 @@ +@@ -329,7 +329,17 @@ texinfo_documents = [ # Example configuration for intersphinx: refer to the Python standard library.
  8. Download patch debian/patches/0001-Remove-Google-Analytics-and-Google-javascript.patch

    --- 4.6.6-1/debian/patches/0001-Remove-Google-Analytics-and-Google-javascript.patch 2019-07-16 22:41:07.000000000 +0000 +++ 4.6.6-1ubuntu4/debian/patches/0001-Remove-Google-Analytics-and-Google-javascript.patch 2019-11-04 06:44:18.000000000 +0000 @@ -1,4 +1,3 @@ -From 4a0f7eb70891bf2b33016b0759b1f4804e9eb14f Mon Sep 17 00:00:00 2001 From: Simon Chopin <chopin.simon@gmail.com> Date: Thu, 8 Oct 2015 11:04:33 -0700 Subject: Remove Google Analytics and Google+ javascript.
  9. Download patch debian/patches/0006-Disable-sphinx-extensions.patch

    --- 4.6.6-1/debian/patches/0006-Disable-sphinx-extensions.patch 2019-07-17 22:10:06.000000000 +0000 +++ 4.6.6-1ubuntu4/debian/patches/0006-Disable-sphinx-extensions.patch 2019-11-04 06:44:18.000000000 +0000 @@ -1,10 +1,17 @@ +From: =?utf-8?b?T25kxZllaiBOb3bDvQ==?= <onovy@debian.org> +Date: Sun, 3 Nov 2019 15:47:11 -0800 Subject: Disable some of Sphinx extensions which we don't have in Debian -Author: Ondřej Nový <onovy@debian.org> + Forwarded: not-needed +--- + doc/en/conf.py | 2 -- + 1 file changed, 2 deletions(-) +diff --git a/doc/en/conf.py b/doc/en/conf.py +index 63ed84f..dfe821f 100644 --- a/doc/en/conf.py +++ b/doc/en/conf.py -@@ -40,13 +40,11 @@ +@@ -40,13 +40,11 @@ todo_include_todos = 1 # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. extensions = [

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: pytest-pylint

pytest-pylint (0.14.1-1ubuntu2) eoan; urgency=medium * Rebuild against fixed dh-python * Use new pylint -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 11 Sep 2019 09:53:37 +0200

Modifications :
  1. Download patch debian/control

    --- 0.14.1-1/debian/control 2019-07-25 12:11:19.000000000 +0000 +++ 0.14.1-1ubuntu2/debian/control 2019-09-11 07:53:36.000000000 +0000 @@ -8,7 +8,7 @@ Priority: optional Build-Depends: debhelper-compat (= 12), dh-python, - pylint3, + pylint, python3-all, python3-mock, python3-pytest,

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: python-eventlet

python-eventlet (0.25.0-0ubuntu1) eoan; urgency=medium * New upstream release. * d/p/0013-New_test_crt.patch, d/p/0014-Fix-for-Python-3.7.patch, d/p/0015-IMPORTANT-late-import-in-use_hub-thread-race-caused-.patch, d/p/0016-Issue-535-use-Python-2-compatible-syntax-for-keyword.patch: Dropped. Fixed in upstream release. * d/p/*: Rebased. -- Corey Bryant <corey.bryant@canonical.com> Wed, 05 Jun 2019 12:13:26 -0400 python-eventlet (0.24.1-0ubuntu3) disco; urgency=medium * d/p/0016-*.patch: Replace patch with proper fix cherry-picked from upstream master branch (LP: #1809033). -- Corey Bryant <corey.bryant@canonical.com> Fri, 21 Dec 2018 09:16:24 -0500 python-eventlet (0.24.1-0ubuntu2) disco; urgency=medium * d/p/0016-endheaders-py27-work-around.patch: Patch the endheaders method definition to drop the "*" parameter for now as it is not valid for Python 2.7 (LP: #1809033). -- Corey Bryant <corey.bryant@canonical.com> Tue, 18 Dec 2018 14:58:36 -0500 python-eventlet (0.24.1-0ubuntu1) disco; urgency=medium * d/gbp.conf: Update gbp configuration file. * d/control: Update Vcs-* links and maintainers. * New upstream release. * d/control: Align (Build-)Depends with upstream. * d/p/0003-Allow-more-busy-CPU.patch, d/p/0009-Removed-test_urllib-that-is-failing-in-py36.patch, d/p/0014-Fix-for-Python-3.7.patch: Rebased. * d/p/0007-Patched-test_getaddrinfo-due-netbase-update.patch, d/p/0008-Disable-test_server_connection_timeout_exception.patch, d/p/0012-ssl-RecursionError-on-Python3.6.patch: Dropped. Fixed in new upstream release. * d/p/0005-Removed-failing-test.patch, d/p/0011-Avoid-dependency-on-enum-compat.patch: Dropped. No longer needed. * d/p/0015-IMPORTANT-late-import-in-use_hub-thread-race-caused-.patch: Cherry-picked from upstream master branch. -- Corey Bryant <corey.bryant@canonical.com> Mon, 17 Dec 2018 08:38:17 -0500

Modifications :
  1. Download patch eventlet/hubs/pyevent.py

    --- 0.24.1-2/eventlet/hubs/pyevent.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/hubs/pyevent.py 2019-05-24 09:00:38.000000000 +0000 @@ -1,12 +1,20 @@ import sys import traceback -import event import types from eventlet.support import greenlets as greenlet import six from eventlet.hubs.hub import BaseHub, READ, WRITE +try: + import event +except ImportError: + event = None + + +def is_available(): + return event is not None + class event_wrapper(object):
  2. Download patch debian/patches/0012-ssl-RecursionError-on-Python3.6.patch

    --- 0.24.1-2/debian/patches/0012-ssl-RecursionError-on-Python3.6.patch 2019-07-10 11:48:23.000000000 +0000 +++ 0.25.0-0ubuntu1/debian/patches/0012-ssl-RecursionError-on-Python3.6.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -From 0609b79275ad55e05c2a7dd6d167b1b97b605f52 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ond=C5=99ej=20Nov=C3=BD?= <onovy@debian.org> -Date: Thu, 10 May 2018 20:26:59 +0200 -Subject: ssl: RecursionError on Python3.6+ - -Origin: https://github.com/eventlet/eventlet/commit/de06878e5a295bfbbddca0048c3453d16168a676 ---- - eventlet/green/ssl.py | 20 ++++++++++++++++++++ - tests/isolated/green_ssl_py36_properties.py | 16 ++++++++++++++++ - 2 files changed, 36 insertions(+) - create mode 100644 tests/isolated/green_ssl_py36_properties.py - ---- a/eventlet/green/ssl.py -+++ b/eventlet/green/ssl.py -@@ -411,6 +411,26 @@ - def verify_mode(self, value): - super(_original_sslcontext, _original_sslcontext).verify_mode.__set__(self, value) - -+ # https://github.com/eventlet/eventlet/issues/371 -+ # Thanks to Gevent developers for sharing patch to this problem. -+ if hasattr(_original_sslcontext.options, 'setter'): -+ # In 3.6, these became properties. They want to access the -+ # property __set__ method in the superclass, and they do so by using -+ # super(SSLContext, SSLContext). But we rebind SSLContext when we monkey -+ # patch, which causes infinite recursion. -+ # https://github.com/python/cpython/commit/328067c468f82e4ec1b5c510a4e84509e010f296 -+ @_original_sslcontext.options.setter -+ def options(self, value): -+ super(_original_sslcontext, _original_sslcontext).options.__set__(self, value) -+ -+ @_original_sslcontext.verify_flags.setter -+ def verify_flags(self, value): -+ super(_original_sslcontext, _original_sslcontext).verify_flags.__set__(self, value) -+ -+ @_original_sslcontext.verify_mode.setter -+ def verify_mode(self, value): -+ super(_original_sslcontext, _original_sslcontext).verify_mode.__set__(self, value) -+ - SSLContext = GreenSSLContext - - if hasattr(__ssl, 'create_default_context'):
  3. Download patch tests/wsgi_test.py
  4. Download patch debian/tests/control

    --- 0.24.1-2/debian/tests/control 2019-07-10 13:29:47.000000000 +0000 +++ 0.25.0-0ubuntu1/debian/tests/control 2019-06-05 16:13:26.000000000 +0000 @@ -1,2 +1,5 @@ +Tests: listen +Depends: python-eventlet, + Tests: listen3 Depends: python3-eventlet,
  5. Download patch tests/__init__.py

    --- 0.24.1-2/tests/__init__.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/tests/__init__.py 2019-05-24 09:00:38.000000000 +0000 @@ -236,7 +236,7 @@ def check_idle_cpu_usage(duration, allow # resources being quite restricted by the build environment. The workaround # is to apply an arbitrary factor that should be enough to make it work nicely. if os.environ.get('TRAVIS') == 'true': - allowed_part *= 1.2 + allowed_part *= 5 assert utime + stime < duration * allowed_part, \ "CPU usage over limit: user %.0f%% sys %.0f%% allowed %.0f%%" % (
  6. Download patch benchmarks/localhost_socket.py

    --- 0.24.1-2/benchmarks/localhost_socket.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/benchmarks/localhost_socket.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,117 +0,0 @@ -"""Benchmark evaluating eventlet's performance at speaking to itself over a localhost socket.""" -from __future__ import print_function - -import time - -import benchmarks -import six - - -BYTES = 1000 -SIZE = 1 -CONCURRENCY = 50 -TRIES = 5 - - -def reader(sock): - expect = BYTES - while expect > 0: - d = sock.recv(min(expect, SIZE)) - expect -= len(d) - - -def writer(addr, socket_impl): - sock = socket_impl(socket.AF_INET, socket.SOCK_STREAM) - sock.connect(addr) - sent = 0 - while sent < BYTES: - d = 'xy' * (max(min(SIZE / 2, BYTES - sent), 1)) - sock.sendall(d) - sent += len(d) - - -def green_accepter(server_sock, pool): - for i in six.moves.range(CONCURRENCY): - sock, addr = server_sock.accept() - pool.spawn_n(reader, sock) - - -def heavy_accepter(server_sock, pool): - for i in six.moves.range(CONCURRENCY): - sock, addr = server_sock.accept() - t = threading.Thread(None, reader, "reader thread", (sock,)) - t.start() - pool.append(t) - - -import eventlet.green.socket -import eventlet - -from eventlet import debug -debug.hub_exceptions(True) - - -def launch_green_threads(): - pool = eventlet.GreenPool(CONCURRENCY * 2 + 1) - server_sock = eventlet.green.socket.socket(socket.AF_INET, socket.SOCK_STREAM) - server_sock.bind(('localhost', 0)) - server_sock.listen(50) - addr = ('localhost', server_sock.getsockname()[1]) - pool.spawn_n(green_accepter, server_sock, pool) - for i in six.moves.range(CONCURRENCY): - pool.spawn_n(writer, addr, eventlet.green.socket.socket) - pool.waitall() - - -import threading -import socket - - -def launch_heavy_threads(): - threads = [] - server_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - server_sock.bind(('localhost', 0)) - server_sock.listen(50) - addr = ('localhost', server_sock.getsockname()[1]) - accepter_thread = threading.Thread( - None, heavy_accepter, "accepter thread", (server_sock, threads)) - accepter_thread.start() - threads.append(accepter_thread) - for i in six.moves.range(CONCURRENCY): - client_thread = threading.Thread(None, writer, "writer thread", (addr, socket.socket)) - client_thread.start() - threads.append(client_thread) - for t in threads: - t.join() - - -if __name__ == "__main__": - import optparse - parser = optparse.OptionParser() - parser.add_option('--compare-threading', action='store_true', dest='threading', default=False) - parser.add_option('-b', '--bytes', type='int', dest='bytes', - default=BYTES) - parser.add_option('-s', '--size', type='int', dest='size', - default=SIZE) - parser.add_option('-c', '--concurrency', type='int', dest='concurrency', - default=CONCURRENCY) - parser.add_option('-t', '--tries', type='int', dest='tries', - default=TRIES) - - opts, args = parser.parse_args() - BYTES = opts.bytes - SIZE = opts.size - CONCURRENCY = opts.concurrency - TRIES = opts.tries - - funcs = [launch_green_threads] - if opts.threading: - funcs = [launch_green_threads, launch_heavy_threads] - results = benchmarks.measure_best(TRIES, 3, - lambda: None, lambda: None, - *funcs) - print("green:", results[launch_green_threads]) - if opts.threading: - print("threads:", results[launch_heavy_threads]) - print("%", (results[launch_green_threads] - results[launch_heavy_threads] - ) / results[launch_heavy_threads] * 100)
  7. Download patch eventlet/greenthread.py

    --- 0.24.1-2/eventlet/greenthread.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/greenthread.py 2019-05-24 09:00:38.000000000 +0000 @@ -170,6 +170,7 @@ class GreenThread(greenlet.greenlet): greenlet.greenlet.__init__(self, self.main, parent) self._exit_event = event.Event() self._resolving_links = False + self._exit_funcs = None def wait(self): """ Returns the result of the main function of this GreenThread. If the @@ -196,7 +197,8 @@ class GreenThread(greenlet.greenlet): functions by doing things like switching explicitly to another greenthread. """ - self._exit_funcs = getattr(self, '_exit_funcs', deque()) + if self._exit_funcs is None: + self._exit_funcs = deque() self._exit_funcs.append((func, curried_args, curried_kwargs)) if self._exit_event.ready(): self._resolve_links() @@ -206,7 +208,7 @@ class GreenThread(greenlet.greenlet): Remove successfully return True, otherwise False """ - if not getattr(self, '_exit_funcs', None): + if not self._exit_funcs: return False try: self._exit_funcs.remove((func, curried_args, curried_kwargs)) @@ -229,11 +231,12 @@ class GreenThread(greenlet.greenlet): # ca and ckw are the curried function arguments if self._resolving_links: return + if not self._exit_funcs: + return self._resolving_links = True try: - exit_funcs = getattr(self, '_exit_funcs', deque()) - while exit_funcs: - f, ca, ckw = exit_funcs.popleft() + while self._exit_funcs: + f, ca, ckw = self._exit_funcs.popleft() f(self, *ca, **ckw) finally: self._resolving_links = False
  8. Download patch PKG-INFO

    --- 0.24.1-2/PKG-INFO 2018-08-06 16:17:49.000000000 +0000 +++ 0.25.0-0ubuntu1/PKG-INFO 2019-05-24 09:03:25.000000000 +0000 @@ -1,12 +1,11 @@ Metadata-Version: 1.1 Name: eventlet -Version: 0.24.1 +Version: 0.25.0 Summary: Highly concurrent networking library Home-page: http://eventlet.net Author: Linden Lab Author-email: eventletdev@lists.secondlife.com License: UNKNOWN -Description-Content-Type: UNKNOWN Description: Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it. It uses epoll or libevent for highly scalable non-blocking I/O. Coroutines ensure that the developer uses a blocking style of programming that is similar to threading, but provide the benefits of non-blocking I/O. The event dispatch is implicit, which means you can easily use Eventlet from the Python interpreter, or as a small part of a larger application. @@ -94,6 +93,7 @@ Classifier: Programming Language :: Pyth Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python Classifier: Topic :: Internet Classifier: Topic :: Software Development :: Libraries :: Python Modules
  9. Download patch eventlet/greenpool.py

    --- 0.24.1-2/eventlet/greenpool.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/greenpool.py 2019-05-24 09:00:38.000000000 +0000 @@ -145,7 +145,7 @@ class GreenPool(object): def _do_map(self, func, it, gi): for args in it: gi.spawn(func, *args) - gi.spawn(return_stop_iteration) + gi.done_spawning() def starmap(self, function, iterable): """This is the same as :func:`itertools.starmap`, except that *func* is @@ -156,6 +156,15 @@ class GreenPool(object): """ if function is None: function = lambda *a: a + # We use a whole separate greenthread so its spawn() calls can block + # without blocking OUR caller. On the other hand, we must assume that + # our caller will immediately start trying to iterate over whatever we + # return. If that were a GreenPile, our caller would always see an + # empty sequence because the hub hasn't even entered _do_map() yet -- + # _do_map() hasn't had a chance to spawn a single greenthread on this + # GreenPool! A GreenMap is safe to use with different producer and + # consumer greenthreads, because it doesn't raise StopIteration until + # the producer has explicitly called done_spawning(). gi = GreenMap(self.size) eventlet.spawn_n(self._do_map, function, iterable, gi) return gi @@ -175,10 +184,6 @@ class GreenPool(object): return self.starmap(function, six.moves.zip(*iterables)) -def return_stop_iteration(): - return StopIteration() - - class GreenPile(object): """GreenPile is an abstraction representing a bunch of I/O-related tasks. @@ -201,13 +206,11 @@ class GreenPile(object): else: self.pool = GreenPool(size_or_pool) self.waiters = queue.LightQueue() - self.used = False self.counter = 0 def spawn(self, func, *args, **kw): """Runs *func* in its own green thread, with the result available by iterating over the GreenPile object.""" - self.used = True self.counter += 1 try: gt = self.pool.spawn(func, *args, **kw) @@ -222,13 +225,16 @@ class GreenPile(object): def next(self): """Wait for the next result, suspending the current greenthread until it is available. Raises StopIteration when there are no more results.""" - if self.counter == 0 and self.used: + if self.counter == 0: raise StopIteration() + return self._next() + __next__ = next + + def _next(self): try: return self.waiters.get().wait() finally: self.counter -= 1 - __next__ = next # this is identical to GreenPile but it blocks on spawn if the results @@ -239,13 +245,13 @@ class GreenMap(GreenPile): super(GreenMap, self).__init__(size_or_pool) self.waiters = queue.LightQueue(maxsize=self.pool.size) + def done_spawning(self): + self.spawn(lambda: StopIteration()) + def next(self): - try: - val = self.waiters.get().wait() - if isinstance(val, StopIteration): - raise val - else: - return val - finally: - self.counter -= 1 + val = self._next() + if isinstance(val, StopIteration): + raise val + else: + return val __next__ = next
  10. Download patch debian/rules

    --- 0.24.1-2/debian/rules 2019-07-10 13:29:34.000000000 +0000 +++ 0.25.0-0ubuntu1/debian/rules 2019-06-05 16:13:26.000000000 +0000 @@ -1,10 +1,9 @@ #!/usr/bin/make -f export PYBUILD_NAME=eventlet -export TRAVIS=true %: - dh $@ --with python3,sphinxdoc --buildsystem=pybuild + dh $@ --with python2,python3,sphinxdoc --buildsystem=pybuild override_dh_sphinxdoc: PYTHONPATH=. python3 -m sphinx -N -b html doc $(CURDIR)/debian/python-eventlet-doc/usr/share/doc/python-eventlet-doc/html
  11. Download patch eventlet/greenio/base.py

    --- 0.24.1-2/eventlet/greenio/base.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/greenio/base.py 2019-05-24 09:00:38.000000000 +0000 @@ -145,7 +145,9 @@ class GreenSocket(object): except AttributeError: self._timeout = socket.getdefaulttimeout() - if should_set_nonblocking: + # Filter fd.fileno() != -1 so that won't call set non-blocking on + # closed socket + if should_set_nonblocking and fd.fileno() != -1: set_nonblocking(fd) self.fd = fd # when client calls setblocking(0) or settimeout(0) the socket must
  12. Download patch debian/compat

    --- 0.24.1-2/debian/compat 1970-01-01 00:00:00.000000000 +0000 +++ 0.25.0-0ubuntu1/debian/compat 2019-06-05 16:13:26.000000000 +0000 @@ -0,0 +1 @@ +11
  13. Download patch eventlet/hubs/timer.py

    --- 0.24.1-2/eventlet/hubs/timer.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/hubs/timer.py 2019-05-24 09:00:38.000000000 +0000 @@ -1,8 +1,8 @@ import traceback +import eventlet.hubs from eventlet.support import greenlets as greenlet import six -from eventlet.hubs import get_hub """ If true, captures a stack trace for each timer when constructed. This is useful for debugging leaking timers, to find out where the timer was set up. """ @@ -48,7 +48,7 @@ class Timer(object): """Schedule this timer to run in the current runloop. """ self.called = False - self.scheduled_time = get_hub().add_timer(self) + self.scheduled_time = eventlet.hubs.get_hub().add_timer(self) return self def __call__(self, *args): @@ -69,7 +69,7 @@ class Timer(object): """ if not self.called: self.called = True - get_hub().timer_canceled(self) + eventlet.hubs.get_hub().timer_canceled(self) try: del self.tpl except AttributeError:
  14. Download patch debian/patches/0016-imp-rename.patch

    --- 0.24.1-2/debian/patches/0016-imp-rename.patch 2019-07-10 14:25:34.000000000 +0000 +++ 0.25.0-0ubuntu1/debian/patches/0016-imp-rename.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ -From 5e175af19f461e57c402e8ecd76ced4dad5e75ef Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ond=C5=99ej=20Nov=C3=BD?= <ondrej.novy@firma.seznam.cz> -Date: Wed, 10 Jul 2019 16:03:22 +0200 -Subject: [PATCH] Use _imp instead of deprecated imp -Origin: https://github.com/eventlet/eventlet/pull/582 - -Module imp is deprecated in favour of importlib. But importlib doesn't -support acquire_lock/release_lock/lock_held. Use internal _imp module -instead. ---- - eventlet/patcher.py | 10 +++++----- - eventlet/tpool.py | 4 ++-- - 2 files changed, 7 insertions(+), 7 deletions(-) - ---- a/eventlet/patcher.py -+++ b/eventlet/patcher.py -@@ -1,4 +1,7 @@ --import imp -+try: -+ import _imp as imp -+except ImportError: -+ import imp - import sys - - import eventlet ---- a/eventlet/tpool.py -+++ b/eventlet/tpool.py -@@ -14,7 +14,10 @@ - # limitations under the License. - - import atexit --import imp -+try: -+ import _imp as imp -+except ImportError: -+ import imp - import os - import sys - import traceback
  15. Download patch debian/control

    --- 0.24.1-2/debian/control 2019-07-10 13:35:10.000000000 +0000 +++ 0.25.0-0ubuntu1/debian/control 2019-06-05 16:13:26.000000000 +0000 @@ -1,31 +1,72 @@ Source: python-eventlet Section: python Priority: optional -Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org> Uploaders: Thomas Goirand <zigo@debian.org>, Ondřej Nový <onovy@debian.org>, Build-Depends: - debhelper-compat (= 12), + debhelper (>= 11~), dh-python, netbase, + python-all, + python-setuptools (>= 20.6.8), python3-all, python3-setuptools (>= 20.6.8), python3-sphinx, Build-Depends-Indep: + python-dnspython, + python-enum34, + python-greenlet, + python-httplib2, + python-monotonic, + python-nose, + python-openssl, + python-six, + python-subprocess32, + python-zmq, python3-dnspython, python3-greenlet, python3-httplib2, - python3-monotonic (>= 1.4), + python3-monotonic, python3-nose, python3-openssl, python3-six, python3-zmq, -Standards-Version: 4.4.0 -Vcs-Browser: https://salsa.debian.org/python-team/modules/python-eventlet -Vcs-Git: https://salsa.debian.org/python-team/modules/python-eventlet.git +Standards-Version: 4.2.1 +Vcs-Browser: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-eventlet +Vcs-Git: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-eventlet Homepage: http://eventlet.net +Package: python-eventlet +Architecture: all +Depends: + netbase, + python-dnspython, + python-enum34, + python-greenlet, + python-monotonic, + python-six, + ${misc:Depends}, + ${python:Depends}, +Suggests: + python-eventlet-doc, +Description: concurrent networking library - Python 2.x + Eventlet allows you to change how you run your code, not how you write it. + . + It uses epoll or libevent for highly scalable non-blocking I/O. + Coroutines ensure that the developer uses a blocking style of programming + that is similar to threading, but provide the benefits of non-blocking I/O. + The event dispatch is implicit, which means you can easily use Eventlet from + the Python interpreter, or as a small part of a larger application. + . + It's easy to get started using Eventlet, and easy to convert existing + applications to use it. Start off by looking at examples, common design + patterns, and the list of the basic API primitives. + . + This package provides the Python 2.x module. + Package: python-eventlet-doc Architecture: all Section: doc @@ -51,13 +92,16 @@ Package: python3-eventlet Architecture: all Depends: netbase, + python3-dnspython, python3-greenlet, + python3-monotonic, + python3-six, ${misc:Depends}, ${python3:Depends}, ${sphinxdoc:Depends}, Suggests: python-eventlet-doc, -Description: concurrent networking library +Description: concurrent networking library - Python 3.x Eventlet allows you to change how you run your code, not how you write it. . It uses epoll or libevent for highly scalable non-blocking I/O.
  16. Download patch tests/patcher_test.py

    --- 0.24.1-2/tests/patcher_test.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/tests/patcher_test.py 2019-05-24 09:00:38.000000000 +0000 @@ -87,6 +87,10 @@ def test_import_patched_defaults(): tests.run_isolated('patcher_import_patched_defaults.py') +def test_import_patched_handles_sub_modules(): + tests.run_isolated('test_sub_module_in_import_patched/test.py') + + class MonkeyPatch(ProcessBase): def test_patched_modules(self): new_mod = """
  17. Download patch eventlet/hubs/selects.py

    --- 0.24.1-2/eventlet/hubs/selects.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/hubs/selects.py 2019-05-24 09:00:38.000000000 +0000 @@ -1,60 +1,64 @@ import errno import sys -from eventlet import patcher -from eventlet.support import get_errno, clear_sys_exc_info +from eventlet import patcher, support +from eventlet.hubs import hub select = patcher.original('select') time = patcher.original('time') -from eventlet.hubs.hub import BaseHub, READ, WRITE, noop - try: BAD_SOCK = set((errno.EBADF, errno.WSAENOTSOCK)) except AttributeError: BAD_SOCK = set((errno.EBADF,)) -class Hub(BaseHub): +def is_available(): + return hasattr(select, 'select') + + +class Hub(hub.BaseHub): def _remove_bad_fds(self): """ Iterate through fds, removing the ones that are bad per the operating system. """ - all_fds = list(self.listeners[READ]) + list(self.listeners[WRITE]) + all_fds = list(self.listeners[self.READ]) + list(self.listeners[self.WRITE]) for fd in all_fds: try: select.select([fd], [], [], 0) except select.error as e: - if get_errno(e) in BAD_SOCK: + if support.get_errno(e) in BAD_SOCK: self.remove_descriptor(fd) def wait(self, seconds=None): - readers = self.listeners[READ] - writers = self.listeners[WRITE] + readers = self.listeners[self.READ] + writers = self.listeners[self.WRITE] if not readers and not writers: if seconds: time.sleep(seconds) return - all_fds = list(readers) + list(writers) + reader_fds = list(readers) + writer_fds = list(writers) + all_fds = reader_fds + writer_fds try: - r, w, er = select.select(readers.keys(), writers.keys(), all_fds, seconds) + r, w, er = select.select(reader_fds, writer_fds, all_fds, seconds) except select.error as e: - if get_errno(e) == errno.EINTR: + if support.get_errno(e) == errno.EINTR: return - elif get_errno(e) in BAD_SOCK: + elif support.get_errno(e) in BAD_SOCK: self._remove_bad_fds() return else: raise for fileno in er: - readers.get(fileno, noop).cb(fileno) - writers.get(fileno, noop).cb(fileno) + readers.get(fileno, hub.noop).cb(fileno) + writers.get(fileno, hub.noop).cb(fileno) for listeners, events in ((readers, r), (writers, w)): for fileno in events: try: - listeners.get(fileno, noop).cb(fileno) + listeners.get(fileno, hub.noop).cb(fileno) except self.SYSTEM_EXCEPTIONS: raise except: self.squelch_exception(fileno, sys.exc_info()) - clear_sys_exc_info() + support.clear_sys_exc_info()
  18. Download patch eventlet/wsgi.py

    --- 0.24.1-2/eventlet/wsgi.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/wsgi.py 2019-05-24 09:00:38.000000000 +0000 @@ -59,14 +59,6 @@ def addr_to_host_port(addr): return (host, port) -def encode_dance(s): - if not isinstance(s, bytes): - s = s.encode('utf-8', 'replace') - if six.PY2: - return s - return s.decode('latin1') - - # Collections of error codes to compare against. Not all attributes are set # on errno module on all platforms, so some are literals :( BAD_SOCK = set((errno.EBADF, 10053)) @@ -120,7 +112,19 @@ class Input(object): self.hundred_continue_headers = None self.is_hundred_continue_response_sent = False + # handle_one_response should give us a ref to the response state so we + # know whether we can still send the 100 Continue; until then, though, + # we're flying blind + self.headers_sent = None + def send_hundred_continue_response(self): + if self.headers_sent: + # To late; application has already started sending data back + # to the client + # TODO: maybe log a warning if self.hundred_continue_headers + # is not None? + return + towrite = [] # 100 Continue status line @@ -165,7 +169,7 @@ class Input(object): self.is_hundred_continue_response_sent = True try: if length == 0: - return "" + return b"" if length and length < 0: length = None @@ -198,7 +202,7 @@ class Input(object): length -= datalen if length == 0: break - if use_readline and data[-1] == "\n": + if use_readline and data[-1:] == b"\n": break else: try: @@ -224,7 +228,17 @@ class Input(object): return self._do_read(self.rfile.readline, size) def readlines(self, hint=None): - return self._do_read(self.rfile.readlines, hint) + if self.chunked_input: + lines = [] + for line in iter(self.readline, b''): + lines.append(line) + if hint and hint > 0: + hint -= len(line) + if hint <= 0: + break + return lines + else: + return self._do_read(self.rfile.readlines, hint) def __iter__(self): return iter(self.read, b'') @@ -434,8 +448,10 @@ class HttpProtocol(BaseHTTPServer.BaseHT content_length = self.headers.get('content-length') if content_length is not None: try: - int(content_length) + if int(content_length) < 0: + raise ValueError except ValueError: + # Negative, or not an int at all self.wfile.write( b"HTTP/1.0 400 Bad Request\r\n" b"Connection: close\r\nContent-length: 0\r\n\r\n") @@ -459,6 +475,9 @@ class HttpProtocol(BaseHTTPServer.BaseHT start = time.time() headers_set = [] headers_sent = [] + # Push the headers-sent state into the Input so it won't send a + # 100 Continue response if we've already started a response. + self.environ['wsgi.input'].headers_sent = headers_sent wfile = self.wfile result = None @@ -605,6 +624,13 @@ class HttpProtocol(BaseHTTPServer.BaseHT + ' client={0} request="{1}" error="{2}"').format( self.get_client_address()[0], self.requestline, e, )) + except IOError as e: + self.close_connection = 1 + self.server.log.error(( + 'I/O error while discarding request body.' + + ' client={0} request="{1}" error="{2}"').format( + self.get_client_address()[0], self.requestline, e, + )) finish = time.time() for hook, args, kwargs in self.environ['eventlet.posthooks']: @@ -639,7 +665,10 @@ class HttpProtocol(BaseHTTPServer.BaseHT pq = self.path.split('?', 1) env['RAW_PATH_INFO'] = pq[0] - env['PATH_INFO'] = encode_dance(urllib.parse.unquote(pq[0])) + if six.PY2: + env['PATH_INFO'] = urllib.parse.unquote(pq[0]) + else: + env['PATH_INFO'] = urllib.parse.unquote(pq[0], encoding='latin1') if len(pq) > 1: env['QUERY_STRING'] = pq[1] @@ -684,7 +713,7 @@ class HttpProtocol(BaseHTTPServer.BaseHT else: env[envk] = v - if env.get('HTTP_EXPECT') == '100-continue': + if env.get('HTTP_EXPECT', '').lower() == '100-continue': wfile = self.wfile wfile_line = b'HTTP/1.1 100 Continue\r\n' else:
  19. Download patch debian/patches/0005-Removed-failing-test.patch

    --- 0.24.1-2/debian/patches/0005-Removed-failing-test.patch 2019-07-10 11:43:34.000000000 +0000 +++ 0.25.0-0ubuntu1/debian/patches/0005-Removed-failing-test.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -From b51e359bd18a8f625c50becd55fa455c183c6f94 Mon Sep 17 00:00:00 2001 -From: Thomas Goirand <zigo@debian.org> -Date: Fri, 4 Aug 2017 21:47:20 +0200 -Subject: Removed failing test - - This test fails in Sid. -Forwarded: no -Last-Update: 2016-10-07 ---- - tests/patcher_test.py | 22 ---------------------- - 1 file changed, 22 deletions(-) - ---- a/tests/patcher_test.py -+++ b/tests/patcher_test.py -@@ -83,9 +83,6 @@ - assert 'eventlet.green.httplib' not in lines[2], repr(output) - - --def test_import_patched_defaults(): -- tests.run_isolated('patcher_import_patched_defaults.py') -- - - class MonkeyPatch(ProcessBase): - def test_patched_modules(self):
  20. Download patch benchmarks/__init__.py

    --- 0.24.1-2/benchmarks/__init__.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/benchmarks/__init__.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -import gc -import timeit -import random - -import six - - -def measure_best(repeat, iters, - common_setup='pass', - common_cleanup='pass', - *funcs): - funcs = list(funcs) - results = dict([(f, []) for f in funcs]) - - for i in six.moves.range(repeat): - random.shuffle(funcs) - for func in funcs: - gc.collect() - t = timeit.Timer(func, setup=common_setup) - results[func].append(t.timeit(iters)) - common_cleanup() - - best_results = {} - for func, times in six.iteritems(results): - best_results[func] = min(times) - return best_results
  21. Download patch eventlet/green/http/client.py

    --- 0.24.1-2/eventlet/green/http/client.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/green/http/client.py 2019-05-24 09:00:38.000000000 +0000 @@ -1281,22 +1281,32 @@ class HTTPConnection: header = header + b': ' + value self._output(header) - def endheaders(self, message_body=None, *, encode_chunked=False): + def endheaders(self, message_body=None, **kwds): """Indicate that the last header line has been sent to the server. This method sends the request to the server. The optional message_body argument can be used to pass a message body associated with the request. """ + encode_chunked = kwds.pop('encode_chunked', False) + if kwds: + # mimic interpreter error for unrecognized keyword + raise TypeError("endheaders() got an unexpected keyword argument '{0}'" + .format(kwds.popitem()[0])) + if self.__state == _CS_REQ_STARTED: self.__state = _CS_REQ_SENT else: raise CannotSendHeader() self._send_output(message_body, encode_chunked=encode_chunked) - def request(self, method, url, body=None, headers={}, *, - encode_chunked=False): + def request(self, method, url, body=None, headers={}, **kwds): """Send a complete request to the server.""" + encode_chunked = kwds.pop('encode_chunked', False) + if kwds: + # mimic interpreter error for unrecognized keyword + raise TypeError("request() got an unexpected keyword argument '{0}'" + .format(kwds.popitem()[0])) self._send_request(method, url, body, headers, encode_chunked) def _set_content_length(self, body, method):
  22. Download patch benchmarks/spawn.py

    --- 0.24.1-2/benchmarks/spawn.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/benchmarks/spawn.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,86 +0,0 @@ -"""Compare spawn to spawn_n""" -from __future__ import print_function - -import eventlet -import benchmarks - - -def cleanup(): - eventlet.sleep(0.2) - - -iters = 10000 -best = benchmarks.measure_best( - 5, iters, - 'pass', - cleanup, - eventlet.sleep) -print("eventlet.sleep (main)", best[eventlet.sleep]) - -gt = eventlet.spawn( - benchmarks.measure_best, 5, iters, - 'pass', - cleanup, - eventlet.sleep) -best = gt.wait() -print("eventlet.sleep (gt)", best[eventlet.sleep]) - - -def dummy(i=None): - return i - - -def run_spawn(): - eventlet.spawn(dummy, 1) - - -def run_spawn_n(): - eventlet.spawn_n(dummy, 1) - - -def run_spawn_n_kw(): - eventlet.spawn_n(dummy, i=1) - - -best = benchmarks.measure_best( - 5, iters, - 'pass', - cleanup, - run_spawn_n, - run_spawn, - run_spawn_n_kw) -print("eventlet.spawn", best[run_spawn]) -print("eventlet.spawn_n", best[run_spawn_n]) -print("eventlet.spawn_n(**kw)", best[run_spawn_n_kw]) -print("%% %0.1f" % ((best[run_spawn] - best[run_spawn_n]) / best[run_spawn_n] * 100)) - -pool = None - - -def setup(): - global pool - pool = eventlet.GreenPool(iters) - - -def run_pool_spawn(): - pool.spawn(dummy, 1) - - -def run_pool_spawn_n(): - pool.spawn_n(dummy, 1) - - -def cleanup_pool(): - pool.waitall() - - -best = benchmarks.measure_best( - 3, iters, - setup, - cleanup_pool, - run_pool_spawn, - run_pool_spawn_n, -) -print("eventlet.GreenPool.spawn", best[run_pool_spawn]) -print("eventlet.GreenPool.spawn_n", best[run_pool_spawn_n]) -print("%% %0.1f" % ((best[run_pool_spawn] - best[run_pool_spawn_n]) / best[run_pool_spawn_n] * 100))
  23. Download patch tests/isolated/hub_use_hub_class.py

    --- 0.24.1-2/tests/isolated/hub_use_hub_class.py 1970-01-01 00:00:00.000000000 +0000 +++ 0.25.0-0ubuntu1/tests/isolated/hub_use_hub_class.py 2019-05-24 09:00:38.000000000 +0000 @@ -0,0 +1,13 @@ +from __future__ import print_function +__test__ = False + + +class Foo(object): + pass + +if __name__ == '__main__': + import eventlet.hubs + eventlet.hubs.use_hub(Foo) + hub = eventlet.hubs.get_hub() + assert isinstance(hub, Foo), repr(hub) + print('pass')
  24. Download patch eventlet.egg-info/SOURCES.txt

    --- 0.24.1-2/eventlet.egg-info/SOURCES.txt 2018-08-06 16:17:49.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet.egg-info/SOURCES.txt 2019-05-24 09:03:25.000000000 +0000 @@ -5,9 +5,6 @@ NEWS README.rst setup.cfg setup.py -benchmarks/__init__.py -benchmarks/localhost_socket.py -benchmarks/spawn.py doc/Makefile doc/authors.rst doc/basic_usage.rst @@ -212,6 +209,8 @@ tests/isolated/greendns_import_rdtypes_t tests/isolated/greenio_double_close_219.py tests/isolated/hub_fork.py tests/isolated/hub_fork_simple.py +tests/isolated/hub_kqueue_unsupported.py +tests/isolated/hub_use_hub_class.py tests/isolated/mysqldb_monkey_patch.py tests/isolated/patcher_blocking_select_methods_are_deleted.py tests/isolated/patcher_existing_locks_early.py @@ -231,6 +230,10 @@ tests/isolated/subprocess_patched_commun tests/isolated/tpool_exception_leak.py tests/isolated/tpool_isolate_socket_default_timeout.py tests/isolated/wsgi_connection_timeout.py +tests/isolated/test_sub_module_in_import_patched/__init__.py +tests/isolated/test_sub_module_in_import_patched/test.py +tests/isolated/test_sub_module_in_import_patched/sample_main_module/__init__.py +tests/isolated/test_sub_module_in_import_patched/sample_main_module/sample_sub_module/__init__.py tests/manual/__init__.py tests/manual/greenio_memtest.py tests/manual/regress-226-unpatched-ssl.py
  25. Download patch debian/tests/listen

    --- 0.24.1-2/debian/tests/listen 1970-01-01 00:00:00.000000000 +0000 +++ 0.25.0-0ubuntu1/debian/tests/listen 2019-06-05 16:13:26.000000000 +0000 @@ -0,0 +1,5 @@ +#!/usr/bin/python + +import eventlet + +eventlet.listen(('localhost', 7000))
  26. Download patch tests/isolated/test_sub_module_in_import_patched/test.py

    --- 0.24.1-2/tests/isolated/test_sub_module_in_import_patched/test.py 1970-01-01 00:00:00.000000000 +0000 +++ 0.25.0-0ubuntu1/tests/isolated/test_sub_module_in_import_patched/test.py 2019-05-24 09:00:38.000000000 +0000 @@ -0,0 +1,10 @@ +import eventlet +import tests.isolated.test_sub_module_in_import_patched.sample_main_module as test_module + + +if __name__ == '__main__': + patched_module = eventlet.import_patched( + 'tests.isolated.test_sub_module_in_import_patched.sample_main_module') + assert patched_module.function_use_socket() is eventlet.green.socket + assert test_module.function_use_socket() is not eventlet.green.socket + print('pass')
  27. Download patch tests/greendns_test.py

    --- 0.24.1-2/tests/greendns_test.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/tests/greendns_test.py 2019-05-24 09:00:38.000000000 +0000 @@ -236,6 +236,31 @@ class TestUdp(tests.LimitedTestCase): self.query_wire = self.query.to_wire() super(TestUdp, self).setUp() + def test_udp_ipv4(self): + with tests.mock.patch('eventlet.support.greendns.socket.socket.recvfrom', + return_value=(self.query_wire, + ('127.0.0.1', 53))): + greendns.udp(self.query, '127.0.0.1') + + def test_udp_ipv4_timeout(self): + with tests.mock.patch('eventlet.support.greendns.socket.socket.recvfrom', + side_effect=socket.timeout): + with tests.assert_raises(dns.exception.Timeout): + greendns.udp(self.query, '127.0.0.1', timeout=0.1) + + def test_udp_ipv4_wrong_addr_ignore(self): + with tests.mock.patch('eventlet.support.greendns.socket.socket.recvfrom', + side_effect=socket.timeout): + with tests.assert_raises(dns.exception.Timeout): + greendns.udp(self.query, '127.0.0.1', timeout=0.1, ignore_unexpected=True) + + def test_udp_ipv4_wrong_addr(self): + with tests.mock.patch('eventlet.support.greendns.socket.socket.recvfrom', + return_value=(self.query_wire, + ('127.0.0.2', 53))): + with tests.assert_raises(dns.query.UnexpectedSource): + greendns.udp(self.query, '127.0.0.1') + def test_udp_ipv6(self): with tests.mock.patch('eventlet.support.greendns.socket.socket.recvfrom', return_value=(self.query_wire,
  28. Download patch NEWS

    --- 0.24.1-2/NEWS 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/NEWS 2019-05-24 09:00:38.000000000 +0000 @@ -1,3 +1,22 @@ +0.25.0 +====== +* wsgi: Only send 100 Continue response if no response has been sent yet; Thanks to Tim Burke +* wsgi: Return 400 on negative Content-Length request headers; Thanks to Tim Burke +* Make a GreenPile with no spawn()s an empty sequence; Thanks to nat-goodspeed +* wsgi: fix Input.readlines when dealing with chunked input; Thanks to Tim Burke +* wsgi: fix Input.readline on Python 3; Thanks to Tim Burke +* wsgi: Stop replacing invalid UTF-8 on py3; Thanks to Tim Burke +* ssl: Fix compatibility with Python 3.7 ssl.SSLSocket; Thanks to Junyi +* reimport submodule as well in patcher.inject; Thanks to Junyi +* use Python 2 compatible syntax for keyword-only args; Thanks to nat-goodspeed +* wsgi: Catch and swallow IOErrors during discard(); Thanks to Tim Burke +* Fix for Python 3.7; Thanks to Marcel Plch +* Fix race that could cause using epolls as default hub even when platform does not support it; Thanks to Sergey Shepelev +* wsgi: make Expect 100-continue field-value case-insensitive; Thanks to Julien Kasarherou +* greenthread: optimize _exit_funcs getattr/del dance; Thanks to Alex Kashirin +* New benchmarks runner; Thanks to Sergey Shepelev +* ssl: fix connect to use monotonic clock for timeout; Thanks to Sergey Shepelev + 0.24.1 ====== * greendns: don't contact nameservers if one entry is returned from hosts file; Thanks to Daniel Alvarez
  29. Download patch eventlet/green/ssl.py

    --- 0.24.1-2/eventlet/green/ssl.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/green/ssl.py 2019-05-24 09:00:38.000000000 +0000 @@ -3,18 +3,16 @@ __ssl = __import__('ssl') from eventlet.patcher import slurp_properties slurp_properties(__ssl, globals(), srckeys=dir(__ssl)) -import errno -import functools import sys -import time - -from eventlet import greenio +from eventlet import greenio, hubs from eventlet.greenio import ( set_nonblocking, GreenSocket, CONNECT_ERR, CONNECT_SUCCESS, ) from eventlet.hubs import trampoline, IOClosed from eventlet.support import get_errno, PY33 import six +from contextlib import contextmanager + orig_socket = __import__('socket') socket = orig_socket.socket timeout_exc = SSLError @@ -24,6 +22,22 @@ __patched__ = [ 'create_default_context', '_create_default_https_context'] _original_sslsocket = __ssl.SSLSocket +_original_wrap_socket = __ssl.wrap_socket +_original_sslcontext = getattr(__ssl, 'SSLContext', None) +_is_under_py_3_7 = sys.version_info < (3, 7) + + +@contextmanager +def _original_ssl_context(*args, **kwargs): + tmp_sslcontext = _original_wrap_socket.__globals__.get('SSLContext', None) + tmp_sslsocket = _original_sslsocket._create.__globals__.get('SSLSocket', None) + _original_sslsocket._create.__globals__['SSLSocket'] = _original_sslsocket + _original_wrap_socket.__globals__['SSLContext'] = _original_sslcontext + try: + yield + finally: + _original_wrap_socket.__globals__['SSLContext'] = tmp_sslcontext + _original_sslsocket._create.__globals__['SSLSocket'] = tmp_sslsocket class GreenSSLSocket(_original_sslsocket): @@ -40,16 +54,43 @@ class GreenSSLSocket(_original_sslsocket settimeout(), and to close/reopen the connection when a timeout occurs at an unexpected juncture in the code. """ + def __new__(cls, sock=None, keyfile=None, certfile=None, + server_side=False, cert_reqs=CERT_NONE, + ssl_version=PROTOCOL_SSLv23, ca_certs=None, + do_handshake_on_connect=True, *args, **kw): + if _is_under_py_3_7: + return super(GreenSSLSocket, cls).__new__(cls) + else: + if not isinstance(sock, GreenSocket): + sock = GreenSocket(sock) + with _original_ssl_context(): + ret = _original_wrap_socket( + sock=sock.fd, + keyfile=keyfile, + certfile=certfile, + server_side=server_side, + cert_reqs=cert_reqs, + ssl_version=ssl_version, + ca_certs=ca_certs, + do_handshake_on_connect=False, + *args, **kw + ) + ret.keyfile = keyfile + ret.certfile = certfile + ret.cert_reqs = cert_reqs + ret.ssl_version = ssl_version + ret.ca_certs = ca_certs + ret.__class__ = GreenSSLSocket + return ret + # we are inheriting from SSLSocket because its constructor calls # do_handshake whose behavior we wish to override - def __init__(self, sock, keyfile=None, certfile=None, server_side=False, cert_reqs=CERT_NONE, ssl_version=PROTOCOL_SSLv23, ca_certs=None, do_handshake_on_connect=True, *args, **kw): if not isinstance(sock, GreenSocket): sock = GreenSocket(sock) - self.act_non_blocking = sock.act_non_blocking if six.PY2: @@ -57,12 +98,12 @@ class GreenSSLSocket(_original_sslsocket # this assignment self._timeout = sock.gettimeout() - # nonblocking socket handshaking on connect got disabled so let's pretend it's disabled - # even when it's on - super(GreenSSLSocket, self).__init__( - sock.fd, keyfile, certfile, server_side, cert_reqs, ssl_version, - ca_certs, do_handshake_on_connect and six.PY2, *args, **kw) - + if _is_under_py_3_7: + # nonblocking socket handshaking on connect got disabled so let's pretend it's disabled + # even when it's on + super(GreenSSLSocket, self).__init__( + sock.fd, keyfile, certfile, server_side, cert_reqs, ssl_version, + ca_certs, do_handshake_on_connect and six.PY2, *args, **kw) # the superclass initializer trashes the methods so we remove # the local-object versions of them and let the actual class # methods shine through @@ -264,6 +305,7 @@ class GreenSSLSocket(_original_sslsocket if self.act_non_blocking: return real_connect(self, addr) else: + clock = hubs.get_hub().clock # *NOTE: gross, copied code from greenio because it's not factored # well enough to reuse if self.gettimeout() is None: @@ -278,7 +320,7 @@ class GreenSSLSocket(_original_sslsocket else: raise else: - end = time.time() + self.gettimeout() + end = clock() + self.gettimeout() while True: try: real_connect(self, addr) @@ -286,12 +328,12 @@ class GreenSSLSocket(_original_sslsocket if get_errno(exc) in CONNECT_ERR: trampoline( self, write=True, - timeout=end - time.time(), timeout_exc=timeout_exc('timed out')) + timeout=end - clock(), timeout_exc=timeout_exc('timed out')) elif get_errno(exc) in CONNECT_SUCCESS: return else: raise - if time.time() >= end: + if clock() >= end: raise timeout_exc('timed out') def connect(self, addr): @@ -323,7 +365,10 @@ class GreenSSLSocket(_original_sslsocket except NameError: self._sslobj = sslobj else: - self._sslobj = SSLObject(sslobj, owner=self) + if _is_under_py_3_7: + self._sslobj = SSLObject(sslobj, owner=self) + else: + self._sslobj = sslobj if self.do_handshake_on_connect: self.do_handshake() @@ -362,6 +407,7 @@ class GreenSSLSocket(_original_sslsocket def dup(self): raise NotImplementedError("Can't dup an ssl object") + SSLSocket = GreenSSLSocket
  30. Download patch tests/test_server.crt

    --- 0.24.1-2/tests/test_server.crt 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/tests/test_server.crt 2019-05-24 09:00:38.000000000 +0000 @@ -1,15 +1,23 @@ -----BEGIN CERTIFICATE----- -MIICYzCCAcwCCQD5jx1Aa0dytjANBgkqhkiG9w0BAQQFADB2MQswCQYDVQQGEwJU -UzENMAsGA1UECBMEVGVzdDENMAsGA1UEBxMEVGVzdDEWMBQGA1UEChMNVGVzdCBF -dmVudGxldDENMAsGA1UECxMEVGVzdDENMAsGA1UEAxMEVGVzdDETMBEGCSqGSIb3 -DQEJARYEVGVzdDAeFw0wODA3MDgyMTExNDJaFw0xMDAyMDgwODE1MTBaMHYxCzAJ -BgNVBAYTAlRTMQ0wCwYDVQQIEwRUZXN0MQ0wCwYDVQQHEwRUZXN0MRYwFAYDVQQK -Ew1UZXN0IEV2ZW50bGV0MQ0wCwYDVQQLEwRUZXN0MQ0wCwYDVQQDEwRUZXN0MRMw -EQYJKoZIhvcNAQkBFgRUZXN0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDM -WcyeIiHQuEGQxgTIvu0aOW4iRFAyUEi8pLWNCxMEHglF8k6OxFVq7XWZMDnDFVnb -ZjmQh5Tc21Ae6cXzxXln578fROXHEzXo3Is8HUlq3ug1yYOGHjxw++Opjf1uoHwP -EBUKsz/flS7knuscgFM9FO05KSPn2wHnZeIDta4yTwIDAQABMA0GCSqGSIb3DQEB -BAUAA4GBAKM71aP0r26gEEEBzovfXm1IwKav6R9/xiWsJ4pFsUXVotcaIjcVBDG1 -Z7tz688hokb+GNxsTI2gNfqanqUnfP9wZxnKRmfTSOvb5aWHIiaiMXSgjiPlqBcm -6mnSeEbSMM9cw479wWhh1YqY8tf3gYJa+sxznVWLSfVLpsjRMphe +MIIDwjCCAqqgAwIBAgIJAN19NW1oDKKtMA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNV +BAYTAlRTMQ0wCwYDVQQIDARUZXN0MQ0wCwYDVQQHDARUZXN0MRYwFAYDVQQKDA1U +ZXN0IEV2ZW50bGV0MQ0wCwYDVQQLDARUZXN0MQ0wCwYDVQQDDARUZXN0MRMwEQYJ +KoZIhvcNAQkBFgRUZXN0MB4XDTE4MDgyMjEzNDIxMVoXDTI4MDgxOTEzNDIxMVow +djELMAkGA1UEBhMCVFMxDTALBgNVBAgMBFRlc3QxDTALBgNVBAcMBFRlc3QxFjAU +BgNVBAoMDVRlc3QgRXZlbnRsZXQxDTALBgNVBAsMBFRlc3QxDTALBgNVBAMMBFRl +c3QxEzARBgkqhkiG9w0BCQEWBFRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQC8Fyu/6oOS5J8RENcE9FP/zmaM59MxlCmc7t9wlL/3y4GciztfxUb4 +EEmosUglHH/BSqFggZ6d8ncuUpHR5bPvEBTB8OYpjYQlF1S0a7D46tx+SwbHqlZY +8YIOah9Hdt0Jc4CmGBcZ9qeH/G9z1duVcsMuCGQ3WOuP3ObFb7UR9hNaD/xXZX8c +Lvc6cJHMKaxHCeIBOL+z/9kJqhh30eqsmNB5AXSoV8b2B3MV3glW2vd5WJVYEWxl +3+GNgzZJ3KGape7pcBYER7zg/yZLZxgNFlTCOZiysjNxC0liJA9tgUQhRc1gsqA8 +dQxzvqW8kuZedmatjyM58WixvjymobC3AgMBAAGjUzBRMB0GA1UdDgQWBBQT3V3f +8vCoqGXe6zySSjVP+J/P7zAfBgNVHSMEGDAWgBQT3V3f8vCoqGXe6zySSjVP+J/P +7zAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAws7zXsftw5s/P +dnyFAf8q0WoVtWi9ljshWfJvTFMfuCqdSoNT+kIeQq071/RFW9YLqDZGXI4fyfzW +50A7xFm+Syy7wPOmfLJdPx5HRJ5jgIDlij9vL45W3mXEohkkzMCdjwXfOIQPOEEx +ZQHF57RaHlKEGexc/yvOLlOgKP23BOgB7pZjCC9divyDJ3ETlzgE+UTymHxmFM0i +TCAM9dGEl1QPr7zA08rNgVae+/uQksdM55QmQFkTAXisFPcxNgHSKOSHsDiUJvWG +7bJrwO6+T2wjRxWRD7anQV3DqBG1WteXA/dfYqjUi0QPqreWqNb+3OM60UwPJsvl +ZDfUrsbY -----END CERTIFICATE-----
  31. Download patch eventlet.egg-info/PKG-INFO

    --- 0.24.1-2/eventlet.egg-info/PKG-INFO 2018-08-06 16:17:49.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet.egg-info/PKG-INFO 2019-05-24 09:03:25.000000000 +0000 @@ -1,12 +1,11 @@ Metadata-Version: 1.1 Name: eventlet -Version: 0.24.1 +Version: 0.25.0 Summary: Highly concurrent networking library Home-page: http://eventlet.net Author: Linden Lab Author-email: eventletdev@lists.secondlife.com License: UNKNOWN -Description-Content-Type: UNKNOWN Description: Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it. It uses epoll or libevent for highly scalable non-blocking I/O. Coroutines ensure that the developer uses a blocking style of programming that is similar to threading, but provide the benefits of non-blocking I/O. The event dispatch is implicit, which means you can easily use Eventlet from the Python interpreter, or as a small part of a larger application. @@ -94,6 +93,7 @@ Classifier: Programming Language :: Pyth Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python Classifier: Topic :: Internet Classifier: Topic :: Software Development :: Libraries :: Python Modules
  32. Download patch tests/isolated/hub_kqueue_unsupported.py

    --- 0.24.1-2/tests/isolated/hub_kqueue_unsupported.py 1970-01-01 00:00:00.000000000 +0000 +++ 0.25.0-0ubuntu1/tests/isolated/hub_kqueue_unsupported.py 2019-05-24 09:00:38.000000000 +0000 @@ -0,0 +1,28 @@ +from __future__ import print_function +__test__ = False + + +def delattr_silent(x, name): + try: + delattr(x, name) + except AttributeError: + pass + + +if __name__ == '__main__': + # Simulate absence of kqueue even on platforms that support it. + import select + delattr_silent(select, 'kqueue') + delattr_silent(select, 'KQ_FILTER_READ') + # patcher.original used in hub may reimport and return deleted kqueue attribute + import eventlet.patcher + select_original = eventlet.patcher.original('select') + delattr_silent(select_original, 'kqueue') + delattr_silent(select_original, 'KQ_FILTER_READ') + + import eventlet.hubs + default = eventlet.hubs.get_default_hub() + assert not default.__name__.endswith('kqueue') + import eventlet.hubs.kqueue + assert not eventlet.hubs.kqueue.is_available() + print('pass')
  33. Download patch eventlet/patcher.py

    --- 0.24.1-2/eventlet/patcher.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/patcher.py 2019-05-24 09:00:38.000000000 +0000 @@ -90,6 +90,12 @@ def inject(module_name, new_globals, *ad # Remove the old module from sys.modules and reimport it while # the specified modules are in place sys.modules.pop(module_name, None) + # Also remove sub modules and reimport. Use copy the keys to list + # because of the pop operations will change the content of sys.modules + # within th loop + for imported_module_name in list(sys.modules.keys()): + if imported_module_name.startswith(module_name + '.'): + sys.modules.pop(imported_module_name, None) try: module = __import__(module_name, {}, {}, module_name.split('.')[:-1])
  34. Download patch debian/patches/series

    --- 0.24.1-2/debian/patches/series 2019-07-10 13:59:05.000000000 +0000 +++ 0.25.0-0ubuntu1/debian/patches/series 2019-06-05 16:13:26.000000000 +0000 @@ -2,13 +2,6 @@ 0002-Fixed-privacy-breach-in-examples.patch 0003-Allow-more-busy-CPU.patch 0004-Remove-networking-tests.patch -0005-Removed-failing-test.patch 0006-Patch-out-intersphinx.patch -0008-Disable-test_server_connection_timeout_exception.patch 0009-Removed-test_urllib-that-is-failing-in-py36.patch 0010-Fix-compilation-errors-when-installing-package-in-Py.patch -0012-ssl-RecursionError-on-Python3.6.patch -0013-New_test_crt.patch -0014-Fix-for-Python-3.7.patch -0015-more-python3.7-fixes.patch -0016-imp-rename.patch
  35. Download patch debian/patches/0008-Disable-test_server_connection_timeout_exception.patch

    --- 0.24.1-2/debian/patches/0008-Disable-test_server_connection_timeout_exception.patch 2019-07-10 11:46:28.000000000 +0000 +++ 0.25.0-0ubuntu1/debian/patches/0008-Disable-test_server_connection_timeout_exception.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -From 9b3a864614dd2f88157b6e10ed6dc48436c3559d Mon Sep 17 00:00:00 2001 -From: Thomas Goirand <zigo@debian.org> -Date: Fri, 4 Aug 2017 21:47:23 +0200 -Subject: Disable test_server_connection_timeout_exception() - - As per the bug report, the test is non-deterministic. Therefore, - remove it it. -Bug-Debian: https://bugs.debian.org/857893 -Forwarded: no -Last-Update: 2017-03-16 ---- - tests/wsgi_test.py | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/tests/wsgi_test.py -+++ b/tests/wsgi_test.py -@@ -1507,12 +1507,12 @@ - request_thread.wait() - server_sock.close() - -- def test_server_connection_timeout_exception(self): -- self.reset_timeout(5) -- # Handle connection socket timeouts -- # https://bitbucket.org/eventlet/eventlet/issue/143/ -- # Runs tests.wsgi_test_conntimeout in a separate process. -- tests.run_isolated('wsgi_connection_timeout.py') -+# def test_server_connection_timeout_exception(self): -+# self.reset_timeout(5) -+# # Handle connection socket timeouts -+# # https://bitbucket.org/eventlet/eventlet/issue/143/ -+# # Runs tests.wsgi_test_conntimeout in a separate process. -+# tests.run_isolated('wsgi_connection_timeout.py') - - def test_server_socket_timeout(self): - self.spawn_server(socket_timeout=0.1)
  36. Download patch tests/greenpool_test.py

    --- 0.24.1-2/tests/greenpool_test.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/tests/greenpool_test.py 2019-05-24 09:00:38.000000000 +0000 @@ -350,6 +350,12 @@ class GreenPile(tests.LimitedTestCase): p.spawn(passthru, i) self.assertEqual(list(p), list(range(10))) + def test_empty_pile(self): + p = eventlet.GreenPile(4) + # no spawn()s + # If this hangs, LimitedTestCase should time out + self.assertEqual(list(p), []) + def test_constructing_from_pool(self): pool = eventlet.GreenPool(2) pile1 = eventlet.GreenPile(pool)
  37. Download patch doc/modules/backdoor.rst

    --- 0.24.1-2/doc/modules/backdoor.rst 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/doc/modules/backdoor.rst 2019-05-24 09:00:38.000000000 +0000 @@ -5,7 +5,7 @@ The backdoor module is convenient for in In the application, spawn a greenthread running backdoor_server on a listening socket:: - eventlet.spawn(backdoor.backdoor_server, eventlet.listen(('localhost', 3000))) + eventlet.spawn(backdoor.backdoor_server, eventlet.listen(('localhost', 3000)), locals()) When this is running, the backdoor is accessible via telnet to the specified port.
  38. Download patch debian/patches/0014-Fix-for-Python-3.7.patch

    --- 0.24.1-2/debian/patches/0014-Fix-for-Python-3.7.patch 2019-07-10 11:50:46.000000000 +0000 +++ 0.25.0-0ubuntu1/debian/patches/0014-Fix-for-Python-3.7.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,167 +0,0 @@ -From cf47cb518db3e0dbdd48473fb40cf9f6ecd50e07 Mon Sep 17 00:00:00 2001 -From: Marcel Plch <mplch@redhat.com> -Date: Fri, 28 Sep 2018 17:08:59 +0200 -Subject: [PATCH] Fix for Python 3.7 (#506) -Origin: https://github.com/eventlet/eventlet/commit/cf47cb518db3e0dbdd48473fb40cf9f6ecd50e07 - -* Fix for Python 3.7 - -* Remove redundant piece of code. - -* Put back do_handshake_on_connect kwarg - -* Use Python 3.7 instead of 3.7-dev - -* Fix buildbot failing permissions with 3.7 - -* tests: env_tpool_zero assert details - -* setup: Python 3.7 classificator ---- - .travis.yml | 6 ++--- - eventlet/green/ssl.py | 46 +++++++++++++++++++++++++++----- - setup.py | 1 + - tests/debug_test.py | 14 ++++++++-- - tests/isolated/env_tpool_zero.py | 5 ++-- - 5 files changed, 59 insertions(+), 13 deletions(-) - ---- a/eventlet/green/ssl.py -+++ b/eventlet/green/ssl.py -@@ -24,6 +24,7 @@ - 'create_default_context', '_create_default_https_context'] - - _original_sslsocket = __ssl.SSLSocket -+_original_wrap_socket = __ssl.wrap_socket - - - class GreenSSLSocket(_original_sslsocket): -@@ -57,11 +58,41 @@ - # this assignment - self._timeout = sock.gettimeout() - -- # nonblocking socket handshaking on connect got disabled so let's pretend it's disabled -- # even when it's on -- super(GreenSSLSocket, self).__init__( -- sock.fd, keyfile, certfile, server_side, cert_reqs, ssl_version, -- ca_certs, do_handshake_on_connect and six.PY2, *args, **kw) -+ if sys.version_info >= (3, 7): -+ # Monkey-patch the sslsocket so our modified self gets -+ # injected into its _create method. -+ def fake_new(self, cls, *args, **kwargs): -+ return self -+ -+ orig_new = _original_sslsocket.__new__ -+ try: -+ _original_sslsocket.__new__ = fake_new.__get__(self, GreenSSLSocket) -+ -+ self = _original_wrap_socket( -+ sock=sock.fd, -+ keyfile=keyfile, -+ certfile=certfile, -+ server_side=server_side, -+ cert_reqs=cert_reqs, -+ ssl_version=ssl_version, -+ ca_certs=ca_certs, -+ do_handshake_on_connect=False, -+ *args, **kw -+ ) -+ self.keyfile = keyfile -+ self.certfile = certfile -+ self.cert_reqs = cert_reqs -+ self.ssl_version = ssl_version -+ self.ca_certs = ca_certs -+ finally: -+ # Unpatch -+ _original_sslsocket.__new__ = orig_new -+ else: -+ # nonblocking socket handshaking on connect got disabled so let's pretend it's disabled -+ # even when it's on -+ super(GreenSSLSocket, self).__init__( -+ sock.fd, keyfile, certfile, server_side, cert_reqs, ssl_version, -+ ca_certs, do_handshake_on_connect and six.PY2, *args, **kw) - - # the superclass initializer trashes the methods so we remove - # the local-object versions of them and let the actual class -@@ -323,7 +354,10 @@ - except NameError: - self._sslobj = sslobj - else: -- self._sslobj = SSLObject(sslobj, owner=self) -+ if sys.version_info < (3, 7): -+ self._sslobj = SSLObject(sslobj, owner=self) -+ else: -+ self._sslobj = sslobj - - if self.do_handshake_on_connect: - self.do_handshake() ---- a/setup.py -+++ b/setup.py -@@ -42,6 +42,7 @@ - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", -+ "Programming Language :: Python :: 3.7", - "Programming Language :: Python", - "Topic :: Internet", - "Topic :: Software Development :: Libraries :: Python Modules", ---- a/tests/debug_test.py -+++ b/tests/debug_test.py -@@ -29,6 +29,11 @@ - assert self.tracer is None - - def test_line(self): -+ if sys.version_info >= (3, 7): -+ frame_str = "f=<frame at" -+ else: -+ frame_str = "f=<frame object at" -+ - sys.stdout = six.StringIO() - s = debug.Spew() - f = sys._getframe() -@@ -36,7 +41,7 @@ - lineno = f.f_lineno - 1 # -1 here since we called with frame f in the line above - output = sys.stdout.getvalue() - assert "%s:%i" % (__name__, lineno) in output, "Didn't find line %i in %s" % (lineno, output) -- assert "f=<frame object at" in output -+ assert frame_str in output - - def test_line_nofile(self): - sys.stdout = six.StringIO() -@@ -51,6 +56,11 @@ - assert "VM instruction #" in output, output - - def test_line_global(self): -+ if sys.version_info >= (3, 7): -+ frame_str = "f=<frame at" -+ else: -+ frame_str = "f=<frame object at" -+ - global GLOBAL_VAR - sys.stdout = six.StringIO() - GLOBAL_VAR = debug.Spew() -@@ -59,7 +69,7 @@ - lineno = f.f_lineno - 1 # -1 here since we called with frame f in the line above - output = sys.stdout.getvalue() - assert "%s:%i" % (__name__, lineno) in output, "Didn't find line %i in %s" % (lineno, output) -- assert "f=<frame object at" in output -+ assert frame_str in output - assert "GLOBAL_VAR" in f.f_globals - assert "GLOBAL_VAR=<eventlet.debug.Spew object at" in output - del GLOBAL_VAR ---- a/tests/isolated/env_tpool_zero.py -+++ b/tests/isolated/env_tpool_zero.py -@@ -9,11 +9,12 @@ - g[0] = True - - with warnings.catch_warnings(record=True) as ws: -- warnings.simplefilter('always') -+ warnings.simplefilter('always', category=RuntimeWarning) - - tpool.execute(do) - -- assert len(ws) == 1 -+ msgs = [str(w) for w in ws] -+ assert len(ws) == 1, msgs - msg = str(ws[0].message) - assert 'Zero threads in tpool' in msg - assert 'EVENTLET_THREADPOOL_SIZE' in msg
  39. Download patch eventlet/hubs/__init__.py

    --- 0.24.1-2/eventlet/hubs/__init__.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/hubs/__init__.py 2019-05-24 09:00:38.000000000 +0000 @@ -1,4 +1,7 @@ +import importlib +import inspect import os +import warnings from eventlet import patcher from eventlet.support import greenlets as greenlet @@ -11,6 +14,15 @@ threading = patcher.original('threading' _threadlocal = threading.local() +# order is important, get_default_hub returns first available from here +builtin_hub_names = ('epolls', 'kqueue', 'poll', 'selects') +builtin_hub_modules = tuple(importlib.import_module('eventlet.hubs.' + name) for name in builtin_hub_names) + + +class HubError(Exception): + pass + + def get_default_hub(): """Select the default hub implementation based on what multiplexing libraries are installed. The order that the hubs are tried is: @@ -26,44 +38,33 @@ def get_default_hub(): .. include:: ../doc/common.txt .. note :: |internal| """ + for mod in builtin_hub_modules: + if mod.is_available(): + return mod - # pyevent hub disabled for now because it is not thread-safe - # try: - # import eventlet.hubs.pyevent - # return eventlet.hubs.pyevent - # except: - # pass - - select = patcher.original('select') - try: - import eventlet.hubs.epolls - return eventlet.hubs.epolls - except ImportError: - try: - import eventlet.hubs.kqueue - return eventlet.hubs.kqueue - except ImportError: - if hasattr(select, 'poll'): - import eventlet.hubs.poll - return eventlet.hubs.poll - else: - import eventlet.hubs.selects - return eventlet.hubs.selects + raise HubError('no built-in hubs are available: {}'.format(builtin_hub_modules)) def use_hub(mod=None): """Use the module *mod*, containing a class called Hub, as the event hub. Usually not required; the default hub is usually fine. - Mod can be an actual module, a string, or None. If *mod* is a module, - it uses it directly. If *mod* is a string and contains either '.' or ':' - use_hub tries to import the hub using the 'package.subpackage.module:Class' - convention, otherwise use_hub looks for a matching setuptools entry point - in the 'eventlet.hubs' group to load or finally tries to import - `eventlet.hubs.mod` and use that as the hub module. If *mod* is None, - use_hub uses the default hub. Only call use_hub during application - initialization, because it resets the hub's state and any existing + `mod` can be an actual hub class, a module, a string, or None. + + If `mod` is a class, use it directly. + If `mod` is a module, use `module.Hub` class + If `mod` is a string and contains either '.' or ':' + then `use_hub` uses 'package.subpackage.module:Class' convention, + otherwise imports `eventlet.hubs.mod`. + If `mod` is None, `use_hub` uses the default hub. + + Only call use_hub during application initialization, + because it resets the hub's state and any existing timers or listeners will never be resumed. + + These two threadlocal attributes are not part of Eventlet public API: + - `threadlocal.Hub` (capital H) is hub constructor, used when no hub is currently active + - `threadlocal.hub` (lowercase h) is active hub instance """ if mod is None: mod = os.environ.get('EVENTLET_HUB', None) @@ -71,36 +72,30 @@ def use_hub(mod=None): mod = get_default_hub() if hasattr(_threadlocal, 'hub'): del _threadlocal.hub + + classname = '' if isinstance(mod, six.string_types): assert mod.strip(), "Need to specify a hub" if '.' in mod or ':' in mod: modulename, _, classname = mod.strip().partition(':') - mod = __import__(modulename, globals(), locals(), [classname]) - if classname: - mod = getattr(mod, classname) else: - found = False + modulename = 'eventlet.hubs.' + mod + mod = importlib.import_module(modulename) - # setuptools 5.4.1 test_import_patched_defaults fail - # https://github.com/eventlet/eventlet/issues/177 - try: - # try and import pkg_resources ... - import pkg_resources - except ImportError: - # ... but do not depend on it - pkg_resources = None - if pkg_resources is not None: - for entry in pkg_resources.iter_entry_points( - group='eventlet.hubs', name=mod): - mod, found = entry.load(), True - break - if not found: - mod = __import__( - 'eventlet.hubs.' + mod, globals(), locals(), ['Hub']) - if hasattr(mod, 'Hub'): - _threadlocal.Hub = mod.Hub + if hasattr(mod, 'is_available'): + if not mod.is_available(): + raise Exception('selected hub is not available on this system mod={}'.format(mod)) else: - _threadlocal.Hub = mod + msg = '''Please provide `is_available()` function in your custom Eventlet hub {mod}. +It must return bool: whether hub supports current platform. See eventlet/hubs/{{epoll,kqueue}} for example. +'''.format(mod=mod) + warnings.warn(msg, DeprecationWarning, stacklevel=3) + + hubclass = mod + if not inspect.isclass(mod): + hubclass = getattr(mod, classname or 'Hub') + + _threadlocal.Hub = hubclass def get_hub():
  40. Download patch setup.py

    --- 0.24.1-2/setup.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/setup.py 2019-05-24 09:00:38.000000000 +0000 @@ -42,6 +42,7 @@ setuptools.setup( "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", "Programming Language :: Python", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules",
  41. Download patch eventlet/__init__.py

    --- 0.24.1-2/eventlet/__init__.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/__init__.py 2019-05-24 09:00:38.000000000 +0000 @@ -1,7 +1,7 @@ import os -version_info = (0, 24, 1) +version_info = (0, 25, 0) __version__ = '.'.join(map(str, version_info)) # This is to make Debian packaging easier, it ignores import # errors of greenlet so that the packager can still at least
  42. Download patch eventlet/hubs/epolls.py

    --- 0.24.1-2/eventlet/hubs/epolls.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/hubs/epolls.py 2019-05-24 09:00:38.000000000 +0000 @@ -1,40 +1,29 @@ import errno -from eventlet.support import get_errno -from eventlet import patcher +from eventlet import patcher, support +from eventlet.hubs import hub, poll select = patcher.original('select') -if not hasattr(select, 'epoll'): - # TODO: remove mention of python-epoll on 2019-01 - raise ImportError('No epoll implementation found in select module.' - ' python-epoll (or similar) package support was removed,' - ' please open issue on https://github.com/eventlet/eventlet/' - ' if you must use epoll outside stdlib.') -epoll = select.epoll - -from eventlet.hubs.hub import BaseHub -from eventlet.hubs import poll -from eventlet.hubs.poll import READ, WRITE -# NOTE: we rely on the fact that the epoll flag constants -# are identical in value to the poll constants + +def is_available(): + return hasattr(select, 'epoll') +# NOTE: we rely on the fact that the epoll flag constants +# are identical in value to the poll constants class Hub(poll.Hub): def __init__(self, clock=None): - BaseHub.__init__(self, clock) - self.poll = epoll() + super(Hub, self).__init__(clock=clock) + self.poll = select.epoll() def add(self, evtype, fileno, cb, tb, mac): - oldlisteners = bool(self.listeners[READ].get(fileno) or - self.listeners[WRITE].get(fileno)) - listener = BaseHub.add(self, evtype, fileno, cb, tb, mac) + oldlisteners = bool(self.listeners[self.READ].get(fileno) or + self.listeners[self.WRITE].get(fileno)) + # not super() to avoid double register() + listener = hub.BaseHub.add(self, evtype, fileno, cb, tb, mac) try: - if not oldlisteners: - # Means we've added a new listener - self.register(fileno, new=True) - else: - self.register(fileno, new=False) + self.register(fileno, new=not oldlisteners) except IOError as ex: # ignore EEXIST, #80 - if get_errno(ex) != errno.EEXIST: + if support.get_errno(ex) != errno.EEXIST: raise return listener
  43. Download patch AUTHORS

    --- 0.24.1-2/AUTHORS 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/AUTHORS 2019-05-24 09:00:38.000000000 +0000 @@ -1,6 +1,11 @@ Maintainer (i.e., Who To Hassle If You Find Bugs) ------------------------------------------------- -Sergey Shepelev, temoto on Freenode, temotor@gmail.com +Jakub Stasiak +Nat Goodspeed + +The current maintainer(s) are volunteers with unrelated jobs. +We can only pay sporadic attention to responding to your issue and pull request submissions. +Your patience is greatly appreciated! Original Authors ---------------- @@ -166,3 +171,4 @@ Thanks To * Matt Bennett * Ralf Haferkamp * Jake Tesler +* Aayush Kasurde
  44. Download patch tests/test_server.key

    --- 0.24.1-2/tests/test_server.key 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/tests/test_server.key 2019-05-24 09:00:38.000000000 +0000 @@ -1,15 +1,28 @@ ------BEGIN RSA PRIVATE KEY----- -MIICXgIBAAKBgQDMWcyeIiHQuEGQxgTIvu0aOW4iRFAyUEi8pLWNCxMEHglF8k6O -xFVq7XWZMDnDFVnbZjmQh5Tc21Ae6cXzxXln578fROXHEzXo3Is8HUlq3ug1yYOG -Hjxw++Opjf1uoHwPEBUKsz/flS7knuscgFM9FO05KSPn2wHnZeIDta4yTwIDAQAB -AoGBAKWfvq0IIvok7Ncm92ew/0D6/R1+2rT8xwdGQ/Nt31q98WwkqLEjxctlbKPd -J2PLIUomf0955BhhFH4JoSwjiHJQ6uishY7srjQQDX/Dxdi5wZAyxYCIVW/kAA9N -/u2s75hSD3s/rqAwOZ182DwAPIqJc4KQoYzvlKERSMDT1PJhAkEA5SUFsiSzBEMX -FyZ++ZMMs1vHrTu5oTK7WHznh9lk7dvsnp9BoUPqhiu8iJ7Q23zj0u5asz2czu11 -nnczXgU6XwJBAORM5Ib4I7nAsoUWn9wDiTwVQeE+D9P1ac9p7EHm7XXuf8o2irRZ -wYYfpXXsjk496YfyQFcQRMk0tU0gegCP7hECQFWRWqwoajUoPIInnPjjwbVki48U -I4CfqjgkBG3Fb5wnKRgezmpDK1vJD1FRRRsBay4EVhhi5KCdKfPv/V2ZxC8CQQCu -U5SxBytofJ8UhxkcTErvaR/8GYLGi//21GAGVop+YdaMlydE3cCrZODYcgCb+CSp -nS7KDG8p4KiMMz9VzJGxAkEAv85K6Sa3H8g9h7LwopBZ5tFNZUaFWo7lEP7DDMH0 -eckZTb1JVpyT/8zrDtsis4WlV9zVkVHxkIaad503BjqvEQ== ------END RSA PRIVATE KEY----- +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC8Fyu/6oOS5J8R +ENcE9FP/zmaM59MxlCmc7t9wlL/3y4GciztfxUb4EEmosUglHH/BSqFggZ6d8ncu +UpHR5bPvEBTB8OYpjYQlF1S0a7D46tx+SwbHqlZY8YIOah9Hdt0Jc4CmGBcZ9qeH +/G9z1duVcsMuCGQ3WOuP3ObFb7UR9hNaD/xXZX8cLvc6cJHMKaxHCeIBOL+z/9kJ +qhh30eqsmNB5AXSoV8b2B3MV3glW2vd5WJVYEWxl3+GNgzZJ3KGape7pcBYER7zg +/yZLZxgNFlTCOZiysjNxC0liJA9tgUQhRc1gsqA8dQxzvqW8kuZedmatjyM58Wix +vjymobC3AgMBAAECggEARdC79oKP0Ah4WpdLmJUwULVGL2slYzPBtnScD2fHUa0C +MR8lLMlHLHCvRqR3SP8pFJAlEnNKcwo63sDbS3PdtBDeA5btd+MFd9cPI+ENUXer +3Fzw6U/6uQz732nYrmgaZ5Wt3Pj4KjT5vmoe3Ho3BWQRupZ2zGx/E2lFZ2etaDqx +yId9dqsLhR2dTdCJ8xaf01JSIcZF5ctP3Hx/Xk3b4QLdAujSFfee1qtPyMU89cQG +yjkqTdzVl3Z1isACPHsCHxyIs3FDU1B4YuPyPoMx8F6Ok81/r6gen0asu3H4VrIH +oYnuiHftdGXzpCQO9aWnpxhV7Na9nkkBldsQSvrLwQKBgQDgByy9/K9yOgfQrepY +jI7s5p5Ho9dsIOrNN8JXZONYY7S9FS3jBfG7p/tPO8hXaSl7VKJBomSQbO11s/72 ++GAcXDYNG1a6nrX6yXQwGcvUT2F9lnlModzIrEljuH4Af9VA50+5cEwx8HL370vo +7rVyAgKaOlZBLoB+B3SYgmWdpwKBgQDW7wZ0vT/44vuevF3mMv2z+DEeLxJRXSVc +j17c+XOcQIb7kQ8kyi5tqBDUL7ywMSk3zLwBFnB62z+c2z9JGafPCPLXWEE73JLg +eFuHpdYbxssu1GdK+uzhzFeF9W7fy9LiP+a2ZmiD7iSOMQ+4AilWggsOS4/TPM/S +KCpiWMdWcQKBgGfOC0ZRMn5sMzjXjTHQl11gEtFBMs1whzvl7VAPeGR5dsLycFu0 +YmlAkesJ2W/fU5BJDBH7jDt7raAPckG/ntElTQpPs6Uva0U0WXj8Sv0qdxL5SWVf +zuzRIARr9T6H/SlgxQk45qVxM+R8ZiEdkser9Ma/5z22rWU4USdlrG4bAoGAdWmD +tFgBz1tnqxIplWw7jYnCg0OhlRL2KvcjEkGu9yeE1X4rsKRF8p9B+jfNss5YPuQ3 +u7xfW63TtUNL8gny0rWHuz25/RKEpdz520MrkGbrbbyYZKxopPy0vzgRBm5Y2EGi +LfgJljCMhaSleparsFc/5OJAQlvRB3Prm2f2FPECgYEA2+TCLKOQslh/3PJD4mlY +VhQTDYkiKMWW3LXYXHhTEBWtxkdhZ1AkrOs10Urw+YQ2tpmkR73Nw+PUnG1o4Wka +vaDRaKqjmAnLU9ktXChZi3JME/cmgY0VomLkkPv2bGfmWDKI+BKmhdZCxsi0NgPi +fcngyWF+LKLfvpuyAqOfwLg= +-----END PRIVATE KEY-----
  45. Download patch tests/hub_test.py

    --- 0.24.1-2/tests/hub_test.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/tests/hub_test.py 2019-05-24 09:00:38.000000000 +0000 @@ -4,7 +4,6 @@ import time import tests from tests import skip_with_pyevent, skip_if_no_itimer, skip_unless -from tests.patcher_test import ProcessBase import eventlet from eventlet import hubs from eventlet.support import greenlets @@ -205,17 +204,6 @@ class TestExceptionInGreenthread(tests.L g.kill() -class TestHubSelection(tests.LimitedTestCase): - - def test_explicit_hub(self): - oldhub = hubs.get_hub() - try: - hubs.use_hub(Foo) - assert isinstance(hubs.get_hub(), Foo), hubs.get_hub() - finally: - hubs._threadlocal.hub = oldhub - - class TestHubBlockingDetector(tests.LimitedTestCase): TEST_TIMEOUT = 10 @@ -361,43 +349,11 @@ class TestDeadRunLoop(tests.LimitedTestC assert g.dead # sanity check that dummyproc has completed -class Foo(object): - pass - - -class TestDefaultHub(ProcessBase): - - def test_kqueue_unsupported(self): - # https://github.com/eventlet/eventlet/issues/38 - # get_hub on windows broken by kqueue - module_source = r''' -from __future__ import print_function - -# Simulate absence of kqueue even on platforms that support it. -import select -try: - del select.kqueue -except AttributeError: - pass - -from six.moves import builtins +def test_use_hub_class(): + tests.run_isolated('hub_use_hub_class.py') -original_import = builtins.__import__ -def fail_import(name, *args, **kwargs): - if 'epoll' in name: - raise ImportError('disabled for test') - if 'kqueue' in name: - print('kqueue tried') - return original_import(name, *args, **kwargs) - -builtins.__import__ = fail_import - - -import eventlet.hubs -eventlet.hubs.get_default_hub() -print('ok') -''' - self.write_to_tempfile('newmod', module_source) - output, _ = self.launch_subprocess('newmod.py') - self.assertEqual(output, 'kqueue tried\nok\n') +def test_kqueue_unsupported(): + # https://github.com/eventlet/eventlet/issues/38 + # get_hub on windows broken by kqueue + tests.run_isolated('hub_kqueue_unsupported.py')
  46. Download patch tests/debug_test.py

    --- 0.24.1-2/tests/debug_test.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/tests/debug_test.py 2019-05-24 09:00:38.000000000 +0000 @@ -29,6 +29,11 @@ class TestSpew(tests.LimitedTestCase): assert self.tracer is None def test_line(self): + if sys.version_info >= (3, 7): + frame_str = "f=<frame at" + else: + frame_str = "f=<frame object at" + sys.stdout = six.StringIO() s = debug.Spew() f = sys._getframe() @@ -36,7 +41,7 @@ class TestSpew(tests.LimitedTestCase): lineno = f.f_lineno - 1 # -1 here since we called with frame f in the line above output = sys.stdout.getvalue() assert "%s:%i" % (__name__, lineno) in output, "Didn't find line %i in %s" % (lineno, output) - assert "f=<frame object at" in output + assert frame_str in output def test_line_nofile(self): sys.stdout = six.StringIO() @@ -51,6 +56,11 @@ class TestSpew(tests.LimitedTestCase): assert "VM instruction #" in output, output def test_line_global(self): + if sys.version_info >= (3, 7): + frame_str = "f=<frame at" + else: + frame_str = "f=<frame object at" + global GLOBAL_VAR sys.stdout = six.StringIO() GLOBAL_VAR = debug.Spew() @@ -59,7 +69,7 @@ class TestSpew(tests.LimitedTestCase): lineno = f.f_lineno - 1 # -1 here since we called with frame f in the line above output = sys.stdout.getvalue() assert "%s:%i" % (__name__, lineno) in output, "Didn't find line %i in %s" % (lineno, output) - assert "f=<frame object at" in output + assert frame_str in output assert "GLOBAL_VAR" in f.f_globals assert "GLOBAL_VAR=<eventlet.debug.Spew object at" in output del GLOBAL_VAR
  47. Download patch tests/isolated/env_tpool_zero.py

    --- 0.24.1-2/tests/isolated/env_tpool_zero.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/tests/isolated/env_tpool_zero.py 2019-05-24 09:00:38.000000000 +0000 @@ -9,11 +9,12 @@ if __name__ == '__main__': g[0] = True with warnings.catch_warnings(record=True) as ws: - warnings.simplefilter('always') + warnings.simplefilter('always', category=RuntimeWarning) tpool.execute(do) - assert len(ws) == 1 + msgs = [str(w) for w in ws] + assert len(ws) == 1, msgs msg = str(ws[0].message) assert 'Zero threads in tpool' in msg assert 'EVENTLET_THREADPOOL_SIZE' in msg
  48. Download patch debian/patches/0010-Fix-compilation-errors-when-installing-package-in-Py.patch

    --- 0.24.1-2/debian/patches/0010-Fix-compilation-errors-when-installing-package-in-Py.patch 2019-07-10 11:47:14.000000000 +0000 +++ 0.25.0-0ubuntu1/debian/patches/0010-Fix-compilation-errors-when-installing-package-in-Py.patch 2019-06-05 16:13:26.000000000 +0000 @@ -48,7 +48,7 @@ Subject: Fix compilation errors when ins class HTTPMessage(email.message.Message): -@@ -1446,7 +1449,7 @@ +@@ -1456,7 +1459,7 @@ def __init__(self, host, port=None, key_file=None, cert_file=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT,
  49. Download patch debian/gbp.conf

    --- 0.24.1-2/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ 0.25.0-0ubuntu1/debian/gbp.conf 2019-06-05 16:13:26.000000000 +0000 @@ -0,0 +1,7 @@ +[DEFAULT] +debian-branch = master +upstream-tag = %(version)s +pristine-tar = True + +[buildpackage] +export-dir = ../build-area
  50. Download patch eventlet/hubs/poll.py

    --- 0.24.1-2/eventlet/hubs/poll.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/hubs/poll.py 2019-05-24 09:00:38.000000000 +0000 @@ -1,21 +1,22 @@ import errno import sys -from eventlet import patcher +from eventlet import patcher, support +from eventlet.hubs import hub select = patcher.original('select') time = patcher.original('time') -from eventlet.hubs.hub import BaseHub, READ, WRITE, noop -from eventlet.support import get_errno, clear_sys_exc_info -EXC_MASK = select.POLLERR | select.POLLHUP -READ_MASK = select.POLLIN | select.POLLPRI -WRITE_MASK = select.POLLOUT +def is_available(): + return hasattr(select, 'poll') -class Hub(BaseHub): +class Hub(hub.BaseHub): def __init__(self, clock=None): super(Hub, self).__init__(clock) + self.EXC_MASK = select.POLLERR | select.POLLHUP + self.READ_MASK = select.POLLIN | select.POLLPRI + self.WRITE_MASK = select.POLLOUT self.poll = select.poll() def add(self, evtype, fileno, cb, tb, mac): @@ -29,10 +30,10 @@ class Hub(BaseHub): def register(self, fileno, new=False): mask = 0 - if self.listeners[READ].get(fileno): - mask |= READ_MASK | EXC_MASK - if self.listeners[WRITE].get(fileno): - mask |= WRITE_MASK | EXC_MASK + if self.listeners[self.READ].get(fileno): + mask |= self.READ_MASK | self.EXC_MASK + if self.listeners[self.WRITE].get(fileno): + mask |= self.WRITE_MASK | self.EXC_MASK try: if mask: if new: @@ -68,8 +69,8 @@ class Hub(BaseHub): return self.poll.poll(int(seconds * 1000.0)) def wait(self, seconds=None): - readers = self.listeners[READ] - writers = self.listeners[WRITE] + readers = self.listeners[self.READ] + writers = self.listeners[self.WRITE] if not readers and not writers: if seconds: @@ -78,7 +79,7 @@ class Hub(BaseHub): try: presult = self.do_poll(seconds) except (IOError, select.error) as e: - if get_errno(e) == errno.EINTR: + if support.get_errno(e) == errno.EINTR: return raise SYSTEM_EXCEPTIONS = self.SYSTEM_EXCEPTIONS @@ -92,15 +93,16 @@ class Hub(BaseHub): # polled for. It prevents one handler from invalidating # another. callbacks = set() + noop = hub.noop # shave getattr for fileno, event in presult: - if event & READ_MASK: + if event & self.READ_MASK: callbacks.add((readers.get(fileno, noop), fileno)) - if event & WRITE_MASK: + if event & self.WRITE_MASK: callbacks.add((writers.get(fileno, noop), fileno)) if event & select.POLLNVAL: self.remove_descriptor(fileno) continue - if event & EXC_MASK: + if event & self.EXC_MASK: callbacks.add((readers.get(fileno, noop), fileno)) callbacks.add((writers.get(fileno, noop), fileno)) @@ -111,7 +113,7 @@ class Hub(BaseHub): raise except: self.squelch_exception(fileno, sys.exc_info()) - clear_sys_exc_info() + support.clear_sys_exc_info() if self.debug_blocking: self.block_detect_post()
  51. Download patch eventlet/hubs/kqueue.py

    --- 0.24.1-2/eventlet/hubs/kqueue.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/hubs/kqueue.py 2019-05-24 09:00:38.000000000 +0000 @@ -1,25 +1,24 @@ import os import sys from eventlet import patcher, support +from eventlet.hubs import hub import six select = patcher.original('select') time = patcher.original('time') -from eventlet.hubs.hub import BaseHub, READ, WRITE, noop +def is_available(): + return hasattr(select, 'kqueue') -if getattr(select, 'kqueue', None) is None: - raise ImportError('No kqueue implementation found in select module') - -FILTERS = {READ: select.KQ_FILTER_READ, - WRITE: select.KQ_FILTER_WRITE} - - -class Hub(BaseHub): +class Hub(hub.BaseHub): MAX_EVENTS = 100 def __init__(self, clock=None): + self.FILTERS = { + hub.READ: select.KQ_FILTER_READ, + hub.WRITE: select.KQ_FILTER_WRITE, + } super(Hub, self).__init__(clock) self._events = {} self._init_kqueue() @@ -31,10 +30,9 @@ class Hub(BaseHub): def _reinit_kqueue(self): self.kqueue.close() self._init_kqueue() - kqueue = self.kqueue events = [e for i in six.itervalues(self._events) for e in six.itervalues(i)] - kqueue.control(events, 0, 0) + self.kqueue.control(events, 0, 0) def _control(self, events, max_events, timeout): try: @@ -51,7 +49,7 @@ class Hub(BaseHub): events = self._events.setdefault(fileno, {}) if evtype not in events: try: - event = select.kevent(fileno, FILTERS.get(evtype), select.KQ_EV_ADD) + event = select.kevent(fileno, self.FILTERS.get(evtype), select.KQ_EV_ADD) self._control([event], 0, 0) events[evtype] = event except ValueError: @@ -90,8 +88,8 @@ class Hub(BaseHub): pass def wait(self, seconds=None): - readers = self.listeners[READ] - writers = self.listeners[WRITE] + readers = self.listeners[self.READ] + writers = self.listeners[self.WRITE] if not readers and not writers: if seconds: @@ -103,10 +101,10 @@ class Hub(BaseHub): fileno = event.ident evfilt = event.filter try: - if evfilt == FILTERS[READ]: - readers.get(fileno, noop).cb(fileno) - if evfilt == FILTERS[WRITE]: - writers.get(fileno, noop).cb(fileno) + if evfilt == select.KQ_FILTER_READ: + readers.get(fileno, hub.noop).cb(fileno) + if evfilt == select.KQ_FILTER_WRITE: + writers.get(fileno, hub.noop).cb(fileno) except SYSTEM_EXCEPTIONS: raise except:
  52. Download patch tests/isolated/test_sub_module_in_import_patched/sample_main_module/sample_sub_module/__init__.py

    --- 0.24.1-2/tests/isolated/test_sub_module_in_import_patched/sample_main_module/sample_sub_module/__init__.py 1970-01-01 00:00:00.000000000 +0000 +++ 0.25.0-0ubuntu1/tests/isolated/test_sub_module_in_import_patched/sample_main_module/sample_sub_module/__init__.py 2019-05-24 09:00:38.000000000 +0000 @@ -0,0 +1,10 @@ +""" +This file is used together with sample_main_module/__init__.py to setup a +scenario where symbols are imported from sub modules. It is used to test that +pacher.import_patched can correctly patch such symbols. +""" +import socket + + +def function_use_socket(): + return socket
  53. Download patch eventlet/hubs/hub.py

    --- 0.24.1-2/eventlet/hubs/hub.py 2018-08-06 16:17:47.000000000 +0000 +++ 0.25.0-0ubuntu1/eventlet/hubs/hub.py 2019-05-24 09:00:38.000000000 +0000 @@ -19,7 +19,8 @@ else: signal.alarm(math.ceil(seconds)) arm_alarm = alarm_signal -from eventlet.hubs import timer, IOClosed +import eventlet.hubs +from eventlet.hubs import timer from eventlet.support import greenlets as greenlet, clear_sys_exc_info import monotonic import six @@ -265,7 +266,7 @@ class BaseHub(object): listener = self.closed.pop() if not listener.greenlet.dead: # There's no point signalling a greenlet that's already dead. - listener.tb(IOClosed(errno.ENOTCONN, "Operation on closed file")) + listener.tb(eventlet.hubs.IOClosed(errno.ENOTCONN, "Operation on closed file")) def ensure_greenlet(self): if self.greenlet.dead:
  54. Download patch debian/copyright
  55. Download patch debian/patches/0013-New_test_crt.patch

    --- 0.24.1-2/debian/patches/0013-New_test_crt.patch 2019-07-10 11:40:31.000000000 +0000 +++ 0.25.0-0ubuntu1/debian/patches/0013-New_test_crt.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -Description: Regenerate test crt -Author: Ondřej Nový <onovy@debian.org> -Forwarded: https://github.com/eventlet/eventlet/pull/516 - ---- a/tests/test_server.crt -+++ b/tests/test_server.crt -@@ -1,15 +1,23 @@ - -----BEGIN CERTIFICATE----- --MIICYzCCAcwCCQD5jx1Aa0dytjANBgkqhkiG9w0BAQQFADB2MQswCQYDVQQGEwJU --UzENMAsGA1UECBMEVGVzdDENMAsGA1UEBxMEVGVzdDEWMBQGA1UEChMNVGVzdCBF --dmVudGxldDENMAsGA1UECxMEVGVzdDENMAsGA1UEAxMEVGVzdDETMBEGCSqGSIb3 --DQEJARYEVGVzdDAeFw0wODA3MDgyMTExNDJaFw0xMDAyMDgwODE1MTBaMHYxCzAJ --BgNVBAYTAlRTMQ0wCwYDVQQIEwRUZXN0MQ0wCwYDVQQHEwRUZXN0MRYwFAYDVQQK --Ew1UZXN0IEV2ZW50bGV0MQ0wCwYDVQQLEwRUZXN0MQ0wCwYDVQQDEwRUZXN0MRMw --EQYJKoZIhvcNAQkBFgRUZXN0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDM --WcyeIiHQuEGQxgTIvu0aOW4iRFAyUEi8pLWNCxMEHglF8k6OxFVq7XWZMDnDFVnb --ZjmQh5Tc21Ae6cXzxXln578fROXHEzXo3Is8HUlq3ug1yYOGHjxw++Opjf1uoHwP --EBUKsz/flS7knuscgFM9FO05KSPn2wHnZeIDta4yTwIDAQABMA0GCSqGSIb3DQEB --BAUAA4GBAKM71aP0r26gEEEBzovfXm1IwKav6R9/xiWsJ4pFsUXVotcaIjcVBDG1 --Z7tz688hokb+GNxsTI2gNfqanqUnfP9wZxnKRmfTSOvb5aWHIiaiMXSgjiPlqBcm --6mnSeEbSMM9cw479wWhh1YqY8tf3gYJa+sxznVWLSfVLpsjRMphe -+MIIDwjCCAqqgAwIBAgIJAN19NW1oDKKtMA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNV -+BAYTAlRTMQ0wCwYDVQQIDARUZXN0MQ0wCwYDVQQHDARUZXN0MRYwFAYDVQQKDA1U -+ZXN0IEV2ZW50bGV0MQ0wCwYDVQQLDARUZXN0MQ0wCwYDVQQDDARUZXN0MRMwEQYJ -+KoZIhvcNAQkBFgRUZXN0MB4XDTE4MDgyMjEzNDIxMVoXDTI4MDgxOTEzNDIxMVow -+djELMAkGA1UEBhMCVFMxDTALBgNVBAgMBFRlc3QxDTALBgNVBAcMBFRlc3QxFjAU -+BgNVBAoMDVRlc3QgRXZlbnRsZXQxDTALBgNVBAsMBFRlc3QxDTALBgNVBAMMBFRl -+c3QxEzARBgkqhkiG9w0BCQEWBFRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw -+ggEKAoIBAQC8Fyu/6oOS5J8RENcE9FP/zmaM59MxlCmc7t9wlL/3y4GciztfxUb4 -+EEmosUglHH/BSqFggZ6d8ncuUpHR5bPvEBTB8OYpjYQlF1S0a7D46tx+SwbHqlZY -+8YIOah9Hdt0Jc4CmGBcZ9qeH/G9z1duVcsMuCGQ3WOuP3ObFb7UR9hNaD/xXZX8c -+Lvc6cJHMKaxHCeIBOL+z/9kJqhh30eqsmNB5AXSoV8b2B3MV3glW2vd5WJVYEWxl -+3+GNgzZJ3KGape7pcBYER7zg/yZLZxgNFlTCOZiysjNxC0liJA9tgUQhRc1gsqA8 -+dQxzvqW8kuZedmatjyM58WixvjymobC3AgMBAAGjUzBRMB0GA1UdDgQWBBQT3V3f -+8vCoqGXe6zySSjVP+J/P7zAfBgNVHSMEGDAWgBQT3V3f8vCoqGXe6zySSjVP+J/P -+7zAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAws7zXsftw5s/P -+dnyFAf8q0WoVtWi9ljshWfJvTFMfuCqdSoNT+kIeQq071/RFW9YLqDZGXI4fyfzW -+50A7xFm+Syy7wPOmfLJdPx5HRJ5jgIDlij9vL45W3mXEohkkzMCdjwXfOIQPOEEx -+ZQHF57RaHlKEGexc/yvOLlOgKP23BOgB7pZjCC9divyDJ3ETlzgE+UTymHxmFM0i -+TCAM9dGEl1QPr7zA08rNgVae+/uQksdM55QmQFkTAXisFPcxNgHSKOSHsDiUJvWG -+7bJrwO6+T2wjRxWRD7anQV3DqBG1WteXA/dfYqjUi0QPqreWqNb+3OM60UwPJsvl -+ZDfUrsbY - -----END CERTIFICATE----- ---- a/tests/test_server.key -+++ b/tests/test_server.key -@@ -1,15 +1,28 @@ -------BEGIN RSA PRIVATE KEY----- --MIICXgIBAAKBgQDMWcyeIiHQuEGQxgTIvu0aOW4iRFAyUEi8pLWNCxMEHglF8k6O --xFVq7XWZMDnDFVnbZjmQh5Tc21Ae6cXzxXln578fROXHEzXo3Is8HUlq3ug1yYOG --Hjxw++Opjf1uoHwPEBUKsz/flS7knuscgFM9FO05KSPn2wHnZeIDta4yTwIDAQAB --AoGBAKWfvq0IIvok7Ncm92ew/0D6/R1+2rT8xwdGQ/Nt31q98WwkqLEjxctlbKPd --J2PLIUomf0955BhhFH4JoSwjiHJQ6uishY7srjQQDX/Dxdi5wZAyxYCIVW/kAA9N --/u2s75hSD3s/rqAwOZ182DwAPIqJc4KQoYzvlKERSMDT1PJhAkEA5SUFsiSzBEMX --FyZ++ZMMs1vHrTu5oTK7WHznh9lk7dvsnp9BoUPqhiu8iJ7Q23zj0u5asz2czu11 --nnczXgU6XwJBAORM5Ib4I7nAsoUWn9wDiTwVQeE+D9P1ac9p7EHm7XXuf8o2irRZ --wYYfpXXsjk496YfyQFcQRMk0tU0gegCP7hECQFWRWqwoajUoPIInnPjjwbVki48U --I4CfqjgkBG3Fb5wnKRgezmpDK1vJD1FRRRsBay4EVhhi5KCdKfPv/V2ZxC8CQQCu --U5SxBytofJ8UhxkcTErvaR/8GYLGi//21GAGVop+YdaMlydE3cCrZODYcgCb+CSp --nS7KDG8p4KiMMz9VzJGxAkEAv85K6Sa3H8g9h7LwopBZ5tFNZUaFWo7lEP7DDMH0 --eckZTb1JVpyT/8zrDtsis4WlV9zVkVHxkIaad503BjqvEQ== -------END RSA PRIVATE KEY----- -+-----BEGIN PRIVATE KEY----- -+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC8Fyu/6oOS5J8R -+ENcE9FP/zmaM59MxlCmc7t9wlL/3y4GciztfxUb4EEmosUglHH/BSqFggZ6d8ncu -+UpHR5bPvEBTB8OYpjYQlF1S0a7D46tx+SwbHqlZY8YIOah9Hdt0Jc4CmGBcZ9qeH -+/G9z1duVcsMuCGQ3WOuP3ObFb7UR9hNaD/xXZX8cLvc6cJHMKaxHCeIBOL+z/9kJ -+qhh30eqsmNB5AXSoV8b2B3MV3glW2vd5WJVYEWxl3+GNgzZJ3KGape7pcBYER7zg -+/yZLZxgNFlTCOZiysjNxC0liJA9tgUQhRc1gsqA8dQxzvqW8kuZedmatjyM58Wix -+vjymobC3AgMBAAECggEARdC79oKP0Ah4WpdLmJUwULVGL2slYzPBtnScD2fHUa0C -+MR8lLMlHLHCvRqR3SP8pFJAlEnNKcwo63sDbS3PdtBDeA5btd+MFd9cPI+ENUXer -+3Fzw6U/6uQz732nYrmgaZ5Wt3Pj4KjT5vmoe3Ho3BWQRupZ2zGx/E2lFZ2etaDqx -+yId9dqsLhR2dTdCJ8xaf01JSIcZF5ctP3Hx/Xk3b4QLdAujSFfee1qtPyMU89cQG -+yjkqTdzVl3Z1isACPHsCHxyIs3FDU1B4YuPyPoMx8F6Ok81/r6gen0asu3H4VrIH -+oYnuiHftdGXzpCQO9aWnpxhV7Na9nkkBldsQSvrLwQKBgQDgByy9/K9yOgfQrepY -+jI7s5p5Ho9dsIOrNN8JXZONYY7S9FS3jBfG7p/tPO8hXaSl7VKJBomSQbO11s/72 -++GAcXDYNG1a6nrX6yXQwGcvUT2F9lnlModzIrEljuH4Af9VA50+5cEwx8HL370vo -+7rVyAgKaOlZBLoB+B3SYgmWdpwKBgQDW7wZ0vT/44vuevF3mMv2z+DEeLxJRXSVc -+j17c+XOcQIb7kQ8kyi5tqBDUL7ywMSk3zLwBFnB62z+c2z9JGafPCPLXWEE73JLg -+eFuHpdYbxssu1GdK+uzhzFeF9W7fy9LiP+a2ZmiD7iSOMQ+4AilWggsOS4/TPM/S -+KCpiWMdWcQKBgGfOC0ZRMn5sMzjXjTHQl11gEtFBMs1whzvl7VAPeGR5dsLycFu0 -+YmlAkesJ2W/fU5BJDBH7jDt7raAPckG/ntElTQpPs6Uva0U0WXj8Sv0qdxL5SWVf -+zuzRIARr9T6H/SlgxQk45qVxM+R8ZiEdkser9Ma/5z22rWU4USdlrG4bAoGAdWmD -+tFgBz1tnqxIplWw7jYnCg0OhlRL2KvcjEkGu9yeE1X4rsKRF8p9B+jfNss5YPuQ3 -+u7xfW63TtUNL8gny0rWHuz25/RKEpdz520MrkGbrbbyYZKxopPy0vzgRBm5Y2EGi -+LfgJljCMhaSleparsFc/5OJAQlvRB3Prm2f2FPECgYEA2+TCLKOQslh/3PJD4mlY -+VhQTDYkiKMWW3LXYXHhTEBWtxkdhZ1AkrOs10Urw+YQ2tpmkR73Nw+PUnG1o4Wka -+vaDRaKqjmAnLU9ktXChZi3JME/cmgY0VomLkkPv2bGfmWDKI+BKmhdZCxsi0NgPi -+fcngyWF+LKLfvpuyAqOfwLg= -+-----END PRIVATE KEY-----
  56. Download patch tests/isolated/test_sub_module_in_import_patched/sample_main_module/__init__.py

    --- 0.24.1-2/tests/isolated/test_sub_module_in_import_patched/sample_main_module/__init__.py 1970-01-01 00:00:00.000000000 +0000 +++ 0.25.0-0ubuntu1/tests/isolated/test_sub_module_in_import_patched/sample_main_module/__init__.py 2019-05-24 09:00:38.000000000 +0000 @@ -0,0 +1,7 @@ +""" +This file is used together with sample_sub_module/__init__.py to setup a +scenario where symbols are imported from sub modules. It is used to test that +pacher.import_patched can correctly patch such symbols. +""" + +from .sample_sub_module import function_use_socket \ No newline at end of file
  57. Download patch debian/patches/0015-more-python3.7-fixes.patch

    --- 0.24.1-2/debian/patches/0015-more-python3.7-fixes.patch 2019-07-10 13:58:35.000000000 +0000 +++ 0.25.0-0ubuntu1/debian/patches/0015-more-python3.7-fixes.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,159 +0,0 @@ -Description: More Python 3.7 fixes - This patch is a mix of these: - https://github.com/eventlet/eventlet/pull/531/commits -Author: Jerry Luan <jerry.luan@airbnb.com> -Origin: upstream, https://github.com/eventlet/eventlet/issues/526 -Last-Update: 2019-01-22 - ---- a/eventlet/green/ssl.py -+++ b/eventlet/green/ssl.py -@@ -3,8 +3,6 @@ - from eventlet.patcher import slurp_properties - slurp_properties(__ssl, globals(), srckeys=dir(__ssl)) - --import errno --import functools - import sys - import time - -@@ -15,6 +13,8 @@ - from eventlet.hubs import trampoline, IOClosed - from eventlet.support import get_errno, PY33 - import six -+from contextlib import contextmanager -+ - orig_socket = __import__('socket') - socket = orig_socket.socket - timeout_exc = SSLError -@@ -25,6 +25,20 @@ - - _original_sslsocket = __ssl.SSLSocket - _original_wrap_socket = __ssl.wrap_socket -+_original_sslcontext = getattr(__ssl, 'SSLContext', None) -+ -+ -+@contextmanager -+def _original_ssl_context(*args, **kwargs): -+ tmp_sslcontext = _original_wrap_socket.__globals__.get('SSLContext', None) -+ tmp_sslsocket = _original_sslsocket._create.__globals__.get('SSLSocket', None) -+ _original_sslsocket._create.__globals__['SSLSocket'] = _original_sslsocket -+ _original_wrap_socket.__globals__['SSLContext'] = _original_sslcontext -+ try: -+ yield -+ finally: -+ _original_wrap_socket.__globals__['SSLContext'] = tmp_sslcontext -+ _original_sslsocket._create.__globals__['SSLSocket'] = tmp_sslsocket - - - class GreenSSLSocket(_original_sslsocket): -@@ -41,16 +55,43 @@ - settimeout(), and to close/reopen the connection when a timeout - occurs at an unexpected juncture in the code. - """ -+ def __new__(cls, sock=None, keyfile=None, certfile=None, -+ server_side=False, cert_reqs=CERT_NONE, -+ ssl_version=PROTOCOL_SSLv23, ca_certs=None, -+ do_handshake_on_connect=True, *args, **kw): -+ if sys.version_info < (3, 7): -+ return super(GreenSSLSocket, cls).__new__(cls) -+ else: -+ if not isinstance(sock, GreenSocket): -+ sock = GreenSocket(sock) -+ with _original_ssl_context(): -+ ret = _original_wrap_socket( -+ sock=sock.fd, -+ keyfile=keyfile, -+ certfile=certfile, -+ server_side=server_side, -+ cert_reqs=cert_reqs, -+ ssl_version=ssl_version, -+ ca_certs=ca_certs, -+ do_handshake_on_connect=False, -+ *args, **kw -+ ) -+ ret.keyfile = keyfile -+ ret.certfile = certfile -+ ret.cert_reqs = cert_reqs -+ ret.ssl_version = ssl_version -+ ret.ca_certs = ca_certs -+ ret.__class__ = GreenSSLSocket -+ return ret -+ - # we are inheriting from SSLSocket because its constructor calls - # do_handshake whose behavior we wish to override -- - def __init__(self, sock, keyfile=None, certfile=None, - server_side=False, cert_reqs=CERT_NONE, - ssl_version=PROTOCOL_SSLv23, ca_certs=None, - do_handshake_on_connect=True, *args, **kw): - if not isinstance(sock, GreenSocket): - sock = GreenSocket(sock) -- - self.act_non_blocking = sock.act_non_blocking - - if six.PY2: -@@ -58,42 +99,12 @@ - # this assignment - self._timeout = sock.gettimeout() - -- if sys.version_info >= (3, 7): -- # Monkey-patch the sslsocket so our modified self gets -- # injected into its _create method. -- def fake_new(self, cls, *args, **kwargs): -- return self -- -- orig_new = _original_sslsocket.__new__ -- try: -- _original_sslsocket.__new__ = fake_new.__get__(self, GreenSSLSocket) -- -- self = _original_wrap_socket( -- sock=sock.fd, -- keyfile=keyfile, -- certfile=certfile, -- server_side=server_side, -- cert_reqs=cert_reqs, -- ssl_version=ssl_version, -- ca_certs=ca_certs, -- do_handshake_on_connect=False, -- *args, **kw -- ) -- self.keyfile = keyfile -- self.certfile = certfile -- self.cert_reqs = cert_reqs -- self.ssl_version = ssl_version -- self.ca_certs = ca_certs -- finally: -- # Unpatch -- _original_sslsocket.__new__ = orig_new -- else: -+ if sys.version_info < (3, 7): - # nonblocking socket handshaking on connect got disabled so let's pretend it's disabled - # even when it's on - super(GreenSSLSocket, self).__init__( - sock.fd, keyfile, certfile, server_side, cert_reqs, ssl_version, - ca_certs, do_handshake_on_connect and six.PY2, *args, **kw) -- - # the superclass initializer trashes the methods so we remove - # the local-object versions of them and let the actual class - # methods shine through -@@ -396,6 +407,7 @@ - def dup(self): - raise NotImplementedError("Can't dup an ssl object") - -+ - SSLSocket = GreenSSLSocket - - ---- a/eventlet/greenio/base.py -+++ b/eventlet/greenio/base.py -@@ -145,7 +145,9 @@ - except AttributeError: - self._timeout = socket.getdefaulttimeout() - -- if should_set_nonblocking: -+ # Filter fd.fileno() != -1 so that won't call set non-blocking on -+ # closed socket -+ if should_set_nonblocking and fd.fileno() != -1: - set_nonblocking(fd) - self.fd = fd - # when client calls setblocking(0) or settimeout(0) the socket must

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: python-importlib-metadata

python-importlib-metadata (0.23-2ubuntu1) focal; urgency=medium * Don't run the tests for 3.8. The module is part of Python 3.8. -- Matthias Klose <doko@ubuntu.com> Tue, 05 Nov 2019 13:04:22 +0100

Modifications :
  1. Download patch debian/control

    --- 0.23-2/debian/control 2019-10-21 11:26:30.000000000 +0000 +++ 0.23-2ubuntu1/debian/control 2019-11-05 12:04:22.000000000 +0000 @@ -23,7 +23,7 @@ Build-Depends: python-setuptools-scm, python-pathlib2, python-zipp (>= 0.5), - python3-all, + python3, python3-packaging, python3-setuptools, python3-setuptools-scm,

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: python-os-api-ref

python-os-api-ref (1.6.2+dfsg1-0ubuntu1) eoan; urgency=medium * New upstream release for OpenStack Train. * d/control: Align (Build-)Depends with upstream. * d/p/update-tests-for-cloud-archive.patch: Dropped. No longer needed as train cloud archive is on bionic. -- Corey Bryant <corey.bryant@canonical.com> Wed, 25 Sep 2019 15:10:50 -0400 python-os-api-ref (1.6.1+dfsg1-0ubuntu2) eoan; urgency=medium * Drop python2 support. -- Steve Langasek <steve.langasek@ubuntu.com> Fri, 06 Sep 2019 14:04:45 -0700 python-os-api-ref (1.6.1+dfsg1-0ubuntu1) eoan; urgency=medium * New upstream release for OpenStack Train. * d/p/*: Refresh. * d/p/fix_deprecation_warning.patch: Drop, upstream. * d/control: Align (Build-)Depends with upstream. -- James Page <james.page@ubuntu.com> Thu, 20 Jun 2019 05:40:58 +0100 python-os-api-ref (1.4.0-1ubuntu3) bionic; urgency=medium * d/p/update-tests-for-cloud-archive.patch: Revert upstream commit 32101d84c12b2fcc35d5739aecb33609e997b214 when running tests on 16.04 to enable successful test execution on backport to xenial cloud archive. -- Corey Bryant <corey.bryant@canonical.com> Tue, 07 Nov 2017 16:46:52 -0500 python-os-api-ref (1.4.0-1ubuntu2) bionic; urgency=medium * Backport upstream change to remove deprecated sphinx.util.compat usage, should fix the autopkgtest. -- Dmitry Shachnev <mitya57@ubuntu.com> Tue, 31 Oct 2017 17:35:24 +0300 python-os-api-ref (1.4.0-1ubuntu1) bionic; urgency=medium * Merge from Debian experimental, remaining changes: - d/gbp.conf: Retain git-buildpackage config, including use of pristine-tar. -- Corey Bryant <corey.bryant@canonical.com> Mon, 30 Oct 2017 10:26:43 -0400

Modifications :
  1. Download patch debian/tests/control

    --- 1.6.2+dfsg1-1/debian/tests/control 2019-07-16 17:55:32.000000000 +0000 +++ 1.6.2+dfsg1-0ubuntu1/debian/tests/control 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -Test-Command: set -e ; for py in $(pyversions -r 2>/dev/null) ; do cd "$AUTOPKGTEST_TMP" ; echo "Testing with $py:" ; $py -c "import os_api_ref; print os_api_ref" ; done -Depends: python3-all, python3-os-api-ref -Restrictions: allow-stderr, superficial -Features: test-name=autodep8-python3
  2. Download patch debian/upstream/metadata

    --- 1.6.2+dfsg1-1/debian/upstream/metadata 2019-07-16 17:38:46.000000000 +0000 +++ 1.6.2+dfsg1-0ubuntu1/debian/upstream/metadata 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -Name: os-api-ref -Repository: https://github.com/openstack/os-api-ref.git -Repository-Browse: https://github.com/openstack/os-api-ref
  3. Download patch debian/rules

    --- 1.6.2+dfsg1-1/debian/rules 2019-07-16 17:55:00.000000000 +0000 +++ 1.6.2+dfsg1-0ubuntu1/debian/rules 2019-09-25 19:10:50.000000000 +0000 @@ -6,14 +6,8 @@ include /usr/share/openstack-pkg-tools/p %: dh $@ --with python3 -override_dh_auto_clean: - rm -rf build - -override_dh_auto_build: - echo "Do nothing..." +override_dh_auto_test: + pkgos-dh_auto_test --no-py2 override_dh_auto_install: pkgos-dh_auto_install --no-py2 - -override_dh_auto_test: - pkgos-dh_auto_test --no-py2
  4. Download patch debian/compat

    --- 1.6.2+dfsg1-1/debian/compat 2019-07-16 17:38:46.000000000 +0000 +++ 1.6.2+dfsg1-0ubuntu1/debian/compat 2019-09-25 19:10:50.000000000 +0000 @@ -1 +1 @@ -11 +10
  5. Download patch debian/control

    --- 1.6.2+dfsg1-1/debian/control 2019-07-16 17:52:26.000000000 +0000 +++ 1.6.2+dfsg1-0ubuntu1/debian/control 2019-09-25 19:10:50.000000000 +0000 @@ -1,22 +1,25 @@ Source: python-os-api-ref Section: python Priority: optional -Maintainer: Debian OpenStack <team+openstack@tracker.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: Debian OpenStack <openstack-devel@lists.alioth.debian.org> Uploaders: Thomas Goirand <zigo@debian.org>, Ondřej Nový <onovy@debian.org>, Build-Depends: - debhelper (>= 11), + debhelper (>= 10), dh-python, - openstack-pkg-tools, + openstack-pkg-tools (>= 51~), python3-all, Build-Depends-Indep: - python3-bs4, + python3-bs4 (>= 4.6.0), + python3-coverage (>= 4.0), + python3-hacking (>= 1.1.0), python3-openstackdocstheme (>= 1.18.1), python3-oslosphinx (>= 2.5.0), python3-pbr (>> 2.1.0), python3-setuptools, - python3-six (>= 1.9.0), + python3-six (>= 1.10.0), python3-sphinx (>= 1.6.2), python3-sphinx-testing (>= 0.7.2), python3-stestr (>= 2.0.0), @@ -25,10 +28,11 @@ Build-Depends-Indep: python3-testtools (>= 2.2.0), python3-yaml (>= 3.12), subunit, -Standards-Version: 4.4.0 -Vcs-Git: https://salsa.debian.org/openstack-team/libs/python-os-api-ref.git -Vcs-Browser: https://salsa.debian.org/openstack-team/libs/python-os-api-ref -Homepage: https://github.com/openstack/os-api-ref +Standards-Version: 4.1.0 +Vcs-Git: https://anonscm.debian.org/git/openstack/libs/python-os-api-ref.git +Vcs-Browser: https://anonscm.debian.org/cgit/openstack/libs/python-os-api-ref.git +Homepage: https://github.com/openstack/python-os-api-ref +Testsuite: autopkgtest-pkg-python Package: python-os-api-ref-common Architecture: all @@ -55,9 +59,8 @@ Depends: python-os-api-ref-common, python3-docutils, python3-openstackdocstheme (>= 1.18.1), - python3-oslosphinx (>= 2.5.0), - python3-pbr, - python3-six, + python3-pbr (>= 2.0.0), + python3-six (>= 1.10.0), python3-sphinx (>= 1.6.2), python3-yaml (>= 3.12), ${misc:Depends},
  6. Download patch debian/source/options

    --- 1.6.2+dfsg1-1/debian/source/options 1970-01-01 00:00:00.000000000 +0000 +++ 1.6.2+dfsg1-0ubuntu1/debian/source/options 2019-09-25 19:10:50.000000000 +0000 @@ -0,0 +1 @@ +extend-diff-ignore = "^[.]gitreview$"
  7. Download patch debian/patches/move_assets.patch

    --- 1.6.2+dfsg1-1/debian/patches/move_assets.patch 2019-07-16 17:44:23.000000000 +0000 +++ 1.6.2+dfsg1-0ubuntu1/debian/patches/move_assets.patch 2019-09-25 19:10:50.000000000 +0000 @@ -5,7 +5,7 @@ Last-Update: 2016-07-16 --- a/os_api_ref/__init__.py +++ b/os_api_ref/__init__.py -@@ -634,23 +634,13 @@ +@@ -638,23 +638,13 @@ def resolve_rest_references(app, doctree def copy_assets(app, exception): assets = ('api-site.css', 'api-site.js', 'combobox.js')
  8. Download patch debian/gbp.conf

    --- 1.6.2+dfsg1-1/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ 1.6.2+dfsg1-0ubuntu1/debian/gbp.conf 2019-09-25 19:10:50.000000000 +0000 @@ -0,0 +1,7 @@ +[DEFAULT] +debian-branch = master +upstream-tag = %(version)s +pristine-tar = True + +[buildpackage] +export-dir = ../build-area
  9. Download patch debian/copyright

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: python-pyeclib

python-pyeclib (1.5.0-1ubuntu7) focal; urgency=medium * No-change rebuild to build with python3.8. -- Matthias Klose <doko@ubuntu.com> Fri, 18 Oct 2019 18:11:25 +0000 python-pyeclib (1.5.0-1ubuntu6) eoan; urgency=medium [ Corey Bryant ] * d/gbp.conf: Update gbp configuration file. * d/control: Update Vcs-* links and maintainers. [ Sahid Orentino Ferdjaoui ] * d/tests/encode-decode.py: Ensure the tests against isa_* are well skipped for no-64 bit machines. -- Sahid Orentino Ferdjaoui <sahid.ferdjaoui@canonical.com> Tue, 15 Oct 2019 14:38:18 +0200 python-pyeclib (1.5.0-1ubuntu5) disco; urgency=medium * No-change rebuild to build without python3.6 support. -- Matthias Klose <doko@ubuntu.com> Sat, 03 Nov 2018 12:09:35 +0000 python-pyeclib (1.5.0-1ubuntu4) cosmic; urgency=medium * No-change rebuild to build for python3.7. -- Matthias Klose <doko@ubuntu.com> Thu, 28 Jun 2018 06:55:07 +0000 python-pyeclib (1.5.0-1ubuntu3) cosmic; urgency=medium * d/tests/encode-decode.py: Rework test as return can't be used outside a function. -- Corey Bryant <corey.bryant@canonical.com> Mon, 14 May 2018 15:53:18 -0400 python-pyeclib (1.5.0-1ubuntu2) cosmic; urgency=medium * d/tests/*: Don't run encode/decode tests for isa_* ec types on non-amd64 architures because libisal2 is not available for non-amd64 architectures. -- Corey Bryant <corey.bryant@canonical.com> Mon, 14 May 2018 10:40:59 -0400 python-pyeclib (1.5.0-1ubuntu1) cosmic; urgency=low * Merge from Debian unstable. Remaining changes: - d/control: Move python3-six from python-pyeclib Depends to python3-pyeclib Depends. -- Corey Bryant <corey.bryant@canonical.com> Fri, 11 May 2018 15:50:18 -0400

Modifications :
  1. Download patch debian/tests/control

    --- 1.5.0-1/debian/tests/control 2017-08-04 13:44:15.000000000 +0000 +++ 1.5.0-1ubuntu7/debian/tests/control 2019-10-15 12:38:18.000000000 +0000 @@ -24,17 +24,17 @@ Depends: python3-pyeclib, # ISA-L RS VAND Test-Command: python debian/tests/encode-decode.py isa_l_rs_vand Depends: python-pyeclib, - libisal2, + libisal2 [amd64], Test-Command: python3 debian/tests/encode-decode.py isa_l_rs_vand Depends: python3-pyeclib, - libisal2, + libisal2 [amd64], # ISA-L RS Cauchy Test-Command: python debian/tests/encode-decode.py isa_l_rs_cauchy Depends: python-pyeclib, - libisal2, + libisal2 [amd64], Test-Command: python3 debian/tests/encode-decode.py isa_l_rs_cauchy Depends: python3-pyeclib, - libisal2, + libisal2 [amd64],
  2. Download patch debian/control

    --- 1.5.0-1/debian/control 2017-08-06 13:12:33.000000000 +0000 +++ 1.5.0-1ubuntu7/debian/control 2019-10-15 12:38:18.000000000 +0000 @@ -1,7 +1,8 @@ Source: python-pyeclib Section: python Priority: optional -Maintainer: Debian OpenStack <openstack-devel@lists.alioth.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: Debian OpenStack <openstack-devel@lists.alioth.debian.org> Uploaders: Julien Danjou <acid@debian.org>, Thomas Goirand <zigo@debian.org>, @@ -19,15 +20,14 @@ Build-Depends: python3-setuptools, python3-six (>= 1.9.0), Standards-Version: 4.0.1 -Vcs-Browser: https://anonscm.debian.org/cgit/openstack/libs/python-pyeclib.git -Vcs-Git: https://anonscm.debian.org/git/openstack/libs/python-pyeclib.git +Vcs-Browser: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-pyeclib +Vcs-Git: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-pyeclib Homepage: https://github.com/openstack/pyeclib Package: python-pyeclib Architecture: any Depends: python-six (>= 1.9.0), - python3-six (>= 1.9.0), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends}, @@ -49,6 +49,7 @@ Description: interface for implementing Package: python3-pyeclib Architecture: any Depends: + python3-six (>= 1.9.0), ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
  3. Download patch debian/tests/encode-decode.py

    --- 1.5.0-1/debian/tests/encode-decode.py 2016-09-23 18:53:13.000000000 +0000 +++ 1.5.0-1ubuntu7/debian/tests/encode-decode.py 2019-10-15 12:38:18.000000000 +0000 @@ -1,20 +1,29 @@ from __future__ import print_function +import platform from pyeclib.ec_iface import ECDriver import sys -input = b'test' +# libisal2 is not available for non-amd64 architectures +# Note: platform.machine() was returning 'x86_64' on an i386 machine so we +# also test sys.maxsize. +arch = platform.machine() +is64 = sys.maxsize > 2**32 +if sys.argv[1].startswith('isa_') and (arch != 'x86_64' or not is64): + print("Skipping {} test for {} architecture, is64={}".format(sys.argv[1], arch, is64)) +else: + input = b'test' -# Init -print("init:", end=" ") -ec = ECDriver(k=3, m=3, hd=3, ec_type=sys.argv[1]) -print("OK") + # Init + print("init:", end=" ") + ec = ECDriver(k=3, m=3, hd=3, ec_type=sys.argv[1]) + print("OK") -# Encode -print("encode:", end=" ") -fragments = ec.encode(input) -print("OK") + # Encode + print("encode:", end=" ") + fragments = ec.encode(input) + print("OK") -# Decode -print("decode:", end=" ") -assert ec.decode(fragments[0:ec.k]) == input -print("OK") + # Decode + print("decode:", end=" ") + assert ec.decode(fragments[0:ec.k]) == input + print("OK")
  4. Download patch debian/gbp.conf

    --- 1.5.0-1/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ 1.5.0-1ubuntu7/debian/gbp.conf 2019-10-15 12:38:18.000000000 +0000 @@ -0,0 +1,7 @@ +[DEFAULT] +debian-branch = master +upstream-tag = %(version)s +pristine-tar = True + +[buildpackage] +export-dir = ../build-area

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: python-swiftclient

python-swiftclient (1:3.8.1-0ubuntu1) eoan; urgency=medium * New upstream release for OpenStack Train. -- James Page <james.page@ubuntu.com> Thu, 26 Sep 2019 10:38:22 +0100 python-swiftclient (1:3.8.0-0ubuntu3) eoan; urgency=medium * d/rules, d/tests/client: Since the package is now Python3 only and no longer uses alternatives, there's no need to move the binary to python3-swift and also no need to move the man page to python3-swift.1. -- Corey Bryant <corey.bryant@canonical.com> Wed, 28 Aug 2019 10:23:05 -0400 python-swiftclient (1:3.8.0-0ubuntu2) eoan; urgency=medium * d/control, d/rules, d/tests, d/pydist-overrides, d/python(3)-swiftclient.p*: Drop Python 2 support. -- Corey Bryant <corey.bryant@canonical.com> Tue, 27 Aug 2019 09:29:53 -0400 python-swiftclient (1:3.8.0-0ubuntu1) eoan; urgency=medium * New upstream release for OpenStack Train. * d/control: Align (Build-)Depends with upstream. -- Corey Bryant <corey.bryant@canonical.com> Tue, 30 Jul 2019 15:51:56 -0400 python-swiftclient (1:3.7.0-0ubuntu1) disco; urgency=medium * New upstream release for OpenStack Stein. * d/control: Align (Build-)Depends with upstream. * d/rules: Run unit tests with stestr via pkgos-dh_auto_test. -- Corey Bryant <corey.bryant@canonical.com> Wed, 13 Mar 2019 14:40:21 -0400 python-swiftclient (1:3.6.0-0ubuntu1) cosmic; urgency=low * Merge from Debian unstable. Remaining changes: - d/gbp.conf: Retain for pristine-tar. - d/watch: Get tarball from tarballs.openstack.org. * New upstream release for OpenStack Rocky. * d/control: Align (Build-)Depends with upstream. -- Corey Bryant <corey.bryant@canonical.com> Wed, 01 Aug 2018 16:11:11 -0400

Modifications :
  1. Download patch python_swiftclient.egg-info/PKG-INFO

    --- 1:3.8.1-1/python_swiftclient.egg-info/PKG-INFO 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.8.1-0ubuntu1/python_swiftclient.egg-info/PKG-INFO 2019-09-13 21:40:49.000000000 +0000 @@ -0,0 +1,78 @@ +Metadata-Version: 2.1 +Name: python-swiftclient +Version: 3.8.1 +Summary: OpenStack Object Storage API Client Library +Home-page: https://docs.openstack.org/python-swiftclient/latest/ +Author: OpenStack +Author-email: openstack-discuss@lists.openstack.org +License: UNKNOWN +Description: ======================== + Team and repository tags + ======================== + + .. image:: https://governance.openstack.org/tc/badges/python-swiftclient.svg + :target: https://governance.openstack.org/tc/reference/tags/index.html + + .. Change things from this point on + + Python bindings to the OpenStack Object Storage API + =================================================== + + .. image:: https://img.shields.io/pypi/v/python-swiftclient.svg + :target: https://pypi.org/project/python-swiftclient/ + :alt: Latest Version + + This is a python client for the Swift API. There's a Python API (the + ``swiftclient`` module), and a command-line script (``swift``). + + Development takes place via the usual OpenStack processes as outlined + in the `OpenStack wiki`__. + + __ https://docs.openstack.org/infra/manual/developers.html + + This code is based on the original client previously included with + `OpenStack's Swift`__ The python-swiftclient is licensed under the + Apache License like the rest of OpenStack. + + __ https://github.com/openstack/swift + + * Free software: Apache license + * `PyPI`_ - package installation + * `Online Documentation`_ + * `Launchpad project`_ - release management + * `Blueprints`_ - feature specifications + * `Bugs`_ - issue tracking + * `Source`_ + * `Specs`_ + * `How to Contribute`_ + * `Release Notes`_ + + .. _PyPI: https://pypi.org/project/python-swiftclient + .. _Online Documentation: https://docs.openstack.org/python-swiftclient/latest/ + .. _Launchpad project: https://launchpad.net/python-swiftclient + .. _Blueprints: https://blueprints.launchpad.net/python-swiftclient + .. _Bugs: https://bugs.launchpad.net/python-swiftclient + .. _Source: https://opendev.org/openstack/python-swiftclient + .. _How to Contribute: https://docs.openstack.org/infra/manual/developers.html + .. _Specs: https://specs.openstack.org/openstack/swift-specs/ + .. _Release Notes: https://docs.openstack.org/releasenotes/python-swiftclient + + .. contents:: Contents: + :local: + + +Platform: UNKNOWN +Classifier: Environment :: OpenStack +Classifier: Intended Audience :: Information Technology +Classifier: Intended Audience :: System Administrators +Classifier: License :: OSI Approved :: Apache Software License +Classifier: Operating System :: POSIX :: Linux +Classifier: Operating System :: Microsoft :: Windows +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Provides-Extra: test +Provides-Extra: keystone
  2. Download patch debian/tests/control

    --- 1:3.8.1-1/debian/tests/control 2019-07-18 16:45:33.000000000 +0000 +++ 1:3.8.1-0ubuntu1/debian/tests/control 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -Test-Command: cd "$AUTOPKGTEST_TMP" ; swift -h 2>&1 >/dev/null -Depends: - python3-swiftclient, -Features: test-name=cli
  3. Download patch python_swiftclient.egg-info/pbr.json

    --- 1:3.8.1-1/python_swiftclient.egg-info/pbr.json 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.8.1-0ubuntu1/python_swiftclient.egg-info/pbr.json 2019-09-13 21:40:49.000000000 +0000 @@ -0,0 +1 @@ +{"git_version": "72b90fe", "is_release": true} \ No newline at end of file
  4. Download patch PKG-INFO

    --- 1:3.8.1-1/PKG-INFO 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.8.1-0ubuntu1/PKG-INFO 2019-09-13 21:40:49.000000000 +0000 @@ -0,0 +1,78 @@ +Metadata-Version: 2.1 +Name: python-swiftclient +Version: 3.8.1 +Summary: OpenStack Object Storage API Client Library +Home-page: https://docs.openstack.org/python-swiftclient/latest/ +Author: OpenStack +Author-email: openstack-discuss@lists.openstack.org +License: UNKNOWN +Description: ======================== + Team and repository tags + ======================== + + .. image:: https://governance.openstack.org/tc/badges/python-swiftclient.svg + :target: https://governance.openstack.org/tc/reference/tags/index.html + + .. Change things from this point on + + Python bindings to the OpenStack Object Storage API + =================================================== + + .. image:: https://img.shields.io/pypi/v/python-swiftclient.svg + :target: https://pypi.org/project/python-swiftclient/ + :alt: Latest Version + + This is a python client for the Swift API. There's a Python API (the + ``swiftclient`` module), and a command-line script (``swift``). + + Development takes place via the usual OpenStack processes as outlined + in the `OpenStack wiki`__. + + __ https://docs.openstack.org/infra/manual/developers.html + + This code is based on the original client previously included with + `OpenStack's Swift`__ The python-swiftclient is licensed under the + Apache License like the rest of OpenStack. + + __ https://github.com/openstack/swift + + * Free software: Apache license + * `PyPI`_ - package installation + * `Online Documentation`_ + * `Launchpad project`_ - release management + * `Blueprints`_ - feature specifications + * `Bugs`_ - issue tracking + * `Source`_ + * `Specs`_ + * `How to Contribute`_ + * `Release Notes`_ + + .. _PyPI: https://pypi.org/project/python-swiftclient + .. _Online Documentation: https://docs.openstack.org/python-swiftclient/latest/ + .. _Launchpad project: https://launchpad.net/python-swiftclient + .. _Blueprints: https://blueprints.launchpad.net/python-swiftclient + .. _Bugs: https://bugs.launchpad.net/python-swiftclient + .. _Source: https://opendev.org/openstack/python-swiftclient + .. _How to Contribute: https://docs.openstack.org/infra/manual/developers.html + .. _Specs: https://specs.openstack.org/openstack/swift-specs/ + .. _Release Notes: https://docs.openstack.org/releasenotes/python-swiftclient + + .. contents:: Contents: + :local: + + +Platform: UNKNOWN +Classifier: Environment :: OpenStack +Classifier: Intended Audience :: Information Technology +Classifier: Intended Audience :: System Administrators +Classifier: License :: OSI Approved :: Apache Software License +Classifier: Operating System :: POSIX :: Linux +Classifier: Operating System :: Microsoft :: Windows +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Provides-Extra: test +Provides-Extra: keystone
  5. Download patch debian/upstream/metadata

    --- 1:3.8.1-1/debian/upstream/metadata 2019-05-13 10:32:13.000000000 +0000 +++ 1:3.8.1-0ubuntu1/debian/upstream/metadata 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -Bug-Database: https://bugs.launchpad.net/python-swiftclient -Bug-Submit: https://bugs.launchpad.net/python-swiftclient/+filebug -Name: Swift client -Repository: https://github.com/openstack/python-swiftclient.git -Repository-Browse: https://github.com/openstack/python-swiftclient
  6. Download patch debian/rules

    --- 1:3.8.1-1/debian/rules 2019-07-17 13:24:05.000000000 +0000 +++ 1:3.8.1-0ubuntu1/debian/rules 2019-09-26 09:38:22.000000000 +0000 @@ -1,19 +1,36 @@ #!/usr/bin/make -f --include /usr/share/openstack-pkg-tools/pkgos.make +PYTHON3S:=$(shell py3versions -vr) -export PYBUILD_NAME=swiftclient +include /usr/share/openstack-pkg-tools/pkgos.make %: - dh $@ --with python3,sphinxdoc --buildsystem=pybuild + dh $@ --with python3,sphinxdoc + +override_dh_install: + set -e ; for pyvers in $(PYTHON3S); do \ + python$$pyvers setup.py install --install-layout=deb \ + --root $(CURDIR)/debian/python3-swiftclient ; \ + done + +override_dh_installdocs: + dh_installdocs + dh_installdocs -A AUTHORS + +override_dh_python3: + dh_python3 --shebang=/usr/bin/python3 + +override_dh_auto_clean: + dh_auto_clean + rm -rf build .testrepository override_dh_auto_test: - PYBUILD_SYSTEM=custom \ - PYBUILD_TEST_ARGS="cd {build_dir} ; {interpreter} -m stestr run" \ - dh_auto_test +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + pkgos-dh_auto_test --no-py2 +endif override_dh_sphinxdoc: -ifeq (,$(findstring nodoc, $(DEB_BUILD_OPTIONS))) - python3 -m sphinx -b html doc/source $(CURDIR)/debian/python-swiftclient-doc/usr/share/doc/python-swiftclient/html - dh_sphinxdoc +ifeq (,$(findstring nodocs, $(DEB_BUILD_OPTIONS))) + sphinx-build -b html doc/source $(CURDIR)/debian/python-swiftclient-doc/usr/share/doc/python-swiftclient/html + dh_sphinxdoc -O--buildsystem=python_distutils endif
  7. Download patch debian/compat

    --- 1:3.8.1-1/debian/compat 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.8.1-0ubuntu1/debian/compat 2019-09-26 09:38:22.000000000 +0000 @@ -0,0 +1 @@ +11
  8. Download patch .gitreview

    --- 1:3.8.1-1/.gitreview 2019-09-12 23:30:58.000000000 +0000 +++ 1:3.8.1-0ubuntu1/.gitreview 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -[gerrit] -host=review.opendev.org -port=29418 -project=openstack/python-swiftclient.git
  9. Download patch debian/control

    --- 1:3.8.1-1/debian/control 2019-09-16 11:13:49.000000000 +0000 +++ 1:3.8.1-0ubuntu1/debian/control 2019-09-26 09:38:22.000000000 +0000 @@ -1,33 +1,41 @@ Source: python-swiftclient Section: python Priority: optional -Maintainer: Debian OpenStack <team+openstack@tracker.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: Debian OpenStack <openstack-devel@lists.alioth.debian.org> Uploaders: Thomas Goirand <zigo@debian.org>, Corey Bryant <corey.bryant@canonical.com>, Ondřej Nový <onovy@debian.org>, Build-Depends: - debhelper-compat (= 12), + debhelper (>= 11.1.4~), dh-python, openstack-pkg-tools, + python-all, + python-pbr, + python-setuptools, python3-all, python3-pbr, python3-setuptools, - python3-sphinx, + python3-sphinx (>= 1.6.2), Build-Depends-Indep: - python3-coverage, - python3-hacking, - python3-keystoneauth1, + python3-coverage (>= 4.0), + python3-hacking (>= 1.1.0), + python3-keystoneauth1 (>= 3.4.0), python3-keystoneclient, - python3-mock, - python3-openstackdocstheme, - python3-reno, - python3-requests, - python3-six, - python3-stestr, -Standards-Version: 4.4.0 -Vcs-Git: https://salsa.debian.org/openstack-team/clients/python-swiftclient.git -Vcs-Browser: https://salsa.debian.org/openstack-team/clients/python-swiftclient + python3-mock (>= 1.2.0), + python3-openstackdocstheme (>= 1.20.0), + python3-oslosphinx (>= 4.7.0), + python3-reno (>= 2.5.0), + python3-requests (>= 1.1.0), + python3-six (>= 1.9.0), + python3-stestr (>= 2.0.0), + python3-subunit, + subunit, + testrepository, +Standards-Version: 4.1.3 +Vcs-Git: git://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-swiftclient +Vcs-Browser: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-swiftclient Homepage: https://github.com/openstack/python-swiftclient Testsuite: autopkgtest-pkg-python @@ -64,11 +72,11 @@ Description: Client library for Openstac Package: python3-swiftclient Architecture: all -Recommends: - python3-keystoneclient, - ${python3:Recommends}, Depends: + python3-keystoneclient, python3-pkg-resources, + python3-requests (>= 1.1.0), + python3-six (>= 1.9.0), ${misc:Depends}, ${python3:Depends}, Description: Client library for Openstack Swift API - Python 3.x
  10. Download patch debian/python3-swiftclient.prerm

    --- 1:3.8.1-1/debian/python3-swiftclient.prerm 2019-05-13 10:32:13.000000000 +0000 +++ 1:3.8.1-0ubuntu1/debian/python3-swiftclient.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -#!/bin/sh - -set -e - -if [ "$1" = "remove" ] ; then - update-alternatives --remove swift /usr/bin/python3-swift -fi - -#DEBHELPER# - -exit 0
  11. Download patch python_swiftclient.egg-info/top_level.txt

    --- 1:3.8.1-1/python_swiftclient.egg-info/top_level.txt 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.8.1-0ubuntu1/python_swiftclient.egg-info/top_level.txt 2019-09-13 21:40:49.000000000 +0000 @@ -0,0 +1 @@ +swiftclient
  12. Download patch python_swiftclient.egg-info/requires.txt

    --- 1:3.8.1-1/python_swiftclient.egg-info/requires.txt 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.8.1-0ubuntu1/python_swiftclient.egg-info/requires.txt 2019-09-13 21:40:49.000000000 +0000 @@ -0,0 +1,15 @@ +requests>=1.1.0 +six>=1.9.0 + +[:(python_version=='2.7' or python_version=='2.6')] +futures>=3.0.0 + +[keystone] +python-keystoneclient>=0.7.0 + +[test] +hacking<1.2.0,>=1.1.0 +coverage!=4.4,>=4.0 +keystoneauth1>=3.4.0 +mock>=1.2.0 +stestr>=2.0.0
  13. Download patch debian/pybuild.testfiles

    --- 1:3.8.1-1/debian/pybuild.testfiles 2019-07-17 12:58:18.000000000 +0000 +++ 1:3.8.1-0ubuntu1/debian/pybuild.testfiles 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -tests -.stestr.conf -python_swiftclient.egg-info
  14. Download patch .gitignore

    --- 1:3.8.1-1/.gitignore 2019-09-12 23:30:58.000000000 +0000 +++ 1:3.8.1-0ubuntu1/.gitignore 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -*.sw? -dist/ -.tox -*.egg -*.egg-info -*.py[co] -.DS_Store -*.log -.testrepository -.stestr/ -subunit.log -build -swiftclient/versioninfo -.autogenerated -.coverage -cover/ -coverage.xml -doc/build -doc/source/api/ -.idea
  15. Download patch debian/tests/client

    --- 1:3.8.1-1/debian/tests/client 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.8.1-0ubuntu1/debian/tests/client 2019-09-26 09:38:22.000000000 +0000 @@ -0,0 +1,18 @@ +#!/bin/bash +#------------------------- +# Testing client utilities +#------------------------- +set -e + +cd "$ADTTMP" + +HELP_CLIENTS=('swift') +for client in "${HELP_CLIENTS[@]}"; do + if ! $client -h 2>&1 > /dev/null; then + echo "ERROR, ${client} is not running" + exit 1 + else + echo "OK: ${client} is running" + fi +done +exit 0
  16. Download patch debian/py3dist-overrides

    --- 1:3.8.1-1/debian/py3dist-overrides 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.8.1-0ubuntu1/debian/py3dist-overrides 2019-09-26 09:38:22.000000000 +0000 @@ -0,0 +1,2 @@ +argparse +futures
  17. Download patch python_swiftclient.egg-info/dependency_links.txt

    --- 1:3.8.1-1/python_swiftclient.egg-info/dependency_links.txt 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.8.1-0ubuntu1/python_swiftclient.egg-info/dependency_links.txt 2019-09-13 21:40:49.000000000 +0000 @@ -0,0 +1 @@ +
  18. Download patch debian/python3-swiftclient.postrm

    --- 1:3.8.1-1/debian/python3-swiftclient.postrm 2019-05-13 10:32:13.000000000 +0000 +++ 1:3.8.1-0ubuntu1/debian/python3-swiftclient.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -#!/bin/sh - -set -e - -if [ "$1" = "remove" ] || [ "$1" = "disappear" ] ; then - update-alternatives --remove swift /usr/bin/python3-swift -fi - -#DEBHELPER# - -exit 0
  19. Download patch python_swiftclient.egg-info/SOURCES.txt

    --- 1:3.8.1-1/python_swiftclient.egg-info/SOURCES.txt 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.8.1-0ubuntu1/python_swiftclient.egg-info/SOURCES.txt 2019-09-13 21:40:49.000000000 +0000 @@ -0,0 +1,91 @@ +.coveragerc +.functests +.mailmap +.manpages +.stestr.conf +.unittests +.zuul.yaml +AUTHORS +CONTRIBUTING.rst +ChangeLog +LICENSE +MANIFEST.in +README.rst +bindep.txt +lower-constraints.txt +requirements.txt +run_tests.sh +setup.cfg +setup.py +test-requirements.txt +tox.ini +bin/swift +doc/Makefile +doc/requirements.txt +doc/manpages/swift.1 +doc/source/client-api.rst +doc/source/conf.py +doc/source/index.rst +doc/source/introduction.rst +doc/source/service-api.rst +doc/source/swiftclient.rst +doc/source/_static/.gitignore +doc/source/_templates/.empty +doc/source/cli/index.rst +examples/capabilities.py +examples/copy.py +examples/delete.py +examples/download.py +examples/list.py +examples/post.py +examples/stat.py +examples/upload.py +python_swiftclient.egg-info/PKG-INFO +python_swiftclient.egg-info/SOURCES.txt +python_swiftclient.egg-info/dependency_links.txt +python_swiftclient.egg-info/entry_points.txt +python_swiftclient.egg-info/not-zip-safe +python_swiftclient.egg-info/pbr.json +python_swiftclient.egg-info/requires.txt +python_swiftclient.egg-info/top_level.txt +releasenotes/notes/310-notes-03040158a8683dd8.yaml +releasenotes/notes/320_notes-bb367dba1053d34c.yaml +releasenotes/notes/340_notes-1777780bbfdb4d96.yaml +releasenotes/notes/350_notes-ad0ae19704b2eb88.yaml +releasenotes/notes/360_notes-1ec385df13a3a735.yaml +releasenotes/notes/361_notes-59e020e68bcdd709.yaml +releasenotes/notes/3_8_0_release-bd867fbdb8c895d3.yaml +releasenotes/notes/3_8_1_release-cb5648c3ae69bde1.yaml +releasenotes/source/conf.py +releasenotes/source/current.rst +releasenotes/source/index.rst +releasenotes/source/newton.rst +releasenotes/source/ocata.rst +releasenotes/source/pike.rst +releasenotes/source/queens.rst +releasenotes/source/rocky.rst +releasenotes/source/stein.rst +swiftclient/__init__.py +swiftclient/authv1.py +swiftclient/client.py +swiftclient/command_helpers.py +swiftclient/exceptions.py +swiftclient/multithreading.py +swiftclient/service.py +swiftclient/shell.py +swiftclient/utils.py +swiftclient/version.py +tests/__init__.py +tests/sample.conf +tests/functional/__init__.py +tests/functional/test_swiftclient.py +tests/unit/__init__.py +tests/unit/test_authv1.py +tests/unit/test_command_helpers.py +tests/unit/test_multithreading.py +tests/unit/test_service.py +tests/unit/test_shell.py +tests/unit/test_swiftclient.py +tests/unit/test_utils.py +tests/unit/utils.py +tools/swift.bash_completion \ No newline at end of file
  20. Download patch debian/watch

    --- 1:3.8.1-1/debian/watch 2019-05-13 10:32:13.000000000 +0000 +++ 1:3.8.1-0ubuntu1/debian/watch 2019-09-26 09:38:22.000000000 +0000 @@ -1,3 +1,2 @@ version=3 -https://github.com/openstack/python-swiftclient/tags .*/(\d[\d\.]+.*)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz))) https://tarballs.openstack.org/python-swiftclient/ python-swiftclient-(\d[\d\.]+.*)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
  21. Download patch setup.cfg

    --- 1:3.8.1-1/setup.cfg 2019-09-12 23:30:58.000000000 +0000 +++ 1:3.8.1-0ubuntu1/setup.cfg 2019-09-13 21:40:49.000000000 +0000 @@ -1,47 +1,46 @@ [metadata] name = python-swiftclient summary = OpenStack Object Storage API Client Library -description-file = - README.rst +description-file = + README.rst author = OpenStack author-email = openstack-discuss@lists.openstack.org home-page = https://docs.openstack.org/python-swiftclient/latest/ -classifier = - Environment :: OpenStack - Intended Audience :: Information Technology - Intended Audience :: System Administrators - License :: OSI Approved :: Apache Software License - Operating System :: POSIX :: Linux - Operating System :: Microsoft :: Windows - Programming Language :: Python - Programming Language :: Python :: 2 - Programming Language :: Python :: 2.7 - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.6 - Programming Language :: Python :: 3.7 +classifier = + Environment :: OpenStack + Intended Audience :: Information Technology + Intended Audience :: System Administrators + License :: OSI Approved :: Apache Software License + Operating System :: POSIX :: Linux + Operating System :: Microsoft :: Windows + Programming Language :: Python + Programming Language :: Python :: 2 + Programming Language :: Python :: 2.7 + Programming Language :: Python :: 3 + Programming Language :: Python :: 3.6 + Programming Language :: Python :: 3.7 [global] -setup-hooks = - pbr.hooks.setup_hook +setup-hooks = + pbr.hooks.setup_hook [files] -packages = - swiftclient -scripts = - bin/swift -data_files = - share/man/man1 = doc/manpages/swift.1 +packages = + swiftclient +scripts = + bin/swift +data_files = + share/man/man1 = doc/manpages/swift.1 [extras] -keystone = - python-keystoneclient>=0.7.0 +keystone = + python-keystoneclient>=0.7.0 [entry_points] -console_scripts = - swift = swiftclient.shell:main - -keystoneauth1.plugin = - v1password = swiftclient.authv1:PasswordLoader +console_scripts = + swift = swiftclient.shell:main +keystoneauth1.plugin = + v1password = swiftclient.authv1:PasswordLoader [build_sphinx] source-dir = doc/source @@ -57,3 +56,8 @@ universal = 1 [pbr] skip_authors = True skip_changelog = True + +[egg_info] +tag_build = +tag_date = 0 +
  22. Download patch python_swiftclient.egg-info/entry_points.txt

    --- 1:3.8.1-1/python_swiftclient.egg-info/entry_points.txt 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.8.1-0ubuntu1/python_swiftclient.egg-info/entry_points.txt 2019-09-13 21:40:49.000000000 +0000 @@ -0,0 +1,6 @@ +[console_scripts] +swift = swiftclient.shell:main + +[keystoneauth1.plugin] +v1password = swiftclient.authv1:PasswordLoader +
  23. Download patch debian/gbp.conf

    --- 1:3.8.1-1/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.8.1-0ubuntu1/debian/gbp.conf 2019-09-26 09:38:22.000000000 +0000 @@ -0,0 +1,7 @@ +[DEFAULT] +debian-branch = master +upstream-tag = %(version)s +pristine-tar = True + +[buildpackage] +export-dir = ../build-area
  24. Download patch python_swiftclient.egg-info/not-zip-safe

    --- 1:3.8.1-1/python_swiftclient.egg-info/not-zip-safe 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.8.1-0ubuntu1/python_swiftclient.egg-info/not-zip-safe 2019-09-13 21:40:49.000000000 +0000 @@ -0,0 +1 @@ +
  25. Download patch debian/copyright
  26. Download patch debian/tests/control.autodep8

    --- 1:3.8.1-1/debian/tests/control.autodep8 1970-01-01 00:00:00.000000000 +0000 +++ 1:3.8.1-0ubuntu1/debian/tests/control.autodep8 2019-09-26 09:38:22.000000000 +0000 @@ -0,0 +1,2 @@ +Tests: client +Depends: python3-swiftclient

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: python-tenacity

python-tenacity (5.1.1-0ubuntu2) eoan; urgency=medium * d/rules: Drop _asyncio.py from py2 module as it has invalid syntax for Python 2. -- James Page <james.page@ubuntu.com> Wed, 02 Oct 2019 09:17:14 +0100 python-tenacity (5.1.1-0ubuntu1) eoan; urgency=medium * New upstream release for OpenStack Train. * d/control: Add BD on python{3}-setuptools-scm. * d/p/*: Refresh. * d/rules: Drop purge of tests folder, no longer installed. * d/control: Add missing BD on python3-reno. * d/p/disable-reno-docs.patch: Disable use of reno in sphinx docs as this only works from within a SCM repository. -- James Page <james.page@ubuntu.com> Thu, 26 Sep 2019 10:36:46 +0100 python-tenacity (5.0.4-0ubuntu1) eoan; urgency=medium * New upstream release. -- James Page <james.page@ubuntu.com> Wed, 05 Jun 2019 14:59:47 +0100 python-tenacity (5.0.3-0ubuntu1) disco; urgency=medium * d/gbp.conf: Update gbp configuration file. * d/control: Update Vcs-* links and maintainers. * New upstream release. * d/control: Align (Build-)Depends with upstream. * d/rules: Run tests directly with pytest. -- Corey Bryant <corey.bryant@canonical.com> Mon, 04 Feb 2019 09:56:54 -0500

Modifications :
  1. Download patch debian/patches/disable-reno-docs.patch

    --- 5.1.1-1/debian/patches/disable-reno-docs.patch 1970-01-01 00:00:00.000000000 +0000 +++ 5.1.1-0ubuntu2/debian/patches/disable-reno-docs.patch 2019-10-02 08:17:14.000000000 +0000 @@ -0,0 +1,15 @@ +Description: Disable reno sphinx extension + This only works from within a SCM repository. +Author: James Page <james.page@ubuntu.com> +Forwareded: not-needed + +--- a/doc/source/conf.py ++++ b/doc/source/conf.py +@@ -24,7 +24,6 @@ project = "Tenacity" + extensions = [ + 'sphinx.ext.doctest', + 'sphinx.ext.autodoc', +- 'reno.sphinxext', + ] + + # -- Options for sphinx.ext.doctest -----------------------------------------
  2. Download patch debian/tests/control

    --- 5.1.1-1/debian/tests/control 2019-09-24 11:20:10.000000000 +0000 +++ 5.1.1-0ubuntu2/debian/tests/control 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -Depends: - python3-all, - python3-pytest, - python3-setuptools, - python3-tenacity, - python3-tornado, -Test-Command: set -e; for py in $(py3versions -i); do echo "[*] testing on $py:"; $py -Wd -m pytest -v -x 2>&1; done \ No newline at end of file
  3. Download patch debian/patches/0001-Remove-privacy-breach-in-doc.patch

    --- 5.1.1-1/debian/patches/0001-Remove-privacy-breach-in-doc.patch 2019-09-24 11:20:10.000000000 +0000 +++ 5.1.1-0ubuntu2/debian/patches/0001-Remove-privacy-breach-in-doc.patch 2019-10-02 08:17:14.000000000 +0000 @@ -1,11 +1,13 @@ From: Thomas Goirand <zigo@debian.org> Date: Fri, 4 Aug 2017 18:45:26 -0400 Subject: Remove privacy breach in doc + Forwarded: not-needed -Last-Update: 2019-09-24 +Last-Update: 2016-09-26 +--- + doc/source/index.rst | 9 --------- + 1 file changed, 9 deletions(-) -diff --git a/doc/source/index.rst b/doc/source/index.rst -index 700f623..0bc429b 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -1,17 +1,5 @@
  4. Download patch debian/upstream/metadata

    --- 5.1.1-1/debian/upstream/metadata 2019-09-24 11:20:10.000000000 +0000 +++ 5.1.1-0ubuntu2/debian/upstream/metadata 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -Bug-Database: https://github.com/jd/tenacity/issues -Bug-Submit: https://github.com/jd/tenacity/issues/new -Name: tenacity -Repository: https://github.com/jd/tenacity.git -Repository-Browse: https://github.com/jd/tenacity
  5. Download patch debian/rules

    --- 5.1.1-1/debian/rules 2019-09-24 11:20:10.000000000 +0000 +++ 5.1.1-0ubuntu2/debian/rules 2019-10-02 08:17:14.000000000 +0000 @@ -3,20 +3,24 @@ include /usr/share/dpkg/pkg-info.mk export OSLO_PACKAGE_VERSION=$(DEB_VERSION_UPSTREAM) export PYBUILD_NAME = tenacity +export PYBUILD_TEST_ARGS_python2 = --ignore-files '.*asyncio.py' +export PYBUILD_AFTER_INSTALL_python2 = rm '{destdir}/{install_dir}/tenacity/_asyncio.py' %: - dh $@ --with python3,sphinxdoc --buildsystem=pybuild + dh $@ --with python2,python3,sphinxdoc --buildsystem=pybuild override_dh_installchangelogs: dh_installchangelogs $(CURDIR)/debian/CHANGELOG -override_dh_auto_test: - for i in $$(py3versions -r) ; do \ - $$i -m pytest tenacity/tests ; \ - done - override_dh_sphinxdoc: ifeq (,$(findstring nodocs, $(DEB_BUILD_OPTIONS))) PYTHON=python3 python3 -m sphinx -b html doc/source debian/python-tenacity-doc/usr/share/doc/python-tenacity-doc/html dh_sphinxdoc -O--buildsystem=python_distutils endif + +override_dh_auto_test: +ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS))) + PYTHONPATH=$(CURDIR) pytest --ignore='tenacity/tests/test_asyncio.py' + PYTHONPATH=$(CURDIR) pytest-3 +endif +
  6. Download patch debian/compat

    --- 5.1.1-1/debian/compat 1970-01-01 00:00:00.000000000 +0000 +++ 5.1.1-0ubuntu2/debian/compat 2019-10-02 08:17:14.000000000 +0000 @@ -0,0 +1 @@ +11
  7. Download patch debian/control

    --- 5.1.1-1/debian/control 2019-09-24 11:20:10.000000000 +0000 +++ 5.1.1-0ubuntu2/debian/control 2019-10-02 08:17:14.000000000 +0000 @@ -1,34 +1,71 @@ Source: python-tenacity Section: python Priority: optional -Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org> Uploaders: Thomas Goirand <zigo@debian.org>, Michal Arbet <michal.arbet@ultimum.io>, Ondřej Kobližek <koblizeko@gmail.com>, Ondřej Nový <onovy@debian.org>, Build-Depends: - debhelper-compat (= 12), + debhelper (>= 11), dh-python, + python-all, + python-pbr, + python-setuptools, + python-setuptools-scm, + python-tornado, python3-all, python3-pbr, + python3-reno, python3-setuptools, python3-setuptools-scm, python3-sphinx, python3-tornado, Build-Depends-Indep: + python-concurrent.futures (>= 3.0), + python-monotonic (>= 0.6), + python-nose, + python-pytest, + python-six (>= 1.9.0), + python3-monotonic (>= 0.6), + python3-nose, python3-pytest, - python3-six, -Standards-Version: 4.4.0 -Vcs-Browser: https://salsa.debian.org/python-team/modules/python-tenacity -Vcs-Git: https://salsa.debian.org/python-team/modules/python-tenacity.git + python3-six (>= 1.9.0), +Standards-Version: 4.2.1 +Vcs-Browser: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-tenacity +Vcs-Git: https://git.launchpad.net/~ubuntu-server-dev/ubuntu/+source/python-tenacity Homepage: https://github.com/jd/tenacity Testsuite: autopkgtest-pkg-python +Package: python-tenacity +Architecture: all +Depends: + python-concurrent.futures (>= 3.0), + python-monotonic (>= 0.6), + python-pbr, + python-six (>= 1.9.0), + ${misc:Depends}, + ${python:Depends}, +Suggests: + python-tenacity-doc, +Description: retry code until it succeeeds - Python 2.7 + Tenacity is a general-purpose retrying library to simplify the task of adding + retry behavior to just about anything. It originates from a fork of Retrying. + . + Features: + * Generic Decorator API + * Specify stop condition (i.e. limit by number of attempts) + * Specify wait condition (i.e. exponential backoff sleeping between attempts) + * Customize retrying on Exceptions + * Customize retrying on expected returned result + . + This package contains the Python 2.7 module. + Package: python-tenacity-doc Section: doc Architecture: all -Multi-Arch: foreign Depends: ${misc:Depends}, ${sphinxdoc:Depends}, @@ -48,13 +85,14 @@ Description: retry code until it succeee Package: python3-tenacity Architecture: all Depends: + python3-monotonic (>= 0.6), python3-pbr, - python3-six, + python3-six (>= 1.9.0), ${misc:Depends}, ${python3:Depends}, Suggests: python-tenacity-doc, -Description: retry code until it succeeeds +Description: retry code until it succeeeds - Python 3.x Tenacity is a general-purpose retrying library to simplify the task of adding retry behavior to just about anything. It originates from a fork of Retrying. . @@ -64,3 +102,5 @@ Description: retry code until it succeee * Specify wait condition (i.e. exponential backoff sleeping between attempts) * Customize retrying on Exceptions * Customize retrying on expected returned result + . + This package contains the Python 3.x module.
  8. Download patch debian/patches/remove-reno-sphinx-extension.patch

    --- 5.1.1-1/debian/patches/remove-reno-sphinx-extension.patch 2019-09-24 11:20:10.000000000 +0000 +++ 5.1.1-0ubuntu2/debian/patches/remove-reno-sphinx-extension.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -Description: Remove reno sphinx extension -Author: Thomas Goirand <zigo@debian.org> -Forwarded: no -Last-Update: 2019-09-24 - ---- python-tenacity-5.1.1.orig/doc/source/conf.py -+++ python-tenacity-5.1.1/doc/source/conf.py -@@ -24,7 +24,6 @@ project = "Tenacity" - extensions = [ - 'sphinx.ext.doctest', - 'sphinx.ext.autodoc', -- 'reno.sphinxext', - ] - - # -- Options for sphinx.ext.doctest -----------------------------------------
  9. Download patch debian/CHANGELOG
  10. Download patch debian/patches/series

    --- 5.1.1-1/debian/patches/series 2019-09-24 11:20:10.000000000 +0000 +++ 5.1.1-0ubuntu2/debian/patches/series 2019-10-02 08:17:14.000000000 +0000 @@ -1,2 +1,2 @@ 0001-Remove-privacy-breach-in-doc.patch -remove-reno-sphinx-extension.patch +disable-reno-docs.patch
  11. Download patch debian/gbp.conf

    --- 5.1.1-1/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ 5.1.1-0ubuntu2/debian/gbp.conf 2019-10-02 08:17:14.000000000 +0000 @@ -0,0 +1,7 @@ +[DEFAULT] +debian-branch = master +upstream-tag = %(version)s +pristine-tar = True + +[buildpackage] +export-dir = ../build-area
  12. Download patch debian/copyright

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: python-tornado

python-tornado (5.1.1-4ubuntu5) focal; urgency=medium * d/p/py38-0001-test-silence-deprecation-warning.patch, d/p/py38-0002-dont-log-CancelledError.patch: Cherry-picked from upstream master to fix issues detected by failing py38 tests. * d/rules, d/tests/python3: Re-enable py38 tests. -- Corey Bryant <corey.bryant@canonical.com> Thu, 24 Oct 2019 16:52:58 -0400 python-tornado (5.1.1-4ubuntu4) focal; urgency=medium * Don't run python3.8 tests for a first build. -- Matthias Klose <doko@ubuntu.com> Mon, 21 Oct 2019 09:20:25 +0200 python-tornado (5.1.1-4ubuntu2) focal; urgency=medium * No-change rebuild to build with python3.8. -- Matthias Klose <doko@ubuntu.com> Fri, 18 Oct 2019 18:30:57 +0000 python-tornado (5.1.1-4ubuntu1) eoan; urgency=medium * Merge from Debian unstable. Remaining changes: - Bump ASYNC_TEST_TIMEOUT when running the autopkgtests as well. -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 29 Apr 2019 09:14:43 +0200

Modifications :
  1. Download patch debian/tests/python2

    --- 5.1.1-4/debian/tests/python2 2019-01-22 16:17:04.000000000 +0000 +++ 5.1.1-4ubuntu5/debian/tests/python2 2019-04-29 07:14:37.000000000 +0000 @@ -1,6 +1,8 @@ #!/bin/sh set -efu +export ASYNC_TEST_TIMEOUT=30 + PYS=${PYS:-"$(pyversions -r 2>/dev/null)"} cd "$AUTOPKGTEST_TMP"
  2. Download patch debian/patches/py38-0002-dont-log-CancelledError.patch

    --- 5.1.1-4/debian/patches/py38-0002-dont-log-CancelledError.patch 1970-01-01 00:00:00.000000000 +0000 +++ 5.1.1-4ubuntu5/debian/patches/py38-0002-dont-log-CancelledError.patch 2019-10-24 20:52:58.000000000 +0000 @@ -0,0 +1,67 @@ +Description: gen.with_timeout: Don't log CancelledError after timeout + This patch originated with upstream commit 0684b61c1d4feaaf5ac3. The + patch has been modified to handle Python 2 as version 5.1 still + supports Python 2. Upstream dropped Python 2 support prior to when + this patch landed. +Author: Petr Viktorin <encukou@gmail.com> (original author) + Corey Bryant <corey.bryant@canonical.com> (modified original) + +See also: commit a237a995a1d54ad6e07c1ecdf5103ff8f45073b5 +--- + tornado/gen.py | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- a/tornado/gen.py ++++ b/tornado/gen.py +@@ -933,8 +933,9 @@ + an absolute time relative to `.IOLoop.time`) + + If the wrapped `.Future` fails after it has timed out, the exception +- will be logged unless it is of a type contained in ``quiet_exceptions`` +- (which may be an exception type or a sequence of types). ++ will be logged unless it is either of a type contained in ++ ``quiet_exceptions`` (which may be an exception type or a sequence of ++ types), or a `CancelledError`. + + Does not support `YieldPoint` subclasses. + +@@ -951,6 +952,9 @@ + .. versionchanged:: 4.4 + Added support for yieldable objects other than `.Future`. + ++ .. versionchanged:: 5.1 ++ Do not log CancelledError after timeout. ++ + """ + # TODO: allow YieldPoints in addition to other yieldables? + # Tricky to do with stack_context semantics. +@@ -966,12 +970,23 @@ + io_loop = IOLoop.current() + + def error_callback(future): +- try: +- future.result() +- except Exception as e: +- if not isinstance(e, quiet_exceptions): +- app_log.error("Exception in Future %r after timeout", +- future, exc_info=True) ++ if PY3: ++ import asyncio ++ try: ++ future.result() ++ except asyncio.CancelledError: ++ pass ++ except Exception as e: ++ if not isinstance(e, quiet_exceptions): ++ app_log.error("Exception in Future %r after timeout", ++ future, exc_info=True) ++ else: ++ try: ++ future.result() ++ except Exception as e: ++ if not isinstance(e, quiet_exceptions): ++ app_log.error("Exception in Future %r after timeout", ++ future, exc_info=True) + + def timeout_callback(): + if not result.done():
  3. Download patch debian/tests/python3

    --- 5.1.1-4/debian/tests/python3 2019-01-22 16:17:04.000000000 +0000 +++ 5.1.1-4ubuntu5/debian/tests/python3 2019-10-24 20:52:58.000000000 +0000 @@ -1,6 +1,8 @@ #!/bin/sh set -efu +export ASYNC_TEST_TIMEOUT=30 + PYS=${PYS:-"$(py3versions -r 2>/dev/null)"} cd "$AUTOPKGTEST_TMP"
  4. Download patch debian/patches/series

    --- 5.1.1-4/debian/patches/series 2019-01-26 12:11:14.000000000 +0000 +++ 5.1.1-4ubuntu5/debian/patches/series 2019-10-24 20:52:58.000000000 +0000 @@ -5,3 +5,5 @@ fix-ftbfs-on-hurd.patch New_test_crt.patch 0006-Use-SOURCE_DATE_EPOCH-for-copyright-year-to-make-build-reproducible.patch 0007-Higher-test_gc-timeout.patch +py38-0001-test-silence-deprecation-warning.patch +py38-0002-dont-log-CancelledError.patch
  5. Download patch debian/patches/py38-0001-test-silence-deprecation-warning.patch

    --- 5.1.1-4/debian/patches/py38-0001-test-silence-deprecation-warning.patch 1970-01-01 00:00:00.000000000 +0000 +++ 5.1.1-4ubuntu5/debian/patches/py38-0001-test-silence-deprecation-warning.patch 2019-10-24 20:52:58.000000000 +0000 @@ -0,0 +1,28 @@ +From 64308fbad38715afddc4f6b3c77e47f8606624b3 Mon Sep 17 00:00:00 2001 +From: Ben Darnell <ben@bendarnell.com> +Date: Sun, 28 Apr 2019 19:31:52 -0400 +Subject: [PATCH] test: Silence a deprecation warning in py38+pycurl + +--- + tornado/test/runtests.py | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +--- a/tornado/test/runtests.py ++++ b/tornado/test/runtests.py +@@ -150,6 +150,16 @@ + # would generate a warning. + warnings.filterwarnings("ignore", category=ResourceWarning, # noqa: F821 + module=r"asyncio\..*") ++ # This deprecation warning is introduced in Python 3.8 and is ++ # triggered by pycurl. Unforunately, because it is raised in the C ++ # layer it can't be filtered by module and we must match the ++ # message text instead (Tornado's C module uses PY_SSIZE_T_CLEAN ++ # so it's not at risk of running into this issue). ++ warnings.filterwarnings( ++ "ignore", ++ category=DeprecationWarning, ++ message="PY_SSIZE_T_CLEAN will be required", ++ ) + + logging.getLogger("tornado.access").setLevel(logging.CRITICAL) +

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: swift

swift (2.23.0-0ubuntu1) eoan; urgency=medium * New upstream release for OpenStack Train. -- Corey Bryant <corey.bryant@canonical.com> Wed, 16 Oct 2019 11:26:04 -0400 swift (2.22.0-0ubuntu2) eoan; urgency=medium * d/control: Add Breaks/Replaces on python-swift to ensure that upgrades from py2->py3 are handled correctly (LP: #1847576). -- James Page <james.page@ubuntu.com> Thu, 10 Oct 2019 12:04:12 +0100 swift (2.22.0-0ubuntu1) eoan; urgency=medium * New upstream release for OpenStack Train. -- James Page <james.page@ubuntu.com> Thu, 26 Sep 2019 15:15:04 +0100 swift (2.22.0~b2~git2019073018.d33e569be-0ubuntu1) eoan; urgency=medium * New upstream snapshot for OpenStack Train. * d/control: Align (Build-)Depends with upstream. -- Sahid Orentino Ferdjaoui <sahid.ferdjaoui@canonical.com> Tue, 30 Jul 2019 18:52:11 +0200 swift (2.22.0~b1~git2019071110.e62f07d98-0ubuntu3) eoan; urgency=medium * d/rules: Use pkgos-dh_auto_install to install Python 3 modules. -- Corey Bryant <corey.bryant@canonical.com> Thu, 18 Jul 2019 11:48:40 -0400 swift (2.22.0~b1~git2019071110.e62f07d98-0ubuntu2) eoan; urgency=medium * d/control: Restore python-setuptools BDI for UCA backport. * d/p/skip-test-local-py36.patch, d/control: Skip locale test for Python 3.6 as locale is not available by default in build environment. -- Corey Bryant <corey.bryant@canonical.com> Thu, 11 Jul 2019 14:05:49 -0400 swift (2.22.0~b1~git2019071110.e62f07d98-0ubuntu1) eoan; urgency=medium * New upstream snapshot for OpenStack Train. * d/control, d/rules, d/python(3)-swift*: Add support for Python 3 and remove support for Python 2. * d/p/drop-ipaddress-requirement.patch: Drop ipaddress from requirements.txt. -- Corey Bryant <corey.bryant@canonical.com> Thu, 11 Jul 2019 10:14:31 -0400 swift (2.22.0~b1~git2019061305.aa2f1db1b-0ubuntu1) eoan; urgency=medium * New upstream snapshot for OpenStack Train. * d/control: Align (Build-)Depends with upstream. * d/swift-container.install: Wildcard install of swift-container-* binaries. -- James Page <james.page@ubuntu.com> Thu, 13 Jun 2019 15:13:13 +0100 swift (2.21.0-0ubuntu1) disco; urgency=medium * New upstream release for OpenStack Stein. -- James Page <james.page@ubuntu.com> Mon, 08 Apr 2019 09:13:45 +0100 swift (2.20.0-0ubuntu2) disco; urgency=medium * d/control: Add python-keystonemiddleware to Depends (LP: #1815093). -- Corey Bryant <corey.bryant@canonical.com> Thu, 07 Feb 2019 15:05:35 -0500 swift (2.20.0-0ubuntu1) disco; urgency=medium * New upstream release for OpenStack Stein. * d/control: Align (Build-)Depends with upstream. -- Corey Bryant <corey.bryant@canonical.com> Thu, 31 Jan 2019 12:43:00 -0500 swift (2.19.0-0ubuntu1) cosmic; urgency=medium * New upstream release. * d/control: Align (Build-)Depends with upstream. * d/swift.install: Install binary for new CLI client swift-ring-composer. -- Corey Bryant <corey.bryant@canonical.com> Thu, 30 Aug 2018 10:33:03 -0400 swift (2.18.0-0ubuntu1) cosmic; urgency=medium * New upstream release. * d/control: Align (Build-)Depends with upstream. * d/swift-container.install, d/swift.install, swift-container.swift-container-sharder.init: Install usr/bin/swift-container-sharder and usr/bin/swift-manage-shard-ranges and add init file for swift-container-sharder. * d/control: Update Standards-Version to 4.1.4. * d/control, d/tests/*: Drop obsolete autopkgtest header and enable autopkgtest-pkg-python testsuite. * d/control, d/watch: Use https URLs. -- Corey Bryant <corey.bryant@canonical.com> Wed, 13 Jun 2018 15:14:00 -0400 swift (2.17.0-0ubuntu1) bionic; urgency=medium [ James Page ] * d/p/*: Rebase. [ Corey Bryant ] * New upstream release candidate for OpenStack Queens. * d/*: wrap-and-sort -bast. * d/control: Update Standards-Version to 4.1.2. * d/control: Bump debhelper compat to 10. * d/control: Align (Build-)Depends with upstream. -- Corey Bryant <corey.bryant@canonical.com> Wed, 14 Feb 2018 09:24:36 -0500 swift (2.16.0-0ubuntu2) bionic; urgency=medium * d/rules, d/swift-doc.docs: Adjust sphinx-build command and drop swift-doc.docs as the sphinx-build command already installs the files in the temp directory. -- Corey Bryant <corey.bryant@canonical.com> Wed, 22 Nov 2017 14:07:55 -0500 swift (2.16.0-0ubuntu1) bionic; urgency=medium * New upstream release. * d/control: Align (Build-)Depends with upstream. * d/p/*: Rebase, drop patches accepted upstrea or no longer needed. * d/compat: Bump to 9, inline with BD. * d/swift.install: Drop swift-temp-url, no long shipped. -- James Page <james.page@ubuntu.com> Fri, 17 Nov 2017 10:40:50 +0000 swift (2.15.1-0ubuntu3) artful; urgency=medium * d/p/update-test-drop-privs.patch: Drop group comparison from drop_privileges test as it does not appear to be valid (LP: #1724342). -- Corey Bryant <corey.bryant@canonical.com> Tue, 17 Oct 2017 15:01:59 -0400 swift (2.15.1-0ubuntu2) artful; urgency=medium * d/p/fix-deployment-guide-header.patch: Extend deployment guide headers to fix sphinx error for xenial-pike backport. -- Corey Bryant <corey.bryant@canonical.com> Fri, 25 Aug 2017 17:57:20 -0400 swift (2.15.1-0ubuntu1) artful; urgency=medium * New upstream point release for OpenStack Pike. * d/p/*: Rebased. -- Corey Bryant <corey.bryant@canonical.com> Thu, 24 Aug 2017 12:29:58 -0400 swift (2.15.0-0ubuntu1) artful; urgency=medium * d/control: Drop oslosphinx and update min version of openstackdocstheme. * New upstream release for OpenStack Pike. * d/p/drop-openstackdoctheme.patch: Temporarily drop openstackdocstheme sphinx extension until sphinx>=1.6.2 is available. * d/p/skip-online-test.patch: Skip test that is failing without network access. * d/swift-object.install: Install swift-object-relinker binary. -- Corey Bryant <corey.bryant@canonical.com> Tue, 01 Aug 2017 09:20:37 -0400 swift (2.13.1-0ubuntu1) artful; urgency=medium [ Chuck Short ] * d/patches/use-pbr2.patch: Use pbr2 by default. * d/patches/fix-doc-no-network.patch: Dropped not longer required. [ James Page ] * New upstream point release. -- Chuck Short <zulcss@ubuntu.com> Fri, 16 Jun 2017 11:45:54 +0100 swift (2.13.0-0ubuntu1) zesty; urgency=medium * New upstream release for OpenStack Ocata. * d/control: Align (build-)depends with upstream. * d/README.Source: Removed it still mentioned bzr to package swift. -- Chuck Short <zulcss@ubuntu.com> Thu, 16 Feb 2017 05:46:37 -0500 swift (2.12.0-0ubuntu1) zesty; urgency=medium * New upstream version. * d/p/avoid-infinite-loop-while-placing-parts.patch: Dropped. Included in new upstream version. * New upstream release for OpenStack Ocata. -- Corey Bryant <corey.bryant@canonical.com> Mon, 19 Dec 2016 09:18:26 -0500 swift (2.11.0-0ubuntu2) zesty; urgency=medium * d/p/avoid-infinite-loop-while-placing-parts.patch: Cherry-picked from upstream master branch to avoid infinite loop while placing parts (LP: #1642538). -- Corey Bryant <corey.bryant@canonical.com> Fri, 09 Dec 2016 09:05:26 -0500 swift (2.11.0-0ubuntu1) zesty; urgency=medium [ Corey Bryant ] * d/control: Align python-pyeclib with upstream. [ David Della Vecchia ] * New upstream release for OpenStack Ocata. * d/control: Align (build-)depends with upstream. -- David Della Vecchia <ddv@canonical.com> Mon, 21 Nov 2016 09:18:15 -0500 swift (2.10.0-0ubuntu1) yakkety; urgency=medium * New upstream release for OpenStack Newton. * d/control: Align (build-)depends with upstream. -- Corey Bryant <corey.bryant@canonical.com> Wed, 28 Sep 2016 14:06:46 -0400 swift (2.9.0-0ubuntu1) yakkety; urgency=medium * New upstream release for OpenStack Newton. * d/control: Align (build-)depends with upstream. -- Corey Bryant <corey.bryant@canonical.com> Fri, 15 Jul 2016 08:32:18 -0400 swift (2.8.0-0ubuntu1) yakkety; urgency=medium * New upstream version. * d/p/drop-sphinx-git.patch: Dropped, no longer required. * d/control: Bumped Standards-Version, no changes. * d/swift-container.docs: Install container-sync-realms.conf sample configuration file (LP: #1586483). * d/swift-object.swift-object-reconstructor.{init|upstart},rules: Add init and upstart configuration files for swift-object-reconstructor (LP: #1522448). -- James Page <james.page@ubuntu.com> Fri, 10 Jun 2016 11:34:52 +0100 swift (2.7.0-0ubuntu2) xenial; urgency=medium * d/tests/swift-daemons: Set replica count for each ring to 1, resolving autopkgtest failure during rebalance operations. -- James Page <james.page@ubuntu.com> Mon, 11 Apr 2016 12:21:44 +0100 swift (2.7.0-0ubuntu1) xenial; urgency=medium * New upstream release for OpenStack Mitaka. * d/p/drop-sphinx-git.patch: Rebased. * d/p/fix-doc-no-network.patch: Rebased. -- David Della Vecchia <ddv@canonical.com> Fri, 08 Apr 2016 09:02:57 -0400 swift (2.6.0-0ubuntu1) xenial; urgency=medium [ David Della Vecchia ] * New upstream release for OpenStack Mitaka. * d/control: Align (build-)depends with upstream. * d/p/pyeclib-version.patch: Removed, fixed in upstream. * d/p/sphinx.patch: Remove git command to prevent build errors. [ Corey Bryant ] * d/p/sphinx.patch: Dropped in favor of adding git to BD's. * d/control: Add git to build-depends for sphinx-build. * d/control: Add python-cffi to BDs to fix failing tests. * d/p/drop-sphinx-git.patch, d/control: Drop use of git from sphinx config. -- Corey Bryant <corey.bryant@canonical.com> Thu, 10 Mar 2016 13:34:13 -0500 swift (2.5.0-0ubuntu1) wily; urgency=medium * New upstream release for OpenStack Liberty. * d/control,python-swift.postinst: Tidy lintian warning messages. -- James Page <james.page@ubuntu.com> Thu, 08 Oct 2015 06:16:59 -0700 swift (2.4.0-0ubuntu1) wily; urgency=medium * New upstream release: - d/p/CVE-2015-1856.patch, d/p/fix-tempauth-acl-checks.patch, d/p/increase-httplib-maxheaders.patch, d/p/x-auth-token-should-be-bytestring.patch: Dropped, included upstream. * Align (build-)depends with upstream, wrap-and-sort. * d/p/pyeclib-version.patch: Specify minimum bound for pyeclib only. * Install new swift-object-reconstructor and swift-ring-builder-analyzer binaries. -- James Page <james.page@ubuntu.com> Mon, 07 Sep 2015 13:00:03 +0100 swift (2.2.2-0ubuntu1.3) vivid-security; urgency=medium [ Marc Deslauriers ] * SECURITY UPDATE: object deletion via x-versions-location container - debian/patches/CVE-2015-1856.patch: prevent unauthorized delete in swift/proxy/controllers/obj.py, added tests to test/functional/tests.py. - CVE-2015-1856 [ Jamie Strandboge ] * debian/patches/x-auth-token-should-be-bytestring.patch: update for functional test suite * debian/patches/fix-tempauth-acl-checks.patch: fix tempauth acl checks when simplejson has no speedups * debian/patches/increase-httplib-maxheaders.patch: fix testuite and increase httplib._MAXHEADERS -- Jamie Strandboge <jamie@ubuntu.com> Thu, 30 Jul 2015 12:24:47 -0500 swift (2.2.2-0ubuntu1) vivid; urgency=medium * New upstream release. * debian/patches/fixup-32bit-max-file-size.patch: Dropped no longer needed. -- Chuck Short <zulcss@ubuntu.com> Mon, 09 Feb 2015 13:40:34 -0500 swift (2.2.1-0ubuntu2) vivid; urgency=medium * Systemd enablement: - d/*.init: Re-instate and re-write original init scripts. - d/*: Tidy incorrectly named init script files. -- James Page <james.page@ubuntu.com> Mon, 12 Jan 2015 10:42:51 +0000 swift (2.2.1-0ubuntu1) vivid; urgency=medium [ Chuck Short ] * Open for Vivid. * d/control: Update branch locations. [ James Page ] * New upstream release: - d/p/*: Refresh. * d/control: Bumped Standards-Version 3.9.6, no changes. -- James Page <james.page@ubuntu.com> Fri, 19 Dec 2014 14:33:19 +0000 swift (2.2.0-0ubuntu1) utopic; urgency=medium [ Corey Bryant ] * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Thu, 16 Oct 2014 15:47:13 -0400 swift (2.2.0~rc1-0ubuntu3) utopic; urgency=medium * Fix autopkg tests due to upstream mandatory configuration changes: - d/tests/swift-daemons,proxy-server.conf: Switch to using upstream provided sample proxy server configuration, drop test specific configuration. - d/*.conf: Set default bind_port values inline with upstream. -- James Page <james.page@ubuntu.com> Thu, 09 Oct 2014 11:51:59 +0100 swift (2.2.0~rc1-0ubuntu2) utopic; urgency=medium * d/p/fixup-32bit-max-file-size.patch: Limit MAX_FILE_SIZE on 32bit architectures during testing, fixing FTBFS on i386 builders (LP: #1378810). * d/p/fix-ubuntu-tests.patch: Drop, superceeded by above. -- James Page <james.page@ubuntu.com> Thu, 09 Oct 2014 09:57:04 +0100 swift (2.2.0~rc1-0ubuntu1) utopic; urgency=medium * New upstream release candidate for OpenStack Juno: - d/p/*: Refreshed. -- James Page <james.page@ubuntu.com> Mon, 06 Oct 2014 15:05:01 +0100 swift (2.1.0-0ubuntu1) utopic; urgency=medium [ Chuck Short ] * debian/patches/fix-doc-no-network.patch: Refreshed. * debian/control: Add python-oslosphinx as a build dependency. [ James Page ] * New upstream release for OpenStack Juno. * d/copyright: Add linebreaks to fixup file-without-copyright- information warning. -- James Page <james.page@ubuntu.com> Mon, 06 Oct 2014 10:06:11 +0100 swift (2.0.0-0ubuntu2) utopic; urgency=medium * Do not compress conf-sample files in the doc directories (used in the autopkg tests). -- Matthias Klose <doko@ubuntu.com> Wed, 13 Aug 2014 12:26:45 +0200 swift (2.0.0-0ubuntu1) utopic; urgency=medium * New upstream release. * debian/control: Open up juno release * debian/patches/ring-perms.patch: Dropped no longer needed. * debian/switf-container.install: Add swift-reconciler-enqueue and swift-container-reconciler. -- Chuck Short <zulcss@ubuntu.com> Tue, 08 Jul 2014 10:31:47 -0400 swift (1.13.1-0ubuntu1) trusty; urgency=medium * New upstream release (LP: #1299055). -- Chuck Short <zulcss@ubuntu.com> Thu, 17 Apr 2014 04:52:50 -0400 swift (1.13.1~rc2-0ubuntu1) trusty; urgency=medium [ Chuck Short ] * New upstream release candidate (LP: #1299055). [ James Page ] * d/control: Add appropriate Breaks/Replaces to support move of man pages between binary packages in 1.13.1~rc1-0ubuntu1 (LP: #1306241). -- James Page <james.page@ubuntu.com> Mon, 14 Apr 2014 11:03:23 +0100 swift (1.13.1~rc1-0ubuntu2) trusty; urgency=medium * d/p/ring-perms.patch: Ensure that generated rings can be read by the swift user, fixing autopkgtest failure (LP: #1302700). -- James Page <james.page@ubuntu.com> Sun, 06 Apr 2014 21:10:51 +0100 swift (1.13.1~rc1-0ubuntu1) trusty; urgency=medium [ Chuck Short ] * Add new binaries: - d/swift-container.install: Add swift-container-info binary. - d/swift-account.install: Add swift-account-info binary. [ James Page ] * New upstream release candidate (LP: #1299055). * d/rules: Tidy dh_clean override. * d/rules,swift-doc.docs: Re-enable documentation build. * d/*.manpages: Rejig manpage installs into correct packages. * d/container-server.conf: Add missing container-sync section (LP: #1290813). * d/*: Wrap-and-sort. -- James Page <james.page@ubuntu.com> Fri, 04 Apr 2014 10:57:51 +0100 swift (1.13.0-0ubuntu1) trusty; urgency=medium [ Chuck Short ] * New upstream release. [ James Page ] * Add object-expirer package and associated configuration (LP: #1235495): - d/control: Add swift-object-expirer package, break/replace swift-object from earlier versions. - d/swift-object.install: Drop install of swift-object-expirer. - d/swift-object-expirer.{install,upstart}: Install swift-object-expirer and associated upstart configuration. - d/rules,object-expirer.conf: Provide basic object-expirer configuration. - debian/swift-object-expirer.docs: Add full example configuration to docs. * d/rules,swift-container.swift-container-sync.upstart: Add upstart configuration for swift-container-sync process (LP: #1250171). -- Chuck Short <zulcss@ubuntu.com> Thu, 06 Mar 2014 12:29:10 -0500 swift (1.12.0-0ubuntu1) trusty; urgency=medium * New upstream release. * debian/patches/fix-ubuntu-tests.patch: Rediffed. * debian/rules: Add pythonpath for tests. -- Chuck Short <zulcss@ubuntu.com> Wed, 29 Jan 2014 09:14:25 -0500 swift (1.11.0-0ubuntu2) trusty; urgency=low * d/tests/swift-daemons: Use service command to restart daemons instead of directly using non-existent scripts in /etc/init.d. -- James Page <james.page@ubuntu.com> Fri, 13 Dec 2013 09:14:19 +0000 swift (1.11.0-0ubuntu1) trusty; urgency=low [ Chuck Short ] * debian/control: open icehouse release. * debian/rules: - Fix doc installation. - Removed debian distribution checking. * Removed init scripts, they dont get installed anyways. * Renamed upstart.in to regular upstart jobs. * debian/swift-doc.docs: Drop doc/build/html. * debian/swift.install: Remove swift-bench and swift-bench-client, it has moved into its own project. * debian/control: Suggest swift-bench. * debian/fix-ubuntu-tests.patch: Disable tests that fail on buildds. [ James Page ] * d/rules: Don't clean debian/*.upstart; we need those now! -- Chuck Short <zulcss@ubuntu.com> Thu, 12 Dec 2013 10:50:46 -0500 swift (1.10.0-0ubuntu1) saucy; urgency=low * New upstream release (LP: #1236462). -- Chuck Short <zulcss@ubuntu.com> Thu, 17 Oct 2013 10:26:18 -0400 swift (1.10.0~rc1-0ubuntu1) saucy; urgency=low * New upstream release candidate. -- Chuck Short <zulcss@ubuntu.com> Wed, 09 Oct 2013 15:05:24 -0400 swift (1.9.1-0ubuntu3) saucy; urgency=low * d/python-swift.postinst: Allow swift user to write to /var/cache/swift, resolving repeated errors in swift syslog (LP: #1234657). -- James Page <james.page@ubuntu.com> Fri, 04 Oct 2013 16:21:14 +0100 swift (1.9.1-0ubuntu2) saucy; urgency=low * d/control: Add missing dependency on python-dnspython >= 1.10.0. * d/control: Wrap and sort. -- James Page <james.page@ubuntu.com> Wed, 25 Sep 2013 16:08:35 +0100 swift (1.9.1-0ubuntu1) saucy; urgency=low [ James Page ] * d/control: Update VCS fields for new branch locations. [ Chuck Short ] * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Tue, 13 Aug 2013 10:37:13 -0400 swift (1.9.0-0ubuntu1) saucy; urgency=low [ Chuck Short ] * New upstream release. * debian/swift.install: Add swift-config. * debian/control: Nump standards version to 3.9.4 [ Yolanda Robla ] * debian/tests: added autopkg tests -- Chuck Short <zulcss@ubuntu.com> Tue, 02 Jul 2013 10:26:07 -0500 swift (1.8.0-0ubuntu1) raring; urgency=low * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Thu, 04 Apr 2013 10:38:18 -0500 swift (1.8.0~rc2-0ubuntu1) raring; urgency=low * New usptream release candidate for grizzly. -- Chuck Short <zulcss@ubuntu.com> Tue, 02 Apr 2013 09:06:48 -0500 swift (1.8.0~rc1-0ubuntu1) raring; urgency=low * New upstream release candidate for grizzly. -- Chuck Short <zulcss@ubuntu.com> Wed, 20 Mar 2013 08:19:17 -0500 swift (1.7.6-0ubuntu1) raring; urgency=low * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Mon, 28 Jan 2013 09:44:34 -0600 swift (1.7.5-0ubuntu1) raring; urgency=low * New upstream release. * debian/control: Dropped python-webob. * debian/swift.install: Add swift-bench-client. -- Chuck Short <zulcss@ubuntu.com> Wed, 14 Nov 2012 12:11:47 -0600 swift (1.7.4-0ubuntu2) quantal; urgency=low * debian/control: Conflicts/Breaks on swift 1.6.0-ubuntu1 when upgrading from precise, since the swift client has been moved to python-swiftclient. (LP: #1061064) -- Chuck Short <zulcss@ubuntu.com> Thu, 11 Oct 2012 09:06:02 -0500 swift (1.7.4-0ubuntu1) quantal; urgency=low * New upstream release. * debian/rules: Fail to build the packages if testsuite fails. -- Chuck Short <zulcss@ubuntu.com> Wed, 26 Sep 2012 09:19:43 -0500 swift (1.7.2-0ubuntu1) quantal; urgency=low * New upstream release, this release fixes a major regression introduced in the last release. -- Chuck Short <zulcss@ubuntu.com> Thu, 20 Sep 2012 08:42:59 -0500 swift (1.7.0-0ubuntu1) quantal; urgency=low [ Soren Hansen ] * Update debian/watch to account for symbolically named tarballs and use newer URL. * Run unit tests at build time. * Fix Launchpad URLs in debian/watch. [ Chuck Short ] * New upstream release * debian/control: Add python-mock as a build dep * debian/rules: Dont fail if testsuite fails. -- Chuck Short <zulcss@ubuntu.com> Fri, 07 Sep 2012 19:02:36 -0500 swift (1.6.0-0ubuntu1) quantal; urgency=low [ Adam Gandelman ] * debian/patches/fix-ubuntu-unitteests.patch: Refreshed against tarball generated by sdist. * debian/control: Add python-swiftclient to Build-Depends. * debian/swift.install: Remove swift CLI client, moved to python-swiftclient. * debian/patches/fix-ubuntu-unittests.patch: Dropped. Similar upstream commit ensures logging exceptions are properly handled. * debian/rules: *Temporarily* disable test suite. [ Chuck Short ] * New upstream version. * python-swift.dirs: Add /var/cache/swift * debian/man/*: Removed used upstream man pages and replaced with upstream manpages. (LP: #1006671) -- Chuck Short <zulcss@ubuntu.com> Tue, 07 Aug 2012 09:31:35 -0500 swift (1.5.0-0ubuntu1) quantal; urgency=low * New upstream version * debian/patches/fix-ubuntu-unittests.patch: Refreshed * debian/patches/fix-doc-no-network.patch: Refreshed * swift.docs: Add changelog * swift.install: Remove missing binaries. * debian/control: Bump to version 3.9.3 * debian/swift.install: Add swift-temp-url and swift-form-signature. -- Chuck Short <zulcss@ubuntu.com> Mon, 18 Jun 2012 09:30:05 -0400 swift (1.4.8-0ubuntu2) precise; urgency=low * debian/patches/fix-ubuntu-unittests.patch: Refreshed to fix testsuite failures. -- Chuck Short <zulcss@ubuntu.com> Thu, 12 Apr 2012 12:05:29 -0400 swift (1.4.8-0ubuntu1) precise; urgency=low * New upstream release. * debian/patches/fix-ubuntu-unittests.patch: Refreshed. * debian/patches/fix-doc-no-network.patch: Dont access network when trying to build docs. -- Chuck Short <zulcss@ubuntu.com> Tue, 10 Apr 2012 09:23:54 -0400 swift (1.4.7-0ubuntu3) precise; urgency=low * debian/rules: Make the build fail if the testsuite doesnt pass. * debian/patches/fix-ubuntu-unittests.patch: Various fixes to build swift in the buildds. (LP: #961871) -- Chuck Short <zulcss@ubuntu.com> Mon, 26 Mar 2012 12:11:25 -0400 swift (1.4.7-0ubuntu2) precise; urgency=low * Fixup upstart configurations (LP: #954477): - d/rules: Correctly generate ALL upstart configurations when building for Ubuntu. - d/*.upstart.in: Update upstart config's to use new conf file locations. -- James Page <james.page@ubuntu.com> Thu, 15 Mar 2012 15:34:19 +0000 swift (1.4.7-0ubuntu1) precise; urgency=low [ Chuck Short ] * New upstream release. [ Thierry Carrez (ttx) ] * Remove swift-stats-populate, swift-stats-report and stats.conf-sample to match Swift 1.4.7 contents -- Chuck Short <zulcss@ubuntu.com> Fri, 09 Mar 2012 13:26:07 -0500 swift (1.4.7~20120302.1721-0ubuntu1) precise; urgency=low * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Fri, 02 Mar 2012 13:27:27 -0500 swift (1.4.7~20120224.1690-0ubuntu1) precise; urgency=low [ Chuck Short ] * New upstream release. [ Chmouel Boudjnah ] * Add more samples to packages (LP:#667935) -- Chuck Short <zulcss@ubuntu.com> Fri, 24 Feb 2012 09:10:12 -0500 swift (1.4.7~20120210.1686-0ubuntu1) precise; urgency=low * New upstream release. * debian/control: Add python-paste. -- Chuck Short <zulcss@ubuntu.com> Fri, 10 Feb 2012 09:41:51 -0500 swift (1.4.6~20120202.1676-0ubuntu1) precise; urgency=low * New upstream version. -- Chuck Short <zulcss@ubuntu.com> Fri, 03 Feb 2012 09:35:18 -0500 swift (1.4.6~20120119.1666-0ubuntu2) precise; urgency=low * Update swift.install to reflect release. -- Chuck Short <zulcss@ubuntu.com> Thu, 26 Jan 2012 09:05:51 -0500 swift (1.4.6~20120119.1666-0ubuntu1) precise; urgency=low [Chuck Short] * New upstream release. [ Daniel T Chen ] * debian/control: Fix Vcs entries. * debian/swift.install: Add new scripts. Fixes FTBFS. [ Marc Cluet ] * Changed swift-proxy upstart script to watch /etc/swift/proxy-server.conf (LP:#917893) -- Chuck Short <zulcss@ubuntu.com> Fri, 20 Jan 2012 13:20:46 -0500 swift (1.4.6~20120112.1660-0ubuntu1) precise; urgency=low [Chuck Short] * New upstream release. * Merged changes from upstream packaging, thanks to Thierry Carrez. * debian/rules: + Remove egg-info on clean. [Thierry Carrez (ttx)] * Added usr/bin/swift-recon[-cron] to swift package. -- Chuck Short <zulcss@ubuntu.com> Mon, 09 Jan 2012 11:26:25 -0500 swift (1.4.5~20111202.1634-0ubuntu3) precise; urgency=low * debian/swift.manpages: Remove swauth man pages. -- Matthias Klose <doko@ubuntu.com> Wed, 21 Dec 2011 18:29:35 +0100 swift (1.4.5~20111202.1634-0ubuntu2) precise; urgency=low [ Chuck Short ] * Drop swauth man pages. (LP: #900888) * debian/control: - Clean up build depends. - Update VCS info to point to the right branches. * debian/rules: Run the swift testsuite. * debian/python-swift.postinst: Change user's shell to /bin/false. * Fix some lintian warnings. [ Thierry Carrez (ttx) ] * Ship swift-oldies and swift-orphans in swift package -- Chuck Short <zulcss@ubuntu.com> Fri, 16 Dec 2011 09:45:28 -0500 swift (1.4.5~20111202.1634-0ubuntu1) precise; urgency=low * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Fri, 02 Dec 2011 09:49:32 -0500 swift (1.4.5~20111117.1632-0ubuntu1) precise; urgency=low * New upstream release. * Convert init scripts to upstart. -- Chuck Short <zulcss@ubuntu.com> Fri, 18 Nov 2011 13:25:16 -0500 swift (1.4.4~20111108.1612-0ubuntu1) precise; urgency=low * New upstream release. * debian/rules: Add --fail-missing. * Update .isntall files. (LP: #882679, #841853) -- Chuck Short <zulcss@ubuntu.com> Fri, 11 Nov 2011 10:49:12 -0500 swift (1.4.4~20111014.1599-0ubuntu1) precise; urgency=low * New upstream verison. * Dropped: - debian/patches/backport-change-swift-ring-builder-exit-codes. -- Chuck Short <zulcss@ubuntu.com> Fri, 21 Oct 2011 13:50:47 -0400 swift (1.4.3-0ubuntu2) oneiric; urgency=low [ Adam Gandelman ] * debian/patches/backport-change-swift-ring-builder-exit-codes: Standardize exit codes now to reduce hassles after future upgrades (LP: #836922) -- Chuck Short <zulcss@ubuntu.com> Fri, 30 Sep 2011 15:00:26 -0400 swift (1.4.3-0ubuntu1) oneiric; urgency=low [Chuck Short] * New upstream release. [Monty Taylor] * Work around dh_python2 for lucid. (LP: #848971) -- Monty Taylor <mordred@inaugust.com> Fri, 16 Sep 2011 15:40:19 -0400 swift (1.4.3~20110902.354-0ubuntu1) oneiric; urgency=low * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Fri, 02 Sep 2011 14:10:27 -0400 swift (1.4.3~20110823.347-0ubuntu1) oneiric; urgency=low * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Fri, 26 Aug 2011 14:11:09 -0400 swift (1.4.3~20110811.341-0ubuntu1) oneiric; urgency=low * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Fri, 12 Aug 2011 05:33:16 -0400 swift (1.4.3~20110728.333-0ubuntu1) UNRELEASED; urgency=low [ Soren Hansen ] * New upstream snapshot. * Remove debian-changes patch file. * Remove SOURCES.txt in clean target to avoid gettings its changes in our diff.gz. * Add "status" support to all init scripts. * Use "shutdown" instead of "stop" as the action argument for swift- init. This shuts down the services gracefully (letting live requests finish). * Add swift-dispersion-{report,populate} to swift.install. [ Thomas Goirand ] * Added missing adduser and lsb-base dependency. * Made the long description longer (it was really minimalistic). * Reworked all Debian init.d scripts. * Added many missing manpages. * Added default container-server.conf & object-server.conf files. [ James Page ] * Added debian/python-swift.postrm: Remove swift user when purging package (LP: #825670). -- James Page <james.page@ubuntu.com> Tue, 16 Aug 2011 10:33:00 +0100 swift (1.4.2-0ubuntu1) oneiric; urgency=low * New upstream release. * debian/control: - Update vcs infomration. - Cleaned up build dependencies. - Bump standards to version 3.9.2. * debian/README.Source: Add doc to upload swift to the ubuntu archive. * dh_python2 transition. -- Chuck Short <zulcss@ubuntu.com> Thu, 28 Jul 2011 10:39:51 -0400 swift (1.4.2~20110624.319-0ubuntu3) oneiric; urgency=low * Clean up missing files. -- Chuck Short <zulcss@ubuntu.com> Mon, 27 Jun 2011 06:30:51 -0400 swift (1.4.2~20110624.319-0ubuntu2) oneiric; urgency=low * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Fri, 24 Jun 2011 14:00:18 -0400 swift (1.4.1-0ubuntu1) oneiric; urgency=low * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Mon, 20 Jun 2011 13:08:04 -0400 swift (1.4.1~20110615.r304-0ubuntu1) oneiric; urgency=low [ Gregory Holt ] * Removed swauth references. [ Soren Hansen ] * st was renamed to swift. [ Chuck Short ] * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Thu, 16 Jun 2011 09:25:37 -0400 swift (1.4-dev+bzr300-0ubuntu1) oneiric; urgency=low * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Tue, 31 May 2011 14:29:10 -0400 swift (1.3.0-0ubuntu1) natty; urgency=low * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Fri, 15 Apr 2011 08:25:53 -0400 swift (1.3-rc+bzr266-0ubuntu1) UNRELEASED; urgency=low * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Thu, 14 Apr 2011 09:38:42 -0400 swift (1.2.0+bzr208-0ubuntu1) natty; urgency=low * New upstream release. -- Chuck Short <zulcss@ubuntu.com> Tue, 12 Apr 2011 10:32:30 -0400 swift (1.2.0-0ubuntu1) natty; urgency=low * New upstream release. * Updated VC locations in control file. * Set maintainer properly for Ubuntu. -- Monty Taylor <mordred@inaugust.com> Wed, 16 Feb 2011 08:50:48 -0800 swift (1.1.0+bzr173-0ubuntu1) natty; urgency=low * Fresh snapshot. * Updated watch file to also know about the new tarballs place. * Update Maintainer to point to myself. * Add a get-orig-source target to debian/rules. -- Soren Hansen <soren@ubuntu.com> Sat, 15 Jan 2011 00:19:38 +0100

Modifications :
  1. Download patch debian/python3-swift.dirs

    --- 2.23.0-1/debian/python3-swift.dirs 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/python3-swift.dirs 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1 @@ +var/cache/swift
  2. Download patch debian/swift-container.swift-container-reconciler.init.in

    --- 2.23.0-1/debian/swift-container.swift-container-reconciler.init.in 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container-reconciler.init.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: swift-container-reconciler -# Required-Start: $remote_fs -# Required-Stop: $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Swift container reconciler -# Description: Container reconciler for Swift. -### END INIT INFO - -PROJECT_NAME=swift -NAME="${PROJECT_NAME}-container-reconciler" -DESC="OpenStack Swift container reconciler" -CONFIG=container-reconciler -SYSTEMD_DOC="man:${NAME}(1)"
  3. Download patch debian/swift-container.manpages

    --- 2.23.0-1/debian/swift-container.manpages 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.manpages 2019-10-16 15:26:04.000000000 +0000 @@ -1,9 +1,2 @@ -doc/manpages/container-server.conf.5 -doc/manpages/swift-container-auditor.1 -doc/manpages/swift-container-info.1 -doc/manpages/swift-container-reconciler.1 -doc/manpages/swift-container-replicator.1 -doc/manpages/swift-container-server.1 -doc/manpages/swift-container-sync.1 -doc/manpages/swift-container-updater.1 -doc/manpages/swift-reconciler-enqueue.1 +doc/manpages/container* +doc/manpages/swift-container*
  4. Download patch debian/swift-account.swift-account-reaper.upstart

    --- 2.23.0-1/debian/swift-account.swift-account-reaper.upstart 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.swift-account-reaper.upstart 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,20 @@ +# swift-account-reaper - SWIFT Account Reaper +# +# The swift account reaper. + +description "SWIFT Account Reaper" +author "Marc Cluet <marc.cluet@ubuntu.com>" + +start on runlevel [2345] +stop on runlevel [016] + +pre-start script + if [ -f "/etc/swift/account-server.conf" ]; then + exec /usr/bin/swift-init account-reaper start + else + exit 1 + fi +end script + +post-stop exec /usr/bin/swift-init account-reaper stop +
  5. Download patch debian/swift-object.lintian-overrides

    --- 2.23.0-1/debian/swift-object.lintian-overrides 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-object.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -swift-object binary: spelling-error-in-copyright Thier Their -swift-object binary: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/swift-object-auditor@.service -swift-object binary: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/swift-object-reconstructor@.service -swift-object binary: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/swift-object-replicator@.service -swift-object binary: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/swift-object-updater@.service -swift-object binary: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/swift-object@.service
  6. Download patch debian/swift-account.swift-account-auditor.upstart

    --- 2.23.0-1/debian/swift-account.swift-account-auditor.upstart 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.swift-account-auditor.upstart 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,20 @@ +# swift-account-auditor - SWIFT Account Auditor +# +# The swift account auditor. + +description "SWIFT Account Auditor" +author "Marc Cluet <marc.cluet@ubuntu.com>" + +start on runlevel [2345] +stop on runlevel [016] + +pre-start script + if [ -f "/etc/swift/account-server.conf" ]; then + exec /usr/bin/swift-init account-auditor start + else + exit 1 + fi +end script + +post-stop exec /usr/bin/swift-init account-auditor stop +
  7. Download patch debian/swift.lintian-overrides

    --- 2.23.0-1/debian/swift.lintian-overrides 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -swift binary: spelling-error-in-copyright Thier Their
  8. Download patch debian/swift.logrotate

    --- 2.23.0-1/debian/swift.logrotate 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift.logrotate 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -/var/log/swift/*.log { - rotate 7 - daily - missingok - notifempty - delaycompress - compress - sharedscripts - postrotate - invoke-rc.d rsyslog rotate > /dev/null - endscript -}
  9. Download patch debian/swift-container.docs

    --- 2.23.0-1/debian/swift-container.docs 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.docs 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,2 @@ +etc/container-server.conf-sample +etc/container-sync-realms.conf-sample
  10. Download patch debian/python3-swift.postinst.in

    --- 2.23.0-1/debian/python3-swift.postinst.in 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/python3-swift.postinst.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh - -set -e - -#PKGOS-INCLUDE# - -if [ "$1" = "configure" ] || [ "$1" = "reconfigure" ] ; then - pkgos_var_user_group swift - - mkdir -p /var/backups/swift - chown swift:swift /var/backups/swift - chmod 2770 /var/backups/swift -fi - -#DEBHELPER# - -exit 0
  11. Download patch debian/swift-drive-audit.manpages

    --- 2.23.0-1/debian/swift-drive-audit.manpages 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-drive-audit.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -doc/manpages/swift-drive-audit.1
  12. Download patch debian/swift-container.swift-container-replicator.init.in

    --- 2.23.0-1/debian/swift-container.swift-container-replicator.init.in 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container-replicator.init.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: swift-container-replicator -# Required-Start: $remote_fs -# Required-Stop: $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Swift container replicator -# Description: Container replicator for Swift. -### END INIT INFO - -PROJECT_NAME=swift -NAME="${PROJECT_NAME}-container-replicator" -DESC="OpenStack Swift container replicator" -CONFIG=container-server -MULTI=1 -SYSTEMD_DOC="man:${NAME}(1)"
  13. Download patch debian/swift-container.install

    --- 2.23.0-1/debian/swift-container.install 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.install 2019-10-16 15:26:04.000000000 +0000 @@ -1,18 +1,3 @@ -#! /usr/bin/dh-exec --with=install -etc/container-reconciler.conf-sample => /etc/swift/container-reconciler.conf -etc/container-reconciler.conf-sample => /usr/share/doc/swift-container/examples/container-reconciler.conf -etc/container-server.conf-sample => /etc/swift/container-server.conf -etc/container-server.conf-sample => /usr/share/doc/swift-container/examples/container-server.conf -etc/internal-client.conf-sample => /etc/swift/internal-client.conf -etc/internal-client.conf-sample => /usr/share/doc/swift-container/examples/internal-client.conf -debian/swift-container-generator /lib/systemd/system-generators -usr/bin/swift-container-auditor -usr/bin/swift-container-info -usr/bin/swift-container-reconciler -usr/bin/swift-container-replicator -usr/bin/swift-container-server -usr/bin/swift-container-sharder -usr/bin/swift-container-sync -usr/bin/swift-container-updater +usr/bin/swift-container-* usr/bin/swift-manage-shard-ranges usr/bin/swift-reconciler-enqueue
  14. Download patch debian/rules

    --- 2.23.0-1/debian/rules 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/rules 2019-10-16 15:26:04.000000000 +0000 @@ -1,65 +1,54 @@ #!/usr/bin/make -f --include /usr/share/openstack-pkg-tools/pkgos.make - -export SWIFT_TEST_CONFIG_FILE=$(CURDIR)/debian/swift-test.conf - -export PYBUILD_TEST_ARGS=\ - test/unit \ - --exclude-test=test.unit.common.test_utils.TestUtils.test_get_logger_sysloghandler_plumbing --processes=-1 +# Verbose mode +#export DH_VERBOSE=1 %: - dh $@ --buildsystem=pybuild --with python3,sphinxdoc + dh $@ --buildsystem=python_distutils --with python3,sphinxdoc -override_dh_auto_build: - dh_auto_build +# clean sphinx build output +override_dh_clean: + dh_clean + rm -rf doc/build - /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func python3-swift.postinst +# build with sphinx documentation +ifeq (,$(findstring nodocs, $(DEB_BUILD_OPTIONS))) +override_dh_sphinxdoc: + PYTHONPATH=. sphinx-build -b html doc/source $(CURDIR)/debian/swift-doc/usr/share/doc/swift-doc/html + dh_sphinxdoc -O--buildsystem=python_distutils +endif + +ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS))) +override_dh_auto_test: + PYTHONPATH=. nosetests3 test/unit +endif - set -e ; set -x ; \ - for i in $(sort $(wildcard debian/*.init.in)) ; do \ - debian/gen-init $$i ; \ - done +get-orig-source: + uscan --verbose --force-download --rename --destdir=../build-area override_dh_auto_install: - dh_auto_install + pkgos-dh_auto_install --no-py2 --in-tmp - rm debian/tmp/usr/bin/swift-init +override_dh_install: + dh_install --fail-missing --sourcedir=debian/tmp + install -D -m 0640 $(CURDIR)/debian/account-server.conf $(CURDIR)/debian/swift-account/etc/swift/account-server.conf + install -D -m 0640 $(CURDIR)/debian/container-server.conf $(CURDIR)/debian/swift-container/etc/swift/container-server.conf + install -D -m 0640 $(CURDIR)/debian/object-server.conf $(CURDIR)/debian/swift-object/etc/swift/object-server.conf + install -D -m 0640 $(CURDIR)/debian/object-expirer.conf $(CURDIR)/debian/swift-object-expirer/etc/swift/object-expirer.conf override_dh_installinit: - set -e ; set -x ; \ - for FILE in $(sort $(patsubst debian/%,%,$(wildcard debian/*.init))) ; do \ - PKG=`echo $$FILE | cut -d. -f1` ; \ - NAME=`echo $$FILE | cut -d. -f2` ; \ - dh_installinit --error-handler=true -p$$PKG --name=$$NAME ;\ - done - -override_dh_installsystemd: - set -e ; set -x ; \ - for FILE in $(sort $(patsubst debian/%,%,$(wildcard debian/*.service))) ; do \ - PKG=`echo $$FILE | cut -d. -f1` ; \ - NAME=`echo $$FILE | cut -d. -f2` ; \ - dh_installsystemd -p$$PKG --name=$$NAME ;\ - done - -override_dh_systemd_enable: - echo "Do nothing" - -gen-init-configurations: - echo "Do nothing" - -# build with sphinx documentation -override_dh_sphinxdoc: -ifeq (,$(findstring nodocs, $(DEB_BUILD_OPTIONS))) - LC_ALL=C.UTF-8 PYTHONPATH=. python3 -m sphinx doc/source $(CURDIR)/debian/swift-doc/usr/share/doc/swift-doc/base - LC_ALL=C.UTF-8 PYTHONPATH=. python3 -m sphinx api-ref/source $(CURDIR)/debian/swift-doc/usr/share/doc/swift-doc/api-ref - dh_sphinxdoc -endif - -override_dh_installdocs: - dh_installdocs - - dh_installdocs -A AUTHORS + dh_installinit --no-start + dh_installinit --no-start -pswift-container --name=swift-container-replicator + dh_installinit --no-start -pswift-container --name=swift-container-auditor + dh_installinit --no-start -pswift-container --name=swift-container-updater + dh_installinit --no-start -pswift-container --name=swift-container-sync + dh_installinit --no-start -pswift-account --name=swift-account-replicator + dh_installinit --no-start -pswift-account --name=swift-account-auditor + dh_installinit --no-start -pswift-account --name=swift-account-reaper + dh_installinit --no-start -pswift-object --name=swift-object-replicator + dh_installinit --no-start -pswift-object --name=swift-object-auditor + dh_installinit --no-start -pswift-object --name=swift-object-updater + dh_installinit --no-start -pswift-object --name=swift-object-reconstructor -override_dh_missing: - dh_missing --fail-missing +override_dh_compress: + dh_compress -Xconf-sample
  15. Download patch debian/swift-container.swift-container-replicator.init

    --- 2.23.0-1/debian/swift-container.swift-container-replicator.init 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container-replicator.init 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,49 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: swift-container-replicator +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Swift container replicator +# Description: Container replicator for swift. +### END INIT INFO + +SERVICE_NAME="container-replicator" +PRINT_NAME="Swift container replicator" + +. /lib/lsb/init-functions + +if ! [ -x /usr/bin/swift-init ] ; then + exit 0 +fi + +if ! [ -f "/etc/swift/container-server.conf" ] ; then + exit 6 +fi + +case "$1" in +start) + log_daemon_msg "Starting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} start + log_end_msg $? +;; +stop) + log_daemon_msg "Stopping Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} stop + log_end_msg $? +;; +restart|force-reload|reload) + log_daemon_msg "Restarting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} reload +;; +status) + exec /usr/bin/swift-init ${SERVICE_NAME} status +;; +*) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +;; +esac + +exit 0
  16. Download patch debian/patches/syslog_log_name.patch
  17. Download patch debian/swift.links
  18. Download patch debian/compat

    --- 2.23.0-1/debian/compat 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/compat 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1 @@ +10
  19. Download patch debian/python3-swift.manpages

    --- 2.23.0-1/debian/python3-swift.manpages 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/python3-swift.manpages 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1 @@ +doc/manpages/swift-init.1
  20. Download patch debian/patches/skip-online-test.patch

    --- 2.23.0-1/debian/patches/skip-online-test.patch 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/patches/skip-online-test.patch 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,25 @@ +Description: Skip test that is erroring with "gaierror: + [Errno -2] Name or service not known" as LP builds don't + have network access. +Author: Corey Bryant <corey.bryant@canonical.com> +Forwarded: no +Last-Update: 2017-08-01 + +--- a/test/unit/common/test_utils.py ++++ b/test/unit/common/test_utils.py +@@ -47,6 +47,7 @@ from six.moves import range + from textwrap import dedent + + import tempfile ++import testtools + import time + import unittest + import fcntl +@@ -1530,6 +1531,7 @@ class TestUtils(unittest.TestCase): + self.assertEqual(sio.getvalue(), + 'test1\ntest3\ntest4\ntest6\n') + ++ @testtools.skip("Skipped by Ubuntu") + def test_get_logger_sysloghandler_plumbing(self): + orig_sysloghandler = utils.ThreadSafeSysLogHandler + syslog_handler_args = []
  21. Download patch debian/swift-container.swift-container-updater.upstart

    --- 2.23.0-1/debian/swift-container.swift-container-updater.upstart 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container-updater.upstart 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,20 @@ +# swift-container-updater - SWIFT Container Updater +# +# The swift container updater. + +description "SWIFT Container Updater" +author "Marc Cluet <marc.cluet@ubuntu.com>" + +start on runlevel [2345] +stop on runlevel [016] + +pre-start script + if [ -f "/etc/swift/container-server.conf" ]; then + exec /usr/bin/swift-init container-updater start + else + exit 1 + fi +end script + +post-stop exec /usr/bin/swift-init container-updater stop +
  22. Download patch debian/control
  23. Download patch debian/swift-object.docs

    --- 2.23.0-1/debian/swift-object.docs 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-object.docs 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,3 @@ +etc/object-expirer.conf-sample +etc/object-server.conf-sample +etc/rsyncd.conf-sample
  24. Download patch debian/swift-doc.links
  25. Download patch debian/swift-container.swift-container-sharder.init

    --- 2.23.0-1/debian/swift-container.swift-container-sharder.init 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container-sharder.init 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,49 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: swift-container-sharder +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Swift container sharder +# Description: Container sharder for swift. +### END INIT INFO + +SERVICE_NAME="container-sharder" +PRINT_NAME="Swift container sharder" + +. /lib/lsb/init-functions + +if ! [ -x /usr/bin/swift-init ] ; then + exit 0 +fi + +if ! [ -f "/etc/swift/container-server.conf" ] ; then + exit 6 +fi + +case "$1" in +start) + log_daemon_msg "Starting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} start + log_end_msg $? +;; +stop) + log_daemon_msg "Stopping Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} stop + log_end_msg $? +;; +restart|force-reload|reload) + log_daemon_msg "Restarting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} reload +;; +status) + exec /usr/bin/swift-init ${SERVICE_NAME} status +;; +*) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +;; +esac + +exit 0
  26. Download patch debian/swift-account.swift-account-replicator.init

    --- 2.23.0-1/debian/swift-account.swift-account-replicator.init 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.swift-account-replicator.init 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,49 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: swift-account-replicator +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Swift account replicator +# Description: Account replicator for swift. +### END INIT INFO + +SERVICE_NAME="account-replicator" +PRINT_NAME="Swift account replicator" + +. /lib/lsb/init-functions + +if ! [ -x /usr/bin/swift-init ] ; then + exit 0 +fi + +if ! [ -f "/etc/swift/account-server.conf" ] ; then + exit 6 +fi + +case "$1" in +start) + log_daemon_msg "Starting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} start + log_end_msg $? +;; +stop) + log_daemon_msg "Stopping Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} stop + log_end_msg $? +;; +restart|force-reload|reload) + log_daemon_msg "Restarting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} reload +;; +status) + exec /usr/bin/swift-init ${SERVICE_NAME} status +;; +*) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +;; +esac + +exit 0
  27. Download patch debian/swift-container.swift-container-auditor.init.in

    --- 2.23.0-1/debian/swift-container.swift-container-auditor.init.in 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container-auditor.init.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: swift-container-auditor -# Required-Start: $remote_fs -# Required-Stop: $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Swift container auditor -# Description: Container auditor server for Swift. -### END INIT INFO - -PROJECT_NAME=swift -NAME="${PROJECT_NAME}-container-auditor" -DESC="OpenStack Swift container auditor" -CONFIG=container-server -MULTI=1 -SYSTEMD_DOC="man:${NAME}(1)"
  28. Download patch debian/swift-account.init

    --- 2.23.0-1/debian/swift-account.init 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.init 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,49 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: swift-account +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Swift account server +# Description: Account server for swift. +### END INIT INFO + +SERVICE_NAME="account-server" +PRINT_NAME="Swift account server" + +. /lib/lsb/init-functions + +if ! [ -x /usr/bin/swift-init ] ; then + exit 0 +fi + +if ! [ -f "/etc/swift/account-server.conf" ] ; then + exit 6 +fi + +case "$1" in +start) + log_daemon_msg "Starting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} start + log_end_msg $? +;; +stop) + log_daemon_msg "Stopping Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} stop + log_end_msg $? +;; +restart|force-reload|reload) + log_daemon_msg "Restarting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} reload +;; +status) + exec /usr/bin/swift-init ${SERVICE_NAME} status +;; +*) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +;; +esac + +exit 0
  29. Download patch debian/swift.manpages

    --- 2.23.0-1/debian/swift.manpages 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift.manpages 2019-10-16 15:26:04.000000000 +0000 @@ -1,13 +1,7 @@ doc/manpages/dispersion.conf.5 -doc/manpages/swift-config.1 doc/manpages/swift-dispersion-populate.1 doc/manpages/swift-dispersion-report.1 -doc/manpages/swift-form-signature.1 doc/manpages/swift-get-nodes.1 -doc/manpages/swift-oldies.1 doc/manpages/swift-orphans.1 doc/manpages/swift-recon.1 -doc/manpages/swift-ring-builder-analyzer.1 doc/manpages/swift-ring-builder.1 -doc/manpages/swift-ring-composer.1 -doc/manpages/swift.conf.5
  30. Download patch debian/swift-object-expirer.upstart

    --- 2.23.0-1/debian/swift-object-expirer.upstart 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-object-expirer.upstart 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,15 @@ +description "SWIFT Object Expirer" +author "Will Kelly <william.kelly@rackspace.com>" + +start on runlevel [2345] +stop on runlevel [016] + +pre-start script + if [ -f "/etc/swift/object-expirer.conf" ]; then + exec /usr/bin/swift-init object-expirer start + else + exit 1 + fi +end script + +post-stop exec /usr/bin/swift-init object-expirer stop
  31. Download patch debian/account-server.conf

    --- 2.23.0-1/debian/account-server.conf 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/account-server.conf 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,16 @@ +[DEFAULT] +bind_ip = 0.0.0.0 +bind_port = 6002 +workers = 2 + +[pipeline:main] +pipeline = account-server + +[app:account-server] +use = egg:swift#account + +[account-replicator] + +[account-auditor] + +[account-reaper]
  32. Download patch debian/swift-account.swift-account-reaper.init.in

    --- 2.23.0-1/debian/swift-account.swift-account-reaper.init.in 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.swift-account-reaper.init.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: swift-account-reaper -# Required-Start: $remote_fs -# Required-Stop: $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Swift account reaper -# Description: Account reaper for Swift. -### END INIT INFO - -PROJECT_NAME=swift -NAME="${PROJECT_NAME}-account-reaper" -DESC="OpenStack Swift account reaper" -CONFIG=account-server -MULTI=1 -SYSTEMD_DOC="man:${NAME}(1)"
  33. Download patch debian/swift-account.swift-account.init.in

    --- 2.23.0-1/debian/swift-account.swift-account.init.in 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.swift-account.init.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: swift-account -# Required-Start: $remote_fs -# Required-Stop: $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Swift account server -# Description: Account server for Swift. -### END INIT INFO - -PROJECT_NAME=swift -NAME="${PROJECT_NAME}-account-server" -DESC="OpenStack Swift account server" -CONFIG=account-server -MULTI=1 -SYSTEMD_DOC="man:${NAME}(1)"
  34. Download patch debian/clean

    --- 2.23.0-1/debian/clean 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/clean 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -debian/*.upstart -debian/*.init -debian/*.service -debian/python3-swift.postinst
  35. Download patch debian/pybuild.testfiles

    --- 2.23.0-1/debian/pybuild.testfiles 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/pybuild.testfiles 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -etc -test -swift.egg-info
  36. Download patch debian/swift-object-expirer.docs

    --- 2.23.0-1/debian/swift-object-expirer.docs 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-object-expirer.docs 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1 @@ +etc/object-expirer.conf-sample
  37. Download patch debian/swift-container.swift-container.init.in

    --- 2.23.0-1/debian/swift-container.swift-container.init.in 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container.init.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: swift-container -# Required-Start: $remote_fs -# Required-Stop: $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Swift container server -# Description: Container server for Swift. -### END INIT INFO - -PROJECT_NAME=swift -NAME="${PROJECT_NAME}-container-server" -DESC="OpenStack Swift container server" -CONFIG=container-server -MULTI=1 -SYSTEMD_DOC="man:${NAME}(1)"
  38. Download patch debian/swift-object.cron.d

    --- 2.23.0-1/debian/swift-object.cron.d 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-object.cron.d 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -*/5 * * * * swift test -x /usr/bin/swift-recon-cron && test -r /etc/swift/object-server.conf && /usr/bin/swift-recon-cron /etc/swift/object-server.conf
  39. Download patch debian/swift-object-generator

    --- 2.23.0-1/debian/swift-object-generator 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-object-generator 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -#!/bin/sh - -# This systemd generator creates dependency symlinks that make all -# Swift account servers be started/stopped/reloaded -# when swift-account*.service is started/stopped/reloaded. - -set -eu - -GENDIR="$1" -LIBDIR="/lib/systemd/system" -CONFIG=/etc/swift/account-server - -if [ ! -d "$CONFIG" ] ; then - # Single config mode - exit 0 -fi - -for NAME in $CONFIG/* ; do - NAME=${NAME#$CONFIG} - NAME=${NAME#/} - NAME=${NAME%.conf} - - for i in object object-auditor object-reconstructor object-replicator object-updater ; do - mkdir -p "$GENDIR/swift-$i.service.wants" - ln -s \ - "$LIBDIR/swift-$i@.service" \ - "$GENDIR/swift-$i.service.wants/swift-$i@$NAME.service" - done -done - -exit 0 -
  40. Download patch debian/swift-doc.doc-base

    --- 2.23.0-1/debian/swift-doc.doc-base 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-doc.doc-base 2019-10-16 15:26:04.000000000 +0000 @@ -5,5 +5,5 @@ Abstract: Sphinx documentation for Swift Section: Network/File Transfer Format: HTML -Index: /usr/share/doc/swift-doc/base/index.html -Files: /usr/share/doc/swift-doc/base/* +Index: /usr/share/doc/swift-doc/html/index.html +Files: /usr/share/doc/swift-doc/html/*
  41. Download patch debian/python3-swift.install

    --- 2.23.0-1/debian/python3-swift.install 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/python3-swift.install 2019-10-16 15:26:04.000000000 +0000 @@ -1 +1,3 @@ -usr/lib/python3*/dist-packages/* +usr/bin/swift-drive-audit +usr/bin/swift-init +usr/lib/python*/dist-packages/*
  42. Download patch debian/swift-drive-audit.lintian-overrides

    --- 2.23.0-1/debian/swift-drive-audit.lintian-overrides 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-drive-audit.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -swift-drive-audit binary: spelling-error-in-copyright Thier Their
  43. Download patch debian/swift-drive-audit.cron.d

    --- 2.23.0-1/debian/swift-drive-audit.cron.d 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-drive-audit.cron.d 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -*/5 * * * * root test -x /usr/bin/swift-drive-audit && test -r /etc/swift/drive-audit.conf && /usr/bin/swift-drive-audit /etc/swift/drive-audit.conf
  44. Download patch debian/python3-swift.docs

    --- 2.23.0-1/debian/python3-swift.docs 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/python3-swift.docs 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1 @@ +
  45. Download patch debian/swift.docs

    --- 2.23.0-1/debian/swift.docs 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift.docs 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,4 @@ +CHANGELOG +etc/dispersion.conf-sample +etc/drive-audit.conf-sample +etc/swift.conf-sample
  46. Download patch debian/swift-object-expirer.swift-object-expirer.init.in

    --- 2.23.0-1/debian/swift-object-expirer.swift-object-expirer.init.in 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-object-expirer.swift-object-expirer.init.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: swift-object-expirer -# Required-Start: $remote_fs -# Required-Stop: $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Swift object expirer -# Description: Object expirer daemon for Swift. -### END INIT INFO - -PROJECT_NAME=swift -NAME="${PROJECT_NAME}-object-expirer" -DESC="OpenStack Swift object expirer" -CONFIG=object-expirer -SYSTEMD_DOC="man:${NAME}(1)"
  47. Download patch debian/swift-container.swift-container-updater.init

    --- 2.23.0-1/debian/swift-container.swift-container-updater.init 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container-updater.init 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,49 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: swift-container-updater +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Swift container updater +# Description: Container updater for swift. +### END INIT INFO + +SERVICE_NAME="container-updater" +PRINT_NAME="Swift container updater" + +. /lib/lsb/init-functions + +if ! [ -x /usr/bin/swift-init ] ; then + exit 0 +fi + +if ! [ -f "/etc/swift/container-server.conf" ] ; then + exit 6 +fi + +case "$1" in +start) + log_daemon_msg "Starting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} start + log_end_msg $? +;; +stop) + log_daemon_msg "Stopping Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} stop + log_end_msg $? +;; +restart|force-reload|reload) + log_daemon_msg "Restarting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} reload +;; +status) + exec /usr/bin/swift-init ${SERVICE_NAME} status +;; +*) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +;; +esac + +exit 0
  48. Download patch debian/swift-container.swift-container-sync.init.in

    --- 2.23.0-1/debian/swift-container.swift-container-sync.init.in 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container-sync.init.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: swift-container-sync -# Required-Start: $remote_fs -# Required-Stop: $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Swift container sync -# Description: Container sync server for Swift. -### END INIT INFO - -PROJECT_NAME=swift -NAME="${PROJECT_NAME}-container-sync" -DESC="OpenStack Swift container sync" -CONFIG=container-server -MULTI=1 -SYSTEMD_DOC="man:${NAME}(1)"
  49. Download patch debian/swift-account.swift-account-auditor.init

    --- 2.23.0-1/debian/swift-account.swift-account-auditor.init 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.swift-account-auditor.init 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,49 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: swift-account-auditor +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Swift account auditor +# Description: Account auditor for swift. +### END INIT INFO + +SERVICE_NAME="account-auditor" +PRINT_NAME="Swift account auditor" + +. /lib/lsb/init-functions + +if ! [ -x /usr/bin/swift-init ] ; then + exit 0 +fi + +if ! [ -f "/etc/swift/account-server.conf" ] ; then + exit 6 +fi + +case "$1" in +start) + log_daemon_msg "Starting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} start + log_end_msg $? +;; +stop) + log_daemon_msg "Stopping Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} stop + log_end_msg $? +;; +restart|force-reload|reload) + log_daemon_msg "Restarting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} reload +;; +status) + exec /usr/bin/swift-init ${SERVICE_NAME} status +;; +*) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +;; +esac + +exit 0
  50. Download patch debian/swift-object-expirer.manpages

    --- 2.23.0-1/debian/swift-object-expirer.manpages 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-object-expirer.manpages 2019-10-16 15:26:04.000000000 +0000 @@ -1 +1,2 @@ +doc/manpages/object-expirer.conf.5 doc/manpages/swift-object-expirer.1
  51. Download patch debian/swift-container.swift-container-sharder.init.in

    --- 2.23.0-1/debian/swift-container.swift-container-sharder.init.in 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container-sharder.init.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: swift-container-sharder -# Required-Start: $remote_fs -# Required-Stop: $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Swift container sharder -# Description: Container sharder for Swift. -### END INIT INFO - -PROJECT_NAME=swift -NAME="${PROJECT_NAME}-container-sharder" -DESC="OpenStack Swift container sharder" -CONFIG=container-server -MULTI=1 -SYSTEMD_DOC="man:${NAME}(1)"
  52. Download patch debian/swift-account.lintian-overrides

    --- 2.23.0-1/debian/swift-account.lintian-overrides 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -swift-account binary: spelling-error-in-copyright Thier Their -swift-account binary: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/swift-account-auditor@.service -swift-account binary: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/swift-account-reaper@.service -swift-account binary: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/swift-account-replicator@.service -swift-account binary: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/swift-account@.service
  53. Download patch debian/python3-swift.postrm

    --- 2.23.0-1/debian/python3-swift.postrm 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/python3-swift.postrm 2019-10-16 15:26:04.000000000 +0000 @@ -2,13 +2,20 @@ set -e -if [ "${1}" = "purge" ] ; then - for i in lock log run lib cache backups ; do - rm -rf /var/$i/swift - done - rm -rf /etc/swift -fi +case "$1" in + purge) + # Remove swift user if possible + userdel swift || true + ;; + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac #DEBHELPER# exit 0 +
  54. Download patch debian/swift-account.swift-account-replicator.init.in

    --- 2.23.0-1/debian/swift-account.swift-account-replicator.init.in 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.swift-account-replicator.init.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: swift-account-replicator -# Required-Start: $remote_fs -# Required-Stop: $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Swift account replicator -# Description: Account replicator for Swift. -### END INIT INFO - -PROJECT_NAME=swift -NAME="${PROJECT_NAME}-account-replicator" -DESC="OpenStack Swift account replicator" -CONFIG=account-server -MULTI=1 -SYSTEMD_DOC="man:${NAME}(1)"
  55. Download patch debian/patches/series

    --- 2.23.0-1/debian/patches/series 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/patches/series 2019-10-16 15:26:04.000000000 +0000 @@ -1 +1,4 @@ -syslog_log_name.patch +skip-test-local-py36.patch +drop-ipaddress-requirement.patch +fix-deployment-guide-header.patch +skip-online-test.patch
  56. Download patch debian/patches/fix-deployment-guide-header.patch

    --- 2.23.0-1/debian/patches/fix-deployment-guide-header.patch 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/patches/fix-deployment-guide-header.patch 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,32 @@ +Description: Extend headers to prevent the following sphinx error: + sphinx.errors.SphinxWarning: /<<PKGBUILDDIR>>/doc/source/deployment_guide.rst:815: ERROR: Malformed table. + Column span alignment problem in table line 13. + This is required when building swift with the older version of python-docutils + that the Xenial-Pike cloud-archive picks up. +Author: Corey Bryant <corey.bryant@canonical.com> +Forwarded: no +Last-Updated: 2017-08-25 + +--- a/doc/source/deployment_guide.rst ++++ b/doc/source/deployment_guide.rst +@@ -800,9 +800,9 @@ ionice_priority None + [object-reconstructor] + ********************** + +-=========================== ======================== ================================ ++=========================== ======================== ====================================== + Option Default Description +---------------------------- ------------------------ -------------------------------- ++--------------------------- ------------------------ -------------------------------------- + log_name object-reconstructor Label used when logging + log_facility LOG_LOCAL0 Syslog log facility + log_level INFO Logging level +@@ -885,7 +885,7 @@ ionice_priority None + Work only with ionice_class. + Ignored if IOPRIO_CLASS_IDLE + is set. +-=========================== ======================== ================================ ++=========================== ======================== ====================================== + + **************** + [object-updater]
  57. Download patch debian/swift-object.links
  58. Download patch debian/python3-swift.lintian-overrides

    --- 2.23.0-1/debian/python3-swift.lintian-overrides 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/python3-swift.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -python3-swift binary: spelling-error-in-copyright Thier Their
  59. Download patch debian/gen-init

    --- 2.23.0-1/debian/gen-init 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/gen-init 1970-01-01 00:00:00.000000000 +0000 @@ -1,94 +0,0 @@ -#!/bin/sh - -INIT_TEMPLATE=${1} - -# Get the variables defined in the init template -. ${INIT_TEMPLATE} - -SYSTEM_USER=${PROJECT_NAME} -SYSTEM_GROUP=${PROJECT_NAME} - -# Find out what should go in After= -SHOULD_START=`cat ${INIT_TEMPLATE} | grep "# Should-Start:" | sed 's/# Should-Start://'` - -INIT_FILE=`echo ${INIT_TEMPLATE} | sed 's/.init.in/.init/'` -SERVICE_FILE=`echo ${INIT_TEMPLATE} | sed 's/.init.in/.service/'` - -if [ -n "${SHOULD_START}" ] ; then - AFTER="After=" - for i in ${SHOULD_START} ; do - AFTER="${AFTER}${i}.service " - done -fi - -if [ -n "$SYSTEMD_DOC" ] ; then - SYSTEMD_DOC="Documentation=$SYSTEMD_DOC" -fi - -######## -# init # -######## -cp "$INIT_TEMPLATE" "$INIT_FILE" -cat debian/init-script-template >>"$INIT_FILE" - -########### -# systemd # -########### -echo "[Unit] -Description=${DESC} -ConditionFileNotEmpty=/etc/${PROJECT_NAME}/${CONFIG}.conf -AssertFileNotEmpty=/etc/swift/account.ring.gz -AssertFileNotEmpty=/etc/swift/container.ring.gz -AssertPathExistsGlob=/etc/swift/object*.ring.gz -$SYSTEMD_DOC -$AFTER - -[Service] -User=${SYSTEM_USER} -Group=${SYSTEM_GROUP} -WorkingDirectory=~ -CacheDirectory=${PROJECT_NAME} -RuntimeDirectory=${PROJECT_NAME} lock/${PROJECT_NAME} -ExecStart=/usr/bin/${NAME} /etc/${PROJECT_NAME}/${CONFIG}.conf -Restart=on-failure -LimitNOFILE=65535 - -[Install] -WantedBy=multi-user.target -" >${SERVICE_FILE} - -############################## - -if [ "$MULTI" ] ; then - -SERVICE_FILE=`echo ${INIT_TEMPLATE} | sed 's/.init.in/@.service/'` -SERVICE_NAME=${INIT_TEMPLATE%.init.in} -SERVICE_NAME=${SERVICE_NAME##*/} -SERVICE_NAME=${SERVICE_NAME##*.} - -echo "[Unit] -Description=${DESC} -PartOf=${SERVICE_NAME}.service -ReloadPropagatedFrom=${SERVICE_NAME}.service -ConditionFileNotEmpty=/etc/${PROJECT_NAME}/${CONFIG}/%i.conf -AssertFileNotEmpty=/etc/swift/account.ring.gz -AssertFileNotEmpty=/etc/swift/container.ring.gz -AssertPathExistsGlob=/etc/swift/object*.ring.gz -$SYSTEMD_DOC -$AFTER - -[Service] -User=${SYSTEM_USER} -Group=${SYSTEM_GROUP} -WorkingDirectory=~ -CacheDirectory=${PROJECT_NAME} -RuntimeDirectory=${PROJECT_NAME} lock/${PROJECT_NAME} -ExecStart=/usr/bin/${NAME} /etc/${PROJECT_NAME}/${CONFIG}/%i.conf -Restart=on-failure -LimitNOFILE=65535 - -[Install] -WantedBy=multi-user.target -" >${SERVICE_FILE} - -fi
  60. Download patch debian/swift-container.upstart

    --- 2.23.0-1/debian/swift-container.upstart 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.upstart 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,20 @@ +# swift-container-server - SWIFT Container Server +# +# The swift container server. + +description "SWIFT Container Server" +author "Marc Cluet <marc.cluet@ubuntu.com>" + +start on runlevel [2345] +stop on runlevel [016] + +pre-start script + if [ -f "/etc/swift/container-server.conf" ]; then + exec /usr/bin/swift-init container-server start + else + exit 1 + fi +end script + +post-stop exec /usr/bin/swift-init container-server stop +
  61. Download patch debian/swift-account.install

    --- 2.23.0-1/debian/swift-account.install 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.install 2019-10-16 15:26:04.000000000 +0000 @@ -1,7 +1,3 @@ -#! /usr/bin/dh-exec --with=install -debian/swift-account-generator /lib/systemd/system-generators -etc/account-server.conf-sample => /etc/swift/account-server.conf -etc/account-server.conf-sample => /usr/share/doc/swift-account/examples/account-server.conf usr/bin/swift-account-audit usr/bin/swift-account-auditor usr/bin/swift-account-info
  62. Download patch debian/patches/drop-ipaddress-requirement.patch

    --- 2.23.0-1/debian/patches/drop-ipaddress-requirement.patch 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/patches/drop-ipaddress-requirement.patch 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,13 @@ +Description: Drop ipaddress from requirements.txt to avoid errors with + "pkg_resources.DistributionNotFound: The 'ipaddress>=1.0.16' + distribution was not found and is required by swift" +Author: Corey Bryant <corey.bryant@canonical.com> +Forwarded: not-needed + +--- a/requirements.txt ++++ b/requirements.txt +@@ -13,4 +13,3 @@ + xattr>=0.4;sys_platform!='win32' # MIT + PyECLib>=1.3.1 # BSD + cryptography>=2.0.2 # BSD/Apache-2.0 +-ipaddress>=1.0.16;python_version<'3.3' # PSF
  63. Download patch debian/container-server.conf

    --- 2.23.0-1/debian/container-server.conf 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/container-server.conf 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,18 @@ +[DEFAULT] +bind_ip = 0.0.0.0 +bind_port = 6001 +workers = 2 + +[pipeline:main] +pipeline = container-server + +[app:container-server] +use = egg:swift#container + +[container-replicator] + +[container-updater] + +[container-auditor] + +[container-sync]
  64. Download patch debian/swift-object.install

    --- 2.23.0-1/debian/swift-object.install 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-object.install 2019-10-16 15:26:04.000000000 +0000 @@ -1,8 +1,3 @@ -#! /usr/bin/dh-exec --with=install -debian/swift-object-generator /lib/systemd/system-generators -etc/object-server.conf-sample => /etc/swift/object-server.conf -etc/object-server.conf-sample => /usr/share/doc/swift-object/examples/object-server.conf -etc/rsyncd.conf-sample => /usr/share/doc/swift-object/examples/rsyncd.conf usr/bin/swift-object-auditor usr/bin/swift-object-info usr/bin/swift-object-reconstructor @@ -10,4 +5,3 @@ usr/bin/swift-object-relinker usr/bin/swift-object-replicator usr/bin/swift-object-server usr/bin/swift-object-updater -usr/bin/swift-recon-cron
  65. Download patch debian/object-expirer.conf

    --- 2.23.0-1/debian/object-expirer.conf 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/object-expirer.conf 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,18 @@ +[DEFAULT] + +[object-expirer] +interval = 300 + +[pipeline:main] +pipeline = catch_errors cache proxy-server + +[app:proxy-server] +use = egg:swift#proxy + +[filter:cache] +use = egg:swift#memcache + +[filter:catch_errors] +use = egg:swift#catch_errors + +# See object-expirer.conf-sample for options
  66. Download patch debian/swift-account.swift-account-auditor.init.in

    --- 2.23.0-1/debian/swift-account.swift-account-auditor.init.in 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.swift-account-auditor.init.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: swift-account-auditor -# Required-Start: $remote_fs -# Required-Stop: $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Swift account auditor -# Description: Account auditor server for Swift. -### END INIT INFO - -PROJECT_NAME=swift -NAME="${PROJECT_NAME}-account-auditor" -DESC="OpenStack Swift account auditor" -CONFIG=account-server -MULTI=1 -SYSTEMD_DOC="man:${NAME}(1)"
  67. Download patch debian/source/options

    --- 2.23.0-1/debian/source/options 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/source/options 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -extend-diff-ignore = "^[^/]*[.]egg-info/" -extend-diff-ignore = "^[.]gitreview$"
  68. Download patch debian/swift-container.swift-container-sync.init

    --- 2.23.0-1/debian/swift-container.swift-container-sync.init 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container-sync.init 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,49 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: swift-container-sync +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Swift container sync +# Description: Container sync for swift. +### END INIT INFO + +SERVICE_NAME="container-sync" +PRINT_NAME="Swift container sync" + +. /lib/lsb/init-functions + +if ! [ -x /usr/bin/swift-init ] ; then + exit 0 +fi + +if ! [ -f "/etc/swift/container-server.conf" ] ; then + exit 6 +fi + +case "$1" in +start) + log_daemon_msg "Starting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} start + log_end_msg $? +;; +stop) + log_daemon_msg "Stopping Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} stop + log_end_msg $? +;; +restart|force-reload|reload) + log_daemon_msg "Restarting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} reload +;; +status) + exec /usr/bin/swift-init ${SERVICE_NAME} status +;; +*) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +;; +esac + +exit 0
  69. Download patch debian/swift-container.links
  70. Download patch debian/swift-container-generator

    --- 2.23.0-1/debian/swift-container-generator 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container-generator 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -#!/bin/sh - -# This systemd generator creates dependency symlinks that make all -# Swift account servers be started/stopped/reloaded -# when swift-account*.service is started/stopped/reloaded. - -set -eu - -GENDIR="$1" -LIBDIR="/lib/systemd/system" -CONFIG=/etc/swift/account-server - -if [ ! -d "$CONFIG" ] ; then - # Single config mode - exit 0 -fi - -for NAME in $CONFIG/* ; do - NAME=${NAME#$CONFIG} - NAME=${NAME#/} - NAME=${NAME%.conf} - - for i in container container-auditor container-replicator container-sharder container-sync container-updater ; do - mkdir -p "$GENDIR/swift-$i.service.wants" - ln -s \ - "$LIBDIR/swift-$i@.service" \ - "$GENDIR/swift-$i.service.wants/swift-$i@$NAME.service" - done -done - -exit 0 -
  71. Download patch debian/swift-container.init

    --- 2.23.0-1/debian/swift-container.init 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.init 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,49 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: swift-container +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Swift container server +# Description: Container server for swift. +### END INIT INFO + +SERVICE_NAME="container-server" +PRINT_NAME="Swift container server" + +. /lib/lsb/init-functions + +if ! [ -x /usr/bin/swift-init ] ; then + exit 0 +fi + +if ! [ -f "/etc/swift/container-server.conf" ] ; then + exit 6 +fi + +case "$1" in +start) + log_daemon_msg "Starting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} start + log_end_msg $? +;; +stop) + log_daemon_msg "Stopping Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} stop + log_end_msg $? +;; +restart|force-reload|reload) + log_daemon_msg "Restarting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} reload +;; +status) + exec /usr/bin/swift-init ${SERVICE_NAME} status +;; +*) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +;; +esac + +exit 0
  72. Download patch debian/object-server.conf

    --- 2.23.0-1/debian/object-server.conf 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/object-server.conf 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,16 @@ +[DEFAULT] +bind_ip = 0.0.0.0 +bind_port = 6000 +workers = 2 + +[pipeline:main] +pipeline = object-server + +[app:object-server] +use = egg:swift#object + +[object-replicator] + +[object-updater] + +[object-auditor]
  73. Download patch debian/patches/skip-test-local-py36.patch

    --- 2.23.0-1/debian/patches/skip-test-local-py36.patch 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/patches/skip-test-local-py36.patch 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,22 @@ +Description: Skip this test for Python 3.6 as it expects en_US.UTF-8 + locale to be installed. +Author: Corey Bryant <corey.bryant@canonical.com> +Forwarded: not-needed + +--- a/test/unit/test_locale/test_locale.py ++++ b/test/unit/test_locale/test_locale.py +@@ -17,11 +17,14 @@ + import os + import unittest + import sys ++import testtools + + from subprocess import check_output + + + class TestTranslations(unittest.TestCase): ++ @testtools.skipIf(sys.version_info.major == 3 and sys.version_info.minor == 6, ++ "Skipped by Ubuntu, build chroot doesn't include en_US.UTF-8 by default") + def test_translations(self): + translated_message = check_output([sys.executable, __file__], env={ + # Need to set this so py36 can do UTF-8, but we override later
  74. Download patch debian/swift-drive-audit.install

    --- 2.23.0-1/debian/swift-drive-audit.install 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-drive-audit.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -#! /usr/bin/dh-exec --with=install -etc/drive-audit.conf-sample => /etc/swift/drive-audit.conf -etc/drive-audit.conf-sample => /usr/share/doc/swift-drive-audit/examples/drive-audit.conf -usr/bin/swift-drive-audit
  75. Download patch debian/swift-account.docs

    --- 2.23.0-1/debian/swift-account.docs 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.docs 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1 @@ +etc/account-server.conf-sample
  76. Download patch debian/swift-object-expirer.links
  77. Download patch debian/python3-swift.postinst

    --- 2.23.0-1/debian/python3-swift.postinst 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/python3-swift.postinst 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,19 @@ +#!/bin/sh -e + +#DEBHELPER# + +if ! getent passwd swift > /dev/null ; then + adduser --system --quiet --disabled-login --home /var/lib/swift \ + --disabled-password --no-create-home --group \ + --shell /bin/false swift +fi + +usermod -G adm swift + +if [ -d /var/cache/swift ] ; then + # Allow swift user to write to cache directory + chown root:swift /var/cache/swift + chmod 0775 /var/cache/swift +fi + +exit 0
  78. Download patch debian/swift-object-expirer.lintian-overrides

    --- 2.23.0-1/debian/swift-object-expirer.lintian-overrides 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-object-expirer.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -swift-object-expirer binary: spelling-error-in-copyright Thier Their
  79. Download patch debian/init-script-template

    --- 2.23.0-1/debian/init-script-template 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/init-script-template 1970-01-01 00:00:00.000000000 +0000 @@ -1,148 +0,0 @@ -#!/bin/sh -# The content after this line comes from Debian Swift source package -# and has been automatically added to a .init.in script, which -# contains only the descriptive part for the daemon. Everything -# else is standardized as a single unique script. - -# Author: Thomas Goirand <zigo@debian.org> -# Author: Ondřej Nový <novy@ondrej.org> - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin - -DAEMON=/usr/bin/${NAME} -SYSTEM_USER=${PROJECT_NAME} -SYSTEM_GROUP=${PROJECT_NAME} - -# Exit if the package is not installed -[ -x $DAEMON ] || exit 0 - -# If ran as root, create /var/lock/X, /var/run/X and /var/cache/X as needed -if [ `whoami` = "root" ] ; then - for i in lock run cache ; do - mkdir -p /var/$i/${PROJECT_NAME} - chown ${SYSTEM_USER}:${SYSTEM_GROUP} /var/$i/${PROJECT_NAME} - done -fi - -# This defines init_is_upstart which we use later on (+ more...) -. /lib/lsb/init-functions - -RET=0 - -# Configs -[ -r /etc/default/openstack ] && . /etc/default/openstack -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -do_start() { - # Check for existence of ring files - if - [ ! -r /etc/swift/account.ring.gz ] || - [ ! -r /etc/swift/container.ring.gz ] || - test -z "$(find /etc/swift -maxdepth 1 -name 'object*.ring.gz' -print -quit)" ; then - log_end_msg 1 - exit $? - fi - - STARTED= - for CONF_FILE in /etc/swift/${CONFIG}.conf /etc/swift/${CONFIG}/*.conf ; do - if [ ! -e "$CONF_FILE" ] ; then - continue - fi - - SUFFIX=${CONF_FILE#/etc/swift/$CONFIG} - SUFFIX=${SUFFIX%.conf} - if [ "$SUFFIX" ] ; then - # /etc/swift/${NAME}/*.conf - SUFFIX=-${SUFFIX#/} - fi - PIDFILE=/var/run/${PROJECT_NAME}/${NAME}${SUFFIX}.pid - - start-stop-daemon \ - --start \ - --quiet \ - --background \ - --chuid ${SYSTEM_USER}:${SYSTEM_GROUP} \ - --make-pidfile \ - --pidfile ${PIDFILE} \ - --chdir /var/lib/${PROJECT_NAME} \ - --startas $DAEMON \ - --test > /dev/null \ - || return 1 - start-stop-daemon \ - --start \ - --quiet \ - --background \ - --chuid ${SYSTEM_USER}:${SYSTEM_GROUP} \ - --make-pidfile \ - --pidfile ${PIDFILE} \ - --chdir /var/lib/${PROJECT_NAME} \ - --startas $DAEMON \ - -- $CONF_FILE \ - || return 2 - - STARTED=1 - done - - if [ ! "$STARTED" ] ; then - return 2 - fi -} - -do_stop() { - for PIDFILE in /var/run/${PROJECT_NAME}/${NAME}*.pid ; do - start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE - RETVAL=$? - rm -f $PIDFILE - if [ "$RETVAL" != "0" ] ; then - return "$RETVAL" - fi - done -} - -case "$1" in -start) - #init_is_upstart > /dev/null 2>&1 && exit 1 - log_daemon_msg "Starting $DESC" "$NAME" - do_start - case $? in - 0|1) log_end_msg 0 ; RET=$? ;; - 2) log_end_msg 1 ; RET=$? ;; - esac -;; -stop) - #init_is_upstart > /dev/null 2>&1 && exit 0 - log_daemon_msg "Stopping $DESC" "$NAME" - do_stop - case $? in - 0|1) log_end_msg 0 ; RET=$? ;; - 2) log_end_msg 1 ; RET=$? ;; - esac -;; -status) - status_of_proc "$DAEMON" "$NAME" - RET=$? -;; -restart|force-reload) - #init_is_upstart > /dev/null 2>&1 && exit 1 - log_daemon_msg "Restarting $DESC" "$NAME" - do_stop - case $? in - 0|1) - do_start - case $? in - 0) log_end_msg 0 ; RET=$? ;; - 1) log_end_msg 1 ; RET=$? ;; # Old process is still running - *) log_end_msg 1 ; RET=$? ;; # Failed to start - esac - ;; - *) log_end_msg 1 ; RET=$? ;; # Failed to stop - esac -;; -*) - echo "Usage: $0 {start|stop|status|restart|force-reload}" >&2 - RET=3 -;; -esac - -exit $RET
  80. Download patch debian/swift.install

    --- 2.23.0-1/debian/swift.install 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift.install 2019-10-16 15:26:04.000000000 +0000 @@ -1,13 +1,4 @@ -#! /usr/bin/dh-exec --with=install -debian/swift.rsyslog => /etc/rsyslog.d/swift.conf -etc/container-sync-realms.conf-sample => /etc/swift/container-sync-realms.conf -etc/container-sync-realms.conf-sample => /usr/share/doc/swift/examples/container-sync-realms.conf -etc/dispersion.conf-sample => /etc/swift/dispersion.conf -etc/dispersion.conf-sample => /usr/share/doc/swift/examples/dispersion.conf -etc/swift.conf-sample => /etc/swift/swift.conf -etc/swift.conf-sample => /usr/share/doc/swift/examples/swift.conf usr/bin/swift-config -usr/bin/swift-container-deleter usr/bin/swift-dispersion-populate usr/bin/swift-dispersion-report usr/bin/swift-form-signature @@ -15,6 +6,9 @@ usr/bin/swift-get-nodes usr/bin/swift-oldies usr/bin/swift-orphans usr/bin/swift-recon +usr/bin/swift-recon +usr/bin/swift-recon-cron +usr/bin/swift-recon-cron usr/bin/swift-ring-builder usr/bin/swift-ring-builder-analyzer usr/bin/swift-ring-composer
  81. Download patch debian/swift-container.swift-container-replicator.upstart

    --- 2.23.0-1/debian/swift-container.swift-container-replicator.upstart 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container-replicator.upstart 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,20 @@ +# swift-container-replicator - SWIFT Container Replicator +# +# The swift container replicator. + +description "SWIFT Container Replicator" +author "Marc Cluet <marc.cluet@ubuntu.com>" + +start on runlevel [2345] +stop on runlevel [016] + +pre-start script + if [ -f "/etc/swift/container-server.conf" ]; then + exec /usr/bin/swift-init container-replicator start + else + exit 1 + fi +end script + +post-stop exec /usr/bin/swift-init container-replicator stop +
  82. Download patch debian/swift-container.swift-container-auditor.init

    --- 2.23.0-1/debian/swift-container.swift-container-auditor.init 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container-auditor.init 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,49 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: swift-container-auditor +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Swift container auditor +# Description: Container auditor for swift. +### END INIT INFO + +SERVICE_NAME="container-auditor" +PRINT_NAME="Swift container auditor" + +. /lib/lsb/init-functions + +if ! [ -x /usr/bin/swift-init ] ; then + exit 0 +fi + +if ! [ -f "/etc/swift/container-server.conf" ] ; then + exit 6 +fi + +case "$1" in +start) + log_daemon_msg "Starting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} start + log_end_msg $? +;; +stop) + log_daemon_msg "Stopping Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} stop + log_end_msg $? +;; +restart|force-reload|reload) + log_daemon_msg "Restarting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} reload +;; +status) + exec /usr/bin/swift-init ${SERVICE_NAME} status +;; +*) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +;; +esac + +exit 0
  83. Download patch debian/swift-drive-audit.links
  84. Download patch debian/swift-object.init

    --- 2.23.0-1/debian/swift-object.init 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-object.init 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,49 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: swift-object +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Swift object server +# Description: Object server for swift. +### END INIT INFO + +SERVICE_NAME="object-server" +PRINT_NAME="Swift object server" + +. /lib/lsb/init-functions + +if ! [ -x /usr/bin/swift-init ] ; then + exit 0 +fi + +if ! [ -f "/etc/swift/object-server.conf" ] ; then + exit 6 +fi + +case "$1" in +start) + log_daemon_msg "Starting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} start + log_end_msg $? +;; +stop) + log_daemon_msg "Stopping Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} stop + log_end_msg $? +;; +restart|force-reload|reload) + log_daemon_msg "Restarting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} reload +;; +status) + exec /usr/bin/swift-init ${SERVICE_NAME} status +;; +*) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +;; +esac + +exit 0
  85. Download patch debian/swift-object-expirer.install

    --- 2.23.0-1/debian/swift-object-expirer.install 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-object-expirer.install 2019-10-16 15:26:04.000000000 +0000 @@ -1,4 +1 @@ -#! /usr/bin/dh-exec --with=install -etc/object-expirer.conf-sample => /etc/swift/object-expirer.conf -etc/object-expirer.conf-sample => /usr/share/doc/swift-object-expirer/examples/object-expirer.conf usr/bin/swift-object-expirer
  86. Download patch debian/swift-account.upstart

    --- 2.23.0-1/debian/swift-account.upstart 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.upstart 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,20 @@ +# swift-account-server - SWIFT Account Server +# +# The swift account server. + +description "SWIFT Account Server" +author "Marc Cluet <marc.cluet@ubuntu.com>" + +start on runlevel [2345] +stop on runlevel [016] + +pre-start script + if [ -f "/etc/swift/account-server.conf" ]; then + exec /usr/bin/swift-init account-server start + else + exit 1 + fi +end script + +post-stop exec /usr/bin/swift-init account-server stop +
  87. Download patch debian/swift-account.links
  88. Download patch debian/gbp.conf

    --- 2.23.0-1/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/gbp.conf 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,7 @@ +[DEFAULT] +debian-branch = master +upstream-tag = %(version)s +pristine-tar = True + +[buildpackage] +export-dir = ../build-area
  89. Download patch debian/swift-container.swift-container-updater.init.in

    --- 2.23.0-1/debian/swift-container.swift-container-updater.init.in 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container-updater.init.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: swift-container-updater -# Required-Start: $remote_fs -# Required-Stop: $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Swift container updater -# Description: Container updater server for Swift. -### END INIT INFO - -PROJECT_NAME=swift -NAME="${PROJECT_NAME}-container-updater" -DESC="OpenStack Swift container updater" -CONFIG=container-server -MULTI=1 -SYSTEMD_DOC="man:${NAME}(1)"
  90. Download patch debian/swift-container.lintian-overrides

    --- 2.23.0-1/debian/swift-container.lintian-overrides 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -swift-container binary: spelling-error-in-copyright Thier Their -swift-container binary: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/swift-container-auditor@.service -swift-container binary: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/swift-container-replicator@.service -swift-container binary: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/swift-container-sharder@.service -swift-container binary: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/swift-container-sync@.service -swift-container binary: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/swift-container-updater@.service -swift-container binary: package-supports-alternative-init-but-no-init.d-script lib/systemd/system/swift-container@.service
  91. Download patch debian/swift-account-generator

    --- 2.23.0-1/debian/swift-account-generator 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account-generator 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -#!/bin/sh - -# This systemd generator creates dependency symlinks that make all -# Swift account servers be started/stopped/reloaded -# when swift-account*.service is started/stopped/reloaded. - -set -eu - -GENDIR="$1" -LIBDIR="/lib/systemd/system" -CONFIG=/etc/swift/account-server - -if [ ! -d "$CONFIG" ] ; then - # Single config mode - exit 0 -fi - -for NAME in $CONFIG/* ; do - NAME=${NAME#$CONFIG} - NAME=${NAME#/} - NAME=${NAME%.conf} - - for i in account account-auditor account-reaper account-replicator ; do - mkdir -p "$GENDIR/swift-$i.service.wants" - ln -s \ - "$LIBDIR/swift-$i@.service" \ - "$GENDIR/swift-$i.service.wants/swift-$i@$NAME.service" - done -done - -exit 0 -
  92. Download patch debian/swift-container.swift-container-sync.upstart

    --- 2.23.0-1/debian/swift-container.swift-container-sync.upstart 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container-sync.upstart 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,15 @@ +description "SWIFT Container Sync" +author "James Page <james.page@ubuntu.com>" + +start on runlevel [2345] +stop on runlevel [016] + +pre-start script + if [ -f "/etc/swift/container-server.conf" ]; then + exec /usr/bin/swift-init container-sync start + else + exit 1 + fi +end script + +post-stop exec /usr/bin/swift-init container-sync stop
  93. Download patch debian/copyright
  94. Download patch debian/swift-container.swift-container-auditor.upstart

    --- 2.23.0-1/debian/swift-container.swift-container-auditor.upstart 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-container.swift-container-auditor.upstart 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,20 @@ +# swift-container-auditor - SWIFT Container Auditor +# +# The swift container auditor. + +description "SWIFT Container Auditor" +author "Marc Cluet <marc.cluet@ubuntu.com>" + +start on runlevel [2345] +stop on runlevel [016] + +pre-start script + if [ -f "/etc/swift/container-server.conf" ]; then + exec /usr/bin/swift-init container-auditor start + else + exit 1 + fi +end script + +post-stop exec /usr/bin/swift-init container-auditor stop +
  95. Download patch debian/swift-account.swift-account-replicator.upstart

    --- 2.23.0-1/debian/swift-account.swift-account-replicator.upstart 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.swift-account-replicator.upstart 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,20 @@ +# swift-account-replicator - SWIFT Account Replicator +# +# The swift account replicator. + +description "SWIFT Account Replicator" +author "Marc Cluet <marc.cluet@ubuntu.com>" + +start on runlevel [2345] +stop on runlevel [016] + +pre-start script + if [ -f "/etc/swift/account-server.conf" ]; then + exec /usr/bin/swift-init account-replicator start + else + exit 1 + fi +end script + +post-stop exec /usr/bin/swift-init account-replicator stop +
  96. Download patch debian/swift-object-expirer.init

    --- 2.23.0-1/debian/swift-object-expirer.init 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-object-expirer.init 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,49 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: swift-object-expirer +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Swift object expirer +# Description: Object expirer for swift. +### END INIT INFO + +SERVICE_NAME="object-expirer" +PRINT_NAME="Swift object expirer" + +. /lib/lsb/init-functions + +if ! [ -x /usr/bin/swift-init ] ; then + exit 0 +fi + +if ! [ -f "/etc/swift/object-expirer.conf" ] ; then + exit 6 +fi + +case "$1" in +start) + log_daemon_msg "Starting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} start + log_end_msg $? +;; +stop) + log_daemon_msg "Stopping Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} stop + log_end_msg $? +;; +restart|force-reload|reload) + log_daemon_msg "Restarting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} reload +;; +status) + exec /usr/bin/swift-init ${SERVICE_NAME} status +;; +*) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +;; +esac + +exit 0
  97. Download patch debian/swift-doc.lintian-overrides

    --- 2.23.0-1/debian/swift-doc.lintian-overrides 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-doc.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -swift-doc binary: spelling-error-in-copyright Thier Their
  98. Download patch debian/swift-account.swift-account-reaper.init

    --- 2.23.0-1/debian/swift-account.swift-account-reaper.init 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.swift-account-reaper.init 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1,49 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: swift-account-reaper +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Swift account reaper +# Description: Account reaper for swift. +### END INIT INFO + +SERVICE_NAME="account-reaper" +PRINT_NAME="Swift account reaper" + +. /lib/lsb/init-functions + +if ! [ -x /usr/bin/swift-init ] ; then + exit 0 +fi + +if ! [ -f "/etc/swift/account-server.conf" ] ; then + exit 6 +fi + +case "$1" in +start) + log_daemon_msg "Starting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} start + log_end_msg $? +;; +stop) + log_daemon_msg "Stopping Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} stop + log_end_msg $? +;; +restart|force-reload|reload) + log_daemon_msg "Restarting Swift ${PRINT_NAME}" "swift-init ${SERVICE_NAME}" + /usr/bin/swift-init ${SERVICE_NAME} reload +;; +status) + exec /usr/bin/swift-init ${SERVICE_NAME} status +;; +*) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +;; +esac + +exit 0
  99. Download patch debian/swift-account.manpages

    --- 2.23.0-1/debian/swift-account.manpages 2019-10-04 13:59:04.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/swift-account.manpages 2019-10-16 15:26:04.000000000 +0000 @@ -1,7 +1,2 @@ -doc/manpages/account-server.conf.5 -doc/manpages/swift-account-audit.1 -doc/manpages/swift-account-auditor.1 -doc/manpages/swift-account-info.1 -doc/manpages/swift-account-reaper.1 -doc/manpages/swift-account-replicator.1 -doc/manpages/swift-account-server.1 +doc/manpages/account* +doc/manpages/swift-account*
  100. Download patch debian/source/include-binaries

    --- 2.23.0-1/debian/source/include-binaries 1970-01-01 00:00:00.000000000 +0000 +++ 2.23.0-0ubuntu1/debian/source/include-binaries 2019-10-16 15:26:04.000000000 +0000 @@ -0,0 +1 @@ +doc/source/howto_cyberduck_config.png
  101. ...
  1. alembic
  2. backblaze-b2
  3. pytest
  4. pytest-pylint
  5. python-eventlet
  6. python-importlib-metadata
  7. python-os-api-ref
  8. python-pyeclib
  9. python-swiftclient
  10. python-tenacity
  11. python-tornado
  12. swift