pbuilder の導入

etch にむけ電脳パッケージの再構築を試すために, pbuilder を導入してみた.

pbuilder については

Debian GNU/Linuxシステムにおいて, 簡単にchrootシステムを構築でき, そのなかでのパッケージのコンパイルができるようなシステムの構築を目標とする. 現在,自分のカスタマイズしたシステムの中でプログラムをコンパイルしている場合が多いので, 実際にプログラムが他人のシステムでも動くという保証があまり無い. そこで,無駄なプログラムが入っていない,インストール直後の状態 から,実際にプログラムをコンパイルするために最小限のプログラムのみを インストールしてそこでコンパイルを実行するというシステムが 必要とされた.

導入

testing や unstable の構築には pbuilder の最新版が必要らしいので,
unstable を導入してみた.

$ sudo apt-get install pbuilder -t unstable
$ apt-show-versions
  pbuilder        0.169   install ok installed
  No stable version
  pbuilder        0.169   sid
  pbuilder        0.161   etch
  pbuilder        0.161   unknown
  pbuilder/sid uptodate 0.169

試用

とりあえず base を作る.

$ sudo -s
# pbuilder create

転んだ. どうも cdebootstrap が必要らしい. 依存関係変なのかな?

$ sudo apt-get install cdebootstrap
$ sudo -s
# pbuilder create --distribution etch
   :
 Copying back the cached apt archive contents
  -> unmounting dev/pts filesystem
  -> unmounting proc filesystem
  -> creating base tarball [/var/cache/pbuilder/base.tgz]
  -> cleaning the build env
  -> removing directory /var/cache/pbuilder/build//2750 and its subdirectories

で終了.

試すパッケージは先日作成した ruby_narray_miss

# pbuider build ruby_narray_miss_1.1.2-1.dsc
  :
  -/usr/bin/make clean
  ruby setup.rb config --siteruby=/usr/lib/ruby/ --sodir=/usr/lib/ruby/1.8/i386-linux
  make: ruby: Command not found
  make: *** [clean] Error 127
  pbuilder: Failed autobuilding of package
   -> Aborting with an error
   -> unmounting dev/pts filesystem
   -> unmounting proc filesystem
   -> cleaning the build env
     -> removing directory /var/cache/pbuilder/build//22455 and its subdirectories

…うーん? なんか依存関係見てくれてない?

保留. とりあえずクリーン

$ sudo -s
# pbuilder clean

うー.