ソースからビルドしたアプリケーション管理にpaco

Debian系ならapt、RH系ならyumでのアプリケーションやライブラリのインストール・アンインストールは大変ラクですよね。
しかし場合によってはソースからインストールしたいときもあります。が、ソースからインストールしたものを削除したい時に"make uninstall"が用意されていない場合も多いです。
そういった面を含めて体系的な管理をすること、つまりパッケージ化するcheckinstallというツールがあるようです。
しかし、

ソースからビルドしたファイルはcheckinstall
使いパッケージ化してインストールをしているが、

これだとソースからインストールしたのか、
パッケージ経由からのか区別が付きにくい

また、まれにパッケージ化できないものもあり、管理が煩雑に
なってしまう

ソースからインストールしたファイルをパッケージ管理出来る「paco」|DesktopなLinuxの設定とか

とあったり、

But though CheckInstall is very efficient, it finally depends on the package
manager of the host system (rpm, dpkg or installpkg), so it doesn't fit the
needs of the LFS community.

LFS hint | paco - a source code pacKAGE oRGANIZER for Unix/Linux

とあったりしたので二の足を踏んでしまいました。

よって代替案としてpacoをインストールすることにしました。その時の作業をメモしておきます。
"make install"したソフトウェアを管理できる超便利ツール「Paco」 - 元RX-7乗りの適当な日々の内容を参考にさせていただきました。

インストール

1. ダウンロード
$ cd /tmp/
$ la
$ wget http://sourceforge.net/projects/paco/files/paco/2.0.9/paco-2.0.9.tar.gz/download -O paco-2.0.9.tar.gz
2. 展開
$ tar zxvf paco-2.0.9.tar.gz
3. configure

GPaco is the graphic interface of paco.

http://paco.sourceforge.net/

GPacoというGUIが付属しているようですが今回は使わないので --disable-gpaco としてやります。

$ cd paco-2.0.9/
$ ./configure --disable-gpaco
4. make
$ make
プログラム 'make' はまだインストールされていません。  次のように入力することでインストールできます:
sudo apt-get install make

わりとまっさらな状態のバーチャルマシンで行っているため make が入っていませんでした。
ご丁寧なメッセージに従って make をインストールすることとします。これは apt 使って。

5. make のインストール

By default, Ubuntu does not come with the tools required. You need to install the package build-essential for making the package and ...

https://help.ubuntu.com/community/CompilingEasyHowTo#Step_1:_Prep_your_system_for_building_packages

Ubuntuにはデフォルトでは make などのツールは入っていないようです。そこで build-essential というパッケージをインストールしてやることで make できるようにします。

$ sudo aptitude update
$ sudo aptitude upgrade
$ sudo aptitude install build-essential
以下の新規パッケージがインストールされます:
  binutils{a} build-essential cpp{a} cpp-4.6{a} dpkg-dev{a} fakeroot{a} g++{a} g++-4.6{a} gcc{a} gcc-4.6{a}
  libalgorithm-diff-perl{a} libalgorithm-diff-xs-perl{a} libalgorithm-merge-perl{a} libc-dev-bin{a} libc6-dev{a}
  libdpkg-perl{a} libgomp1{a} libmpc2{a} libmpfr4{a} libquadmath0{a} libstdc++6-4.6-dev{a} linux-libc-dev{a} make{a}
  manpages-dev{a}
0 個のパッケージを更新、 24 個を新たにインストール、 0 個を削除予定、0 個が更新されていない。
32.1 M バイトのアーカイブを取得する必要があります。 展開後に 88.4 M バイトのディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] 
 :
update-alternatives: /usr/bin/c++ (c++) を提供するために 自動モード で /usr/bin/g++ を使います。
build-essential (11.5ubuntu2) を設定しています ...
libc-bin のトリガを処理しています ...
ldconfig deferred processing now taking place
6. configure & make & make install
$ ./configure --disable-gpaco
$ make
$ sudo make install
7. paco自身を登録

paco自身をソースからインストールしたので自分自身をリストに登録してやります。

$ sudo make logme
8. 登録状況の確認
$ paco -1Fdsa
25 1.4M     20  16-Jun-2012  paco-2.0.9

コマンドオプションでわりと使いそうなもののメモ

パッケージに関連するパッケージの一覧
$ paco -f paco-2.0.9
paco-2.0.9:
/usr/local/share/paco/README
/usr/local/lib/libpaco-log.a
/usr/local/lib/libpaco-log.la
/usr/local/lib/libpaco-log.so
/usr/local/lib/libpaco-log.so.0
/usr/local/lib/libpaco-log.so.0.0.0
/usr/local/bin/paco
/usr/local/etc/pacorc
/usr/local/lib/pkgconfig/paco.pc
/usr/local/share/man/man5/pacorc.5
/usr/local/share/man/man8/paco.8
/usr/local/share/man/man8/pacoball.8
/usr/local/share/man/man8/rpm2paco.8
/usr/local/share/man/man8/superpaco.8
/usr/local/share/paco/faq.txt
/usr/local/share/paco/pacorc
/usr/local/bin/ocap
/usr/local/bin/pacoball
/usr/local/bin/rpm2paco
/usr/local/bin/superpaco
パッケージ情報
$ paco -i paco-2.0.9
------------
 paco-2.0.9
------------

Name:     paco
Version:  2.0.9
Summary:  Source code package organizer
configure時のオプションの表示
$ paco -o paco-2.0.9
--disable-gpaco