この文書は, 自作した 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 を参照されたい.