portsを探すのがだるい件について。

結論から言うとports-mgmt/psearchがおすすめ。

あのソフトがportsにないかなーというとき、セオリーで言えば/usr/portsディレクトリでmake search key="キーワード"とするわけだが、いちいちここまでコマンドを打つのが面倒だし、そもそも書式をすぐに忘れる。(後者は俺だけかもしれないが)


次に考えるのがlocateやfindだが。findは長々とコマンドを打たないといけないので嫌。検索遅いし。
locateは強力だが、ヒットしすぎて困り果てるし、システムインストール直後だとデータベースが出来ていなくて使えない。


そこでしばらくwhereisコマンドを使っていた。
こんな感じ。

$ whereis audacious
audacious: /usr/ports/multimedia/audacious


ただ、whereisなんで、検索対象のファイル名をきっちり分かってないと使えない。(たぶん)
また、注意すべきは-aオプションを与えないと最初のマッチしか返さないこと。以下の例のように、初めてxlockmoreを検索したときは、なんで日本語版しかないんだ?と悩んだ。

$ whereis xlockmore
xlockmore: /usr/ports/japanese/xlockmore
$ whereis -a xlockmore
xlockmore: /usr/ports/japanese/xlockmore /usr/ports/x11/xlockmore


そういった遍歴の結果、ports-mgmt/psearchに辿り着いて今のことろ満足している。
書式は以下の通り。

psearch [options] PATTERN

PATTERNには正規表現が使える。

$ psearch audaci*
audio/audacious-crossfade A Crossfading/Gapless Plugin
audio/audacious-dumb      Audacious plugin that support the IT, XM, S3M or MOD formats
audio/audacious-mac       Audacious plugin that support the Monkey's Audio lossless formats
audio/audacity            Audacity is a GUI editor for digital audio waveforms
audio/audacity-devel      Audacity is a GUI editor for digital audio waveforms
audio/wmauda              A port of wmxmms to GTK 2.x and Audacious
multimedia/audacious      A media player based on BMP and XMMS
multimedia/audacious-plugins Plugins needed for audacious
x11-themes/audacious-skins A collection of audacious skins

俺はいつもaudaciousを入れるつもりでaudacityをインストールしてしまってガッカリするんだがこれで安心。




その他には、単語を複数渡し、スペースで区切ればand検索。-oオプションを与えればOR検索。-nならバージョン名を教えてくれる。-cでカテゴリーを指定すればそこだけを探してくれる。

$ psearch thunar plugin
archivers/thunar-archive-plugin Archive plugin for the Thunar File Manager
audio/thunar-media-tags-plugin A Media Tags Plugin
devel/thunar-svn-plugin   Subversion plugin for Thunar
sysutils/thunar-volman-plugin A Device manager plugin.
$ psearch -o thunar plugin|less
archivers/thunar-archive-plugin Archive plugin for the Thunar File Manager
astro/gkrellmoon          A moon clock plugin for Gkrellm
(略)
$ psearch -n thunar plugin
thunar-archive-plugin-0.2.4_2 Archive plugin for the Thunar File Manager
thunar-media-tags-plugin-0.1.2_8 A Media Tags Plugin
thunar-svn-plugin-0.0.3_1 Subversion plugin for Thunar
thunar-volman-0.2.0_4     A Device manager plugin.
$ psearch -c archivers thunar plugin
archivers/thunar-archive-plugin Archive plugin for the Thunar File Manager
$


すげー便利。

ただ/usr/ports/INDEX-?(?にはOSのメジャーバージョンが入る)が無いとダメ。普段は気にすることないがメジャーバージョンの変わり目では気をつけること。