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

Re: Y2K squash party at this weekend (Re: [debian-users:19248] Re:書籍)



From: Fumitoshi UKAI <ukai@debian.or.jp>
Subject: Y2K squash party at this weekend (Re: [debian-users:19248] Re: 書籍)
> なにか このままだと誰も やりそうにないので今週末にでも
> slink-jp の Y2Kのあらいだし(& 可能ならfix)をやろうかと
> 思います。手伝ってくれる人は #debianjp および jp-qa@debian.or.jp で。

ということで、自分が現在 potato でメンテナンスしている
パッケージについて一通り見てみました。

-----------------------------
パッケージ名:	状態	備考

おそらく大丈夫なもの:
grep-ja:	OK	Original said: No suspect strings in source code
lv: 		OK	
xfonts-k14g:	OK	Y2K-Free
xyaku:		OK
sed-ja:		OK	Original GNU 3.01 said: No date manipulation

条件付きで大丈夫のもの:
gawk-ja:	OK?	Original GNU 3.0.0 said: Can do 4-digit year
			※ ただし -ja パッチの MS-DOS 対応版の部分のみ
			問題がある可能性があるが、Un*x 版では問題にならない
			と思われる。
prn:		OK?	Y2K に関係するコードが直接含まれるが、slink-jp 版には
			問題なし。ただし、prn, cprn は 2071 年までしか対応
			していない。
			※ ただし、potato から入った -iso 版に別のバグが
			あって表示されない問題があるが、upstream に長いこと
			メンテナンスされていないなどの理由があるため、
			まだ今後の対応は未定。

細かい調査が必要なもの:
plum:		OK?	Y2K に関係するコードが直接含まれているため、Y2K に
			対応しないモジュールやコードが存在する可能性がある。
			また直接 "JST" を印刷しているため、fix の必要があるが
			こちらも upstream に長いことメンテされていないため
			今後の対応は未定。
-----------------------------

見ているうちに幾つかの特徴があったので、書いておきます。

* 実は考えている以上に、日付、時間を取り扱っているプログラムが多い。
  ライブラリに頼らず自分で年月日を算出しているプログラムも同様に多い。

* C 言語以外の言語を使ったプログラム。たとえば perl 自身は Y2K に
  対応しているが、実際に日付を計算するために直接年月日を扱っている
  ケースがある。

* C 言語では以下のようなものが注意を要する:

  * time.h で宣言されている構造体 tm.tm_year を直接
    抽出して計算しているプログラム。

  * ctime(), ascitime(), mktime(), gmtime(), localtime() を扱うため
    に直接計算を行っているプログラム。

  * strftime() などで、%y や %Y を直接計算しているプログラム。

  * その他、time() や gettimeofday(), ftime() などを使用するもの。


  * date() などを exec() するなどして結果を得るもの。

  * select(), file 情報に関係する stat() などを使うもの。

* 探すときは、grep -i ほげ * としてみると良い。「ほげ」には:
  time, date, year, month, day, hour, minute, sec, などなど。

* 利用ライブラリに問題があって、環境によってはエラーがでることもある。
  (具体例は、古い話になるが、たとえば libc の古いバージョンの
   strptime() など)

* ファイルに入出力するものは、データが残る分だけより問題が深刻に
  みえる。


以上です。Y2K 問題には全くの素人ですので、おそらくもっと詳しい
専門家 :-) の方に是非他の注意点や、テストツールなどについてより
言及していただけるとありがたいです。

--
後藤正徳