ruby1.8パッケージの中身をruby1.8.6にする

$ LANG=C
$ mkdir ~/deb
$ cd ~/deb
$ apt-get install devscripts
$ apt-get source ruby1.8
$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz
$ cd ruby1.8-1.8.4
$ uupdate -u ../ruby-1.8.6.tar.gz
$ cd ../ruby1.8-1.8.6
$ cp ../ruby-1.8.6.tar.gz .
$ rm debian/patches/*
$ vi debian/rules
18行目のTAR_DIR=ruby-1.8.4をTAR_DIR=ruby-1.8.6にする

$ dpkg-buildpackage -rfakeroot -uc -b

dpkg-checkbuilddeps: Unmet build dependencies: dbs libgdbm-dev libncurses5-dev libreadline5-dev tcl8.4-dev tk8.4-dev
dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
//こんな感じでエラーが出る
//ライブラリがないようなのでインストールする

$ sudo apt-get install dbs libgdbm-dev libncurses5-dev libreadline5-dev tcl8.4-dev tk8.4-dev

cp: cannot stat `build-tree/ruby-1.8.6/doc/NEWS': No such file or directory
dh_installdocs: command returned error code 256
make[1]: *** [binary-common] Error 1
make[1]: Leaving directory `/home/jet/deb/ruby1.8-1.8.6'
make: *** [binary-arch] Error 2

// またもやエラー
// build-tree/ruby-1.8.6/doc/NEWSがない。build-tree/ruby-1.8.6/doc/NEWS-1.8.0というファイルがあったのでそれをNEWSにしてみる

$ cp build-tree/ruby-1.8.6/doc/NEWS-1.8.0 build-tree/ruby-1.8.6/doc/NEWS
$ dpkg-buildpackage -rfakeroot -uc -b

dh_testroot
dh_installchangelogs \
          build-tree/ruby-1.8.6/ChangeLog  build-tree/ruby-1.8.6/doc/ChangeLog-1.8.0
dh_installdocs
cp: cannot stat `build-tree/ruby-1.8.6/doc/NEWS': No such file or directory
dh_installdocs: command returned error code 256
make[1]: *** [binary-common] Error 1
make[1]: Leaving directory `/home/jet/deb/ruby1.8-1.8.6'
make: *** [binary-arch] Error 2

//同じエラーでダメ。 dh_installdocsでエラーが出ているようなのでdh_installdocsのmanを読む
$ man dh_installdocs
//どうやらdebian/package.docっていうファイルに入っているものをcpするものらしい

$ vi debian/ruby1.8.doc
//7行目のbuild-tree/ruby-1.8.6/doc/NEWSをbuild-tree/ruby-1.8.6/doc/NEWS-1.8.0にしてみる

$ dpkg-buildpackage -rfakeroot -uc -b
//もう引用しないけど同じエラーが出る debian/ruby1.8.docを見ると build-tree/ruby-1.8.6/doc/NEWS に戻っているのでbuildpackageの途中で生成されているらしいことがわかる
// debian/rulesを見てみると188行目と216行目で生成していることがわかるのでこれをNEWS-1.8.0にする
$ vi debian/rules

(echo $(BUILD_TREE)/lib/README; \
echo $(BUILD_TREE)/doc/NEWS-1.8.0; \ //188行目
find $(BUILD_TREE)/doc -name 'forwardable.rd*' -or -name 'shell.rd*') \

echo $(BUILD_TREE)/ToDo; \
echo $(BUILD_TREE)/doc/NEWS-1.8.0) \ //216行目
> debian/ruby$(deb_sfx).docs
$ dpkg-buildpackage -rfakeroot -uc -b
//成功
$ sudo mkdir /usr/local/deb
$ sudo mv ../*.deb /usr/local/deb
$ sudo su -
$ cd /usr/local/deb
# apt-ftparchive sources . | gzip -c9 > Sources.gz
# apt-ftparchive packages . | gzip -c9 > Packages.gz
# vi /etc/apt/srouce/list
deb file:/usr/local/deb ./
# apt-get update
# apt-get install ruby1.8