rpmbuild打包出错处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rpmbuild打包出错处理相关的知识,希望对你有一定的参考价值。
参考技术A Compiling /data/users/app/rpmbuild/BUILDROOT/filebeat-7.12-0.x86_64/opt/filebeat/module/auditd/log/ingest/gen-ecs-mappings.py ...File "/opt/filebeat/module/auditd/log/ingest/gen-ecs-mappings.py", line 17
def extract_object(name: str, source: dict) -> dict:
^
SyntaxError: invalid syntax
error: Bad exit status from /var/tmp/rpm-tmp.CwPoYe (%install)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.CwPoYe (%install)
处理方式在
spec文件最上方添加
%global __python /usr/bin/python3
根因分析在生成python二进制文件的时候使用了python2
如果想只打包不让rpm命令做编译可以新增
%global __os_install_post %nil
删除
%build标签
源码包打包让公司其他人更快的安装
拿ngixnx-1.12.2来说1.安装rpm-build软件包
yum -y install rpm-build
2.生成rpmbuild目录结构
rpmbuild -ba nginx.spec //会报错,没有文件或目录报错也要打上去 避免自己去创建文件夹 它会自己生成目录
3.将源码软件复制到SOURCES目录
cp nginx-1.12.2.tar.gz /root/rpmbuild/SOURCES/
4.创建并修改SPEC配置文件
vim /root/rpmbuild/SPECS/nginx.spec
Name:nginx //必须写正确
Version:1.12.2 //必须写正确
Release:10
Summary:Nginx is a web server software. //说明
Group:tearena
License:GPL
URL:www.test.com
Source0:nginx-1.12.2.tar.gz
#BuildRequires:
#Requires:
%description
nginx [engine x] is an HTTP and reverse proxy server.
%prep
%setup -q //自动解压源码包,并cd进入目录
%build
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-stream --with-http_stub_status_module //自己要加载的模块
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
%files
%doc
/usr/local/nginx/* //对哪些文件进行打包
%changelog
5.安装依赖软件包
yum –y install gcc pcre-devel zlib-devel openssl-devel
6.rpmbuild创建RPM软件包
rpmbuild -ba /root/rpmbuild/SPECS/nginnginx-1.12.2-10.x86_64.rpm x.spec
看一下 RPM包生成
ls /root/rpmbuild/RPMS/x86_64/
nginx-1.12.2-10.x86_64.rpm nginx-debuginfo-1.12.2-10.x86_64.rpm repodata //第一个就是生成的RPM包以后省了很多麻烦
以上是关于rpmbuild打包出错处理的主要内容,如果未能解决你的问题,请参考以下文章
rpmbuild spec 打包jar变小了设置禁止压缩二进制文件Disable Binary stripping in rpmbuild
Linux操作系统使用RPMBUILD命令打包RPM的详细步骤