|
このページは「24環境」の情報です 第12回 Debianパッケージのセルフビルド †海老原祐太郎
2003/6/16
NFS-ROOT 第11回 nfsルートで大規模UNIX環境 等で大容量のストレージが用意できると 備 準 †/etc/apt/sources.list ファイルに 以下のapt ラインを準備し、aptが使えるようにしておきます deb http://debian.dodes.org/debian sid main non-free contrib deb-src http://ftp.jp.debian.org/debian/ sid main non-free contrib deb-src http://non-us.debian.org/debian-non-US sid/non-US main contrib non-free セルフパッケージビルド環境の構築 †apt が使えるようになったらセルフ開発環境の構築ができるようになりますので 一覧表のダウンロード # apt-get update 最新パッケージへの更新 # apt-get upgrade 基本的な開発者用のパッケージをダウンロード&インストール # apt-get install gcc binutils libc6-dev dpkg-dev debhelper telnetd bsd-ftpd autoconf automake m4 パッケージのセルフビルド †手始めに小型のWebサーバ 『boa』 パッケージのダウンロード&ビルドをしてみます。 # mkdir build # cd build # apt-get source boa <--- ソースのダウンロード及び展開を行います # cd boa-xxx_xx # dpkg-buildpackage -us -uc ← ビルドを開始します [略] dpkg-checkbuilddeps: Unmet build dependencies: texinfo bison flex texi2html tetex-bin ← パッケージが不足エラー dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting. dpkg-buildpackage: (Use -d flag to override.) パッケージのビルドを試みると、いくつかのパッケージが不足している旨のエラーが出ました。 # apt-get install texinfo bison flex texi2html tetex-bin Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: libfreetype6 libjpeg62 libkpathsea3 libpng2 libtiff3g libxaw7 tetex-base xfree86-common xlibs The following NEW packages will be installed: bison flex libfreetype6 libjpeg62 libkpathsea3 libpng2 libtiff3g libxaw7 tetex-base tetex-bin texi2html texinfo xfree86-common xlibs 0 packages upgraded, 14 newly installed, 0 to remove and 22 not upgraded. Need to get 19.7MB of archives. After unpacking 63.3MB will be used. Do you want to continue? [Y/n] ← Y と答える。あるいは単にエンターを押す 必要なパッケージをインストールした後、再度ビルドコマンドを実行します。 # dpkg-buildpackage -us -uc [略] dh_builddeb dpkg-deb: building package `boa' in `../boa_0.94.13-5_sh3.deb'. dpkg-genchanges dpkg-genchanges: not including original source code in upload dpkg-buildpackage: binary and diff upload (original source NOT included) ひとつ上のディレクトリに 無事 boa_0.94.13-5_sh3.deb がビルドされましたので # dpkg -i boa_0.94.13-5_sh3.deb でインストールできます。 より複雑なパッケージをビルドしてみる †Apache-ssl をビルドしてみます。以下はすべてCAT709/CAT68701での操作です。 # apt-get source apache-ssl # cd apache-ssl-1.3.27+1.48/ # dpkg-buildpackage -us -uc dpkg-checkbuilddeps: Unmet build dependencies: sharutils libdb2-dev (>= 2.7.7-2.1) libexpat1-dev libssl-dev dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting. パッケージが不足していますのでインストールします。 # apt-get install sharutils libdb2-dev libexpat1-dev libssl-dev 再度パッケージのビルドを実行します。今度は time コマンドにより実行時間を測定してみます。 # time dpkg-buildpackage -us -uc [略] dpkg-deb: building package `apache-ssl' in `../apache-ssl_1.3.27+1.48-0.1_sh3.deb'. w00 w00 dpkg-genchanges dpkg-genchanges: including full source code in upload dpkg-buildpackage: full upload (original source is included) real 39m37.440s user 33m8.370s sys 4m8.470s # 待つこと40分で 無事 apache-ssl_1.3.27+1.48-0.1_sh3.deb パッケージができました。 |