From e0e2610fb71248410b6bf1583bb83819206324b54e28dd48ef277cbb1b3dee7b Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Thu, 30 Jan 2025 13:21:08 +0000 Subject: [PATCH] - Add minimal-dependencies.patch fixing the issue with test. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zope.location?expand=0&rev=16 --- .gitattributes | 23 +++++++ .gitignore | 1 + _multibuild | 3 + minimal-dependencies.patch | 121 +++++++++++++++++++++++++++++++++++ pre_checkin.sh | 3 + python-zope.location.changes | 57 +++++++++++++++++ python-zope.location.spec | 85 ++++++++++++++++++++++++ zope.location-5.0.tar.gz | 3 + 8 files changed, 296 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _multibuild create mode 100644 minimal-dependencies.patch create mode 100644 pre_checkin.sh create mode 100644 python-zope.location.changes create mode 100644 python-zope.location.spec create mode 100644 zope.location-5.0.tar.gz diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..fcc7b97 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/minimal-dependencies.patch b/minimal-dependencies.patch new file mode 100644 index 0000000..5888fdb --- /dev/null +++ b/minimal-dependencies.patch @@ -0,0 +1,121 @@ +From bbe277f55cd69de23cdd32d277cc30e837ef70b3 Mon Sep 17 00:00:00 2001 +From: Michael Howitz +Date: Thu, 30 Jan 2025 09:14:32 +0100 +Subject: [PATCH] Add tests for minimal dependencies. + +Add `copy` extra to include the `zope.copy` dependency. + +Fixes #5. +--- + .meta.toml | 16 +++++++++++++++- + CHANGES.rst | 3 +++ + setup.py | 17 ++++++++++++++--- + src/zope/location/testing.py | 10 ++++++++++ + src/zope/location/tests/test_configure.py | 12 +++++++++++- + src/zope/location/tests/test_pickling.py | 3 +++ + tox.ini | 10 ++++++++++ + 7 files changed, 66 insertions(+), 5 deletions(-) + create mode 100644 src/zope/location/testing.py + +diff --git a/setup.py b/setup.py +index c12779a..f5b72bd 100644 +--- a/setup.py ++++ b/setup.py +@@ -37,8 +37,11 @@ def read(*rnames): + 'zope.component >= 4.0.1', + ] + +-TESTS_REQUIRE = ZCML_REQUIRES + COMPONENT_REQUIRES + [ ++COPY_REQUIRES = [ + 'zope.copy >= 4.0', ++] ++ ++TESTS_REQUIRE = [ + 'zope.testrunner', + ] + +@@ -57,7 +60,7 @@ def read(*rnames): + + '\n\n' + + read('CHANGES.rst') + ), +- license='ZPL 2.1', ++ license='ZPL-2.1', + keywords=('zope location structural'), + classifiers=[ + 'Development Status :: 5 - Production/Stable', +@@ -93,7 +96,15 @@ def read(*rnames): + extras_require={ + 'zcml': ZCML_REQUIRES, + 'component': COMPONENT_REQUIRES, +- 'test': TESTS_REQUIRE, ++ 'copy': COPY_REQUIRES, ++ 'test-minimal': TESTS_REQUIRE, ++ 'test-component': TESTS_REQUIRE + COMPONENT_REQUIRES + ZCML_REQUIRES, ++ 'test': ( ++ TESTS_REQUIRE ++ + ZCML_REQUIRES ++ + COMPONENT_REQUIRES ++ + COPY_REQUIRES ++ ), + 'docs': DOCS_REQUIRE, + }, + include_package_data=True, +diff --git a/src/zope/location/testing.py b/src/zope/location/testing.py +new file mode 100644 +index 0000000..bf28b3f +--- /dev/null ++++ b/src/zope/location/testing.py +@@ -0,0 +1,10 @@ ++import importlib ++import unittest ++ ++ ++def skipUnlessImportable(module: str): ++ try: ++ importlib.import_module(module) ++ except ModuleNotFoundError: # pragma: no cover ++ return unittest.skip(f"{module!r} not importable") ++ return lambda func: func +diff --git a/src/zope/location/tests/test_configure.py b/src/zope/location/tests/test_configure.py +index 332faa5..5f1bf4f 100644 +--- a/src/zope/location/tests/test_configure.py ++++ b/src/zope/location/tests/test_configure.py +@@ -15,12 +15,22 @@ + """ + import unittest + ++from zope.location.testing import skipUnlessImportable + ++ ++@skipUnlessImportable('zope.component') + class Test_ZCML_loads(unittest.TestCase): + + def test_it(self): + import zope.component # no registrations made if not present +- ADAPTERS_REGISTERED = 4 ++ ++ try: ++ import zope.copy ++ ADAPTERS_REGISTERED = 4 ++ except ModuleNotFoundError: # pragma: no cover ++ ADAPTERS_REGISTERED = 3 ++ else: ++ del zope.copy + from zope.configuration.xmlconfig import XMLConfig + from zope.configuration.xmlconfig import _clearContext + from zope.configuration.xmlconfig import _getContext +diff --git a/src/zope/location/tests/test_pickling.py b/src/zope/location/tests/test_pickling.py +index ddcc274..4c19709 100644 +--- a/src/zope/location/tests/test_pickling.py ++++ b/src/zope/location/tests/test_pickling.py +@@ -13,7 +13,10 @@ + ############################################################################## + import unittest + ++from zope.location.testing import skipUnlessImportable + ++ ++@skipUnlessImportable('zope.copy') + class LocationCopyHookTests(unittest.TestCase): + + def _getTargetClass(self): diff --git a/pre_checkin.sh b/pre_checkin.sh new file mode 100644 index 0000000..2da2aa2 --- /dev/null +++ b/pre_checkin.sh @@ -0,0 +1,3 @@ +#!/bin/sh +cp python-zope.location.changes python-zope.location-doc.changes + diff --git a/python-zope.location.changes b/python-zope.location.changes new file mode 100644 index 0000000..0769411 --- /dev/null +++ b/python-zope.location.changes @@ -0,0 +1,57 @@ +------------------------------------------------------------------- +Thu Jan 30 12:35:12 UTC 2025 - Markéta Machová + +- Add minimal-dependencies.patch fixing the issue with test. + +------------------------------------------------------------------- +Fri Jan 3 10:47:30 UTC 2025 - Markéta Machová + +- Skip failing test and open an issue upstream + +------------------------------------------------------------------- +Mon Dec 18 13:28:34 UTC 2023 - Dirk Müller + +- update to 5.0: + * Drop support for Python 2.7, 3.5, 3.6. + +------------------------------------------------------------------- +Fri Jun 9 13:14:19 UTC 2023 - ecsos + +- Add %{?sle15_python_module_pythons} + +------------------------------------------------------------------- +Wed Dec 7 22:51:19 UTC 2022 - Yogalakshmi Arunachalam + +- Update to version 4.3 + * Add support for Python 3.8, 3.9, 3.10, 3.11. + * Drop support for Python 3.4. + +------------------------------------------------------------------- +Fri Apr 5 11:13:00 UTC 2019 - Marketa Calabkova + +- update to version 4.2 + * Add support for Python 3.5, 3.6 and 3.7. + * Drop support for Python 2.6, 3.2 and 3.3. + * Add a page to the docs on hacking zope.location. + * Note additional documentation dependencies. + * Remove internal _compat implementation module. +- drop *-doc subpackage, use multibuild instead. + +------------------------------------------------------------------- +Thu Jul 13 22:39:07 UTC 2017 - aloisio@gmx.com + +- Update to version 4.0.3 + * Added Python 3.4 support. + * Updated boostrap.py to version 2.2. + +- Split docs and tests into separate -doc package since running + tests and sometimes building docs had become very messy. + Also see (gh#/zopefoundation/zope.proxy#18) + +- Converted to single-spec + +------------------------------------------------------------------- +Mon Jul 29 09:48:26 UTC 2013 - hpj@urpla.net + +- version 4.0.2: initial build + diff --git a/python-zope.location.spec b/python-zope.location.spec new file mode 100644 index 0000000..739cf0d --- /dev/null +++ b/python-zope.location.spec @@ -0,0 +1,85 @@ +# +# spec file for package python-zope.location +# +# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2013 LISA GmbH, Bingen, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +%define psuffix -test +%bcond_without test +%else +%define psuffix %{nil} +%bcond_with test +%endif +%{?sle15_python_module_pythons} +Name: python-zope.location%{psuffix} +Version: 5.0 +Release: 0 +Summary: Zope Location +License: ZPL-2.1 +Group: Development/Languages/Python +URL: https://www.python.org/pypi/zope.location +Source: https://files.pythonhosted.org/packages/source/z/zope.location/zope.location-%{version}.tar.gz +# PATCH-FIX-UPSTREAM https://github.com/zopefoundation/zope.location/pull/14 Add tests for minimal dependencies. +Patch: minimal-dependencies.patch +BuildRequires: %{python_module pip} +BuildRequires: %{python_module wheel} +BuildRequires: %{python_module zope.schema >= 4.2.2} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-zope.interface >= 4.0.2 +Requires: python-zope.proxy >= 4.0.1 +Requires: python-zope.schema >= 4.2.2 +BuildArch: noarch +%if %{with test} +BuildRequires: %{python_module zope.component >= 4.0.1} +BuildRequires: %{python_module zope.configuration} +BuildRequires: %{python_module zope.copy >= 4.0} +BuildRequires: %{python_module zope.proxy} +BuildRequires: %{python_module zope.testrunner} +%endif +%python_subpackages + +%description +In Zope3, location are special objects that has a structural location. + +%prep +%autosetup -p1 -n zope.location-%{version} +rm -rf src/zope.location.egg-info + +%build +%pyproject_wheel + +%install +%if !%{with test} +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} +%endif + +%if %{with test} +%check +%python_expand PYTHONPATH=src %{_bindir}/zope-testrunner-%{$python_bin_suffix} -vvv --test-path src +%endif + +%if !%{with test} +%files %{python_files} +%license LICENSE.txt +%doc COPYRIGHT.txt CHANGES.rst README.rst +%{python_sitelib}/* +%endif + +%changelog diff --git a/zope.location-5.0.tar.gz b/zope.location-5.0.tar.gz new file mode 100644 index 0000000..698224a --- /dev/null +++ b/zope.location-5.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:016fea934b97dad2b08a64ea7f2fbc3de55dbb074c461f66d871c70bf3aaaea5 +size 29020