%global pypi_name sniffio Name: python-%{pypi_name} Version: 1.3.1 Release: 2%{?dist} Summary: Sniff out which async library your code is running under License: MIT OR Apache-2.0 URL: https://github.com/python-trio/sniffio Source0: %{url}/archive/v%{version}/%{pypi_name}-%{version}.tar.gz BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3-pip BuildRequires: python3-setuptools BuildRequires: python3-wheel BuildRequires: python3-setuptools_scm %description sniffio is a tiny package whose only purpose is to let you detect which async library your code is running under (Trio, asyncio, etc.). %package -n python3-%{pypi_name} Summary: Sniff out which async library your code is running under Provides: python-%{pypi_name} Provides: python3dist(%{pypi_name}) = %{version} %description -n python3-%{pypi_name} sniffio is a tiny package whose only purpose is to let you detect which async library your code is running under (Trio, asyncio, etc.). %package help Summary: Development documents and examples for %{pypi_name} Provides: python3-%{pypi_name}-doc Requires: python3-%{pypi_name} %description help Development documents and examples for %{pypi_name}. %prep %autosetup -n %{pypi_name}-%{version} -p1 %build export SETUPTOOLS_SCM_PRETEND_VERSION=%{version} pip3 wheel --no-build-isolation --no-deps --wheel-dir %{_builddir}/wheels . %install export SETUPTOOLS_SCM_PRETEND_VERSION=%{version} pip3 install --no-build-isolation --no-index \ --find-links %{_builddir}/wheels \ --root %{buildroot} --prefix /usr \ %{pypi_name}==%{version} %files -n python3-%{pypi_name} %license LICENSE LICENSE.APACHE2 LICENSE.MIT %{python3_sitelib}/%{pypi_name}/ %{python3_sitelib}/%{pypi_name}-%{version}*.dist-info/ %files help %license LICENSE LICENSE.APACHE2 LICENSE.MIT %doc README.rst %changelog * Mon Sep 14 2026 Python_Bot - 1.3.1-2 - 修复 %prep 阶段目录名不匹配问题:%autosetup 使用 %{pypi_name}-%{version}(即 sniffio-1.3.1),与 tarball 内部顶层目录名一致 * Mon Sep 14 2026 Python_Bot - 1.3.1-1 - Initial package