RPMを作ることは非常に新しいことですが、基本的なことはよく知っています。基本スクリプトを作成していますが、新しく作成されたRPMを保存するためのデフォルトの場所を許可できないという要件があります。
通常、生成されたRPMは〜/ rpmbuild / RPMSに保存されます。
/centralStorage/Some/New/Location に保存する必要があります。
新しく作成されたRPMが保存されている場所を知るために、RPM Builderはどの変数を探していますか?この設定を手動で変更する方法がドキュメントに見つからないようです。
答え1
これは_topdir
マクロを使用して設定されます。たとえば、次のようになります。
%_topdir /home/ed/mybuild
関連マクロを使用してこれを細かく調整できます。 Fedora システムでは、マクロは次の場所にあり、次のものが/usr/lib/rpm/macros
含まれます。
# The directory where newly built binary packages will be written.
%_rpmdir %{_topdir}/RPMS
したがって、上書きできます_rpmdir
。
通常私は単に設定を使用し$HOME/.rpmmacros
、他の人はコマンドラインオプションを使用します--define
。
rpmbuild --define '_topdir /Location/On/Storage/' -bb myNewServer.spec
追加資料:
- RPMが他のビルド領域を使用できるようにする(最大RPM:RPMパッケージマネージャを制限までスライドさせます)
- カスタムパラメータをrpmbuildに渡して変数を埋める方法
- 条件付きパラメータをrpmビルドに渡す(速度のために4)