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