RPM仕様ファイルには、多数の特殊変数があります。これらの変数のどれかが処理中の現在のパッケージの名前を公開していますか?(サブ)パッケージ名のRPM仕様変数?
シングルパッケージRPMの場合、答えは明らかですが、単一の仕様でも複数のRPMが生成される可能性があります。 $ RPM_PACKAGE_NAMEのような変数はありますか?rpmbuildは現在の%ファイルや%preや%postセクションに合わせて自動的に更新されますか?
RPM仕様ファイルには、多数の特殊変数があります。これらの変数のどれかが処理中の現在のパッケージの名前を公開していますか?(サブ)パッケージ名のRPM仕様変数?
シングルパッケージRPMの場合、答えは明らかですが、単一の仕様でも複数のRPMが生成される可能性があります。 $ RPM_PACKAGE_NAMEのような変数はありますか?rpmbuildは現在の%ファイルや%preや%postセクションに合わせて自動的に更新されますか?
RPMのソースコードには何も明白ではありません。定義されたサブパッケージの現在のリストには、RPMマクロまたは構築中のパッケージヘッダを使用してアクセスする可能性はなく、RPMマクロまたはLuaを使用することはできません。
代わりに、built-in Lua interpreterを使用して、Luaでパッケージスタンザ全体を生成します。例はglibc.spec
です。 "Array of languages"と%package langpack-]]..lang..[[
を検索します。 Pagureビューアの構文強調表示は少しオフになっていますが、このクロスランゲージネストでは混乱しています。
これは最もクリーンな方法のようです。私は、RPMに埋め込まれたLuaインタプリタがあることは知らなかった。あなたは、あなたが持っている最高のドキュメンテーションへのリンクを含めてください。私はこれを見つけた:http://rpm.org/user_doc/lua.html –
ありがとう、私はリンクを追加しました。新しいRPMのドキュメントを見るのは驚くべきことです。 –
あなたはその名前でこれを行うことはできません。パッケージ名が%name
のマクロがありますが、メインパッケージの名前のみが含まれています。しかし、あなたが行うことができます、あなたは本当にこれを実行する必要がある、とあなたは汚いハックを行うことを喜んでいる場合:
foo
を出力します
%package base
Summary: Filesystem for %{name}
Group: foo
%post base
echo %group
。 %summary
についても同様ですが、%group
はグループが有用なものとして使用されないので最も安全です。
私はこれが汚れた汚れたハックだと言いましたか?フロリアンが提案したことは間違いなくもっとクリーンな方法です。
私が知っている限り... –