我正在尝试使用单个文件的示例rpm包。
在我的源文件夹中,我有python_test_rpm.tar.gz,它只包含一个python脚本文件。但是,该文件不是有效的python脚本。
我想要做的就是打包并将其部署在特定的文件夹中。执行rpm build命令时,它会在python脚本中显示编译/语法错误。如何跳过此验证并进行构建。
rpmbuild命令 rpmbuild -v -bb
规范文件:
名称:python_test_rpm
版本:1
发布:1
摘要:Linux Installer的示例RPM
集团:开发/工具
许可证:GPL
网址:无
资料来源:python_test_rpm.tar.gz
BuildRoot:/ home / rpmdev / rpmbuild
%description
Linux RPM安装程序的POC包
%准备
%setup -n“python_test_rpm”
%install
rm -rf“$ RPM_BUILD_ROOT”
mkdir -p“$ RPM_BUILD_ROOT / python_test_rpm”
cp -R _mock_backport.py“$ RPM_BUILD_ROOT / python_test_rpm”
%files
/python_test_rpm/_mock_backport.py
错误消息: 编译 /home/rpmdev/rpmbuild/BUILDROOT/python_test_rpm-1-1.x86_64/python_test_rpm/_mock_backport.py ... SyntaxError:函数中不允许使用非限定exec '_set_signature'它包含一个带有自由变量的嵌套函数 (_mock_backport.py,第191行)
错误:/var/tmp/rpm-tmp.4gSvIa(%install)退出状态不佳
RPM构建错误: 来自/var/tmp/rpm-tmp.4gSvIa(%install)
的退出状态不佳
答案 0 :(得分:5)
简单的解决方法:添加"退出0'在%install结束时将禁用正在尝试生成%.pyo /%。pyc文件的构建根策略脚本。
更好的修复包括覆盖正在编译python文件的特定构建根策略脚本,或者只是修复/注释不编译的代码。