Compare commits

..

15 commits

Author SHA1 Message Date
Benjamin A. Beasley
8e5b25853d Omit test data files with unclear license status 2024-11-13 11:45:47 -05:00
Benjamin A. Beasley
bc03da935e Update Summary from upstream 2024-11-13 11:32:31 -05:00
Benjamin A. Beasley
0fd1e39356 Add an rpmlintrc file
[skip changelog]
2024-11-13 11:32:29 -05:00
Benjamin A. Beasley
71e490867f Shorten a long line by using a macro
[skip changelog]
2024-11-13 11:32:07 -05:00
Benjamin A. Beasley
c5c9d4bcf7 Don’t assume %_smp_mflags is -j%_smp_build_ncpus 2024-11-13 11:31:31 -05:00
Benjamin A. Beasley
12b6628c31 Move some text doc files to the -doc subpackage 2024-11-13 11:31:14 -05:00
Benjamin A. Beasley
1e02ad4b8a Update to 0.28.1 (close RHBZ#2173195) 2023-02-25 09:54:33 -05:00
Benjamin A. Beasley
cf33f09c37 Update to 0.28.0 (close RHBZ#2171409) 2023-02-20 20:11:57 -05:00
Benjamin A. Beasley
e98c04ef0f Update to 0.27.2 (close RHBZ#2122000) 2022-08-29 08:35:04 -04:00
Benjamin A. Beasley
c307c40e2c Update License to SPDX 2022-08-29 08:34:34 -04:00
Benjamin A. Beasley
34bc5e69e2 Fix a typo in a spec file comment 2022-08-29 08:34:29 -04:00
Benjamin A. Beasley
c956583dc2 Fix extra newline in description 2022-08-29 08:34:19 -04:00
Benjamin A. Beasley
26d11c7309 Fix FTBFS due to Python 3.8 confusion
Since Python 3.8 and Python 3.6 packages are both providing
python3dist(…), BuildRequires of this form have become broken.
2022-07-28 22:10:47 -04:00
Benjamin A. Beasley
789902c413 Update to 0.26.0 (close RHBZ#2095806) 2022-06-10 14:43:55 -04:00
Benjamin A. Beasley
a9e0873869 Backport to EPEL8 (close RHBZ#1974684) 2021-12-23 11:44:58 -05:00
5 changed files with 190 additions and 77 deletions

14
.gitignore vendored
View file

@ -30,15 +30,5 @@
/OWSLib-0.27.2.tar.gz
/OWSLib-0.28.0.tar.gz
/OWSLib-0.28.1.tar.gz
/OWSLib-0.29.0.tar.gz
/OWSLib-0.29.1.tar.gz
/OWSLib-0.29.2.tar.gz
/OWSLib-0.29.3.tar.gz
/OWSLib-0.30.0.tar.gz
/OWSLib-0.30.0-filtered.tar.zst
/OWSLib-0.31.0-filtered.tar.zst
/OWSLib-0.32.0-filtered.tar.zst
/OWSLib-0.33.0-filtered.tar.zst
/OWSLib-0.34.0-filtered.tar.zst
/OWSLib-0.34.1-filtered.tar.zst
/OWSLib-0.35.0-filtered.tar.zst
/OWSLib-0.28.1-filtered.tar.zst
/OWSLib-0.28.1-filtered.tar.xz

View file

@ -11,7 +11,7 @@ Usage: $1 VERSION
Generate a source archive for OWSLib with questionably-licensed XML files in
tests/resources/ removed. The result will be named
OWSLib-\${VERSION}-filtered.tar.zst and will be written into the current
OWSLib-\${VERSION}-filtered.tar.xz and will be written into the current
working directory.
EOF
}
@ -31,7 +31,7 @@ VERSION="${1}"
SOURCE0="${FORGEURL}/archive/${VERSION}/OWSLib-${VERSION}.tar.gz"
TARNAME="$(basename "${SOURCE0}")"
TARDIR="$(basename "${SOURCE0}" '.tar.gz')"
NEWTAR="${TARDIR}-filtered.tar.zst"
NEWTAR="${TARDIR}-filtered.tar.xz"
SAVEDIR="${PWD}"
XDIR="$(mktemp -d)"
@ -56,7 +56,7 @@ TZ=UTC LC_ALL=C tar \
--pax-option='delete=atime,delete=ctime' \
--clamp-mtime --mtime="@${MTIME}" \
"${TARDIR}/" |
zstdmt --ultra -22 > "${NEWTAR}"
xz -9 -e > "${NEWTAR}"
touch -d @"${MTIME}" "${NEWTAR}"
cd "${SAVEDIR}"

View file

@ -1,7 +1,2 @@
# The source cannot be a URL because we have to filter out files before
# uploading to the lookaside cache.
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")
# All documentation is in the -doc subpackage.
addFilter(r" no-documentation$")

View file

@ -1,5 +1,15 @@
# 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. 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.35.0
Version: 0.28.1
Release: %autorelease
Summary: OGC Web Service utility library
@ -20,32 +30,48 @@ URL: https://geopython.github.io/OWSLib
# 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.zst
Source0: OWSLib-%{version}-filtered.tar.xz
Source1: get_source
BuildSystem: pyproject
BuildOption(install): -l owslib
BuildArch: noarch
# Tests; dependencies are in requirements-dev.txt.
BuildRequires: %{py3_dist pytest}
BuildRequires: %{py3_dist pytest_httpserver}
BuildRequires: %{py3_dist Pillow}
# We dont have pytest-socket packaged, and we can get by without it.
# - pytest-socket
# We dont use tox to run the tests. It would run "python3 setup.py develop",
# which is unwanted.
# - tox
# Unwanted linting/coverage dependencies:
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters
# - coverage
# - coveralls
# - flake8
# - pytest-cov
# These are just for the maintainer to upload to PyPI.
# - build
# - twine
BuildRequires: python%{python3_pkgversion}-devel
# requirements.txt:
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
BuildRequires: python%{python3_pkgversion}-lxml
# python_version < '3.7':
BuildRequires: python%{python3_pkgversion}-dataclasses
# requirements-dev.txt
# flake8
# pytest-cov
# twine
# wheel
# coverage
# coveralls
# tox
%if %{with tests}
BuildRequires: python%{python3_pkgversion}-pytest >= 3.8
%endif
%if %{with doc_pdf}
BuildRequires: make
BuildRequires: python%{python3_pkgversion}-sphinx-latex
BuildRequires: latexmk
BuildRequires: pandoc
# requirements-dev.txt
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:
OWSLib is a Python package for client programming with Open Geospatial
@ -60,24 +86,61 @@ numerous OGC Web Service interfaces.}
%description %{common_description}
%package -n python3-OWSLib
%package -n python%{python3_pkgversion}-OWSLib
Summary: %{summary}
%py_provides python3-owslib
%py_provides python%{python3_pkgversion}-OWSLib
%py_provides python%{python3_pkgversion}-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}
%description -n python%{python3_pkgversion}-OWSLib %{common_description}
%prep -a
%package doc
Summary: Documentation and examples for OWSLib
%description doc %{common_description}
This package contains documentation and examples for OWSLib.
%prep
%autosetup -n OWSLib-%{version}
%if %{with tests}
# Dont analyze/report test coverage
sed -r -i 's/^([[:blank:]]*)(--cov\b)/\1# \2/' tox.ini
sed -r -i 's/[-]-cov[^[:blank:]]*[[:blank:]][^[[:blank:]]+//g' tox.ini
%endif
# We dont 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
# Because at least one notebook requires Internet access, we must continue past
# notebook errors when building documentation.
echo 'nbsphinx_allow_errors = True' >> docs/conf.py
%check -a
%build
%py3_build
%if %{with doc_pdf}
PYTHONPATH="${PWD}" %make_build -C docs latex \
SPHINXOPTS='-j%{?_smp_build_ncpus}'
%make_build -C docs/build/latex/en LATEXMKOPTS='-quiet'
%endif
%install
%py3_install
%check
%if %{with tests}
# Otherwise, pytest finds the package twice in the Python path and complains.
rm -rf owslib
@ -113,30 +176,95 @@ 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"
k="${k-}${k+ and }not test_metadata"
k="${k-}${k+ and }not test_responsibility"
k="${k-}${k+ and }not test_distributor"
k="${k-}${k+ and }not test_online_distribution"
k="${k-}${k+ and }not test_identification"
k="${k-}${k+ and }not test_identification_contact"
k="${k-}${k+ and }not test_identification_date"
k="${k-}${k+ and }not test_identification_extent"
k="${k-}${k+ and }not test_identification_keywords"
k="${k-}${k+ and }not test_get_all_contacts"
k="${k-}${k+ and }not test_aus"
k="${k-}${k+ and }not test_service"
k="${k-}${k+ and }not test_md_featurecataloguedesc"
k="${k-}${k+ and }not test_md_imagedescription"
k="${k-}${k+ and }not test_dq_dataquality"
k="${k-}${k+ and }not test_md_reference_system"
k="${k-}${k+ and }not test_service2"
k="${k-}${k+ and }not test_md_distribution"
# Not in 0.30.0:
k="${k-}${k+ and }not test_wmts_example_informatievlaanderen"
%pytest -m 'not online' -k "${k-}" ${ignore-} -v -rs
PYTHONPATH='%{buildroot}%{python3_sitelib}' '%{python3}' -m pytest \
-m 'not online' -k "${k-}" ${ignore-} -v -rs
%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}
%doc README.md
%files -n python%{python3_pkgversion}-OWSLib
%license LICENSE
%{python3_sitelib}/owslib
%{python3_sitelib}/OWSLib-%{version}-py%{python3_version}.egg-info
%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
%endif
%changelog

View file

@ -1 +1 @@
SHA512 (OWSLib-0.35.0-filtered.tar.zst) = be1eb52fa09049b720c1ebd476363e01c6442c9905c9adf0d35ccc11f39b228b9f3e64ed882a7c04987f2f38f9c8500a61aeef61e48a41602098ff22df0ed526
SHA512 (OWSLib-0.28.1-filtered.tar.xz) = cc83e5973adb6d6bd5aa624017a6f7927957979f69a3dbdda1645c2ecb8b9b84bbb03b794440c7d66062d365400502a6176514f0fb8d51b8f06b1aea32c0284d