BuildRootのコンテンツを保持する方法は?


11

パッケージを段階的にビルドする際の古き良きrpmは、BuildRootのコンテンツを保持するだけでした。ソフトウェアの一部を作成するのが難しい場合、すべてが問題なければBuildRootをチェックできるため、非常に役に立ちました。

これで、すべての「改善された」rpmで、BuildRootのコンテンツは自動的に削除されるため、実際に詳しく説明することはできません(インストール手順はそれほど長くありません)。

私が知っている1つのハックは、rpm仕様にインストールステージの最後にある種のスリープを追加することです。しかし、これは醜いです。

それで、- 質問 -BuildRootのコンテンツを適切に保つ方法-言い換えれば、自動削除を一度無効にする方法?

回答:


6

rpmbuild -biテストで使用して、%installフェーズを通してすべてが構築されるようにしましたか?これにより、後で自動的にクリーニングしなくても、何が起こっているかがわかります。

その後、問題がなければ、通常どおりにビルドします。


ありがとうございました。これは最も煩わしくないアプローチであり、機能します。
greenoldman


3

%cleanspecファイルにダミーを追加してみてください。何かのようなもの:

%clean
echo NOOP

%installの最初にBUILDROOTが削除されるため、機能しません-%installの初期化の一部です。
smcg 2014

ビルド後にビルドルートを維持することが目的である場合、調査のために機能します。
ederag

0

これ迷惑です、私は同意します。rpmを変更してもかまわない場合は、rpmソースに移動してBuildRootが削除された場所を見つけ、その行を無効にして(おそらく1行のみ)、再コンパイルすることをお勧めします。私が提案するもう1つのことは、古い動作を復元するためにウィッシュリストのバグを提出することです。

質問:この動作はどのバージョンのrpmで変更されましたか?


バージョンについてはわかりませんが、公式のrpmでの変更は難しいでしょう。lists.rpm.org / pipermail / rpm -list / 2008-December / 000040.html説明は、イデオロギーが大きな役割を果たすことを示しています。rpmのパッチは可能ですが、ヒントをありがとうございます。多分私は自動BuildRoot作成も元に戻すのを管理します。
greenoldman

@macias:Debian(4.9.0-2)のrpmソースを調べましたが、有用なものは何も見つかりませんでした。ただし、開発者が変更するつもりがない場合でも、自分で変更する方法を喜んで教えてくれると思います。
Faheem Mitha、2011

幸いなことに、この場合は-biスイッチが機能するので、可能な場合はパッチの適用を省略します-とにかくリグレッションを含むソフトウェアリストが長くなっています。
greenoldman
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.