|
※最後まで成功はしていないので「こうやって作るんだよ」ぐらいの参考程度に。
基本的にdebian.dodes.org にあるパッケージのバージョンは古いものが多いので新しいパッケージを使いたい場合は、ソースからダウンロードしてきてdeb
化する。まずは、apt-get source でソースをダウンロードし、展開(解凍)する際に必要となるdpkg-sourceコマンドをインストールする。dpkg-sourceは、dpkg-devに含まれている。他にも、root
権限を使わずに build するためのfakeroot もインストールしておく。
landisk:~# apt-get install dpkg-dev
landisk:~# apt-get install fakeroot
|
apt-line に以下の行を追加する。stable か、sid にするかは好みで。
deb-src http://ring.asahi-net.or.jp/pub/linux/debian/debian
stable main contrib non-free
deb-src http://ring.asahi-net.or.jp/pub/linux/debian/debian-jp stable-jp
main contrib non-free |
deb 化したいソースをダウンロードしてくる。ここでは、squid をdeb 化してみることにする。依存関係のエラーがでなければ、1階層上のディレクトリにdeb
パッケージが作成される。だが、SH4では依存関係のエラーがでることが多いと思うので、依存しているパッケージから先にインストールしていく。deb
化するパッケージによっては、インストールしてもきりがないぐらいに依存関係エラーが発生し、際限なく続くこともあるので大物?をdeb 化しようとする際は要注意。
landisk:~# cd /usr/local/src
landisk:~# mkdir squid
landisk:~# cd squid
landisk:~# apt-get source squid
landisk:~# cd squid-2.5.9/
landisk:~# dpkg-buildpackage -rfakeroot
|
以下のようなエラーが発生する。gcc,libldap2-dev,libpam0g-dev,sharutils,dpatch,po-debconf
がないと言われている。debian.dodes.org にバージョンに適したバイナリパッケージが存在すれば apt-get で、ない場合は、上記と同じような手順を踏んでdeb
化していき、依存関係のエラーをひとつづつ潰していく。
landisk:~# dpkg-buildpackage -rfakeroot
dpkg-buildpackage: source package is squid
dpkg-buildpackage: source version is 2.5.9-10
dpkg-buildpackage: source maintainer is Luigi Gangitano <luigi@debian.org>
sh: line 1: gcc: command not found
dpkg-architecture: warning: Couldn't determine gcc system type,
falling back to default (native compilation)
sh: line 1: gcc: command not found
dpkg-architecture: warning: Couldn't determine gcc system type,
falling back to default (native compilation)
dpkg-buildpackage: host architecture is sh4
sh: line 1: gcc: command not found
dpkg-architecture: warning: Couldn't determine gcc system type,
falling back to default (native compilation)
dpkg-checkbuilddeps: Unmet build dependencies: libldap2-dev libpam0g-dev
sharutils dpatch (>= 2.0.9) po-debconf
dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: (Use -d flag to override.)
|
apt-get でインストールできるものはインストールする。
landisk:~# apt-get install gcc
landisk:~# apt-get install libldap2-dev
landisk:~# apt-get install libpam0g-dev
landisk:~# apt-get install sharutils
|
dpatch,po-debconf は、debian.dodes.org にないのでソースからダウンロードしてきて、deb化する。依存関係がでなくなるまで同様の作業を繰り返す。地道な作業だが、debパッケージが溜まってくるとなかなか楽しい。でも、できるならやりたくないのでapt-get
でインストールできるものはそうしている。
なお、squid のdeb 化が終了すると、以下の4つのdeb パッケージができあがる。必要に応じてインストールすると良い。
squid_2.5.9-10_sh4.deb
squid-common_2.5.9-10_all.deb
squidclient_2.5.9-10_sh4.deb
squid-cgi_2.5.9-10_sh4.deb
ここまで作成しておいてなんだが、deb パッケージのインストール時にまた依存関係でこけて、python やdebconf 、libqt-perl
などを求められたので深追いはしないことにします(笑)。
|