rpm の spec で使用するマクロの確認方法
rpm を作るときに spec ファイル中で色々なマクロを利用してい
いるんだけど、今まではマクロの内容を確認したい時は、毎回
/usr/lib/rpm/macros の内容をちまちまと読んで調べていた。
これが慣れないうちは結構分かりにくくて大変だったんだけど、
最近知った情報だと、rpm の --eval オプションを使うことで、
これが簡単に確認できるそうだ。
例えば %configure マクロがどのように展開されるのか
確認するとすると、
$ rpm --eval %configure CFLAGS="${CFLAGS:--O2 -m32 -march=i386 -mcpu=i686}" ; export CFLAGS ; CXXFLAGS="${CXXFLAGS:--O2 -m32 -march=i386 -mcpu=i686}" ; export CXXFLAGS ; FFLAGS="${FFLAGS:--O2 -m32 -march=i386 -mcpu=i686}" ; export FFLAGS ; ./configure --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu \ --target=i386-vine-linux \ --program-prefix= \ --prefix=/usr \ --exec-prefix=/usr \ --bindir=/usr/bin \ --sbindir=/usr/sbin \ --sysconfdir=/etc \ --datadir=/usr/share \ --includedir=/usr/include \ --libdir=/usr/lib \ --libexecdir=/usr/libexec \ --localstatedir=/var \ --sharedstatedir=/usr/share \ --mandir=/usr/share/man \ --infodir=/usr/share/info
という風に展開されることが分かる。
これを最初から知ってたら、もうちょっと楽だったんだけどね。
# ちなみに rpm の man ページには書いてないんだけど、
# rpm --help するとちゃんと出てくるんだよね…。
コメント 0