快速概述一下,我正在做的是使用捆绑 Nodejs 应用程序附上.js转换为单个二进制文件,然后使用rpmbuild
将带有配置文件的整个项目转换为单个包。打包之前一切都很好,但安装结果 rpm 后有一个二进制文件被损坏。该文件是 40MB 的二进制文件,而 rpm 为 52MB,但安装后提取的二进制文件只有 15MB。
这是我的规格文件:
Name: Packager
Version: 2.0
Release: 0
License: Proprietary
Group: System/Extras
Distribution: Linux CentOS
Packager: Ammar Lakis <[email protected]>
Requires: mongodb-server
Summary: A quick packager
%description
Package made for packaging
%build
cd %{my_source}
npm run build
%install
cp -r %{my_source}/pkg/ $RPM_BUILD_ROOT
%post
systemctl enable packager
%files
/usr/bin/packager
/usr/bin/packager-tools
/etc/packager
构建过程是用这个命令完成的
rpmbuild -bb --define 'my_source /root/Packager/' packager.spec
是否有任何原因导致捆绑文件被截断?
答案1
默认情况下,rpmbuild 在将二进制文件和库/usr/lib/rpm/brp-compress
放入 rpm 文件后将其剥离(使用 )。您应该能够通过添加到规范文件的开头来禁用此功能
%global __os_install_post %{nil}