Debian Archive Kit
DebianのFTPアーカイブをメンテするツール。普通はmini-dinstallとか使うほうがいいんだろう。
ダウンロード
cvsからも取れるけどこれから使うのはかなりメンドクサイので、ganneffからdebを取得。
DB
- projectb: PostgreSQLのデータベース名
- accepted_autobuild:
- architecture: アーキテクチャのリスト。id, arch_string(i386など), description
- archive: アーカイブ名
- binaries: バイナリのパッケージ名、バージョンが入っている。その他に、メンテナ、ソース、アーキテクチャ、ファイル、形式、フィンガプリントへの参照
- bin_associations: binariesとsuiteを結びつけるもの
- source: ソースのパッケージ名、バージョン、インストール日が入っている。その他に、メンテナ、ファイル、フィンガプリントへの参照
- src_associations: sourceとsuiteを結びつけるもの
- component: main, contribとか。name,description,meets_dfsg(お!)
- dsc_files: dscおよびそれに関連するsourceとfileを結びつけるもの。
- files: 実ファイルのリスト。filename(main/m/...*.deb), size, md5sum, location(locationテーブル), last_used
- fingerprint: uidのfingerprint?
- location: プールの位置。path(/opt/dak/ftp/pool)、component、archive、type(pool)
- maintainer: メンテナ名+アドレスのリスト(Maintainerフィールド)
- override: override情報。suite、component、priority、section、type、maintainer
- override_type: override用のtype。deb,udeb,dsc
- priority: priority情報 (required, extra, sourceなど)
- section: セクション(admin、textなど)のリスト
- suite: suite_name(stableなど)、version、origin、label、description
- suite_architectures: スイートとアーキテクチャを結びつけるもの。むしろそのスイートにどのアーキテクチャがあるか、か。
- uid: ユーザーID
ディレクトリ
- /etc/dak.conf: DAKの設定ファイル。ホスト名を定義している以外は実体は/opt/dak/katie/*.confに譲る
- /opt/dak: DAKメイン
- ftp: FTPアーカイブ
- database: jennaが作るリスト
- katie/apt.conf: generateするのに使うファイル
- katie/cron.unchecked: uncheckedを処理するための一連の流れのサンプル
- katie/katie.conf: katieのメイン設定ファイル
- katie/templates: メールのテンプレ
- katie/vars: スクリプトの変数設定
- katie-database: packages-*.dbとかある
- keyrings: keyring.gpg。アップロード可能な人のgpgリスト?
- log: ログ
- morgue: rhonaとshaniaによって消されたもの?
- queue: キュー。
- accepted: pool行きOKなもの。kellyによってpoolにいく
- byhand: 手動?
- done: 済み (changesが残る)
- holding: ?
- new: lisaの必要な新パッケージ
- reject: 拒否
- unchecked: アップロードされたものをコピって置く。jenniferによってふりわけ
- bts_version_track: changelogチェックしてBTSをclose用かな
- s3*: Release用の鍵を置いておく
- scripts/override/: overrideを置く場所
- testing/urgencies/install-urgency-*: なんかログが入ってる。testingでなんか使える?
- web: なんだろ?
設定するのは、/opt/dak/katie/apt.conf、/opt/dak/katie/katie.conf、/opt/dak/katie/varsのどれか。
ツール
- daily的には、jennifer→(lisa)→kelly→jenna→apt-ftparchive→ziyiかな。
- 何かkatie.confに更新かけてスイートが増えたといったときにはalyson→rose→denise?apt.confも要修正。
jennifer
queue/uncheckedにあるものを処理する。-sを付けるとメールを飛ばさないようにできる。
- jennifer -ap *.changes: ロックファイルを確認せずにautomaticに実行
kelly
queue/acceptedにあるものを処理する。-sを付けるとメールを飛ばさないようにできる。
- kelly -ap *.changes: ロックファイルを確認せずにautomaticに実行
lisa
queue/newにあるものを処理する。
- lisa *.changes: どうするか聞かれる。
jenna
Packagesを作るのに使うリストを作る。
このあと、cd /opt/dak/katie; apt-ftparchive generate apt.conf を実行すると、ftpのPackagesファイル、Contentsファイルが更新される。
ziyi
ReleaseファイルとRelease.gpgを作る。
Release.gpgを作るには、/opt/dak/s3*/dot-gnupgにkeyを置いておく。gpg --gen-keyで作り、パスフレーズは付けない。普通のユーザーのじゃなくて専用で作るほうがよさげ。fingerprintと公開鍵を配るのがいいかな。
denise
overrideファイルを作る。
heidi
スイートからファイルを入れたり消したり。unstable→stableへのコピーとか。
- heidi -a スイート ファイルまたはSTDIN: スイートに追加
- heidi -l スイート: スイートにあるファイルのリスト
- heidi -r スイート ファイルまたはSTDIN: スイートからremove
- heidi -s スイート: スイートをセット
mlterm-tiny 2.9.1-1 i386
mlterm-common 2.9.1-1 i386
mlterm-tools 2.9.1-1 i386
mlterm 2.9.1-1 i386
mlterm-im-iiimf 2.9.1-1 i386
mlterm-im-uim 2.9.1-1 i386
mlterm 2.9.1-1 source
melanie
スイートからファイルを削除。実際にファイルを削除(morgue送り)する。
- melanie パッケージ
- melanie -a アーキテクチャ パッケージ
- melanie -m "理由メッセージ" パッケージ
- melanie -R パッケージ: 依存チェック
- melanie -s パッケージ: ソースだけ消す
- melanie -b パッケージ: バイナリだけ消す
- melanie -s スイート パッケージ: スイートを特定
DBから消えるまでには時間差がある。デフォルトでは1.5日。katie.confのStayOfExecutionで設定できる。
alicia
overrideファイルの調整
- alicia パッケージ セクション priority
- alicia -s スイート パッケージ セクション priority
rene
古いまたは重複するパッケージを調査
tea
いろいろ検証するツール
rhona
使われてないpoolのファイルを削除
shania
incomingディレクトリにある古いファイルを削除
uma
dakデータベースとキーリングに追加するツール。
/usr/share/dak/neve
DB初期化。最初だけ。
alyson
katie.confに基づいてデータベーステーブルを更新するツール。
rose
katie.confからディレクトリ構成(スイートなど)を作る。stableを新たに作ったといったときに。
unstable→stableのリリースをしたいときには?
- heidi -l unstable | heidi -a stable でいいのかしら。
- psql projectbのほうは
update suite set version = '3.0r3' where suite_name = 'stable';
update suite set description = 'Debian 3.0r3 Released 25th October 2004' where suite_name = 'stable';
というかんじ。
- katie.confのversionフィールドを変更
- jenna -s stable
- apt-ftparchive
- ziyi stable
testingを実装したいときは?
ヒントファイルとかいろいろやってるが…
http://ftp-master.debian.org/testing/update_out_code/
なんかtesting/ディレクトリの中のファイルがないような。
UploadQueueからuncheckedへの移動は誰がどうやる?
debianqueued0.9というのがミラーのproject/misc/にある。
これを適当にセットアップして(鍵、pgpgpg、gpgを用意しておく必要あり)、メソッドにcopyを選び、ターゲットにuncheckedディレクトリを設定しておく。あとは10分ごとに勝手にチェックしてくれる。
新しいsuiteを作りたいとき
alysonでいいのかと思ったらダメなようだ。
- katie.confでSuite {}に新しいのを追加
- psql projectbして、insert into suite values (....)とinsert into suite_architectures values (...)で該当する新しいのを登録
- database/overrides/にtouch →deniseでいいのか?
- katie/apt.confを編集
- ftp/に新しいディレクトリを作成
Last modified : 2005/04/27 23:05:28 JST