Wiresharkをソースから入れるとヘッダファイルをインストールしてくれなくて困る
Wiresharkのtarball落としてきてmake installしてもヘッダファイルがインストールされない. Makefile.amを読んだ感じ,ヘッダファイルはインストールしないようにしてるっぽく,手動でやるしかないのかーと思っていると,emergeしたほうのWiresharkについてはヘッダファイルがインストールされている事に気づく. なんでかなーと思って/usr/portage/net-analyzer/wireshark/wireshark-1.10.1.ebuildを読んでみると,179行目あたりに以下のような記述があった.
# install headers local wsheader for wsheader in $( echo $(< debian/wireshark-dev.header-files ) ); do insinto /usr/include/wireshark/$( dirname ${wsheader} ) doins ${wsheader} done
なるほど自前ですか.ということで,同じようなことを自前でやってやる.
mkdir -p $PREFIX/include/wireshark
eval rsync -R $(< debian/wireshark-dev.header-files) $PREFIX/include/wireshark/
evalしてるのはクオートされちゃってるファイルグロブを展開するため. rsyncしてるのはOSXのcpに-p(--parents)相当のオプションがないため.プラットフォーム毎にオプションの意味が変わるとか高品質のハマり要因なのでほんとやめてほしい.
Wireshark pluginをビルドするのにヘッダファイル必要なんだからデフォルトで入るようにしてくれよ.