0

作成したばかりのプロジェクト(コンパイル済みのバイナリ)からrpmbuildを使用して完全なバイナリパッケージを作成する方法については、少し混乱しています。

私の現在のプロジェクトには、このユーザーと同様の形式が含まれています(Linux用のプロプライエタリソフトウェアのパッケージ化

  • foo(バイナリ)
  • データ
  • libs
  • foo.sh

libsには、プロジェクトに必要なすべての共有ライブラリが含まれます。foo.shは、LD_LIBRARY_PATHにlibsを含めるように設定するスクリプトです。したがって、ユーザーはfoo.shを実行し、プログラムを起動する必要があります。

私はこのサイトからのチュートリアルを見ています(rpmチュートリアル

rpmを作成することを理解しています。ビルドエリアの使用rpmdev-setuptree を作成します。スペックファイルの使用を作成できますcd ~/rpmbuild/SPECS; rpmdev-newspec foo。適切なSOURCESフォルダーがあれば、それを使用してビルドできます。rpmbuild -ba foo.spec

しかし、SOURCESディレクトリを設定する方法がわかりません。チュートリアルでは(ここで)tarballを作成し、すべてのソースファイルをそこに配置してSOURCEディレクトリに配置する必要があると述べています。私の場合、ソースファイルは何になりますか?

4

1 に答える 1

0

すでに持っているバイナリファイルからRPMを作成しようとしていますか?その場合、建物全体をSPECファイルから除外することができ、入手したバンドルを保持するためのSOURCEディレクトリが必要です%prep。以下で説明する手順では、ここからそれらを取得します。zipファイルからしばらく前に作成したバイナリパッケージで、次のことを行いました。

  • 見出し、名前、バージョン、私が書いた/オリジナルからの説明
  • 出典:Linuxパッケージをダウンロードする元の場所、公式ドキュメント、...
  • %prep:さまざまな部分を解凍し、冗長ファイルをいくつか削除してください...
  • %build:何もしません
  • %install:関連するディレクトリを$RPM_BUILD_ROOT手作業で作成し、そこにファイルをコピーしinstall、構成ファイルをコピー/作成します...
  • %clean:吹き飛ばす$RPM_BUILD_ROOT
  • %files:インストールされているすべてのファイルの完全なリスト。

これを正しく行うには、数回の反復が必要でした。その後、RPMを再構築することでアップストリームパッケージを追跡しました(便利なことに、すべてをSRPMにパッケージ化しており、ソース部分は一種の誤称でした...)

于 2013-03-25T20:27:46.577 に答える