web-dev-qa-db-ja.com

RPM仕様の `%setup -q`とは何ですか?

ViMで.specファイルを作成する場合、エディターはそのファイルにスケルトンを使用します。とても便利です!

ただし、生成された%setupマクロにこの-qフラグがあり、どこにも見つからなかったのはバグです。

マクロのmax-rpmガイドページ で言及が見つかりませんでした。また、rpmspecによって展開されません。rpmspec --eval '%setup'%setupのみを返します。 -pは何も変更しません。他の 関連ドキュメント にも記載されていません。

さらに調査したところ、/usr/lib/rpm(私のFedora)にたくさんのマクロが見つかったとしても、rpmspecによって展開されないマクロがたくさんあることに気づきました。

だから私は疑問に思っています:

  1. -qは何のためにありますか?
  2. なぜ私はすべての拡張を見ることができないのですか?私は何かが足りないのですか?
  3. 前述の最大RPMガイドでは、--testコマンドにrpm -bフラグが存在すると主張しています。私のシステムにはrpm -bがないことがわかりましたが、実際にはすべての仕事をrpmbuildで行っています。 rpmbuildには、--testフラグはありません。拡張されたスクリプトを表示するにはどうすればよいですか?
10
Dacav

-qは何ですか?

https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html-single/RPM_Guide/index.html#id36654 を参照してください。

略:最小限の出力で静かに実行します。

どうしてすべての拡張が表示されないのですか?私は何かが足りないのですか?

100%確信はありませんが、%setupはtermである可能性が高く、rpm内部で処理されます。これは%ifと同じですが、これも展開されません。

前述の最大RPMガイドは、rpm-bコマンドの--testフラグの存在を主張しています。私のシステムにはrpm-bがないことがわかりましたが、実際にはすべての作業をrpmbuildで実行しています。 rpmbuildには--testフラグはありません。拡張されたスクリプトを表示するにはどうすればよいですか?

最大RPMは非常に古いです。それは2000年に書かれました。それ以来更新されていません。それはまだ最高で最も包括的なガイドの1つですが。いくつかのことが変わりました。これはそのうちの1つです。 --testに相当するものを私は知りません。 「rpm--eval」と「rpm--showrc」に存在します。最後の1つは、システムで定義されているすべてのマクロを示しています。

9
msuchy