如何为 Fedora 35 安装 `python39-rpm-macros`?

问题描述 投票:0回答:1

在 Fedora 35 上从 .spec 文件构建 RPM 时如何选择 Python 版本?

CentOS/RHEL 文档说

在 SPEC 文件的 BuildRequires 中将特定的 Python 3 版本配置为

python36-rpm-macros
python38-rpm-macros
python39-rpm-macros

第 40 章. 封装 Python 3 RPMS

Fedora 只有

python3.9
包和
python3-rpm-macros
包。

如何设置Python版本?如何使此选择在 Fedora、RHEL 和其他企业 Linux 风格之间可移植?

尝试解决方案

%define __python3 /usr/bin/python3.9
%{?fedora:BuildRequires: python3.9}
%{?rhel:BuildRequires: python39-devel}

这是正确的吗?

python fedora rpm-spec centos8 rhel8
1个回答
0
投票
%global python_minimum_version 3.9.0

%{?fedora:Requires: python3 >= %{python_minimum_version}}
%{?rhel:Requires: python39 >= %{python_minimum_version}}

%{?fedora:BuildRequires: python3-devel >= %{python_minimum_version}}
# yes, I do crazy things in the rpm build, and I need pip
%{?fedora:BuildRequires: python3-pip}
# without wheel the installed files lack `python_qpid_proton-0.37.0.dist-info`
%{?fedora:BuildRequires: python3-wheel}
%{?rhel:BuildRequires: python39-devel >= %{python_minimum_version}}
%{?rhel:BuildRequires: python39-pip}
%{?rhel:BuildRequires: python39-wheel}
%{?rhel:BuildRequires: python39-rpm-macros}

这似乎生成了一个在 Fedora 和 CentOS Stream 8 上都表现良好的软件包。

在 Fedora 上,使用最新的 Python,在 CentOS 上我使用 Python 3.9,并且脚本中的

#!
行被重写以自动使用 Python 3.9。

我认为这是成功的。

© www.soinside.com 2019 - 2024. All rights reserved.