我使用Python setuptools来构建包。由于一些命名限制,我想将bdist_rpm
选项构建的rpm命名为与Python包名称不同。
是否可以在setup.cfg
部分的[bdist_rpm]
中完成?
答案 0 :(得分:3)
fpm工具可以轻松生成RPM包并更改名称或其他参数。默认情况下, fpm 使用“ python - 前缀名称生成RPM,但可以使用 -n 参数设置包名称。例如:
fpm -s python -t rpm -n my_package_name <python-source-library>/setup.py
答案 1 :(得分:2)
这确实是一个稍微不标准的,所以不直接支持。但是,您可以执行python setup.py bdist_rpm --spec-only
,这将在dist / named project.spec中生成一个spec文件,从这开始:
%define name [name of your pkg as defined in setup.py]
%define version [version of your pkg]
%define unmangled_version [version of your pkg]
%define release 1
Summary: PyQt4 application to download trailers from www.apple.com/trailers
Name: %{name} # THIS IS WHAT YOU WANT TO CHANGE
Version: %{version}
Release: %{release}
Source0: %{name}-%{unmangled_version}.tar.gz
要从此处成功构建rpm,您需要:
如果你真的想
,我相信你可以通过某种方式实现自动化答案 2 :(得分:1)
Python 2.7 +
According to the docs,python setup.py bdist_rpm --name="new-package-name"
应该有效。
但是,对于python-2.6来说似乎并非如此,因为在尝试运行命令时会出现error: option --name not recognized
错误。
Python 2.6
我发现编辑setup.py
有效:
(...)
setup(
name = 'new-package-name',
description = "Python package that does the thing",
(...)
之后只需运行python setup.py bdist_rpm
,rpm就会有新名称。