Linuxのコマンド(tsort)のソースコードがよみたくなったときのメモ

もともとの発端は、topological sortについて知りたくて調べていたら実装がみたくなった。
それで、調べてみたらLinuxのコマンドとして tsortが存在していることが分かったので
ソースコードを落としてみるかということになった。

普通にぐぐっても辿りつけなかったので、所属パッケージ名を探り当ててみた。

dpkg -S tsort
....
coreutils: /usr/bin/tsort
coreutils: /usr/share/man/man1/tsort.1.gz

coreutilsに所属していることは分かったので、あとはgnuFTPにあるcoreutilsディレクトリ以下のものをDLすればいい。

# http://mirror.aarnet.edu.au/pub/gnu/coreutils/
wget http://mirror.aarnet.edu.au/pub/gnu/coreutils/coreutils-8.12.tar.gz

DLしたら本当に欲しい機能があるかどうかgrepしてやればいい。

tar zxvf coreutils-8.12.tar.gz
cd coreutils-8.12
grep tsort **/*
....
src/tsort.c:/* tsort - topological sort.

追記

探している最中にGNU GLOBALというツールを見つけた。

まちゅダイアリーに書いてあったことの引用なんだけどこんな機能を提供してくれるらしい。

GNU GLOBAL を使えば、ソースコードを読んでいて「この関数はどこで宣言されているんだろう」と思ったときに、その箇所をすぐに開くことができる

便利そうなのでvimと連携させてみようかと思う。

http://www.machu.jp/diary/20090307.html#p01