# 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 Name: python-gcsfs Version: 2022.11.0 Release: 1%{?dist} Summary: Convenient Filesystem interface over GCS License: BSD-3-Clause URL: https://github.com/fsspec/gcsfs # We must use the GitHub archive rather than the PyPI sdist if we want to have # all the necessary files to build the Sphinx docs. Source0: %{url}/archive/%{version}/gcsfs-%{version}.tar.gz BuildArch: noarch BuildRequires: python3-devel # Testing: BuildRequires: python3dist(pytest) BuildRequires: python3dist(vcrpy) # Docs: %if %{with doc_pdf} BuildRequires: make BuildRequires: python3dist(sphinx) BuildRequires: python3dist(sphinx-rtd-theme) BuildRequires: python3-sphinx-latex BuildRequires: latexmk %endif %description Pythonic file-system for Google Cloud Storage. %package -n python3-gcsfs Summary: %{summary} %description -n python3-gcsfs Pythonic file-system for Google Cloud Storage. %pyproject_extras_subpkg -n python3-gcsfs gcsfuse,crc %package -n python-gcsfs-doc Summary: Documentation for gcsfs %description -n python-gcsfs-doc Documentation for gcsfs. %prep %autosetup -n gcsfs-%{version} # We cannot respect version pins: sed -r -i 's/<.*//' docs/requirements.txt # Do not pin the exact corresponding version of fsspec; this makes sense on # PyPI since both are developed under the same organization and have # coordinated releases, but it’s unlikely we’ll be able to maintain this level # of coordination downstream, and it’s better to have “possible” breakage from # version skew than *guaranteed* breakage from version skew. sed -r -i 's/==.*//' requirements.txt %generate_buildrequires %pyproject_buildrequires -x gcsfuse,crc %{?with_doc_pdf:docs/requirements.txt} %build %pyproject_wheel %install %pyproject_install %pyproject_save_files gcsfs %if %{with doc_pdf} PYTHONPATH="${PWD}" %make_build -C docs latex SPHINXOPTS='%{?_smp_mflags}' %make_build -C docs/build/latex LATEXMKOPTS='-quiet' %endif %check # The package has tests, but nearly all require network access and/or cloud # resources, so we do an import-only “smoke test” instead. # # gcsfs.cli.gcsfuse imports click (which is not otherwise required) and also # tries to import a nonexistent 'gcsfs.gcsfuse' module; this seems like a bug %pyproject_check_import -e 'gcsfs.cli.gcsfuse' %files -n python3-gcsfs -f %{pyproject_files} %doc README.rst %files -n python-gcsfs-doc %if %{with doc_pdf} %doc docs/build/latex/GCSFs.pdf %endif %license LICENSE.txt %changelog * Wed Nov 23 2022 Benjamin A. Beasley - 2022.11.0-1 - Update to 2022.11.0 (close RHBZ#2130978, close RHBZ#2136233) * Wed Nov 23 2022 Benjamin A. Beasley - 0.6.2-10 - Convert to pyproject-rpm-macros - Properly package the Extras subpackage for gcsfuse - Update License to SPDX - Update URL - Build Sphinx docs as PDF instead of HTML due to issues of bundling, etc. - Fix spurious executable permission on pbr.json in dist-info * Fri Jul 22 2022 Fedora Release Engineering - 0.6.2-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Mon Jun 20 2022 Python Maint - 0.6.2-8 - Rebuilt for Python 3.11 * Fri Jan 21 2022 Fedora Release Engineering - 0.6.2-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Fri Jul 23 2021 Fedora Release Engineering - 0.6.2-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Fri Jun 04 2021 Python Maint - 0.6.2-5 - Rebuilt for Python 3.10 * Wed Jan 27 2021 Fedora Release Engineering - 0.6.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Wed Jul 29 2020 Fedora Release Engineering - 0.6.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Wed Jun 24 2020 Fabian Affolter - 0.6.2-2 - Condition for tests - Update BR (rhbz#1836686) * Sun May 17 2020 Fabian Affolter - 0.6.2-1 - Initial package for Fedora