パッケージング後にバイナリファイルが破損する

パッケージング後にバイナリファイルが破損する

簡単な概要として、私がやっていることは、次のようにNodejsアプリケーションをバンドルすることです。Attached.js単一のバイナリに変換し、構成rpmbuildファイルを含むプロジェクト全体を単一のパッケージに変換するために使用します。パッケージングする前にすべてが問題ありませんでしたが、結果のrpmをインストールした後、バイナリの1つが破損していました。ファイルは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はバイナリとライブラリをrpmファイルに入れて/usr/lib/rpm/brp-compress削除(使用)します。仕様ファイルの先頭に加えて、この機能を無効にできる必要があります。

%global __os_install_post %{nil}

おすすめ記事