Hello community, here is the log from the commit of package python-poetry for openSUSE:Factory checked in at 2020-10-29 09:49:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-poetry (Old) and /work/SRC/openSUSE:Factory/.python-poetry.new.3463 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-poetry" Thu Oct 29 09:49:06 2020 rev:9 rq:844318 version:1.1.4 Changes: -------- --- /work/SRC/openSUSE:Factory/python-poetry/python-poetry.changes 2020-08-05 20:29:21.647097417 +0200 +++ /work/SRC/openSUSE:Factory/.python-poetry.new.3463/python-poetry.changes 2020-10-29 09:49:11.760212965 +0100 @@ -1,0 +2,98 @@ +Tue Oct 27 09:32:31 UTC 2020 - Benjamin Greiner <c...@bnavigator.de> + +- Update to version 1.1.4 + * Added installer.parallel boolean flag (defaults to + true) configuration to enable/disable parallel + execution of operations when using the new installer. + (#3088) + * When using system environments as an unprivileged user, + user site and bin directories are created if they do + not already exist. (#3107) + * Fixed editable installation of poetry projects when + using system environments. (#3107) + * Fixed locking of nested extra activations. If you were + affected by this issue, you will need to regenerate the + lock file using poetry lock --no-update. (#3229) + * Fixed prioritisation of non-default custom package + sources. (#3251) + * Fixed detection of installed editable packages when + non-poetry managed .pth file exists. (#3210) + * Fixed scripts generated by editable builder to use + valid import statements. (#3214) + * Fixed recursion error when locked dependencies contain + cyclic dependencies. (#3237) + * Fixed propagation of editable flag for VCS + dependencies. (#3264) +- Refresh poetry-1645-1.1.patch + +------------------------------------------------------------------- +Wed Oct 21 09:47:53 UTC 2020 - Benjamin Greiner <c...@bnavigator.de> + +- Run tests in virtualenv gh#python-poetry/poetry#1645 +- Add poetry-1645-1.1.patch gh#python-poetry/poetry#3255 + +------------------------------------------------------------------- +Thu Oct 15 12:15:27 UTC 2020 - Benjamin Greiner <c...@bnavigator.de> + +- Update to version 1.1.3 + * Python version support deprecation warning is now written to + stderr. (#3131) + * Fixed KeyError when PATH is not defined in environment + variables. (#3159) + * Fixed error when using config command in a directory with an + existing pyproject.toml without any Poetry configuration. + (#3172) + * Fixed incorrect inspection of package requirements when same + dependency is specified multiple times with unique markers. + (#3147) + * Fixed show command to use already resolved package metadata. + (#3117) + * Fixed multiple issues with export command output when using + requirements.txt format. (#3119) + +------------------------------------------------------------------- +Thu Oct 8 13:29:35 UTC 2020 - Benjamin Greiner <c...@bnavigator.de> + +- Update to version 1.1.2 + * Dependency installation of editable packages and all + uninstall operations are now performed serially within + their corresponding priority groups. (#3099) + * Improved package metadata inspection of nested poetry + projects within project path dependencies. (#3105) + * Fixed export of requirements.txt when project + dependency contains git dependencies. (#3100) +- Add missing virtualenv and poetry-core runtime requirements +- Install using pip with poetry-core backend + * drop dephell setup +- Update simplify-toml.patch + * fix cleo dep in pyproject.toml as poetry checks that during + runtime + +------------------------------------------------------------------- +Mon Oct 5 12:17:17 UTC 2020 - Benjamin Greiner <c...@bnavigator.de> + +- Update to version 1.1.1 + * Added --no-update option to lock command. (#3034) + * Fixed resolution of packages with missing required extras. + (#3035) + * Fixed export of requirements.txt dependencies to include + development dependencies. (#3024) + * Fixed incorrect selection of unsupported binary distribution + formats when selecting a package artifact to install. (#3058) + * Fixed incorrect use of system executable when building package + distributions via build command. (#3056) + * Fixed errors in init command when specifying --dependency in + non-interactive mode when a pyproject.toml file already exists. + (#3076) + * Fixed incorrect selection of configured source url when a + publish repository url configuration with the same name already + exists. (#3047) + * Fixed dependency resolution issues when the same package is + specified in multiple dependency extras. (#3046) +- More changes for rc, beta and alpha releases see CHANGELOG.md +- Update URL and GitHub repo address +- Update requirements according to pyproject.toml +- Update test suite setup and test deselection + * gh#python-poetry/poetry#1645 + +------------------------------------------------------------------- Old: ---- poetry-1.0.10.tar.gz New: ---- poetry-1.1.4.tar.gz poetry-1645-1.1.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-poetry.spec ++++++ --- /var/tmp/diff_new_pack.SXkDtd/_old 2020-10-29 09:49:12.476213576 +0100 +++ /var/tmp/diff_new_pack.SXkDtd/_new 2020-10-29 09:49:12.480213580 +0100 @@ -18,94 +18,97 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 -%define dephell_loglevel DEBUG Name: python-poetry -Version: 1.0.10 +Version: 1.1.4 Release: 0 Summary: Python dependency management and packaging License: MIT Group: Development/Languages/Python -URL: https://poetry.eustace.io/ -# GitHub archive doesnt contain setup.py; sdist doesnt contain tests -Source: https://github.com/sdispater/poetry/archive/%{version}.tar.gz#/poetry-%{version}.tar.gz -# https://github.com/dephell/dephell/issues/330 -Patch0: simplify-toml.patch +URL: https://python-poetry.org/ +# PyPI sdist doesnt contain tests +Source: https://github.com/python-poetry/poetry/archive/%{version}.tar.gz#/poetry-%{version}.tar.gz +# PATCH-FIX-UPSTREAM https://github.com/python-poetry/poetry/pull/3255#issuecomment-713442094 -- remove external http call requirement for lock --no-update +Patch0: poetry-1645-1.1.patch +# PATCH-FIX-OPENSUSE simplify-toml.patch https://github.com/dephell/dephell/issues/330 -- we abandoned dephell but keep the simplification +Patch1: simplify-toml.patch BuildRequires: %{python_module CacheControl >= 0.12.4} BuildRequires: %{python_module cachy >= 0.3.0} -BuildRequires: %{python_module cleo >= 0.7.6} -BuildRequires: %{python_module clikit >= 0.4.2} -BuildRequires: %{python_module dephell} -BuildRequires: %{python_module devel} +# upstream requires cleo >= 0.8.1, but that only bumped its deps +BuildRequires: %{python_module cleo >= 0.8.0} +BuildRequires: %{python_module clikit >= 0.6.2} BuildRequires: %{python_module html5lib >= 1.0} -BuildRequires: %{python_module httpretty} -BuildRequires: %{python_module jsonschema >= 3.1} -BuildRequires: %{python_module keyring >= 20.0.1} +BuildRequires: %{python_module keyring >= 21.2.0} BuildRequires: %{python_module lockfile} BuildRequires: %{python_module pexpect >= 4.7.0} +BuildRequires: %{python_module pip} BuildRequires: %{python_module pkginfo >= 1.4} -BuildRequires: %{python_module pyparsing >= 2.2} -BuildRequires: %{python_module pyrsistent >= 0.14.2} -BuildRequires: %{python_module pytest-mock} -BuildRequires: %{python_module pytest} +BuildRequires: %{python_module poetry-core >= 1.0.0} BuildRequires: %{python_module requests >= 2.18} -BuildRequires: %{python_module requests-toolbelt >= 0.8.0} +BuildRequires: %{python_module requests-toolbelt >= 0.9.1} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module shellingham >= 1.1} -BuildRequires: %{python_module tomlkit >= 0.5.11} +BuildRequires: %{python_module tomlkit >= 0.7.0} +BuildRequires: %{python_module virtualenv} BuildRequires: fdupes -BuildRequires: git-core -BuildRequires: python-dephell-rpm-macros BuildRequires: python-rpm-macros Requires: python-CacheControl >= 0.12.4 Requires: python-cachy >= 0.3.0 -Requires: python-cleo >= 0.7.6 -Requires: python-clikit >= 0.4.2 +Requires: python-cleo >= 0.8.0 +Requires: python-clikit >= 0.6.2 Requires: python-html5lib >= 1.0 -Requires: python-jsonschema >= 3.1 -Requires: python-keyring >= 20.0.1 +Requires: python-keyring >= 21.2.0 Requires: python-lockfile Requires: python-pexpect >= 4.7.0 Requires: python-pkginfo >= 1.4 +Requires: python-poetry-core >= 1.0.0 Requires: python-pyparsing >= 2.2 -Requires: python-pyrsistent >= 0.14.2 Requires: python-requests >= 2.18 -Requires: python-requests-toolbelt >= 0.8.0 +Requires: python-requests-toolbelt >= 0.9.1 Requires: python-setuptools Requires: python-shellingham >= 1.1 -Requires: python-tomlkit >= 0.5.11 +Requires: python-tomlkit >= 0.7.0 +Requires: python-virtualenv >= 20.0.26 +Requires(post): update-alternatives +Requires(postun): update-alternatives Recommends: git-core Recommends: python-devel BuildArch: noarch -Requires(post): update-alternatives -Requires(postun): update-alternatives +# SECTION test requirements +BuildRequires: %{python_module httpretty} +BuildRequires: %{python_module pytest-mock} +BuildRequires: %{python_module pytest} +BuildRequires: git-core +# /SECTION %python_subpackages %description Python dependency management and packaging made easy. %prep -%setup -q -n poetry-%{version} -%patch0 -p1 -%{dephell_gensetup} +%autosetup -p1 -n poetry-%{version} +rm poetry/_vendor/.gitignore +rmdir poetry/_vendor +find poetry -name '*.py' -executable -print0 | xargs -0 chmod a-x %build -%python_build +%pyproject_wheel %install -%python_install +%pyproject_install %python_clone -a %{buildroot}%{_bindir}/poetry %python_expand %fdupes %{buildroot}%{$python_sitelib} %check -# A venv is necessary gh#python-poetry/poetry#1645#issuecomment-566872684 -python3 -m venv testenv -source testenv/bin/activate -# test_default_with_excluded_data fails, see the above ticket for -# discussion on this. -# test_publish_returns_non_zero_code_for_upload_errors fails with clikit 0.6.0+ -# which uses crashtest, which outputs extra information not expected by the test -# This does not occur in the poetry 1.1.0a test suite. -%pytest -vv -k 'not (test_default_with_excluded_data or test_publish_returns_non_zero_code_for_upload_errors)' +# discussion of this section: gh#python-poetry/poetry#1645 +%{python_expand # a virtualenv is necessary +virtualenv-%{$python_bin_suffix} --system-site-packages testenv-%{$python_bin_suffix} +source testenv-%{$python_bin_suffix}/bin/activate +export PYTHONPATH="%{buildroot}%{$python_sitelib}" +export PYTHONDONTWRITEBYTECODE=1 +# pytest needs to be called from the virtualenv python interpreter +python -m pytest -v tests +deactivate +} %post %python_install_alternative poetry @@ -114,10 +117,10 @@ %python_uninstall_alternative poetry %files %{python_files} -%doc README.md +%doc README.md CHANGELOG.md %license LICENSE %{python_sitelib}/poetry -%{python_sitelib}/poetry-%{version}-py*.egg-info +%{python_sitelib}/poetry-%{version}*-info %python_alternative %{_bindir}/poetry %changelog ++++++ poetry-1.0.10.tar.gz -> poetry-1.1.4.tar.gz ++++++ ++++ 49166 lines of diff (skipped) ++++++ poetry-1645-1.1.patch ++++++ Index: poetry-1.1.4/tests/config/test_config.py =================================================================== --- poetry-1.1.4.orig/tests/config/test_config.py +++ poetry-1.1.4/tests/config/test_config.py @@ -10,8 +10,8 @@ def test_config_get_default_value(config assert config.get(name) is value -def test_config_get_processes_depended_on_values(config): - assert os.path.join("/foo", "virtualenvs") == config.get("virtualenvs.path") +def test_config_get_processes_depended_on_values(config, config_cache_dir): + assert str(config_cache_dir / "virtualenvs") == config.get("virtualenvs.path") @pytest.mark.parametrize( Index: poetry-1.1.4/tests/conftest.py =================================================================== --- poetry-1.1.4.orig/tests/conftest.py +++ poetry-1.1.4/tests/conftest.py @@ -54,9 +54,21 @@ class Config(BaseConfig): @pytest.fixture -def config_source(): +def config_cache_dir(tmp_dir): + path = Path(tmp_dir) / ".cache" / "pypoetry" + path.mkdir(parents=True) + return path + + +@pytest.fixture +def config_virtualenvs_path(config_cache_dir): + return config_cache_dir / "virtualenvs" + + +@pytest.fixture +def config_source(config_cache_dir): source = DictConfigSource() - source.add_property("cache-dir", "/foo") + source.add_property("cache-dir", str(config_cache_dir)) return source @@ -226,6 +238,7 @@ def project_factory(tmp_dir, config, rep dependencies=None, dev_dependencies=None, pyproject_content=None, + poetry_lock_content=None, install_deps=True, ): project_dir = workspace / "poetry-fixture-{}".format(name) @@ -249,6 +262,10 @@ def project_factory(tmp_dir, config, rep dev_dependencies=dev_dependencies, ).create(project_dir, with_tests=False) + if poetry_lock_content: + lock_file = project_dir / "poetry.lock" + lock_file.write_text(data=poetry_lock_content, encoding="utf-8") + poetry = Factory().create_poetry(project_dir) locker = TestLocker( Index: poetry-1.1.4/tests/console/commands/test_config.py =================================================================== --- poetry-1.1.4.orig/tests/console/commands/test_config.py +++ poetry-1.1.4/tests/console/commands/test_config.py @@ -25,35 +25,39 @@ def test_show_config_with_local_config_f assert "" == tester.io.fetch_output() -def test_list_displays_default_value_if_not_set(tester, config): +def test_list_displays_default_value_if_not_set(tester, config, config_cache_dir): tester.execute("--list") - expected = """cache-dir = "/foo" + expected = """cache-dir = {cache} experimental.new-installer = true installer.parallel = true virtualenvs.create = true virtualenvs.in-project = null -virtualenvs.path = {path} # /foo{sep}virtualenvs +virtualenvs.path = {path} # {virtualenvs} """.format( - path=json.dumps(os.path.join("{cache-dir}", "virtualenvs")), sep=os.path.sep + cache=json.dumps(str(config_cache_dir)), + path=json.dumps(os.path.join("{cache-dir}", "virtualenvs")), + virtualenvs=str(config_cache_dir / "virtualenvs"), ) assert expected == tester.io.fetch_output() -def test_list_displays_set_get_setting(tester, config): +def test_list_displays_set_get_setting(tester, config, config_cache_dir): tester.execute("virtualenvs.create false") tester.execute("--list") - expected = """cache-dir = "/foo" + expected = """cache-dir = {cache} experimental.new-installer = true installer.parallel = true virtualenvs.create = false virtualenvs.in-project = null -virtualenvs.path = {path} # /foo{sep}virtualenvs +virtualenvs.path = {path} # {virtualenvs} """.format( - path=json.dumps(os.path.join("{cache-dir}", "virtualenvs")), sep=os.path.sep + cache=json.dumps(str(config_cache_dir)), + path=json.dumps(os.path.join("{cache-dir}", "virtualenvs")), + virtualenvs=str(config_cache_dir / "virtualenvs"), ) assert 0 == config.set_config_source.call_count @@ -81,19 +85,21 @@ def test_display_single_local_setting(co assert expected == tester.io.fetch_output() -def test_list_displays_set_get_local_setting(tester, config): +def test_list_displays_set_get_local_setting(tester, config, config_cache_dir): tester.execute("virtualenvs.create false --local") tester.execute("--list") - expected = """cache-dir = "/foo" + expected = """cache-dir = {cache} experimental.new-installer = true installer.parallel = true virtualenvs.create = false virtualenvs.in-project = null -virtualenvs.path = {path} # /foo{sep}virtualenvs +virtualenvs.path = {path} # {virtualenvs} """.format( - path=json.dumps(os.path.join("{cache-dir}", "virtualenvs")), sep=os.path.sep + cache=json.dumps(str(config_cache_dir)), + path=json.dumps(os.path.join("{cache-dir}", "virtualenvs")), + virtualenvs=str(config_cache_dir / "virtualenvs"), ) assert 1 == config.set_config_source.call_count Index: poetry-1.1.4/tests/console/commands/test_lock.py =================================================================== --- poetry-1.1.4.orig/tests/console/commands/test_lock.py +++ poetry-1.1.4/tests/console/commands/test_lock.py @@ -1,11 +1,8 @@ -import shutil -import sys - import pytest -from poetry.factory import Factory from poetry.packages import Locker from poetry.utils._compat import Path +from tests.helpers import get_package @pytest.fixture @@ -19,18 +16,26 @@ def tester(command_tester_factory): @pytest.fixture -def poetry_with_old_lockfile(fixture_dir, source_dir): - project_dir = source_dir / "project" - shutil.copytree(str(fixture_dir("old_lock")), str(project_dir)) - poetry = Factory().create_poetry(cwd=project_dir) - return poetry - - -@pytest.mark.skipif( - sys.platform == "win32", reason="does not work on windows under ci environments" -) -def test_lock_no_update(command_tester_factory, poetry_with_old_lockfile, http): - http.disable() +def poetry_with_old_lockfile(project_factory, fixture_dir, source_dir): + source = fixture_dir("old_lock") + pyproject_content = (source / "pyproject.toml").read_text(encoding="utf-8") + poetry_lock_content = (source / "poetry.lock").read_text(encoding="utf-8") + return project_factory( + name="foobar", + pyproject_content=pyproject_content, + poetry_lock_content=poetry_lock_content, + ) + + +def test_lock_no_update(command_tester_factory, poetry_with_old_lockfile, repo): + repo.add_package(get_package("sampleproject", "1.3.1")) + repo.add_package(get_package("sampleproject", "2.0.0")) + + locker = Locker( + lock=poetry_with_old_lockfile.pyproject.file.path.parent / "poetry.lock", + local_config=poetry_with_old_lockfile.locker._local_config, + ) + poetry_with_old_lockfile.set_locker(locker) locked_repository = poetry_with_old_lockfile.locker.locked_repository( with_dev_reqs=True Index: poetry-1.1.4/tests/fixtures/old_lock/poetry.lock =================================================================== --- poetry-1.1.4.orig/tests/fixtures/old_lock/poetry.lock +++ poetry-1.1.4/tests/fixtures/old_lock/poetry.lock @@ -1,153 +1,19 @@ [[package]] category = "main" -description = "Python package for providing Mozilla's CA Bundle." -name = "certifi" -optional = false -python-versions = "*" -version = "2020.6.20" - -[[package]] -category = "main" -description = "Universal encoding detector for Python 2 and 3" -name = "chardet" -optional = false -python-versions = "*" -version = "3.0.4" - -[[package]] -category = "main" -description = "A Python library for the Docker Engine API." -name = "docker" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "4.3.1" - -[package.dependencies] -pywin32 = "227" -requests = ">=2.14.2,<2.18.0 || >2.18.0" -six = ">=1.4.0" -websocket-client = ">=0.32.0" - -[package.extras] -ssh = ["paramiko (>=2.4.2)"] -tls = ["pyOpenSSL (>=17.5.0)", "cryptography (>=1.3.4)", "idna (>=2.0.0)"] - -[[package]] -category = "main" -description = "Internationalized Domain Names in Applications (IDNA)" -name = "idna" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "2.10" - -[[package]] -category = "main" -description = "Python for Window Extensions" -marker = "sys_platform == \"win32\"" -name = "pywin32" -optional = false -python-versions = "*" -version = "227" - -[[package]] -category = "main" -description = "Python HTTP for Humans." -name = "requests" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "2.24.0" - -[package.dependencies] -certifi = ">=2017.4.17" -chardet = ">=3.0.2,<4" -idna = ">=2.5,<3" -urllib3 = ">=1.21.1,<1.25.0 || >1.25.0,<1.25.1 || >1.25.1,<1.26" - -[package.extras] -security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"] -socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"] - -[[package]] -category = "main" -description = "Python 2 and 3 compatibility utilities" -name = "six" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" -version = "1.15.0" - -[[package]] -category = "main" -description = "HTTP library with thread-safe connection pooling, file post, and more." -name = "urllib3" +description = "A sample Python project" +name = "sampleproject" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" -version = "1.25.10" - -[package.extras] -brotli = ["brotlipy (>=0.6.0)"] -secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "pyOpenSSL (>=0.14)", "ipaddress"] -socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"] - -[[package]] -category = "main" -description = "WebSocket client for Python. hybi13 is supported." -name = "websocket-client" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "0.57.0" - -[package.dependencies] -six = "*" +version = "1.3.1" [metadata] -content-hash = "bb4c2f3c089b802c1930b6acbeed04711d93e9cdfd9a003eb17518a6d9f350c6" +content-hash = "c8c2c9d899e47bac3972e029ef0e71b75d5df98a28eebef25a75640a19aac177" lock-version = "1.0" python-versions = "^3.8" [metadata.files] -certifi = [ - {file = "certifi-2020.6.20-py2.py3-none-any.whl", hash = "sha256:8fc0819f1f30ba15bdb34cceffb9ef04d99f420f68eb75d901e9560b8749fc41"}, - {file = "certifi-2020.6.20.tar.gz", hash = "sha256:5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3"}, -] -chardet = [ - {file = "chardet-3.0.4-py2.py3-none-any.whl", hash = "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"}, - {file = "chardet-3.0.4.tar.gz", hash = "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"}, -] -docker = [ - {file = "docker-4.3.1-py2.py3-none-any.whl", hash = "sha256:13966471e8bc23b36bfb3a6fb4ab75043a5ef1dac86516274777576bed3b9828"}, - {file = "docker-4.3.1.tar.gz", hash = "sha256:bad94b8dd001a8a4af19ce4becc17f41b09f228173ffe6a4e0355389eef142f2"}, -] -idna = [ - {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"}, - {file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"}, -] -pywin32 = [ - {file = "pywin32-227-cp27-cp27m-win32.whl", hash = "sha256:371fcc39416d736401f0274dd64c2302728c9e034808e37381b5e1b22be4a6b0"}, - {file = "pywin32-227-cp27-cp27m-win_amd64.whl", hash = "sha256:4cdad3e84191194ea6d0dd1b1b9bdda574ff563177d2adf2b4efec2a244fa116"}, - {file = "pywin32-227-cp35-cp35m-win32.whl", hash = "sha256:f4c5be1a293bae0076d93c88f37ee8da68136744588bc5e2be2f299a34ceb7aa"}, - {file = "pywin32-227-cp35-cp35m-win_amd64.whl", hash = "sha256:a929a4af626e530383a579431b70e512e736e9588106715215bf685a3ea508d4"}, - {file = "pywin32-227-cp36-cp36m-win32.whl", hash = "sha256:300a2db938e98c3e7e2093e4491439e62287d0d493fe07cce110db070b54c0be"}, - {file = "pywin32-227-cp36-cp36m-win_amd64.whl", hash = "sha256:9b31e009564fb95db160f154e2aa195ed66bcc4c058ed72850d047141b36f3a2"}, - {file = "pywin32-227-cp37-cp37m-win32.whl", hash = "sha256:47a3c7551376a865dd8d095a98deba954a98f326c6fe3c72d8726ca6e6b15507"}, - {file = "pywin32-227-cp37-cp37m-win_amd64.whl", hash = "sha256:31f88a89139cb2adc40f8f0e65ee56a8c585f629974f9e07622ba80199057511"}, - {file = "pywin32-227-cp38-cp38-win32.whl", hash = "sha256:7f18199fbf29ca99dff10e1f09451582ae9e372a892ff03a28528a24d55875bc"}, - {file = "pywin32-227-cp38-cp38-win_amd64.whl", hash = "sha256:7c1ae32c489dc012930787f06244426f8356e129184a02c25aef163917ce158e"}, - {file = "pywin32-227-cp39-cp39-win32.whl", hash = "sha256:c054c52ba46e7eb6b7d7dfae4dbd987a1bb48ee86debe3f245a2884ece46e295"}, - {file = "pywin32-227-cp39-cp39-win_amd64.whl", hash = "sha256:f27cec5e7f588c3d1051651830ecc00294f90728d19c3bf6916e6dba93ea357c"}, -] -requests = [ - {file = "requests-2.24.0-py2.py3-none-any.whl", hash = "sha256:fe75cc94a9443b9246fc7049224f75604b113c36acb93f87b80ed42c44cbb898"}, - {file = "requests-2.24.0.tar.gz", hash = "sha256:b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b"}, -] -six = [ - {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"}, - {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"}, -] -urllib3 = [ - {file = "urllib3-1.25.10-py2.py3-none-any.whl", hash = "sha256:e7983572181f5e1522d9c98453462384ee92a0be7fac5f1413a1e35c56cc0461"}, - {file = "urllib3-1.25.10.tar.gz", hash = "sha256:91056c15fa70756691db97756772bb1eb9678fa585d9184f24534b100dc60f4a"}, -] -websocket-client = [ - {file = "websocket_client-0.57.0-py2.py3-none-any.whl", hash = "sha256:0fc45c961324d79c781bab301359d5a1b00b13ad1b10415a4780229ef71a5549"}, - {file = "websocket_client-0.57.0.tar.gz", hash = "sha256:d735b91d6d1692a6a181f2a8c9e0238e5f6373356f561bb9dc4c7af36f452010"}, +sampleproject = [ + {file = "sampleproject-1.3.1-py2.py3-none-any.whl", hash = "sha256:26c9172e08244873b0e09c574a229bf2c251c67723a05e08fd3ec0c5ee423796"}, + {file = "sampleproject-1.3.1-py3-none-any.whl", hash = "sha256:75bb5bb4e74a1b77dc0cff25ebbacb54fe1318aaf99a86a036cefc86ed885ced"}, + {file = "sampleproject-1.3.1.tar.gz", hash = "sha256:3593ca2f1e057279d70d6144b14472fb28035b1da213dde60906b703d6f82c55"}, ] Index: poetry-1.1.4/tests/fixtures/old_lock/pyproject.toml =================================================================== --- poetry-1.1.4.orig/tests/fixtures/old_lock/pyproject.toml +++ poetry-1.1.4/tests/fixtures/old_lock/pyproject.toml @@ -6,7 +6,7 @@ authors = ["Poetry Developer <developer@ [tool.poetry.dependencies] python = "^3.8" -docker = "^4.3.1" +sampleproject = ">=1.3.1" [tool.poetry.dev-dependencies] Index: poetry-1.1.4/tests/installation/test_chef.py =================================================================== --- poetry-1.1.4.orig/tests/installation/test_chef.py +++ poetry-1.1.4/tests/installation/test_chef.py @@ -60,7 +60,7 @@ def test_get_cached_archives_for_link(co } -def test_get_cache_directory_for_link(config): +def test_get_cache_directory_for_link(config, config_cache_dir): chef = Chef( config, MockEnv( @@ -71,8 +71,11 @@ def test_get_cache_directory_for_link(co directory = chef.get_cache_directory_for_link( Link("https://files.python-poetry.org/poetry-1.1.0.tar.gz") ) + expected = Path( - "/foo/artifacts/ba/63/13/283a3b3b7f95f05e9e6f84182d276f7bb0951d5b0cc24422b33f7a4648" + "{}/artifacts/ba/63/13/283a3b3b7f95f05e9e6f84182d276f7bb0951d5b0cc24422b33f7a4648".format( + config_cache_dir.as_posix() + ) ) assert expected == directory Index: poetry-1.1.4/tests/installation/test_executor.py =================================================================== --- poetry-1.1.4.orig/tests/installation/test_executor.py +++ poetry-1.1.4/tests/installation/test_executor.py @@ -126,9 +126,11 @@ Package operations: 4 installs, 1 update assert 5 == len(env.executed) -def test_execute_shows_skipped_operations_if_verbose(config, pool, io): +def test_execute_shows_skipped_operations_if_verbose( + config, pool, io, config_cache_dir +): config = Config() - config.merge({"cache-dir": "/foo"}) + config.merge({"cache-dir": config_cache_dir.as_posix()}) env = MockEnv() executor = Executor(env, pool, config, io) Index: poetry-1.1.4/tests/masonry/builders/test_editable_builder.py =================================================================== --- poetry-1.1.4.orig/tests/masonry/builders/test_editable_builder.py +++ poetry-1.1.4/tests/masonry/builders/test_editable_builder.py @@ -176,9 +176,9 @@ if __name__ == '__main__': def test_builder_falls_back_on_setup_and_pip_for_packages_with_build_scripts( - extended_poetry, + extended_poetry, tmp_dir ): - env = MockEnv(path=Path("/foo")) + env = MockEnv(path=Path(tmp_dir) / "foo") builder = EditableBuilder(extended_poetry, env, NullIO()) builder.build() @@ -219,8 +219,8 @@ def test_builder_installs_proper_files_w assert len(paths) == len(expected) -def test_builder_should_execute_build_scripts(extended_without_setup_poetry): - env = MockEnv(path=Path("/foo")) +def test_builder_should_execute_build_scripts(extended_without_setup_poetry, tmp_dir): + env = MockEnv(path=Path(tmp_dir) / "foo") builder = EditableBuilder(extended_without_setup_poetry, env, NullIO()) builder.build() Index: poetry-1.1.4/tests/utils/test_env.py =================================================================== --- poetry-1.1.4.orig/tests/utils/test_env.py +++ poetry-1.1.4/tests/utils/test_env.py @@ -118,7 +118,9 @@ def test_env_get_venv_with_venv_folder_p assert venv.path == in_project_venv_dir -def build_venv(path, executable=None): # type: (Union[Path,str], Optional[str]) -> () +def build_venv( + path, executable=None, flags=None +): # type: (Union[Path,str], Optional[str], bool) -> () os.mkdir(str(path)) @@ -156,7 +158,7 @@ def test_activate_activates_non_existing venv_name = EnvManager.generate_env_name("simple-project", str(poetry.file.parent)) m.assert_called_with( - Path(tmp_dir) / "{}-py3.7".format(venv_name), executable="python3.7" + Path(tmp_dir) / "{}-py3.7".format(venv_name), executable="python3.7", ) envs_file = TOMLFile(Path(tmp_dir) / "envs.toml") @@ -274,7 +276,7 @@ def test_activate_activates_different_vi env = manager.activate("python3.6", NullIO()) m.assert_called_with( - Path(tmp_dir) / "{}-py3.6".format(venv_name), executable="python3.6" + Path(tmp_dir) / "{}-py3.6".format(venv_name), executable="python3.6", ) assert envs_file.exists() @@ -326,7 +328,7 @@ def test_activate_activates_recreates_fo env = manager.activate("python3.7", NullIO()) build_venv_m.assert_called_with( - Path(tmp_dir) / "{}-py3.7".format(venv_name), executable="python3.7" + Path(tmp_dir) / "{}-py3.7".format(venv_name), executable="python3.7", ) remove_venv_m.assert_called_with(Path(tmp_dir) / "{}-py3.7".format(venv_name)) @@ -634,7 +636,7 @@ def test_run_with_input_non_zero_return( def test_create_venv_tries_to_find_a_compatible_python_executable_using_generic_ones_first( - manager, poetry, config, mocker + manager, poetry, config, mocker, config_virtualenvs_path ): if "VIRTUAL_ENV" in os.environ: del os.environ["VIRTUAL_ENV"] @@ -654,12 +656,12 @@ def test_create_venv_tries_to_find_a_com manager.create_venv(NullIO()) m.assert_called_with( - Path("/foo/virtualenvs/{}-py3.7".format(venv_name)), executable="python3" + config_virtualenvs_path / "{}-py3.7".format(venv_name), executable="python3", ) def test_create_venv_tries_to_find_a_compatible_python_executable_using_specific_ones( - manager, poetry, config, mocker + manager, poetry, config, mocker, config_virtualenvs_path ): if "VIRTUAL_ENV" in os.environ: del os.environ["VIRTUAL_ENV"] @@ -678,7 +680,7 @@ def test_create_venv_tries_to_find_a_com manager.create_venv(NullIO()) m.assert_called_with( - Path("/foo/virtualenvs/{}-py3.9".format(venv_name)), executable="python3.9" + config_virtualenvs_path / "{}-py3.9".format(venv_name), executable="python3.9", ) @@ -737,7 +739,7 @@ def test_create_venv_does_not_try_to_fin def test_create_venv_uses_patch_version_to_detect_compatibility( - manager, poetry, config, mocker + manager, poetry, config, mocker, config_virtualenvs_path ): if "VIRTUAL_ENV" in os.environ: del os.environ["VIRTUAL_ENV"] @@ -761,17 +763,14 @@ def test_create_venv_uses_patch_version_ assert not check_output.called m.assert_called_with( - Path( - "/foo/virtualenvs/{}-py{}.{}".format( - venv_name, version.major, version.minor - ) - ), + config_virtualenvs_path + / "{}-py{}.{}".format(venv_name, version.major, version.minor), executable=None, ) def test_create_venv_uses_patch_version_to_detect_compatibility_with_executable( - manager, poetry, config, mocker + manager, poetry, config, mocker, config_virtualenvs_path ): if "VIRTUAL_ENV" in os.environ: del os.environ["VIRTUAL_ENV"] @@ -798,11 +797,8 @@ def test_create_venv_uses_patch_version_ assert check_output.called m.assert_called_with( - Path( - "/foo/virtualenvs/{}-py{}.{}".format( - venv_name, version.major, version.minor - 1 - ) - ), + config_virtualenvs_path + / "{}-py{}.{}".format(venv_name, version.major, version.minor - 1), executable="python{}.{}".format(version.major, version.minor - 1), ) ++++++ simplify-toml.patch ++++++ --- /var/tmp/diff_new_pack.SXkDtd/_old 2020-10-29 09:49:12.772213829 +0100 +++ /var/tmp/diff_new_pack.SXkDtd/_new 2020-10-29 09:49:12.776213832 +0100 @@ -1,24 +1,36 @@ ---- poetry-1.0.9/pyproject.toml -+++ poetry-1.0.9/pyproject.toml -@@ -49,19 +49,13 @@ - virtualenv = { version = "^16.7.9", python = "~2.7" } +Index: poetry-1.1.2/pyproject.toml +=================================================================== +--- poetry-1.1.2.orig/pyproject.toml ++++ poetry-1.1.2/pyproject.toml +@@ -25,7 +25,7 @@ classifiers = [ + python = "~2.7 || ^3.5" + + poetry-core = "^1.0.0" +-cleo = "^0.8.1" ++cleo = "^0.8.0" + clikit = "^0.6.2" + crashtest = { version = "^0.3.0", python = "^3.6" } + requests = "^2.18" +@@ -51,20 +51,13 @@ futures = { version = "^3.3.0", python = + glob2 = { version = "^0.6", python = "~2.7" } # functools32 is needed for Python 2.7 functools32 = { version = "^3.2.3", python = "~2.7" } -keyring = [ -- { version = "^18.0.1", python = "~2.7 || ~3.4" }, -- { version = "^20.0.1", python = "^3.5" } +- { version = "^18.0.1", python = "~2.7" }, +- { version = "^20.0.1", python = "~3.5" }, +- { version = "^21.2.0", python = "^3.6" } -] -+keyring = { version = ">=20.0.1" } - # Use subprocess32 for Python 2.7 and 3.4 - subprocess32 = { version = "^3.5", python = "~2.7 || ~3.4" } - importlib-metadata = {version = "~1.1.3", python = "<3.8"} ++keyring = "^21.2.0" + # Use subprocess32 for Python 2.7 + subprocess32 = { version = "^3.5", python = "~2.7" } + importlib-metadata = {version = "^1.6.0", python = "<3.8"} [tool.poetry.dev-dependencies] -pytest = [ - {version = "^4.1", python = "<3.5"}, - {version = "^5.4.3", python = ">=3.5"} -] -+pytest = {version = "^5.4.3" } ++pytest = "^5.4.3" pytest-cov = "^2.5" - mkdocs = { version = "^1.0", python = "~2.7.9 || ^3.4" } - pymdown-extensions = "^6.0" + pytest-mock = "^1.9" + pre-commit = { version = "^2.6", python = "^3.6.1" }