在不编译源文件的情况下构建rpm

bas*_*kar 2 rpm rpmbuild rpm-spec

我正在尝试使用单个文件的示例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

%描述

适用于Linux RPM安装程序的POC包

%准备

%setup -n"python_test_rpm"

%安装

rm -rf"$ RPM_BUILD_ROOT"

mkdir -p"$ RPM_BUILD_ROOT/python_test_rpm"

cp -R _mock_backport.py"$ RPM_BUILD_ROOT/python_test_rpm"

%文件

/python_test_rpm/_mock_backport.py

错误消息: 编译/home/rpmdev/rpmbuild/BUILDROOT/python_test_rpm-1-1.x86_64/python_test_rpm/_mock_backport.py ...语法错误:函数'_set_signature'中不允许使用非限定exec它包含带有自由变量的嵌套函数( _mock_backport.py,第191行)

错误:/var/tmp/rpm-tmp.4gSvIa(%install)的退出状态错误

RPM构建错误:/var/tmp/rpm-tmp.4gSvIa(%install)的退出状态错误

小智 6

简单的解决方法:在%install结束时添加"exit 0"将禁用正在尝试生成%.pyo /%.pyc文件的构建根策略脚本.

更好的修复包括覆盖正在编译python文件的特定构建根策略脚本,或者只是修复/注释不编译的代码.