2012-10-23 (Tue)

_ [debian] unblock request 実践編

uim 1:1.8.1-4 が 5日経ったので、unblock request 下調べ編 で調べた通り、#691218 で unblock request を出した。

_ [debian] 続々・uim-xim vs sleep

ふと見たら im-config 0.18 が testing 入りしていたので、#300486Bug 39242 - no easy way to wait until uim-xim is ready を閉じた。

2012-10-19 (Fri)

_ [debian] unblock request 下調べ編

今 testing は freeze されてるので、unstable からパッケージが自動で落ちることはない。unstable から testing にパッケージを入れるにはリリースチームに連絡して unblock してもらう必要がある。受け入れ可能なパッケージはかなり限定される。と、その決まりや手順はどこに書いてあるんだろうと探してようやく見つけた。> Wheezy Freeze Policy

  1. バグを修正する以外の変更を入れてはいけない。もしバグ修正以外の変更を入れたら、リリースチームはレビューや承認に時間を取られてリリースが遅れてしまうし、それを直すよう求められて結局パッケージが入るのも遅れてしまう。変更点は詳しく changelog に記載すること。
  2. 疑問があれば、まずリリースチームに連絡すること。
  3. リリースチームに連絡するときは、何故パッケージをアップデートしたいのか説明すること。バグ番号は必須。ソースパッケージのdebdiff を添付する。最初のメールと changelog からより多くの情報が得られれば、アップデートがより早くなる。
  4. testing にアップデートが必要で、unstable にあるヴァージョンが無関係の変更を含んでいない(testing と unstable でヴァージョンが一緒)なら、unstable にパッケージをアップロードしてリリースチームに連絡すること。
  5. unstable のヴァージョンが既に、修正するバグに無関係な「重大な変更」を含んでしまっているなら、testing-proposed-updates にアップロードすることでリリースチームに連絡すること。「重大な変更」とは、依存関係の変更、新 upstream ヴァージョン、ライブラリ名の変更、パッケージングの完全なやり直しなどなど。
  6. ライブラリの依存関係が新しくなり、unstable にあるヴァージョンが testing に入らない場合、testing-proposed-updates に入れることをリリースチームに連絡すること。
  7. パッケージを freeze の例外として扱ってほしい場合、unblock バグを登録する – reportbug が自動的に適切なテンプレートを作ってくれる – もしくは debian-release で、リリースチームに連絡する。トラッキングのため BTS が好まれる。リリースチームが理由を見つけてくれると期待しない。changelog への記載はリリースチームへの連絡にはならない。
  8. 例えば最近 20日以内に RC バグのためにパッケージが削除されてしまい、バグ修正だけのパッケージをアップロードしたなら、パッケージを戻すことをリリースチームに連絡すること。unblock 同様、リリースチームは理由を見つけないので、自身で説明する必要がある。

unblock request を BTS に登録するには、

% reportbug release.debian.org

で 8 (unblock) を選択し、対象のパッケージとヴァージョンを入力すれば、テンプレートを作ってくれる。

Subject: unblock: uim/1:1.8.1-4
Package: release.debian.org
User: release.debian.org@packages.debian.org
Usertags: unblock
Severity: normal

Please unblock package uim

(explain the reason for the unblock here)

(include/attach the debdiff against the package in testing)

unblock uim/1:1.8.1-4

理由を埋めて、debdiff を入れて送信すればいいのかな。debian-release に流れているメールや release.debian.org 仮想パッケージバグのレポートを見たところ、そんな感じでいいみたい。 これで uim 1:1.8.1-4 の unblock request を出すときに慌てないで済むかな。

_ [debian] testing-proposed-updates request 下調べ編

unblock request 下調べ編のつづき。testing-proposed-updates に入れるには、

% reportbug release.debian.org

で 5 (pu) を選択し、対象のパッケージとヴァージョンを入力すれば、テンプレートを作ってくれる。

Subject: pu: package uim/1:1.8.1-4
Package: release.debian.org
User: release.debian.org@packages.debian.org
Usertags: pu
Severity: normal

(please explain the reason for this update here)

理由を埋めて、debdiff を入れて、Subject: と Usertags: の pu を tpu に変えて BTS に登録して、許可が出たら testing でビルドしてアップロードすればいいのかな。reportbug の選択肢に tpu があると思ったらなかったので。

2012-10-18 (Thu)

_ [debian] 続々々々・uim 1:1.8.1-3

piuparts でローカルの新しいパッケージのアップグレードテストをするときの仕組みを考えてみた。 まず、/tmp/debian/ ディレクトリ以下に作成した新しいパッケージを置く。

% ls -la /tmp/debian
合計 17148
drwxr-xr-x  4 dai  dai      980 10月 18 02:00 .
drwxrwxrwt 16 root root     480 10月 18 02:10 ..
-rw-r--r--  1 dai  dai    12996 10月 18 01:52 libuim-custom2_1.8.1-4_amd64.deb
-rw-r--r--  1 dai  dai   287084 10月 18 01:52 libuim-data_1.8.1-4_amd64.deb
-rw-r--r--  1 dai  dai   136774 10月 18 01:52 libuim-dev_1.8.1-4_amd64.deb
        :

ダミーのレポジトリを作る。

for i in main contrib non-free; do
        for j in sid squeeze; do
                k=/tmp/debian/dists/${j}/${i}/binary-amd64
                mkdir -p ${k}
                touch ${k}/Packages
                gzip ${k}/Packages
        done
done

新しいパッケージ用の Packages ファイルを生成する。

cd /tmp/debian
apt-ftparchive packages . | gzip -c >! ./dists/sid/main/binary-amd64/Packages.gz

これで piuparts を実行する。

sudo /bin/rm /tmp/libuim-data.log ; \
sudo piuparts \
        --skip-logrotatefiles-test \
        --warn-on-others \
        --warn-on-leftovers-after-purge \
        --no-eatmydata \
        -b /var/cache/pbuilder/base-squeeze.tgz \
        --list-installed-files \
        -l /tmp/libuim-data.log \
        --do-not-verify-signatures \
        -m http://ftp.jp.debian.org/debian \
        -m file:/tmp/debian \
        --bindmount /tmp/debian \
        -d squeeze \
        -d sid \
        --apt libuim-data=1:1.8.1-4

–do-not-verify-signatures : サインしていないレポジトリで停止してしまうことを防ぐ。 -m file:/tmp/debian –bindmonut /tmp/debian : chroot 内からレポジトリが見えるように。なお、/tmp/debian 以下を CWD とするプロセスがいた場合、kill されたうえに piuparts がエラーで終了することに注意。 本当はもっといいやりかたがあるような気がするけど…。

_ [debian] uim 1:1.8.1-4

mv_conffile は移動先にもファイルがないといけないようなので(類例: #665813)、touch して作ることにして対処。けど、直前で uim-module-manager で作成してるはずなんだけどな。今度は piuparts でローカルの新しいパッケージのアップグレードテストをしたので大丈夫のはず。 先走って 1.8.2 と 1.8.3 を upstream ブランチに入れて master ブランチにマージしてしまっていたので、debian/1%1.8.1-3 タグから debian/1%1.8.1 ブランチを分岐してそちらを更新した。