この文書は, 自作した debian パッケージを apt によって取得や管理 できるように設定する方法を示した手引きである.
なお, cc-env/debian-dennou ディレクトリでは, <URL:Makefile.apt> によってこれらの作業の多くを自動化している. Makefile.apt の使い方に関しては実ファイルを参照されたい.
ディレクトリ構成は flat style を用いている. すなわち, 作成されたパッケージは全て /GFD_Dennou_Club/ftp/arch/cc-env/debian-dennou/CODENAME 以下に置く. CODENAME は etch, lenny, sid などであり, stable/testing/unstable は使わない.
cc-env グループに属する他のメンバーが編集することを考え, ファイルやディレクトリの 作成・編集を行なう前に必ず以下のようにしてから作業を行なうこと.
$ sg cc-env $ umask 002
まず conf ファイルを作成する. conf ファイルの例は:
// -------------------------------------------------------------
// Release ファイルに付加する情報の設定
//
// 2007/06/23 佐々木洋平 作成開始
//
//-------------------------------------------------------------
// アーカイブの提供者の情報とラベル
APT::FTPArchive:Release::Origin "GFD Dennou Club";
APT::FTPArchive::Release::Label "GFD Dennou Club";
// 提供する Debian のバージョン
APT::FTPArchive::Release::Suite "stable";
APT::FTPArchive::Release::Version "5.0";
APT::FTPArchive::Release::Codename "lenny";
// 提供するアーキテクチャ.
// APT::FTPArchive::Release::Architectures "i386" "amd64";
// 提供するセクション名. 今の main のみ.
APT::FTPArchive::Release::Components "main";
// アーカイブの説明.
APT::FTPArchive::Release
{
Description {"Resouces provided by GFD Dennou Club's member. see http://www.gfd-dennou.org";}
}
である.
リポジトリの更新は cc-env グループもしくはユーザになったのちに apt-ftparchive コマンドによって行なう. 例えば Packages の更新は /GFD_Dennou_Club/ftp/arch/cc-env/debian-dennou ディレクトリにおいて
$ apt-ftparchive -c AptConf_for_lenny.txt \ packages lenny/ > lenny/Packages $ gzip -c9 < lenny/Packges > lenny/Packages.gz $ bzip2 -c9 < lenny/Packges > lenny/Packages.bz2
とする. Sources, Contents についても同様に実行する.
最後に Release ファイルを更新し, Release ファイルに GPG 署名を行なう.
$ apt-ftparchive -c AptConf_for_lenny.txt release lenny/ > lenny/Release $ gpg --sign --default-key AEE995F4 -o lenny/Release.gpg lenny/Release
Makefile.apt には apt-ftparchive を用いて apt リポジトリを更新するため の rule がある. 更新時には
$ sudo -u cc-env $ make scan
で良い. 詳細は実ファイルを参照されたい.
新たなパッケージが new-queue に入った場合
を審査すること. lintian, pbuilder, piupart については man を参照されたい.