install_info=?ISO-2022-JP?B?GyRCJEMkRjI/ISkbKEI=?=
M. Takeyama です。 最近、気がついたことですが、 SuSE 8.2のRPMパッケージ(SRPM)に %install_info, %{install_info_prereq} という語句を SPECファイルの中で見かけます。 PreReq:, %postセクション、%preunセクションで使用されています。 私の場合、SuSE 8.1を使用している関係上、以下のような if文 でコメントアウトしています。 ------------------------------- %if %suse_version > 810 %endif ------------------------------- これって、どういう意味で使われているのでしょうか? ご存知の方がおられましたら宜しくお願いします。 P.S. あと、SuSEのSPRMへの日頃の不満を一つ。 ビルドに必要な条件は、SPECファイルの中の"#neededforbuild"や "#usedforbuild"の記述されていますが、どうして、BuildRequires: に記述することはしないのでしょうか? "#neededforbuild"に関して言えば、BuildRequires: に記述して 明示的に指定しても良いと思いますが... ----- M. Takeyama
At Thu, 24 Jul 2003 20:42:57 +0900, takezou wrote:
M. Takeyama です。
最近、気がついたことですが、
SuSE 8.2のRPMパッケージ(SRPM)に %install_info, %{install_info_prereq} という語句を SPECファイルの中で見かけます。 PreReq:, %postセクション、%preunセクションで使用されています。
私の場合、SuSE 8.1を使用している関係上、以下のような if文 でコメントアウトしています。 ------------------------------- %if %suse_version > 810
%endif -------------------------------
これって、どういう意味で使われているのでしょうか? ご存知の方がおられましたら宜しくお願いします。
名前の通り .info ファイルをインストールするマクロ、およびその実行に必 要なバイナリファイルの定義です。 /usr/lib/rpms/suse_macros に定義されています。 redhat の場合は install-info コマンドでしたっけ?
P.S. あと、SuSEのSPRMへの日頃の不満を一つ。 ビルドに必要な条件は、SPECファイルの中の"#neededforbuild"や "#usedforbuild"の記述されていますが、どうして、BuildRequires: に記述することはしないのでしょうか? "#neededforbuild"に関して言えば、BuildRequires: に記述して 明示的に指定しても良いと思いますが...
これについては、時々、内部でも議論が起こるのですが、詳しい事は忘れまし たが、BuildRequires だと処理しきれない状況があって、未だに #neededforbuild を使っています。 -- Takashi Iwai <tiwai@suse.de> SuSE Linux AG - www.suse.de ALSA Developer ALSA Project - www.alsa-project.org
M. Takeyama です。 #返事が遅くなってすみません。 On Thu, 24 Jul 2003 14:19:22 +0200 Takashi Iwai <tiwai@suse.de> wrote: [...]
最近、気がついたことですが、
SuSE 8.2のRPMパッケージ(SRPM)に %install_info, %{install_info_prereq} という語句を SPECファイルの中で見かけます。 PreReq:, %postセクション、%preunセクションで使用されています。
[...]
名前の通り .info ファイルをインストールするマクロ、およびその実行に必 要なバイナリファイルの定義です。 /usr/lib/rpms/suse_macros に定義されています。 redhat の場合は install-info コマンドでしたっけ? GNUのtexinfo関連のコマンドなのですね。 #(日頃、意識していないので、このコマンドのことはしりませんでした。)
Iwaiさんの言われるように、SuSE 8.1 の /usr/lib/rpm/suse_macros を確認したら、install-info の定義はありませんでした。 そこで、rpm-3.0.6-478.i586.rpm(SuSE 8.2) rpm-3.0.6-417(SuSE 8.1)のファイルを比較してみました。 ============================================================ # diff ./usr/lib/rpm/suse_macros /usr/lib/rpm/suse_macros 19c19 < %insserv_prereq insserv ---
%insserv_prereq aaa_base 21d20 < %install_info_prereq info 329c328 < /sbin/ldconfig \
ldconfig \
332,338c331 < %install_info(:-:) \ < if test -x sbin/install-info ; then \ < sbin/install-info %{**} \ < fi ; < < < %suse_version 820 ---
%suse_version 810 ============================================================
ということで、原因がわかりましたので、この情報を元にSuSE 8.2に 依存しないSpecファイルを書けると思います。 #SuSE 8.2に依存しないパッケージが作れるということです。 ありがとうございました。 ----- M. Takeyama
M. Takeyamaです。 #返事が遅くなってすみません。 On Thu, 24 Jul 2003 14:19:22 +0200 Takashi Iwai <tiwai@suse.de> wrote: [...]
P.S. あと、SuSEのSPRMへの日頃の不満を一つ。 ビルドに必要な条件は、SPECファイルの中の"#neededforbuild"や "#usedforbuild"の記述されていますが、どうして、BuildRequires: に記述することはしないのでしょうか? "#neededforbuild"に関して言えば、BuildRequires: に記述して 明示的に指定しても良いと思いますが...
これについては、時々、内部でも議論が起こるのですが、詳しい事は忘れまし たが、BuildRequires だと処理しきれない状況があって、未だに #neededforbuild を使っています。 ありがとうございます。
そうですか、実際に自分で SRPMを変更したりして、リビルドした感じ では 「処理しきれない状況」というのが、バージョン間でのパッケージ名 違いなどで、SuSE 7.1 - SuSE 8.2などにおいて一つのSPECファイルに 記述しきれない状況があるのかなと 勝手に推測しています。 個人的に、自分が使う or 作るパッケージに関しては、出来る範囲で BuildRequires: を入れてゆこうと思っています。 #おちいり易いミスを防ぐ為。(基準は、個人的な主観の範囲) ----- M. Takeyama
participants (2)
-
Takashi Iwai
-
takezou