このエントリーをはてなブックマークに追加


SPECファイル内のマクロ定義の値の確認方法

specファイル内に%{_lib}, %{_bindir}, %{_datadir}などが記述されています。
この値を確認する方法を以下に記します。


マクロ定義の値を確認するコマンド

以下のコマンドで値を確認することができます。

rpm --eval マクロ

マクロ定義の値を確認

以下、端末よりコマンドを発行した時の実行例です。

$ rpm --eval %{_prefix}
/usr
$ rpm --eval %{_exec_prefix}
/usr
$ rpm --eval %{_lib}
lib
$ rpm --eval %{_libdir}
/usr/lib
$ rpm --eval %{_bindir}
/usr/bin
$ rpm --eval %{_datadir}
/usr/share
$ rpm --eval %{_includedir}
/usr/include
$ rpm --eval %{_sysconfdir}
/etc
$ rpm --eval %{_initrddir}
/etc/rc.d/init.d
$ rpm --eval %{_defaultdocdir}	# 実行時に%{_defaultdocdir}が%{_docdir}に適用されている模様
/usr/share/doc

定義の一覧確認

rpm --showrc

または

rpmbuild --showrc

全てを表示すると表示が流れるので、先頭から30行のみ表示してみました。

$ rpm --showrc | head -30
ARCHITECTURE AND OS:
build arch            : i386
compatible build archs: i686 i586 i486 i386 noarch fat
build os              : Linux
compatible build os's : linux
install arch          : i686
install os            : Linux
compatible archs      : i686 i586 i486 i386 noarch fat
compatible os's       : linux

RPMRC VALUES:
macrofiles            :
/usr/lib/rpm/macros:/usr/lib/rpm/i686-linux/macros:/usr/lib/rpm/redhat/macros:/etc/rpm/macros.*:/etc/rpm/macros:/etc/rpm/i686-linux/macros:~/.rpmmacros
optflags              : %{__global_cflags} -m32 -march=i686 -mtune=generic -fasynchronous-unwind-tables

Features supported by rpmlib:
    rpmlib(VersionedDependencies) = 3.0.3-1
        PreReq:, Provides:, and Obsoletes: dependencies support versions.
    rpmlib(CompressedFileNames) = 3.0.4-1
        file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
    rpmlib(PayloadIsBzip2) = 3.0.5-1
        package payload can be compressed using bzip2.
    rpmlib(PayloadFilesHavePrefix) = 4.0-1
        package payload file(s) have "./" prefix.
    rpmlib(ExplicitPackageProvide) = 4.0-1
       package name-version-release is not implicitly provided.
    rpmlib(HeaderLoadSortsTags) = 4.0.1-1
        header tags are always sorted after being loaded.
    rpmlib(ScriptletInterpreterArgs) = 4.0.3-1
        the scriptlet interpreter can use arguments from header.
    rpmlib(PartialHardlinkSets) = 4.0.4-1

 

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:29:43