diff --git a/.gitignore b/.gitignore index 1a374c7..45464ab 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,28 @@ /OWSLib-0.12.0.tar.gz /OWSLib-0.13.0.tar.gz /OWSLib-0.14.0.tar.gz +/OWSLib-0.15.0.tar.gz +/OWSLib-0.16.0.tar.gz +/OWSLib-0.17.0.tar.gz +/OWSLib-0.18.0.tar.gz +/OWSLib-0.19.0.tar.gz +/OWSLib-0.19.1.tar.gz +/OWSLib-0.20.0.tar.gz +/OWSLib-0.21.0.tar.gz +/OWSLib-0.25.0.tar.gz +/OWSLib-0.26.0.tar.gz +/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 diff --git a/changelog b/changelog new file mode 100644 index 0000000..0daa747 --- /dev/null +++ b/changelog @@ -0,0 +1,170 @@ +* Fri Jul 23 2021 Fedora Release Engineering - 0.21.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 0.21.0-3 +- Rebuilt for Python 3.10 + +* Wed Jan 27 2021 Fedora Release Engineering - 0.21.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Dec 09 2020 Volker Fröhlich - 0.21.0-1 +- New upstream release + +* Tue Jul 28 2020 Fedora Release Engineering - 0.20.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jun 05 2020 Volker Fröhlich - 0.20.0-1 +- New upstream release + +* Tue May 26 2020 Miro Hrončok - 0.19.1-2 +- Rebuilt for Python 3.9 + +* Sun Feb 02 2020 Volker Fröhlich - 0.19.1-1 +- New upstream release + +* Thu Jan 30 2020 Fedora Release Engineering - 0.19.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sun Jan 19 2020 Volker Fröhlich - 0.19.0-1 +- New upstream release + +* Thu Oct 03 2019 Miro Hrončok - 0.18.0-4 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 0.18.0-3 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 0.18.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jun 26 2019 Volker Fröhlich - 0.18.0-1 +- New upstream release + +* Mon Feb 11 2019 Miro Hrončok - 0.17.0-3 +- Subpackage python2-owslib has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Sat Feb 02 2019 Fedora Release Engineering - 0.17.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Sep 19 2018 Volker Fröhlich - 0.17.0-1 +- New upstream release +- Update names of documentation files + +* Fri Jul 13 2018 Fedora Release Engineering - 0.16.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 0.16.0-4 +- Rebuilt for Python 3.7 + +* Wed Feb 21 2018 Iryna Shcherbina - 0.16.0-3 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Fri Feb 09 2018 Fedora Release Engineering - 0.16.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Dec 22 2017 Volker Fröhlich - 0.16.0-1 +- New upstream release + +* Thu Sep 14 2017 Volker Fröhlich - 0.15.0-1 +- New upstream release + +* Tue Aug 29 2017 Zbigniew Jędrzejewski-Szmek - 0.14.0-5 +- Add Provides for the old name + +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 0.14.0-4 +- Python 2 binary package renamed to python2-owslib + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Thu Jul 27 2017 Fedora Release Engineering - 0.14.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0.14.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Jan 12 2017 Volker Fröhlich - 0.14.0-1 +- New upstream release + +* Mon Dec 19 2016 Miro Hrončok - 0.13.0-2 +- Rebuild for Python 3.6 + +* Sun Sep 25 2016 Volker Fröhlich - 0.13.0-1 +- New upstream release + +* Tue Sep 13 2016 Volker Fröhlich - 0.12.0-1 +- New upstream release +- Update URL and Source + +* Tue Jul 19 2016 Fedora Release Engineering - 0.11.2-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Mon May 16 2016 Volker Fröhlich - 0.11.2-1 +- New upstream release + +* Sat May 14 2016 Volker Fröhlich - 0.11.1-1 +- New upstream release + +* Fri Apr 1 2016 Volker Fröhlich - 0.11.0-1 +- New upstream release + +* Thu Feb 04 2016 Fedora Release Engineering - 0.10.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Nov 23 2015 Volker Fröhlich - 0.10.3-1 +- New upstream release + +* Sun Nov 22 2015 Volker Fröhlich - 0.10.1-1 +- New upstream release + +* Thu Nov 12 2015 Fedora Release Engineering - 0.10.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Wed Nov 11 2015 Volker Fröhlich - 0.10.0-1 +- New upstream release + +* Tue Nov 10 2015 Fedora Release Engineering - 0.9.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Fri Sep 25 2015 Volker Fröhlich - 0.9.2-1 +- New upstream release + +* Sun Sep 6 2015 Volker Fröhlich - 0.9.1-2 +- Add pyproj dependency + +* Sun Sep 6 2015 Volker Fröhlich - 0.9.1-1 +- New upstream release + +* Thu Jun 18 2015 Fedora Release Engineering - 0.9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Jun 13 2015 Volker Fröhlich - 0.9.0-1 +- New upstream release +- Add Python 3 sub-package + +* Sat Feb 14 2015 Volker Fröhlich - 0.8.13-1 +- New upstream release + +* Tue Dec 23 2014 Volker Fröhlich - 0.8.12-1 +- New upstream release + +* Wed Dec 17 2014 Volker Fröhlich - 0.8.11-1 +- New upstream release + +* Mon Oct 13 2014 Volker Fröhlich - 0.8.10-1 +- New upstream release + +* Wed Sep 24 2014 Volker Fröhlich - 0.8.9-1 +- New upstream release + +* Mon Jul 7 2014 Volker Fröhlich - 0.8.8-1 +- New upstream release + +* Wed Jul 2 2014 Volker Fröhlich - 0.8.7-3 +- Changed package summary + +* Tue Jul 1 2014 Volker Fröhlich - 0.8.7-2 +- Correct BR python-setuptools-devel to python-setuptools + +* Mon Jun 30 2014 Volker Fröhlich - 0.8.7-1 +- Initial package for Fedora diff --git a/get_source b/get_source new file mode 100755 index 0000000..085fbb8 --- /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.zst" + +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}/" | + zstdmt --ultra -22 > "${NEWTAR}" +touch -d @"${MTIME}" "${NEWTAR}" + +cd "${SAVEDIR}" +mv -v "${XDIR}/${NEWTAR}" . diff --git a/python-OWSLib.rpmlintrc b/python-OWSLib.rpmlintrc new file mode 100644 index 0000000..694038d --- /dev/null +++ b/python-OWSLib.rpmlintrc @@ -0,0 +1,7 @@ +# 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") diff --git a/python-OWSLib.spec b/python-OWSLib.spec index 8a1b929..a44a326 100644 --- a/python-OWSLib.spec +++ b/python-OWSLib.spec @@ -1,188 +1,143 @@ -# Works with either ElementTree or python-lxml -%global modname OWSLib -%global with_python3 1 +Name: python-OWSLib +Version: 0.35.0 +Release: %autorelease +Summary: OGC Web Service utility library -Name: python-%{modname} -Version: 0.14.0 -Release: 3%{?dist} -Summary: Client library for OGC web services -License: BSD +License: BSD-3-Clause URL: https://geopython.github.io/OWSLib -Source0: https://files.pythonhosted.org/packages/source/O/%{modname}/%{modname}-%{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.zst +Source1: get_source + +BuildSystem: pyproject +BuildOption(install): -l owslib + BuildArch: noarch -BuildRequires: python2-devel -BuildRequires: python-setuptools -Requires: pyproj -Requires: python-dateutil -Requires: python-requests -Requires: pytz +# Tests; dependencies are in requirements-dev.txt. +BuildRequires: %{py3_dist pytest} +BuildRequires: %{py3_dist pytest_httpserver} +BuildRequires: %{py3_dist Pillow} +# We don’t have pytest-socket packaged, and we can get by without it. +# - pytest-socket +# We don’t 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 -%if 0%{?with_python3} -BuildRequires: python3-devel -BuildRequires: python3-setuptools -%endif # if with_python3 +%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. + +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 -Package for client programming with Open Geospatial Consortium (OGC) web -service (hence OWS) interface standards, and their related content models. -%if 0%{?with_python3} %package -n python3-OWSLib -Summary: Client library for OGC web services +Summary: %{summary} -Requires: python3-dateutil -Requires: python3-pyproj -Requires: python3-pytz -Requires: python3-requests +%py_provides python3-owslib -%description -n python3-OWSLib -Package for client programming with Open Geospatial Consortium (OGC) web -service (hence OWS) interface standards, and their related content models. -%endif # if with_python3 +# 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 -%prep -%setup -qc -n %{modname}-%{version} -rm -rf %{modname}-%{version}/%{modname}.egg-info -mv %{modname}-%{version} python2 - -%if 0%{?with_python3} -cp -a python2 python3 -find python3 -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|' -%endif # with_python3 - -find python2 -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python2}|' - -pushd python2 -cp -pr LICENSE.txt README.txt CHANGES.txt CREDITS.txt ../ -popd +%description -n python3-OWSLib %{common_description} -%build -pushd python2 -%{__python2} setup.py build -popd - -%if 0%{?with_python3} -pushd python3 -%{__python3} setup.py build -popd -%endif # if with_python3 +%prep -a +# Don’t analyze/report test coverage +sed -r -i 's/^([[:blank:]]*)(--cov\b)/\1# \2/' tox.ini -%install -pushd python2 -%{__python2} setup.py install --skip-build --root %{buildroot} -popd +%check -a +# Otherwise, pytest finds the package twice in the Python path and complains. +rm -rf owslib -%if 0%{?with_python3} -pushd python3 -%{__python3} setup.py install --skip-build --root %{buildroot} -popd -%endif # if with_python3 +# 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" +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" + +%pytest -m 'not online' -k "${k-}" ${ignore-} -v -rs -%files -%doc LICENSE.txt README.txt CHANGES.txt CREDITS.txt -%{python_sitelib}/owslib -%{python_sitelib}/%{modname}-%{version}-py*.egg-info +%files -n python3-OWSLib -f %{pyproject_files} +%doc README.md -%if 0%{?with_python3} -%files -n python3-OWSLib -%doc LICENSE.txt README.txt CHANGES.txt CREDITS.txt -%{python3_sitelib}/owslib -%{python3_sitelib}/%{modname}-%{version}-py*.egg-info -%endif # if with_python3 %changelog -* Thu Jul 27 2017 Fedora Release Engineering - 0.14.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 0.14.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Thu Jan 12 2017 Volker Fröhlich - 0.14.0-1 -- New upstream release - -* Mon Dec 19 2016 Miro Hrončok - 0.13.0-2 -- Rebuild for Python 3.6 - -* Sun Sep 25 2016 Volker Fröhlich - 0.13.0-1 -- New upstream release - -* Tue Sep 13 2016 Volker Fröhlich - 0.12.0-1 -- New upstream release -- Update URL and Source - -* Tue Jul 19 2016 Fedora Release Engineering - 0.11.2-2 -- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages - -* Mon May 16 2016 Volker Fröhlich - 0.11.2-1 -- New upstream release - -* Sat May 14 2016 Volker Fröhlich - 0.11.1-1 -- New upstream release - -* Fri Apr 1 2016 Volker Fröhlich - 0.11.0-1 -- New upstream release - -* Thu Feb 04 2016 Fedora Release Engineering - 0.10.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Mon Nov 23 2015 Volker Fröhlich - 0.10.3-1 -- New upstream release - -* Sun Nov 22 2015 Volker Fröhlich - 0.10.1-1 -- New upstream release - -* Thu Nov 12 2015 Fedora Release Engineering - 0.10.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 - -* Wed Nov 11 2015 Volker Fröhlich - 0.10.0-1 -- New upstream release - -* Tue Nov 10 2015 Fedora Release Engineering - 0.9.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 - -* Fri Sep 25 2015 Volker Fröhlich - 0.9.2-1 -- New upstream release - -* Sun Sep 6 2015 Volker Fröhlich - 0.9.1-2 -- Add pyproj dependency - -* Sun Sep 6 2015 Volker Fröhlich - 0.9.1-1 -- New upstream release - -* Thu Jun 18 2015 Fedora Release Engineering - 0.9.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Sat Jun 13 2015 Volker Fröhlich - 0.9.0-1 -- New upstream release -- Add Python 3 sub-package - -* Sat Feb 14 2015 Volker Fröhlich - 0.8.13-1 -- New upstream release - -* Tue Dec 23 2014 Volker Fröhlich - 0.8.12-1 -- New upstream release - -* Wed Dec 17 2014 Volker Fröhlich - 0.8.11-1 -- New upstream release - -* Mon Oct 13 2014 Volker Fröhlich - 0.8.10-1 -- New upstream release - -* Wed Sep 24 2014 Volker Fröhlich - 0.8.9-1 -- New upstream release - -* Mon Jul 7 2014 Volker Fröhlich - 0.8.8-1 -- New upstream release - -* Wed Jul 2 2014 Volker Fröhlich - 0.8.7-3 -- Changed package summary - -* Tue Jul 1 2014 Volker Fröhlich - 0.8.7-2 -- Correct BR python-setuptools-devel to python-setuptools - -* Mon Jun 30 2014 Volker Fröhlich - 0.8.7-1 -- Initial package for Fedora +%autochangelog diff --git a/sources b/sources index 09c00ed..da0ff49 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (OWSLib-0.14.0.tar.gz) = 47dc55fbc1410778e03ae7b30f17e72af94f425ab75645c26605cff87d9caa9736b3917c645f3e13faffceeea735dadae9050b970bcf72a87546fd1e4ee68291 +SHA512 (OWSLib-0.35.0-filtered.tar.zst) = be1eb52fa09049b720c1ebd476363e01c6442c9905c9adf0d35ccc11f39b228b9f3e64ed882a7c04987f2f38f9c8500a61aeef61e48a41602098ff22df0ed526