[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00703] Re: Linux kernel のバージョン管理



濱崎です。

<20070409191714.A2AFE40C128@yuka.unixusers.net>の記事において
shirai@unixusers.netさんは書きました。

>>  しらいです。
>> 
>> In Message-Id <070409225956.M0208981@mix.syd.odn.ne.jp>
>>         <hma@syd.odn.ne.jp>さんwrites:
>> > 濱崎です。
>> 
>> > git でも、そこまでしなくてもあるファイルの変更履歴を追うことはできますよ。
>> > 私は、下の変更を見つけるのにカーネルの tarball のダウンロードは
>> > しなくて済みました。
>> 
>>  あのインタフェースを見る限りでは容易ではないように見えまし
>> たが、何かコツでもあるでしょうか?

私は CVSView をそんなに使い込んでいないので、
しらいさんに比べて抵抗がなかったんだと思います。

以下、Linus のカーネルツリーを参照するという前提で書きます。

0. http://git.kernel.org/ で、git リポジトリの一覧が表示されています。

1. 下から数えた方が早い位置に、
    linux/kernel/git/torvalds/linux-2.6.git
    があるので、この行の右の tree をクリックします。
    すると、カーネルソースのトップディレクトリに入ります。

2. 見たいファイルの位置はわかっている (include/asm-*86/unistd.h)
    ので、同様に tree をクリックして進みます。
    include → asm-i386 
    各行の右にある、
      blob がファイルの内容そのものを表示するためのリンク、
      history が変更履歴を表示するためのリンクです。

3. unistd.h の行にある history をクリックすると、
    変更履歴のコメントが表示されます。
    一番上の、2006-12-07 付けのコメントが求める変更点でした。
    diff to current で、現在との差を見ることもできます。


>>  普通はここで portability とか compatibility とかを考えて、
>> かつて一度でも標準であったスタイルが今後も継承可能なように策
>> を練るものなんですが、Linux にはそういう配慮は無かったと。
    :
>>  後で後悔するような実装を commit してしまうような慎重さを欠
>> いた判断自体が間違っていますし、更にそれが標準になってしまっ
>> たことをなかったことにする姿勢も間違っています。
>>  まぁ歴史がないから過去を振り返らないというのは判りますけど、
>> 昨日のことすら忘れてしまおうというのでは単なる無責任でしょう。
>> *BSD なんか未だに 4.3BSD 時代の obsolete なインタフェースを
>> メンテしてますよ。

*BSD のようには「いらない」と決めてしまったものを
維持できないというメンテナの姿勢の表れかもしれませんね。
捨てられることになった部分を本当に残したければ、
誰かが「俺がメンテする」と手を挙げる必要があります。

    これが「誰でも参加できる」ことの暗い面と明るい面です。
    * メンテナは義務でメンテナンスしているわけではないので、
      メンテナが嫌だ、あるいは、そこに労力は割けない と言ったら強制できない。
    * 手が必要だなと気付き、意志のある人間ならメンテナになれる

もしかすると、なくなった部分と衝突するような変更が
加わったか、近い将来加わる予定なのかもしれません。
kconfig で部分部分の取捨選択が可能な Linux のカーネルで
こうすっぱりと切るということは、……。


>>  この llseek() の対応はもう二回もの revision up を生んでい
>> るので、今度こそ恒久対応にしたいと思っています。2.6.20 での
>> 動作確認が終わりまでは慎重に進めたいと思います。

2.6.20 のカーネルソースパッケージが出てきたので、
カーネルバージョンアップは済みました。
ただ、まだFDclone をコンパイルして検証できる状態ではありません。
パッケージが揃い次第、試してみます。

#今回の検証に必要な、カーネル2.6.20のヘッダ(/usr/include/asm 以下も含む)
#のパッケージ linux-kernel-headers
# (ディストリビューションごとに、名前は違うと思います)が
#アップロードされてきません。
#調べてみると、Debian では linux-kenrel-headers パッケージは
#カーネルメンテナチームではなくて、 Glibc チームの担当なんです。

もし、パッケージ管理システムにこだわらない Linux ユーザーが
このML にいたら、そちらで試した方が早いかもしれません。
--------------------------------------------------
    濱崎 健 E-mail: hma@syd.odn.ne.jp