sun*_*ima 6 python rpm rpm-spec
我已经创建了一个python应用程序,我想.so在最终的RPM包中发布一些二进制文件.经过长时间的阅读,我找到了一种方法来添加二进制文件/图像和其他数据文件setup.py.现在,当我使用python setup.py bdist_rpm命令构建RPM时,它抱怨架构依赖:
Arch dependent binaries in noarch package
error: command 'rpmbuild' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)
谷歌搜索后我发现我们可以添加:
#%define _binaries_in_noarch_packages_terminate_build 0
Run Code Online (Sandbox Code Playgroud)
或删除线BuildArch: noarch将在packagename.spec文件中,克服了rpmbuild故障.但是,每次我从build/bdist.linux-i686/rpm/SPECS/packagename.spec命令添加或删除行python setup.py bdist_rpm总是覆盖.spe文件.
有没有办法Arch dependent binaries在rpm中避免和发送*.so和其他二进制文件?
bdist_rpm 的行为由以下中的一系列设置定义:
/usr/lib/rpm/macros /etc/rpm/macros $HOME/.rpmmacros我敢打赌它只/usr/lib/rpm/macros存在于你的系统中。这是正常的。
因此,为了防止“noarch 包中的 Arch 依赖二进制文件”错误,您可以创建/etc/rpm/macros或~/.rpmmacros添加以下内容:
%_unpackaged_files_terminate_build 0
%_binaries_in_noarch_packages_terminate_build 0
Run Code Online (Sandbox Code Playgroud)
不要修改,/usr/lib/rpm/macros因为无论何时升级、降级或重新安装 rpm-build 软件包,系统都会覆盖该文件。
如果您想覆盖系统上每个人的行为,请将设置放入/etc/rpm/macros. 如果要覆盖特定用户的行为,请将设置添加到$HOME/.rpmmacros.
.rpmmacros王牌/etc/rpm/macros哪个王牌/usr/lib/rpm/macros。
注意:检查/usr/lib/rpm/macros以查看可用的设置和语法示例很有用。
作为旁注,%_unpackaged_files_terminate_build 0设置可以防止 error: Installed (but unpackaged) file(s) found:错误。
.so 据我所知,文件总是依赖于arch.
在您的情况下,为了避免必须编辑specs文件,您可以随时添加--force-arch=<your_arch>到我们的setup.py bdist_rpm
例如
python setup.py bdist_rpm --force-arch=x86_64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5193 次 |
| 最近记录: |