スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Date: --.--.-- Category: スポンサー広告   

ipkg の作り方

AI OS で採用されている ipkg (拡張子 .ipk) を作成する方法をまとめてみます。このサイト を参照しました。

.ipk ファイルの実態は tar.gz ファイルです。展開すると data.tar.gz, control.tar.gz, debian-binary という三つのファイルを取り出せます。
debian-binary は事実上使われていないらしく、特別な意味は無いみたいです。
control.tar.gz にはパッケージ情報などが含まれていて、パッケージ名、バージョン、パッケージの依存関係や、パッケージインストール前後で行う操作などが含まれています。
data.tar.gz がインストールされるファイルの実態で、実行ファイルなどはここに含まれています。
これらを手動で作成するのは非常に大変なので、上記サイトに ipkg-build.sh というヘルパースクリプトがあります。これを使って作業しますので、あらかじめダウンロードして
chmod +x ipkg-build.sh
で実行権限を付与します。

今回は eb ライブラリを ipkg 化してみます。
ipkg-build.sh コマンドは指定されたファイルをパッケージにまとめるだけなので、最初に手動でビルドを行う必要があります。まずは eb ライブラリの FTP サイト から、eb-4.4.1.tar.bz2 をダウンロードします。それから
tar jxvf eb-4.4.1.tar.bz2
cd eb-4.4.1
./configure --prefix=/usr AR_FLAGS=cr
make
とビルドします。エラーが無くビルドできたら、
make DESTDIR=`pwd`/tmp install
と一時ディレクトリにインストールを行います。現在のディレクトリに tmp ディレクトリが作成され、その下に usr/bin/ebinfo や usr/lib/libeb.so などのファイルが作成されていると思います。
次にパッケージ情報を記述したファイルを作成します。このファイルは ipkg を作成する際に必須とされます (これ以外のファイルは必要に応じて作成する)。
まず
mkdir `pwd`/tmp/CONTROL
とディレクトリを作成します。次に
vi `pwd`/tmp/CONTROL/control (または任意のエディタで開く)
として control という名前のファイルを作成し、以下の内容を記述します。

Package: eb
Priority: optional
Section: misc
Version: 4.4.1
Architecture: arm
Maintainer: Familiar User famuser@foo.org
Depens:
Description: EB is a C library and utilities for accessing CD-ROM books

Package はパッケージ名、Version はバージョン番号ですが、この値を元にパッケージにファイル名が与えられるため、ファイル名に使えない文字はここに指定することはできません。
Priority、Section はあまり有効に使用されていないようなので、optional と misc でいいと思います。
Architecture は TouchBook の場合は arm です。ここに指定できるのは「arm」か、アーキテクチャに依存しない場合の「all」のみのようです。
Maintainer はパッケージ作成者の情報を記述します。プログラムの制作者ではなく、パッケージを作成した人の情報です。
Depens はパッケージの依存関係です。複数のパッケージを記述するときはコンマ (,) で区切ります。
Description はパッケージの説明です。まず Description と同じ行に概要を記述します。これはパッケージ情報と共に表示されるので、一行に収まる程度 (80 文字以内ぐらい) にします。より詳細な説明を記述する場合は (概要だけでも問題ありません)、改行して行の先頭にスペースを一ついれてから記述します。もし詳細に空行を入れたい場合は、先頭のスペースの後にピリオドを一つ記述します (" ." とする)。この行は空行とパッケージマネージャの方で判断してくれるようです。
(このファイルにはコメントなどを含めることはできません)

これで必要なファイルができたので、ipkg-build.sh コマンドを実行します。
ipkg-build.sh `pwd`/tmp
と実行すると、現在のディレクトリに eb_4.4.1_arm.ipk というファイルが作成されます。あとは root 権限を取得して
ipkg install eb_4.4.1_arm.ipk
とファイルを指定してインストールを行えば、ipkg をインストールすることができます。
スポンサーサイト
Date: 2010.01.26 Category: TouchBook  Comments (0) Trackbacks (0)

この記事へのコメント:


管理人のみ通知 :

トラックバック:


最新記事
最新コメント
ウィジェット
月別アーカイブ
カテゴリ
プロフィール

SC3WO06A

Author:SC3WO06A
FC2ブログへようこそ!


検索フォーム
RSSリンクの表示
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
最新トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。