hito
hitoh****@gmail*****
2007年 4月 10日 (火) 01:26:03 JST
熊猫さん # ええっと、これ -users にしますか? -devでなくて良いですか? On Mon, 9 Apr 2007 20:52:09 +0900, <from-****@I-lov*****> wrote: > make-kpkg --initrd --revision 1.4 --subarch i586 --arch-in-name kernel_image > で作っているのですが、リビジョン名の付け方についてどうすべきか悩んでいます。 > 熊猫は DEB パッケージのバージョンの付け方についてよく判らないのですが、 > TOMOYO パッチを適用していないカーネルと区別できるようにするための目印として > 何某かの文字列を付けておきたいと考えています。 > どのような方法がベストだと思われますか? 記憶ベースで書きます。 このあたり、詳しそうなのはNature方面の方だと思うので、間違いを 見つけたら容赦なくツッコミを入れていただけると嬉しいです(まぞ?)。 ちとややこしいので、まずパッケージ的にどうなっているのか、から 行きたいと思います。Sargeのパッケージ ↓ を例にします。 kernel-image-2.6.8-16sarge6-ccs-i586_1.4_i386.deb まず、.debのバージョン文字列は、「文字列の最後のハイフン」で、 "upstream-version"と"debian-revision"の二つのバージョン 番号に分割して扱われます。 上記であれば、 Package: kernel-image upstream-version: 2.6.8-16sarge6-ccs debian-revision: 1.4 です。 基本的にdebian-revisionつーのはパッケージングの都合で付けるもので、 原則としては 1 から始めることになっています。 で、ここにTOMOYOとしてのバージョンを入れてしまうと、色々とマズいことが 起こりそうな気がしています。 何がマズいかっつーと、「パッケージングをミスったり、細かい修正入れるとき、 どうバージョン上げよう?」って困ることです(debian-revisionは [英数字+.] だけが使えます)。 .を使わなければいいじゃん、ということで、 Package: kernel-image upstream-version: 2.6.8-16sarge6-ccs debian-revision: 1.4+1 とかするとよさげな気もしますが、TOMOYO的な1.4.1が出たとき、 ・kernel-image-2.6.8-16sarge6-ccs-i586_1.4+1_i386.deb ・kernel-image-2.6.8-16sarge6-ccs-i586_1.4.1_i386.deb が並列する形になってしまい、「何とかなるよ 、絶対大丈夫だよ」とか 言われてもどっちが新しいのか人間には分からない(マシンは分かる)、 な状態に陥りそうです。 あと、TOMOYOは 「Linux Kernelそのものにパッチしている」 =「Linux Kernelオリジナルとは別のupstreamである」 という風に扱う方が良いような気もしています。 # そーすると「kernel-imageじゃなくてkerne-image-ccsじゃダメ?」 # という疑問が浮かぶ気もしますが、kernel-imageの名前を変えると # 不幸が山ほど起こりそうなので、止めましょう。 なので、upstream-version側にTOMOYO的なバージョンを 押し込んで(そこで"CCS"キーワードを付けて)、 --revison は 「パッケージとしてのリビジョン」として使うことを提案します。 パッケージ的にはこんな感じになり、 kernel-image-2.6.8-16sarge6-ccs1.4-i586_1_i386.deb バージョンは以下のようになります。 Package: kernel-image upstream-version: 2.6.8-16sarge6-ccs1.4 debian-revision: 1 でぇ、これを上手く debian/control あたりのパッケージ生成 スクリプトに埋め込んで、 ・debian側のアップデートに追従しやすく ・なおかつ、見通しのよいパッチを作れるように 作業をしないといけませんが、まず方向性を決めたいです。 そしてUbuntuのパッケージはもうしばらくお待ちを orz. # あと、「auto updateのたぐいが悪さして、勝手に非TOMOYOなKernelに # 上がっちゃうよ問題」もどこかに統一的なドキュメント置かないと危ない # ですね……。