From a9e087386915d6329b36e9f0d9e08dd47642cccf Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 23 Dec 2021 11:44:58 -0500 Subject: [PATCH 01/15] Backport to EPEL8 (close RHBZ#1974684) --- python-OWSLib.spec | 137 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 115 insertions(+), 22 deletions(-) diff --git a/python-OWSLib.spec b/python-OWSLib.spec index c7d6afd..3375389 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -1,8 +1,12 @@ # Sphinx-generated HTML documentation is not suitable for packaging; see # https://bugzilla.redhat.com/show_bug.cgi?id=2006555 for discussion. # -# We can generate PDF documentation as a substitute. -%bcond_without doc_pdf +# We can generate PDF documentation as a substitute. However, most of the +# necessary dependencies are not packaged for EPEL8 and probably never will be. +%bcond_with doc_pdf + +# Tests require pytest >= 3.8 but EPEL8 has 3.4.2. +%bcond_with tests Name: python-OWSLib Version: 0.25.0 @@ -17,11 +21,39 @@ BuildArch: noarch BuildRequires: python3-devel +# requirements.txt: +BuildRequires: python3dist(python-dateutil) >= 1.5 +BuildRequires: python3dist(pytz) +BuildRequires: python3dist(requests) >= 1.0 +BuildRequires: python3dist(pyproj) >= 2 +BuildRequires: python3dist(pyyaml) +# python_version < '3.7': +BuildRequires: python3dist(dataclasses) + +# requirements-dev.txt +# flake8 +# pytest-cov +# twine +# wheel +# coverage +# coveralls +# tox +%if %{with tests} +BuildRequires: python3dist(pytest) >= 3.8 +%endif + %if %{with doc_pdf} BuildRequires: make BuildRequires: python3-sphinx-latex BuildRequires: latexmk BuildRequires: pandoc +# requirements-dev.txt +BuildRequires: python3dist(sphinx) +BuildRequires: python3dist(Pillow) +BuildRequires: python3dist(nbsphinx) +BuildRequires: python3dist(ipykernel) +BuildRequires: python3dist(nbconvert) +BuildRequires: python3dist(pandoc) %endif %global common_description %{expand: \ @@ -41,6 +73,9 @@ numerous OGC Web Service interfaces.} %package -n python3-OWSLib Summary: %{summary} +%py_provides python3-OWSLib +%py_provides python3-owslib + %description -n python3-OWSLib %{common_description} @@ -55,18 +90,10 @@ Summary: Documentation and examples for OWSLib %prep %autosetup -n OWSLib-%{version} +%if %{with tests} # Don’t analyze/report test coverage sed -r -i 's/[-]-cov[^[:blank:]]*[[:blank:]][^[[:blank:]]+//g' tox.ini -# Don’t generate linting/coverage dependencies. -# -# We don’t have python3dist(pandoc) packaged, and besides, we don’t actually -# need python3dist(pandoc)—only the pandoc command-line tool, which we have -# manually BR’d. -# -# Don’t generate twine dependency, which is just for the upstream maintainer -# uploading to PyPI. -sed -r '/^(flake8|pytest-cov|pandoc|coverage|coveralls|twine)\b/d' \ - requirements-dev.txt > requirements-dev-filtered.txt +%endif # We don’t need shebangs in the examples. The pattern of selecting files # before modifying them with sed keeps us from unnecessarily discarding the @@ -82,12 +109,8 @@ chmod -v a-x examples/*.py echo 'nbsphinx_allow_errors = True' >> docs/conf.py -%generate_buildrequires -%pyproject_buildrequires -r requirements-dev-filtered.txt - - %build -%pyproject_wheel +%py3_build %if %{with doc_pdf} PYTHONPATH="${PWD}" %make_build -C docs latex SPHINXOPTS='%{?_smp_mflags}' @@ -96,11 +119,11 @@ PYTHONPATH="${PWD}" %make_build -C docs latex SPHINXOPTS='%{?_smp_mflags}' %install -%pyproject_install -%pyproject_save_files owslib +%py3_install %check +%if %{with tests} # Otherwise, pytest finds the package twice in the Python path and complains. rm -rf owslib @@ -137,16 +160,86 @@ k="${k-}${k+ and } not (TestOffline and test_wfs_200_remotemd_parse_single)" k="${k-}${k+ and } not (TestOffline and test_wms_130_remotemd_parse_all)" k="${k-}${k+ and } not (TestOffline and test_wms_130_remotemd_parse_single)" -%pytest -m 'not online' -k "${k-}" +PYTHONPATH='%{buildroot}%{python3_sitelib}' '%{python3}' -m pytest \ + -m 'not online' -k "${k-}" +%else +%{py3_check_import owslib + owslib + owslib.coverage + owslib.coverage.wcs100 + owslib.coverage.wcs110 + owslib.coverage.wcs111 + owslib.coverage.wcs200 + owslib.coverage.wcs201 + owslib.coverage.wcsBase + owslib.coverage.wcsdecoder + owslib.crs + owslib.csw + owslib.dif + owslib.etree + owslib.feature + owslib.feature.common + owslib.feature.postrequest + owslib.feature.schema + owslib.feature.wfs100 + owslib.feature.wfs110 + owslib.feature.wfs200 + owslib.fes + owslib.fgdc + owslib.gm03 + owslib.interfaces + owslib.iso + owslib.iso_che + owslib.map + owslib.map.common + owslib.map.wms111 + owslib.map.wms130 + owslib.namespaces + owslib.ogcapi + owslib.ogcapi.coverages + owslib.ogcapi.features + owslib.ogcapi.records + owslib.ows + owslib.owscontext + owslib.owscontext.atom + owslib.owscontext.common + owslib.owscontext.core + owslib.owscontext.geojson + owslib.sos + owslib.swe + owslib.swe.common + owslib.swe.observation + owslib.swe.observation.om + owslib.swe.observation.sos100 + owslib.swe.observation.sos200 + owslib.swe.observation.waterml2 + owslib.swe.sensor + owslib.swe.sensor.sml + owslib.tms + owslib.util + owslib.waterml + owslib.waterml.wml + owslib.waterml.wml10 + owslib.waterml.wml11 + owslib.wcs + owslib.wfs + owslib.wmc + owslib.wms + owslib.wmts + owslib.wps} +%endif -%files -n python3-OWSLib -f %{pyproject_files} -# pyproject_files handles LICENSE; verify with “rpm -qL -p …” +%files -n python3-OWSLib +%license LICENSE %doc AUTHORS.rst %doc CHANGES.rst %doc README.rst +%{python3_sitelib}/owslib +%{python3_sitelib}/OWSLib-%{version}-py%{python3_version}.egg-info + %files doc %license LICENSE From 789902c4134a432e1acec92d9a59c71f3ab3fe25 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 10 Jun 2022 14:18:16 -0400 Subject: [PATCH 02/15] Update to 0.26.0 (close RHBZ#2095806) --- .gitignore | 1 + python-OWSLib.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 65509e1..1f26598 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ /OWSLib-0.20.0.tar.gz /OWSLib-0.21.0.tar.gz /OWSLib-0.25.0.tar.gz +/OWSLib-0.26.0.tar.gz diff --git a/python-OWSLib.spec b/python-OWSLib.spec index 3375389..301c99d 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -9,7 +9,7 @@ %bcond_with tests Name: python-OWSLib -Version: 0.25.0 +Version: 0.26.0 Release: %autorelease Summary: Client library for OGC web services @@ -108,6 +108,10 @@ chmod -v a-x examples/*.py # notebook errors when building documentation. echo 'nbsphinx_allow_errors = True' >> docs/conf.py +# Revert “Revert to previous pyproj version” +# https://github.com/geopython/OWSLib/pull/807 +sed -r -i 's/(pyproj[[:blank:]]*)<[[:blank:]]*3\.3\.0/\1>=2/' requirements.txt + %build %py3_build diff --git a/sources b/sources index de6a60c..f8d8dcd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (OWSLib-0.25.0.tar.gz) = 058108cf77197ce24793608869d56bf0467230f5f231ac9ba48445f2e02d07ea1e26be03ad6967504a1e625008ae2768ed2a663f3b7a49dcea410ee4a8b40cec +SHA512 (OWSLib-0.26.0.tar.gz) = 27362c47eae87dc6318d505dd1b0987de36d140d2d0fd5d7a5195470de39d73807fbcafa142366f6981cc36453c262a41133c6c68baf45a97d0fdaae5a0ebf4b From 26d11c7309c8e04ca582c63eb6095ba5b06167e8 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 28 Jul 2022 22:10:44 -0400 Subject: [PATCH 03/15] Fix FTBFS due to Python 3.8 confusion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since Python 3.8 and Python 3.6 packages are both providing python3dist(…), BuildRequires of this form have become broken. --- python-OWSLib.spec | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/python-OWSLib.spec b/python-OWSLib.spec index 301c99d..5e9b765 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -19,16 +19,16 @@ Source0: https://github.com/geopython/OWSLib/archive/%{version}/OWSLib-%{ BuildArch: noarch -BuildRequires: python3-devel +BuildRequires: python%{python3_pkgversion}-devel # requirements.txt: -BuildRequires: python3dist(python-dateutil) >= 1.5 -BuildRequires: python3dist(pytz) -BuildRequires: python3dist(requests) >= 1.0 -BuildRequires: python3dist(pyproj) >= 2 -BuildRequires: python3dist(pyyaml) +BuildRequires: python%{python3_pkgversion}-dateutil >= 1.5 +BuildRequires: python%{python3_pkgversion}-pytz +BuildRequires: python%{python3_pkgversion}-requests >= 1.0 +BuildRequires: python%{python3_pkgversion}-pyproj >= 2 +BuildRequires: python%{python3_pkgversion}-pyyaml # python_version < '3.7': -BuildRequires: python3dist(dataclasses) +BuildRequires: python%{python3_pkgversion}-dataclasses # requirements-dev.txt # flake8 @@ -39,21 +39,21 @@ BuildRequires: python3dist(dataclasses) # coveralls # tox %if %{with tests} -BuildRequires: python3dist(pytest) >= 3.8 +BuildRequires: python%{python3_pkgversion}-pytest >= 3.8 %endif %if %{with doc_pdf} BuildRequires: make -BuildRequires: python3-sphinx-latex +BuildRequires: python%{python3_pkgversion}-sphinx-latex BuildRequires: latexmk BuildRequires: pandoc # requirements-dev.txt -BuildRequires: python3dist(sphinx) -BuildRequires: python3dist(Pillow) -BuildRequires: python3dist(nbsphinx) -BuildRequires: python3dist(ipykernel) -BuildRequires: python3dist(nbconvert) -BuildRequires: python3dist(pandoc) +BuildRequires: python%{python3_pkgversion}-sphinx +BuildRequires: python%{python3_pkgversion}-Pillow +BuildRequires: python%{python3_pkgversion}-nbsphinx +BuildRequires: python%{python3_pkgversion}-ipykernel +BuildRequires: python%{python3_pkgversion}-nbconvert +BuildRequires: python%{python3_pkgversion}-pandoc %endif %global common_description %{expand: \ @@ -70,13 +70,13 @@ numerous OGC Web Service interfaces.} %{common_description} -%package -n python3-OWSLib +%package -n python%{python3_pkgversion}-OWSLib Summary: %{summary} -%py_provides python3-OWSLib -%py_provides python3-owslib +%py_provides python%{python3_pkgversion}-OWSLib +%py_provides python%{python3_pkgversion}-owslib -%description -n python3-OWSLib +%description -n python%{python3_pkgversion}-OWSLib %{common_description} @@ -234,7 +234,7 @@ PYTHONPATH='%{buildroot}%{python3_sitelib}' '%{python3}' -m pytest \ %endif -%files -n python3-OWSLib +%files -n python%{python3_pkgversion}-OWSLib %license LICENSE %doc AUTHORS.rst From c956583dc27097119695b047ecbd8b338bf5191c Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 7 Jul 2022 15:52:05 -0400 Subject: [PATCH 04/15] Fix extra newline in description --- python-OWSLib.spec | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/python-OWSLib.spec b/python-OWSLib.spec index 5e9b765..ea9880a 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -56,7 +56,7 @@ BuildRequires: python%{python3_pkgversion}-nbconvert BuildRequires: python%{python3_pkgversion}-pandoc %endif -%global common_description %{expand: \ +%global common_description %{expand: OWSLib is a Python package for client programming with Open Geospatial Consortium (OGC) web service (hence OWS) interface standards, and their related content models. @@ -66,8 +66,7 @@ Full documentation is available at http://geopython.github.io/OWSLib OWSLib provides a common API for accessing service metadata and wrappers for numerous OGC Web Service interfaces.} -%description -%{common_description} +%description %{common_description} %package -n python%{python3_pkgversion}-OWSLib @@ -76,15 +75,15 @@ Summary: %{summary} %py_provides python%{python3_pkgversion}-OWSLib %py_provides python%{python3_pkgversion}-owslib -%description -n python%{python3_pkgversion}-OWSLib -%{common_description} +%description -n python%{python3_pkgversion}-OWSLib %{common_description} %package doc Summary: Documentation and examples for OWSLib -%description doc -%{summary}. +%description doc %{common_description} + +This package contains documentation and examples for OWSLib. %prep From 34bc5e69e2b1de5a5b3195c5ef7ed02ba621f3aa Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 11 Jul 2022 08:49:54 -0400 Subject: [PATCH 05/15] Fix a typo in a spec file comment --- python-OWSLib.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python-OWSLib.spec b/python-OWSLib.spec index ea9880a..45784d9 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -141,8 +141,8 @@ k="${k-}${k+ and }not wfs1_generic.txt" k="${k-}${k+ and }not wcs_thredds.txt" k="${k-}${k+ and }not test_wmts_example_informatievlaanderen" -# This is a trivial error where the representation of the expected TypeEror has -# changed over time: +# This is a trivial error where the representation of the expected TypeError +# has changed over time: # Differences (unified diff with -expected +actual): # @@ -1,3 +1,6 @@ # Traceback (most recent call last): From c307c40e2c04faf80eea5efaf96b824576bd62fe Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 28 Aug 2022 08:55:47 -0400 Subject: [PATCH 06/15] Update License to SPDX --- python-OWSLib.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-OWSLib.spec b/python-OWSLib.spec index 45784d9..c6b86c3 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -13,7 +13,7 @@ Version: 0.26.0 Release: %autorelease Summary: Client library for OGC web services -License: BSD +License: BSD-3-Clause URL: https://geopython.github.io/OWSLib Source0: https://github.com/geopython/OWSLib/archive/%{version}/OWSLib-%{version}.tar.gz From e98c04ef0f9d949218d471ef5c745b2d63850891 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 28 Aug 2022 08:54:22 -0400 Subject: [PATCH 07/15] Update to 0.27.2 (close RHBZ#2122000) --- .gitignore | 1 + python-OWSLib.spec | 7 +------ sources | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 1f26598..a9a908e 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ /OWSLib-0.21.0.tar.gz /OWSLib-0.25.0.tar.gz /OWSLib-0.26.0.tar.gz +/OWSLib-0.27.2.tar.gz diff --git a/python-OWSLib.spec b/python-OWSLib.spec index c6b86c3..7711a0f 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -9,7 +9,7 @@ %bcond_with tests Name: python-OWSLib -Version: 0.26.0 +Version: 0.27.2 Release: %autorelease Summary: Client library for OGC web services @@ -107,10 +107,6 @@ chmod -v a-x examples/*.py # notebook errors when building documentation. echo 'nbsphinx_allow_errors = True' >> docs/conf.py -# Revert “Revert to previous pyproj version” -# https://github.com/geopython/OWSLib/pull/807 -sed -r -i 's/(pyproj[[:blank:]]*)<[[:blank:]]*3\.3\.0/\1>=2/' requirements.txt - %build %py3_build @@ -235,7 +231,6 @@ PYTHONPATH='%{buildroot}%{python3_sitelib}' '%{python3}' -m pytest \ %files -n python%{python3_pkgversion}-OWSLib %license LICENSE - %doc AUTHORS.rst %doc CHANGES.rst %doc README.rst diff --git a/sources b/sources index f8d8dcd..3d2520a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (OWSLib-0.26.0.tar.gz) = 27362c47eae87dc6318d505dd1b0987de36d140d2d0fd5d7a5195470de39d73807fbcafa142366f6981cc36453c262a41133c6c68baf45a97d0fdaae5a0ebf4b +SHA512 (OWSLib-0.27.2.tar.gz) = 02c70731ef92783d53b8f0dff2cec7d28d14ac08b0a4b5090183f9eacf156d539c823fcd2ae480c07447e901697de498cdf2aaf27c8b6d46fa4cf8eb3679ceee From cf33f09c37688d894e66702450e213ab244b83a6 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 20 Feb 2023 09:44:13 -0500 Subject: [PATCH 08/15] Update to 0.28.0 (close RHBZ#2171409) --- .gitignore | 1 + python-OWSLib.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index a9a908e..8fdbdf1 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ /OWSLib-0.25.0.tar.gz /OWSLib-0.26.0.tar.gz /OWSLib-0.27.2.tar.gz +/OWSLib-0.28.0.tar.gz diff --git a/python-OWSLib.spec b/python-OWSLib.spec index 7711a0f..db4b37f 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -9,7 +9,7 @@ %bcond_with tests Name: python-OWSLib -Version: 0.27.2 +Version: 0.28.0 Release: %autorelease Summary: Client library for OGC web services diff --git a/sources b/sources index 3d2520a..897ee95 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (OWSLib-0.27.2.tar.gz) = 02c70731ef92783d53b8f0dff2cec7d28d14ac08b0a4b5090183f9eacf156d539c823fcd2ae480c07447e901697de498cdf2aaf27c8b6d46fa4cf8eb3679ceee +SHA512 (OWSLib-0.28.0.tar.gz) = 4a5002a05c1616ca382aa85561cee950c707488feb37f0f29232758159abcef8545980361cb976240e9026937557ab349764f84c95091f9f3df8698498f47fde From 1e02ad4b8a0403f6a0c15257a1c4f6c0c2b08fe8 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 24 Feb 2023 14:44:13 -0500 Subject: [PATCH 09/15] Update to 0.28.1 (close RHBZ#2173195) --- .gitignore | 1 + python-OWSLib.spec | 3 ++- sources | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 8fdbdf1..89531ed 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ /OWSLib-0.26.0.tar.gz /OWSLib-0.27.2.tar.gz /OWSLib-0.28.0.tar.gz +/OWSLib-0.28.1.tar.gz diff --git a/python-OWSLib.spec b/python-OWSLib.spec index db4b37f..a20d9f9 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -9,7 +9,7 @@ %bcond_with tests Name: python-OWSLib -Version: 0.28.0 +Version: 0.28.1 Release: %autorelease Summary: Client library for OGC web services @@ -27,6 +27,7 @@ BuildRequires: python%{python3_pkgversion}-pytz BuildRequires: python%{python3_pkgversion}-requests >= 1.0 BuildRequires: python%{python3_pkgversion}-pyproj >= 2 BuildRequires: python%{python3_pkgversion}-pyyaml +BuildRequires: python%{python3_pkgversion}-lxml # python_version < '3.7': BuildRequires: python%{python3_pkgversion}-dataclasses diff --git a/sources b/sources index 897ee95..6ddf3e6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (OWSLib-0.28.0.tar.gz) = 4a5002a05c1616ca382aa85561cee950c707488feb37f0f29232758159abcef8545980361cb976240e9026937557ab349764f84c95091f9f3df8698498f47fde +SHA512 (OWSLib-0.28.1.tar.gz) = bd62a5e371e64e0e256cc83d2f044294c20965f6b107b0dd9074ac752971620f01af4c7fc9a82e43dc81e71a6a36696b75403012841c28925b017d9c47b2d4a5 From 12b6628c31d013580351eef4686dada9b79ad262 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 8 Mar 2023 09:38:19 -0500 Subject: [PATCH 10/15] Move some text doc files to the -doc subpackage --- python-OWSLib.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python-OWSLib.spec b/python-OWSLib.spec index a20d9f9..f09cfa3 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -232,9 +232,6 @@ PYTHONPATH='%{buildroot}%{python3_sitelib}' '%{python3}' -m pytest \ %files -n python%{python3_pkgversion}-OWSLib %license LICENSE -%doc AUTHORS.rst -%doc CHANGES.rst -%doc README.rst %{python3_sitelib}/owslib %{python3_sitelib}/OWSLib-%{version}-py%{python3_version}.egg-info @@ -242,6 +239,9 @@ PYTHONPATH='%{buildroot}%{python3_sitelib}' '%{python3}' -m pytest \ %files doc %license LICENSE +%doc AUTHORS.rst +%doc CHANGES.rst +%doc README.rst %doc examples %if %{with doc_pdf} %doc docs/build/latex/en/OWSLib.pdf From c5c9d4bcf7e42070697e6c3ecde4ebbd92624ecf Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 18 Mar 2023 08:41:52 -0400 Subject: [PATCH 11/15] =?UTF-8?q?Don=E2=80=99t=20assume=20%=5Fsmp=5Fmflags?= =?UTF-8?q?=20is=20-j%=5Fsmp=5Fbuild=5Fncpus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- python-OWSLib.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python-OWSLib.spec b/python-OWSLib.spec index f09cfa3..479a5cb 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -113,7 +113,8 @@ echo 'nbsphinx_allow_errors = True' >> docs/conf.py %py3_build %if %{with doc_pdf} -PYTHONPATH="${PWD}" %make_build -C docs latex SPHINXOPTS='%{?_smp_mflags}' +PYTHONPATH="${PWD}" %make_build -C docs latex \ + SPHINXOPTS='-j%{?_smp_build_ncpus}' %make_build -C docs/build/latex/en LATEXMKOPTS='-quiet' %endif From 71e490867fc71c310a367fd59376df46afb7e317 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 28 May 2023 13:04:49 -0400 Subject: [PATCH 12/15] Shorten a long line by using a macro [skip changelog] --- python-OWSLib.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python-OWSLib.spec b/python-OWSLib.spec index 479a5cb..c25a5e9 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -15,7 +15,8 @@ Summary: Client library for OGC web services License: BSD-3-Clause URL: https://geopython.github.io/OWSLib -Source0: https://github.com/geopython/OWSLib/archive/%{version}/OWSLib-%{version}.tar.gz +%global forgeurl https://github.com/geopython/OWSLib +Source0: %{forgeurl}/archive/%{version}/OWSLib-%{version}.tar.gz BuildArch: noarch From 0fd1e39356d3e919e20a19e0a7429892188b0362 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 20 Mar 2024 15:10:56 -0400 Subject: [PATCH 13/15] Add an rpmlintrc file [skip changelog] --- python-OWSLib.rpmlintrc | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 python-OWSLib.rpmlintrc diff --git a/python-OWSLib.rpmlintrc b/python-OWSLib.rpmlintrc new file mode 100644 index 0000000..981f880 --- /dev/null +++ b/python-OWSLib.rpmlintrc @@ -0,0 +1,2 @@ +# All documentation is in the -doc subpackage. +addFilter(r" no-documentation$") From bc03da935edcc2369bba4d31aee066608e06d547 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 20 Mar 2024 15:12:02 -0400 Subject: [PATCH 14/15] Update Summary from upstream --- python-OWSLib.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-OWSLib.spec b/python-OWSLib.spec index c25a5e9..969a7d6 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -11,7 +11,7 @@ Name: python-OWSLib Version: 0.28.1 Release: %autorelease -Summary: Client library for OGC web services +Summary: OGC Web Service utility library License: BSD-3-Clause URL: https://geopython.github.io/OWSLib From 8e5b25853de8704294cae40b7a9196646d1844f4 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 13 Nov 2024 07:43:30 -0500 Subject: [PATCH 15/15] Omit test data files with unclear license status --- .gitignore | 2 ++ get_source | 63 ++++++++++++++++++++++++++++++++++ python-OWSLib.spec | 85 +++++++++++++++++++++++++++------------------- sources | 2 +- 4 files changed, 117 insertions(+), 35 deletions(-) create mode 100755 get_source diff --git a/.gitignore b/.gitignore index 89531ed..16bd058 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,5 @@ /OWSLib-0.27.2.tar.gz /OWSLib-0.28.0.tar.gz /OWSLib-0.28.1.tar.gz +/OWSLib-0.28.1-filtered.tar.zst +/OWSLib-0.28.1-filtered.tar.xz diff --git a/get_source b/get_source new file mode 100755 index 0000000..e819a64 --- /dev/null +++ b/get_source @@ -0,0 +1,63 @@ +#!/bin/sh +set -o nounset +set -o errexit + +FORGEURL='https://github.com/geopython/OWSLib' + +print_help() +{ + cat <&2 + print_help "${0}" + exit 1 +elif [ "${1-}" = '-h' ] || [ "${1-}" = '--help' ] +then + print_help "${0}" + exit 0 +fi + +VERSION="${1}" +SOURCE0="${FORGEURL}/archive/${VERSION}/OWSLib-${VERSION}.tar.gz" +TARNAME="$(basename "${SOURCE0}")" +TARDIR="$(basename "${SOURCE0}" '.tar.gz')" +NEWTAR="${TARDIR}-filtered.tar.xz" + +SAVEDIR="${PWD}" +XDIR="$(mktemp -d)" +trap "rm -rf '${XDIR}'" INT TERM EXIT + +cd "${XDIR}" +curl -L -O "${SOURCE0}" +echo "Extracting ${TARNAME}…" 1>&2 +tar -xzf "${TARNAME}" +MTIME="$(stat -c '%Y' "${TARDIR}")" +rm -rvf "${TARDIR}/tests/resources" +echo "Re-compressing as ${NEWTAR}…" 1>&2 +# https://www.gnu.org/software/tar/manual/html_section/Reproducibility.html +# We reset all mtimes to that of the top-level extracted directory; since git +# archives don’t have meaningful per-file mtimes, nothing useful is lost. +TZ=UTC LC_ALL=C tar \ + --create \ + --sort=name \ + --format=posix \ + --numeric-owner --owner=0 --group=0 \ + --mode=go+u,go-w \ + --pax-option='delete=atime,delete=ctime' \ + --clamp-mtime --mtime="@${MTIME}" \ + "${TARDIR}/" | + xz -9 -e > "${NEWTAR}" +touch -d @"${MTIME}" "${NEWTAR}" + +cd "${SAVEDIR}" +mv -v "${XDIR}/${NEWTAR}" . diff --git a/python-OWSLib.spec b/python-OWSLib.spec index 969a7d6..dd5e139 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -15,8 +15,23 @@ Summary: OGC Web Service utility library License: BSD-3-Clause URL: https://geopython.github.io/OWSLib -%global forgeurl https://github.com/geopython/OWSLib -Source0: %{forgeurl}/archive/%{version}/OWSLib-%{version}.tar.gz +# A filtered source archive, obtained by (see Source1): +# +# ./get_source %%{version} +# +# is required because tests/resources/ contains XML data files that appear to +# have been pulled from various GIS databases, and the license terms for these +# files are unclear. +# +# The unfiltered base source URL would be: +# +# https://github.com/geopython/OWSLib/archive/%%{version}/OWSLib-%%{version}.tar.gz +# +# We *could* use the PyPI sdist, which does not contain tests/resources/, but +# it also does not contain any tests at all. We can still run some tests +# without the XML files, and we would like to do so. +Source0: OWSLib-%{version}-filtered.tar.xz +Source1: get_source BuildArch: noarch @@ -129,41 +144,43 @@ PYTHONPATH="${PWD}" %make_build -C docs latex \ # Otherwise, pytest finds the package twice in the Python path and complains. rm -rf owslib -# There is a convenient “online” mark for deselecting tests that require -# Internet access, but we still have to manually deselect doctests that try to -# make network requests. -k="${k-}${k+ and }not wms_geoserver_mass_gis.txt" -k="${k-}${k+ and }not wfs_MapServerWFSFeature.txt" -k="${k-}${k+ and }not wfs_MapServerWFSCapabilities.txt" -k="${k-}${k+ and }not wfs2_storedqueries.txt" -k="${k-}${k+ and }not wfs1_generic.txt" -k="${k-}${k+ and }not wcs_thredds.txt" +# These require test data files from tests/resources/, which we have removed: +ignore="${ignore-} --ignore-glob=tests/doctests/*.txt" +k="${k-}${k+ and }not test_gm03" +ignore="${ignore-} --ignore=tests/test_iso_parsing.py" +ignore="${ignore-} --ignore=tests/test_ows_interfaces.py" +ignore="${ignore-} --ignore=tests/test_owscontext_atomxml.py" +k="${k-}${k+ and }not test_decode_single_json" +k="${k-}${k+ and }not test_load_parse" +k="${k-}${k+ and }not test_decode_full_json" +k="${k-}${k+ and }not test_load_bulk" +ignore="${ignore-} --ignore=tests/test_remote_metadata.py" +k="${k-}${k+ and }not TestOffline" +ignore="${ignore-} --ignore=tests/test_wfs_generic.py" +ignore="${ignore-} --ignore=tests/test_wms_datageo_130.py" +ignore="${ignore-} --ignore=tests/test_wms_jpl_capabilities.py" +k="${k-}${k+ and }not test_wps_getOperationByName" +k="${k-}${k+ and }not test_wps_checkStatus" +k="${k-}${k+ and }not test_wps_process_representation" +k="${k-}${k+ and }not test_wps_process_properties" +k="${k-}${k+ and }not test_wps_literal_data_input_parsing_references" +k="${k-}${k+ and }not test_wps_response_with_lineage" +ignore="${ignore-} --ignore=tests/test_wps_describeprocess_bbox.py" +ignore="${ignore-} --ignore=tests/test_wps_describeprocess_ceda.py" +ignore="${ignore-} --ignore=tests/test_wps_describeprocess_emu_all.py" +ignore="${ignore-} --ignore=tests/test_wps_describeprocess_usgs.py" +ignore="${ignore-} --ignore=tests/test_wps_execute.py" +ignore="${ignore-} --ignore=tests/test_wps_execute_invalid_request.py" +ignore="${ignore-} --ignore=tests/test_wps_getcapabilities_52n.py" +ignore="${ignore-} --ignore=tests/test_wps_getcapabilities_ceda.py" +ignore="${ignore-} --ignore=tests/test_wps_getcapabilities_usgs.py" +ignore="${ignore-} --ignore-glob=tests/test_wps_request*.py" +ignore="${ignore-} --ignore-glob=tests/test_wps_response*.py" +# Not in 0.30.0: k="${k-}${k+ and }not test_wmts_example_informatievlaanderen" -# This is a trivial error where the representation of the expected TypeError -# has changed over time: -# Differences (unified diff with -expected +actual): -# @@ -1,3 +1,6 @@ -# Traceback (most recent call last): -# -... -# -TypeError: get_namespace() ... -# + File "/usr/lib64/python3.10/doctest.py", line 1346, in __run -# + exec(compile(example.source, filename, "single", -# + File "", line 1, in -# + ns.get_namespace() -# +TypeError: Namespaces.get_namespace() missing 1 required positional argument: 'key' -k="${k-}${k+ and }not namespaces.txt" - -# Unknown problem—check if it is fixed in a later version: -k="${k-}${k+ and } not (TestOffline and test_wfs_110_remotemd_parse_all)" -k="${k-}${k+ and } not (TestOffline and test_wfs_110_remotemd_parse_single)" -k="${k-}${k+ and } not (TestOffline and test_wfs_200_remotemd_parse_all)" -k="${k-}${k+ and } not (TestOffline and test_wfs_200_remotemd_parse_single)" -k="${k-}${k+ and } not (TestOffline and test_wms_130_remotemd_parse_all)" -k="${k-}${k+ and } not (TestOffline and test_wms_130_remotemd_parse_single)" - PYTHONPATH='%{buildroot}%{python3_sitelib}' '%{python3}' -m pytest \ - -m 'not online' -k "${k-}" + -m 'not online' -k "${k-}" ${ignore-} -v -rs %else %{py3_check_import owslib owslib diff --git a/sources b/sources index 6ddf3e6..9e7c211 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (OWSLib-0.28.1.tar.gz) = bd62a5e371e64e0e256cc83d2f044294c20965f6b107b0dd9074ac752971620f01af4c7fc9a82e43dc81e71a6a36696b75403012841c28925b017d9c47b2d4a5 +SHA512 (OWSLib-0.28.1-filtered.tar.xz) = cc83e5973adb6d6bd5aa624017a6f7927957979f69a3dbdda1645c2ecb8b9b84bbb03b794440c7d66062d365400502a6176514f0fb8d51b8f06b1aea32c0284d