diff --git a/python-OWSLib.rpmlintrc b/python-OWSLib.rpmlintrc index 694038d..610479e 100644 --- a/python-OWSLib.rpmlintrc +++ b/python-OWSLib.rpmlintrc @@ -3,5 +3,3 @@ addFilter(r" invalid-url .* OWSLib-.*-filtered\.tar\.zst") # There is nothing wrong with .tar.zst, but rpmlint does not know that. addFilter(r" inconsistent-file-extension .*\.tar\.zst") -# Removed without replacement in Fedora 42 -addFilter(r" obsolete-not-provided python-OWSLIB-doc") diff --git a/python-OWSLib.spec b/python-OWSLib.spec index a44a326..a2316a9 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -1,3 +1,6 @@ +# Not yet in EPEL10: https://bugzilla.redhat.com/show_bug.cgi?id=2324280 +%bcond pytest_httpserver 0 + Name: python-OWSLib Version: 0.35.0 Release: %autorelease @@ -23,14 +26,15 @@ URL: https://geopython.github.io/OWSLib Source0: OWSLib-%{version}-filtered.tar.zst Source1: get_source -BuildSystem: pyproject -BuildOption(install): -l owslib - BuildArch: noarch +BuildRequires: python3-devel + # Tests; dependencies are in requirements-dev.txt. BuildRequires: %{py3_dist pytest} +%if %{with pytest_httpserver} BuildRequires: %{py3_dist pytest_httpserver} +%endif BuildRequires: %{py3_dist Pillow} # We don’t have pytest-socket packaged, and we can get by without it. # - pytest-socket @@ -65,19 +69,46 @@ Summary: %{summary} %py_provides python3-owslib -# The -doc subpackage was removed for Fedora 42; we can remove this Obsoletes -# after Fedora 44. (EPEL10 never had a -doc subpackage.) -Obsoletes: python-OWSLIB-doc < 0.32.0-1 - %description -n python3-OWSLib %{common_description} -%prep -a +%package doc +Summary: Documentation and examples for OWSLib + +%description doc +%{summary}. + + +%prep +%autosetup -n OWSLib-%{version} + # Don’t analyze/report test coverage sed -r -i 's/^([[:blank:]]*)(--cov\b)/\1# \2/' tox.ini +# We don’t need shebangs in the examples. The pattern of selecting files +# before modifying them with sed keeps us from unnecessarily discarding the +# original mtimes on unmodified files. +find 'examples' -type f -name '*.py' \ + -exec gawk '/^#!/ { print FILENAME }; { nextfile }' '{}' '+' | + xargs -r sed -r -i '1{/^#!/d}' +# Some of them, but not all of them, were executable. +chmod -v a-x examples/*.py -%check -a + +%generate_buildrequires +%pyproject_buildrequires + + +%build +%pyproject_wheel + + +%install +%pyproject_install +%pyproject_save_files -l owslib + + +%check # Otherwise, pytest finds the package twice in the Python path and complains. rm -rf owslib @@ -132,6 +163,10 @@ k="${k-}${k+ and }not test_md_reference_system" k="${k-}${k+ and }not test_service2" k="${k-}${k+ and }not test_md_distribution" +%if %{without pytest_httpserver} +ignore="${ignore-} --ignore=tests/test_csw_inspire.py" +%endif + %pytest -m 'not online' -k "${k-}" ${ignore-} -v -rs @@ -139,5 +174,11 @@ k="${k-}${k+ and }not test_md_distribution" %doc README.md +%files doc +%license LICENSE +%doc README.md +%doc examples/ + + %changelog %autochangelog