我正在使用Python setuptools構建軟件包。我想將由bdist_rpm
選項構建的rpm命名爲與Python包名稱不同,這是由於某些命名限制。在bdist_rpm中設置RPM軟件包名稱
它可以在setup.cfg
完成在[bdist_rpm]
部分?
我正在使用Python setuptools構建軟件包。我想將由bdist_rpm
選項構建的rpm命名爲與Python包名稱不同,這是由於某些命名限制。在bdist_rpm中設置RPM軟件包名稱
它可以在setup.cfg
完成在[bdist_rpm]
部分?
那麼這的確是一個稍微不規範等不直接支持。但是你可以做python setup.py bdist_rpm --spec-only
,這將產生DIST /名爲project.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
從這裏,你需要成功地建立轉:
我相信你能以某種方式,如果你真的想
的fpm工具可以方便地生成RPM程序包並更改名稱或其他參數自動執行此。默認情況下,FPM使得與「python-前綴名的RPM,但包的名字可以-n參數來設置一個例子:
fpm -s python -t rpm -n my_package_name <python-source-library>/setup.py
的Python 2.7+
According to the docs,python setup.py bdist_rpm --name="new-package-name"
應該工作。
這似乎並不成爲蟒蛇-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將有新名稱。
你的答案有點不完整。 「將文件放入rpmbuild會找到它們的目錄之後」並沒有解釋如何以及在哪裏運行rpmbuild命令來完成該過程。 –
注意你改變'Name:'而不是'%define name'會很方便,因爲這個定義也適用於源包名稱,並且源包將(可能)具有「常規「名稱中的文件名,而不是覆蓋的值(如包含示例中所示)。這就是爲什麼你實際上不會改變每一個事件 - 你只需要改變一個Name:'實例。 – dannysauer