## START: Set by rpmautospec ## (rpmautospec version 0.2.5) %define autorelease(e:s:pb:) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{?dist} ## END: Set by rpmautospec %bcond_without tests # for github etc. use the forgemacros # https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/#_using_forges_hosted_revision_control %global _description %{expand: versioningit is yet another setuptools plugin for automatically determining your package’s version based on your version control repository’s tags. Unlike others, it allows easy customization of the version format and even lets you easily override the separate functions used for version extraction & calculation. Features: • Installed & configured through PEP 518’s pyproject.toml • Supports Git, modern Git archives, and Mercurial • Formatting of the final version uses format template strings, with fields for basic VCS information and separate template strings for distanced vs. dirty vs. distanced-and-dirty repository states • Can optionally write the final version to a file for loading at runtime • The individual methods for VCS querying, tag-to-version calculation, version bumping, version formatting, and writing the version to a file can all be customized using either functions defined alongside one’s project code or via publicly-distributed entry points • Can alternatively be used as a library for use in setup.py or the like, in case you don’t want to or can’t configure it via pyproject.toml • The only thing it does is calculate your version and optionally write it to a file; there’s no overriding of your sdist contents based on what is in your Git repository, especially not without a way to turn it off, because that would just be rude.} Name: python-versioningit Version: 1.1.1 Release: %{autorelease} Summary: Versioning It with your Version In Git License: MIT URL: https://pypi.org/pypi/versioningit Source0: %{pypi_source versioningit} # Man page we're carryng downstream Source1: versioningit.1 BuildArch: noarch %description %_description %package -n python3-versioningit Summary: %{summary} # It calls git and hg so these need to be installed Recommends: git-core Recommends: mercurial BuildRequires: python3-devel %if %{with tests} BuildRequires: git-core BuildRequires: mercurial %endif %description -n python3-versioningit %_description %prep %autosetup -n versioningit-%{version} # Tweak build requirements to use what we have in Fedora. For test # dependencies, we change all semver pins to minimum versions. sed -r -i 's/~=/>=/g' tox.ini # Comment out to remove /usr/bin/env shebangs # Can use something similar to correct/remove /usr/bin/python shebangs also # find . -type f -name "*.py" -exec sed -i '/^#![ ]*\/usr\/bin\/env.*$/ d' {} 2>/dev/null ';' %generate_buildrequires %pyproject_buildrequires %{?with_tests:-t} %build %pyproject_wheel %install %pyproject_install %pyproject_save_files versioningit install -p -m 0644 -Dt %{buildroot}%{_mandir}/man1/ %{SOURCE1} %check %if %{with tests} # Editable mode doesn’t work when operating on the system site-packages k="${k-}${k+ and }not test_editable_mode" %pytest -k "${k-}" %endif %files -n python3-versioningit -f %{pyproject_files} %doc README.rst CHANGELOG.md %{_bindir}/versioningit %{_mandir}/man1/versioningit.* %changelog * Fri Apr 08 2022 Benjamin A. Beasley 1.1.1-1 - Update to 1.1.1 (close RHBZ#2060653) * Fri Mar 04 2022 Benjamin A. Beasley 0.2.1-5 - Allow tomli 2.0 until we can update versioningit to 1.0.0 or later * Wed Feb 02 2022 Benjamin A. Beasley 0.2.1-4 - Stop allowing pydantic 1.7 (fix RHBZ#2012631) * Fri Jan 21 2022 Fedora Release Engineering 0.2.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Sun Oct 10 2021 Benjamin A. Beasley 0.2.1-2 - Fix FTBFS with pytest-cov 3.0 * Mon Sep 20 2021 Ankur Sinha (Ankur Sinha Gmail) 0.2.1-1 - feat: init