Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pypiserver for 
openSUSE:Factory checked in at 2022-10-31 13:26:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pypiserver (Old)
 and      /work/SRC/openSUSE:Factory/.python-pypiserver.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pypiserver"

Mon Oct 31 13:26:25 2022 rev:6 rq:1032450 version:1.5.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pypiserver/python-pypiserver.changes      
2022-10-06 07:42:19.904704356 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pypiserver.new.2275/python-pypiserver.changes
    2022-10-31 13:26:28.984239970 +0100
@@ -1,0 +2,10 @@
+Fri Oct 28 20:19:44 UTC 2022 - Yogalakshmi Arunachalam <yarunacha...@suse.com>
+
+- Update to 1.5.1 
+  * 61e4487 ENH: add extremely basic /health endpoint (#396)
+  * bbd2a47 FIX: docker tests in cicd (#444)
+  * 784a9a1 MAINT: Replace usage of deprecated inspect.getargspec (#436)
+  * 640a748 MAINT: Add traefik/ and auth/ dirs to gitignore (#398)
+  * a67829e MAINT: Fix typos in README (#431)
+
+-------------------------------------------------------------------

Old:
----
  pypiserver-1.5.0.tar.gz

New:
----
  pypiserver-1.5.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pypiserver.spec ++++++
--- /var/tmp/diff_new_pack.xjPOLK/_old  2022-10-31 13:26:29.572242953 +0100
+++ /var/tmp/diff_new_pack.xjPOLK/_new  2022-10-31 13:26:29.580242994 +0100
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python3-%{**}}
 %bcond_without python2
 Name:           python-pypiserver
-Version:        1.5.0
+Version:        1.5.1
 Release:        0
 Summary:        Minimal PyPI server for uploading & downloading packages with 
pip/easy_install
 License:        MIT

++++++ pypiserver-1.5.0.tar.gz -> pypiserver-1.5.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pypiserver-1.5.0/.gitignore 
new/pypiserver-1.5.1/.gitignore
--- old/pypiserver-1.5.0/.gitignore     2022-05-01 22:36:23.000000000 +0200
+++ new/pypiserver-1.5.1/.gitignore     2022-10-18 16:06:16.000000000 +0200
@@ -47,6 +47,10 @@
 .venv/
 venv/
 
+# Temporary / runtime generated files
+traefik/
+auth/
+
 # Release Candidate Artifacts
 rc/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pypiserver-1.5.0/CHANGES.rst 
new/pypiserver-1.5.1/CHANGES.rst
--- old/pypiserver-1.5.0/CHANGES.rst    2022-05-01 22:36:23.000000000 +0200
+++ new/pypiserver-1.5.1/CHANGES.rst    2022-10-18 16:06:16.000000000 +0200
@@ -4,6 +4,15 @@
 2.0.0 (tbd)
 -----------
 
+1.5.1rc10-01-2022 (__rc__)
+--------------------------
+
+- 61e4487 ENH: add extremely basic /health endpoint (#396)
+- bbd2a47 FIX: docker tests in cicd (#444)
+- 784a9a1 MAINT: Replace usage of deprecated inspect.getargspec (#436)
+- 640a748 MAINT: Add traefik/ and auth/ dirs to gitignore (#398)
+- a67829e MAINT: Fix typos in README (#431)
+
 1.5.0 (2022-05-01)
 ------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pypiserver-1.5.0/README.rst 
new/pypiserver-1.5.1/README.rst
--- old/pypiserver-1.5.0/README.rst     2022-05-01 22:36:23.000000000 +0200
+++ new/pypiserver-1.5.1/README.rst     2022-10-18 16:06:16.000000000 +0200
@@ -9,8 +9,8 @@
 ==============================================================================
 |pypi-ver| |test-status| |dependencies| |python-ver| |proj-license|
 
-:Version:     1.5.0
-:Date:        2020-04-25
+:Version:     1.5.1
+:Date:        2022-10-18
 :Source:      https://github.com/pypiserver/pypiserver
 :PyPI:        https://pypi.org/project/pypiserver/
 :Tests:       https://github.com/pypiserver/pypiserver/actions
@@ -234,7 +234,7 @@
 
 .. Note::
    If you have installed ``pypiserver`` on a remote url without *https*
-   you wil receive an "untrusted" warning from *pip*, urging you to append
+   you will receive an "untrusted" warning from *pip*, urging you to append
    the ``--trusted-host`` option.  You can also include this option permanently
    in your configuration-files or environment variables.
 
@@ -282,7 +282,7 @@
          
http://serverfault.com/questions/152950/how-to-create-and-edit-htaccess-and-htpasswd-locally-on-my-computer-and-then-u
 
       or if you have bogus passwords that you don't care because they are for
-      an internal service (which is still "bad", from a security 
prespective...)
+      an internal service (which is still "bad", from a security 
perspective...)
       you may use this public service:
 
          http://www.htaccesstools.com/htpasswd-generator/
@@ -399,7 +399,7 @@
   # VERSION-CHECK: Fails if not installed.
   pypi-server --version
 
-  # UNINSTALL: Invoke again untill it fails.
+  # UNINSTALL: Invoke again until it fails.
   pip uninstall pypiserver
 
 Installing the Very Latest Version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pypiserver-1.5.0/docker/docker-requirements.txt 
new/pypiserver-1.5.1/docker/docker-requirements.txt
--- old/pypiserver-1.5.0/docker/docker-requirements.txt 2022-05-01 
22:36:23.000000000 +0200
+++ new/pypiserver-1.5.1/docker/docker-requirements.txt 2022-10-18 
16:06:16.000000000 +0200
@@ -1,6 +1,6 @@
 # We use gunicorn as the default server in the docker container, with gevent
 # workers
-gevent==21.1.2
+gevent==21.12.0
 gunicorn==20.0.4
 passlib==1.7.4
 bcrypt==3.2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pypiserver-1.5.0/docker/test_docker.py 
new/pypiserver-1.5.1/docker/test_docker.py
--- old/pypiserver-1.5.0/docker/test_docker.py  2022-05-01 22:36:23.000000000 
+0200
+++ new/pypiserver-1.5.1/docker/test_docker.py  2022-10-18 16:06:16.000000000 
+0200
@@ -16,6 +16,9 @@
 import pytest
 
 
+PYPISERVER_PROCESS_NAME = "pypi-server"
+TEST_DEMO_PIP_PACKAGE = "pypiserver-mypkg"
+
 THIS_DIR = Path(__file__).parent
 ROOT_DIR = THIS_DIR.parent
 DOCKERFILE = ROOT_DIR / "Dockerfile"
@@ -24,13 +27,13 @@
 HTPASS_FILE = FIXTURES / "htpasswd.a.a"
 
 
-# This is largely useless when using pytest because of the need to use the name
-# of the fixture as an argument to the test function or fixture using it
+# This rule is largely useless when using pytest because of the need to use the
+# name of the fixture as an argument to the test function or fixture using it
 # pylint: disable=redefined-outer-name
 #
-# Also useless for our test context, where we may want to group test functions
-# in a class to share common fixtures, but where we don't care about the
-# `self` instance.
+# Also useless rule for our test context, where we may want to group test
+# functions in a class to share common fixtures, but where we don't care about
+# the `self` instance.
 # pylint: disable=no-self-use
 
 
@@ -144,9 +147,10 @@
     """Uninstall any packages we've installed."""
     res = run("pip", "freeze", capture=True)
     if any(
-        ln.strip().startswith("pypiserver-mypkg") for ln in 
res.out.splitlines()
+        ln.strip().startswith(TEST_DEMO_PIP_PACKAGE)
+        for ln in res.out.splitlines()
     ):
-        run("pip", "uninstall", "-y", "pypiserver-mypkg")
+        run("pip", "uninstall", "-y", TEST_DEMO_PIP_PACKAGE)
 
 
 @pytest.fixture(scope="session", autouse=True)
@@ -169,7 +173,7 @@
     def test_help(self, image: str) -> None:
         """We can get help from the docker container."""
         res = run("docker", "run", image, "--help", capture=True)
-        assert "pypi-server" in res.out
+        assert PYPISERVER_PROCESS_NAME in res.out
 
     def test_version(self, image: str) -> None:
         """We can get the version from the docker container."""
@@ -267,7 +271,7 @@
             proc_line = next(
                 filter(
                     # grab the process line for the pypi-server process
-                    lambda ln: "pypi-server" in ln,
+                    lambda ln: PYPISERVER_PROCESS_NAME in ln,
                     res.out.splitlines(),
                 )
             )
@@ -330,7 +334,7 @@
             ".",
             "--authenticate",
             ".",
-            *request.param,  # type: ignore
+            *request.param,
         )
         res = run(*args, capture=True)
         wait_for_container(port)
@@ -394,7 +398,7 @@
             "install",
             "--index-url",
             f"http://localhost:{container.port}/simple";,
-            "pypiserver-mypkg",
+            TEST_DEMO_PIP_PACKAGE,
         )
         run("python", "-c", "'import pypiserver_mypkg; mypkg.pkg_name()'")
 
@@ -560,7 +564,7 @@
             "install",
             "--index-url",
             f"http://a:a@localhost:{self.HOST_PORT}/simple";,
-            "pypiserver-mypkg",
+            TEST_DEMO_PIP_PACKAGE,
         )
         run("python", "-c", "'import pypiserver_mypkg; mypkg.pkg_name()'")
 
@@ -580,7 +584,7 @@
             "--no-cache",
             "--index-url",
             f"http://localhost:{self.HOST_PORT}/simple";,
-            "pypiserver-mypkg",
+            TEST_DEMO_PIP_PACKAGE,
             check_code=lambda c: c != 0,
         )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pypiserver-1.5.0/pypiserver/__init__.py 
new/pypiserver-1.5.1/pypiserver/__init__.py
--- old/pypiserver-1.5.0/pypiserver/__init__.py 2022-05-01 22:36:23.000000000 
+0200
+++ new/pypiserver-1.5.1/pypiserver/__init__.py 2022-10-18 16:06:16.000000000 
+0200
@@ -7,9 +7,9 @@
 from pypiserver.bottle import Bottle
 from pypiserver.config import Config, RunConfig, strtobool
 
-version = __version__ = "1.5.0"
+version = __version__ = "1.5.1"
 __version_info__ = tuple(_re.split("[.-]", __version__))
-__updated__ = "2022-05-01 22:36:22"
+__updated__ = "2022-10-18 16:06:16"
 
 __title__ = "pypiserver"
 __summary__ = "A minimal PyPI server for use with pip/easy_install."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pypiserver-1.5.0/pypiserver/_app.py 
new/pypiserver-1.5.1/pypiserver/_app.py
--- old/pypiserver-1.5.0/pypiserver/_app.py     2022-05-01 22:36:23.000000000 
+0200
+++ new/pypiserver-1.5.1/pypiserver/_app.py     2022-10-18 16:06:16.000000000 
+0200
@@ -82,6 +82,11 @@
     log.info(config.log_err_frmt, vars(http_error))
 
 
+@app.route("/health")
+def health():
+    return "Ok"
+
+
 @app.route("/favicon.ico")
 def favicon():
     return HTTPError(404)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pypiserver-1.5.0/pypiserver/bottle.py 
new/pypiserver-1.5.1/pypiserver/bottle.py
--- old/pypiserver-1.5.0/pypiserver/bottle.py   2022-05-01 22:36:23.000000000 
+0200
+++ new/pypiserver-1.5.1/pypiserver/bottle.py   2022-10-18 16:06:16.000000000 
+0200
@@ -41,7 +41,6 @@
 from datetime import date as datedate, datetime, timedelta
 from tempfile import TemporaryFile
 from traceback import format_exc, print_exc
-from inspect import getargspec
 from unicodedata import normalize
 
 
@@ -79,6 +78,7 @@
 # Lots of stdlib and builtin differences.
 if py3k:
     import http.client as httplib
+    from inspect import getfullargspec as getargspec
     import _thread as thread
     from urllib.parse import urljoin, SplitResult as UrlSplitResult
     from urllib.parse import urlencode, quote as urlquote, unquote as 
urlunquote
@@ -101,6 +101,7 @@
     def _raise(*a): raise a[0](a[1]).with_traceback(a[2])
 else: # 2.x
     import httplib
+    from inspect import getargspec
     import thread
     from urlparse import urljoin, SplitResult as UrlSplitResult
     from urllib import urlencode, quote as urlquote, unquote as urlunquote
@@ -1752,7 +1753,7 @@
             if isinstance(rv, dict):
                 #Attempt to serialize, raises exception on failure
                 json_response = dumps(rv)
-                #Set content type only if serialization succesful
+                #Set content type only if serialization successful
                 response.content_type = 'application/json'
                 return json_response
             elif isinstance(rv, HTTPResponse) and isinstance(rv.body, dict):
@@ -2327,7 +2328,7 @@
         ''' Search for a resource and return an absolute file path, or `None`.
 
             The :attr:`path` list is searched in order. The first match is
-            returend. Symlinks are followed. The result is cached to speed up
+            returned. Symlinks are followed. The result is cached to speed up
             future lookups. '''
         if name not in self.cache or DEBUG:
             for path in self.path:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pypiserver-1.5.0/pypiserver/config.py 
new/pypiserver-1.5.1/pypiserver/config.py
--- old/pypiserver-1.5.0/pypiserver/config.py   2022-05-01 22:36:23.000000000 
+0200
+++ new/pypiserver-1.5.1/pypiserver/config.py   2022-10-18 16:06:16.000000000 
+0200
@@ -879,7 +879,7 @@
     def _adjust_old_args(args: t.Sequence[str]) -> t.List[str]:
         """Adjust args for backwards compatibility.
 
-        Should only be called once args have been verified to be unparseable.
+        Should only be called once args have been verified to be unparsable.
         """
         # Backwards compatibility hack: for most of pypiserver's life, "run"
         # and "update" were not separate subcommands. The `-U` flag being
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pypiserver-1.5.0/tests/test_app.py 
new/pypiserver-1.5.1/tests/test_app.py
--- old/pypiserver-1.5.0/tests/test_app.py      2022-05-01 22:36:23.000000000 
+0200
+++ new/pypiserver-1.5.1/tests/test_app.py      2022-10-18 16:06:16.000000000 
+0200
@@ -188,6 +188,12 @@
     assert len(resp.html("a")) == 0
 
 
+def test_health(testapp):
+    resp = testapp.get("/health")
+    assert resp.status_int == 200
+    assert "Ok" in resp
+
+
 def test_favicon(testapp):
     testapp.get("/favicon.ico", status=404)
 
@@ -578,7 +584,7 @@
     expected name and version matches for a search for the "test"
     package as specified by the search_xml fixture.
 
-    :param root: root temporry directory fixture; used as packages dir
+    :param root: root temporary directory fixture; used as packages dir
         for testapp
     :param testapp: webtest TestApp
     :param str search_xml: XML string roughly equivalent to a pip search
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pypiserver-1.5.0/tests/test_config.py 
new/pypiserver-1.5.1/tests/test_config.py
--- old/pypiserver-1.5.0/tests/test_config.py   2022-05-01 22:36:23.000000000 
+0200
+++ new/pypiserver-1.5.1/tests/test_config.py   2022-10-18 16:06:16.000000000 
+0200
@@ -563,7 +563,7 @@
     # ******************************************************************
     # Update subcommand args
     # ******************************************************************
-    # exeucte
+    # execute
     ConfigTestCase(
         case="Update: execute not specified",
         args=["update"],
@@ -735,7 +735,7 @@
     """Validate error cases."""
     with pytest.raises(SystemExit):
         Config.from_args(args)
-    # Unfortunatley the error text is printed before the SystemExit is
+    # Unfortunately the error text is printed before the SystemExit is
     # raised, rather than being raised _with_ the systemexit, so we
     # need to capture stderr and check it for our expected text, if
     # any was specified in the test case.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pypiserver-1.5.0/tests/test_main.py 
new/pypiserver-1.5.1/tests/test_main.py
--- old/pypiserver-1.5.0/tests/test_main.py     2022-05-01 22:36:23.000000000 
+0200
+++ new/pypiserver-1.5.1/tests/test_main.py     2022-10-18 16:06:16.000000000 
+0200
@@ -278,7 +278,7 @@
     # adapters are defined in the AutoServer
     our_check_order = tuple(i[0] for i in __main__.AUTO_SERVER_IMPORTS)
 
-    # Some of the servers have more than one check, so we need to rmeove
+    # Some of the servers have more than one check, so we need to remove
     # duplicates before we check for identity with the AutoServer definition.
     seen: t.Dict[__main__.AutoServer, __main__.AutoServer] = {}
     our_check_order = tuple(

Reply via email to