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

[debian-users:24314] Re: slink-jp to potate by upgrade.pl



佐野@浜松です。

In <87u2aud5pw.fsf@xxxxxxxxxxx>,
  on "Tue, 3 Oct 2000 11:29:56 +0900',
   with "Re: slink-jp to potate by upgrade.pl",
 ryo sakuma <KHB10110@xxxxxxxxxxx> さん wrote:

> >> 1. potato-jp の debianjp-merge-fix 派生のパッケージがないと、
> >> upgrade.plはうまく動きません。
> >> 2. apt のバグのため、CD-ROM と http/ftp の併用はできません (;_;)
> 
> > これって結構大きな問題ですね。 2.2r1 では対処されるんだろうか ?
> 
> エキスパートの方々ですとunstableで頻繁にupgradeする方が多いと
> 思いますが,対極として「stableに留まって次期バージョンがstableに
> なったら公式 CD-ROMを入手して一度にdist-upgradeする」というポリシーの
> 人も少なくないと思います.今回の問題はslink-jp→potato固有だったのかも
> 知れませんが,そういう点でupgrade.plの需要はあると思います.
> 
> また,CD-ROMを買うひとは,ネットワーク経由のアップグレードは
> 避けたいんじゃないかと思います.

このへんの事情はわかるつもりです。個人的にもパッケージ開発以外の
日常作業は今年の春頃までほぼ slink+slink-jp な環境がメインでしたし、
メイン環境を potato に update したのはごく最近だったりしますから。

ただし、武藤さんが更新してくださった最新の upgrade.pl ($Revision: 1.6
 / $currentversion = "1.16";) では、このへんの debian-jp-merge-fix で
対応していたものについても、perl script の中で対応できるようになった
みたいです。なので、これを使えば potato-jp の debian-jp-merge-fix が
無くても公式 CD-ROM だけで OK なんじゃないでしょうか。

  # 誰か検証してみてください。

> 国内で発売される公式CD-ROMにはslink-jpからのアップグレードに必要な
> パッケージも入れておく,というのはできないんでしょうか.

これについてはちょっと説明が必要だと思うので、長くなりますが書きます。

 potato については、「公式 CD-ROM」と呼べるのは Debian 純正の
ものだけです。 potato-jp を公式リリースすることはありませんし、
「JP official CD-ROM イメージ」の作成、配布もしません。

 (ただし、i386 版の日本語対応インストーラについては、現在開発作業を
  担当してくれているメンバーがいるので、そのうち dists/potato-jp/ 以下
  から提供できるようになるものと期待してます。)

また、Debian Project も Debian JP Project も「CD-ROM を発売」したことは
ありませんし、将来もしないでしょう。プロジェクトが行なうのは公式 CD-ROM
イメージの作成とネットワーク経由での配布だけなので、実際に CD-ROM を焼いて
販売するのは個々のベンダーということになります。

たぶん、気のきいたベンダーならこの ML を読んでいるだろうから、potato の
公式 CD-ROM に添付する形で potato-jp についても収録してくれるんじゃ
ないでしょうか。(しかし、武藤さんが以前書いていたけど、potato の箱もの
ってまだどこからも出てないという話もあったり。)

まあ、もし無かったとしても、例えば (まだ最新の内容にはなってないみたい
ですが) ハイパーコアの Debian Plus! とか、あるいは linux4u.net のスナップ
ショットを購入するという手段もありますし。

> apt-cdrom addにはわからないような場所に置いておいて,手修正で
> 
>   deb cdrom … potate-jp …
> 
> を追加する,というように対処(できるか分りませんが)するなど,考えられる
> と思います.

 apt の Bug report を見てきたのですが、#71810 と #69482 の問題は
たぶん必要なパッケージだけを先にダウンロードして file: と cdrom: を
併用するという場合には関係無いと思います。

ちょっとよくわからないのが #70985 と #70049 ですが、#70049 は上記の
 2 つと同様な問題と見ていいのかな。 #70985 は別の問題みたいですが、
とりあえず apt-cdrom で再設定すれば解決するということみたいなので
今のところはそういう対処で切り抜けてもらうのが早いかと。

それから、debian-users: 24303 に書かれていた

  | # それとも,/etc/apt/sources.listを一時potato-jp行のみにしてから,
  | # 
  | # apt-get update
  | # apt-get --download-only install <debianjp-merge-fixのルートパッケージ>
  | # 
  | # などとできるんでしょうか?

これはたぶん potato-jp だけだとうまくいかないんじゃないかな。

 sources.list を potato および potato-jp として、
 apt-get -s -u -f dist-upgrade して更新されるパッケージのリストを
記録しておいて、その中で CD-ROM に収録されていないパッケージについて
 apt-get -d install <packages> しておくというのは使えるかもしれません。

で、その後で sources.list を cd-rom only に書き換えて再度 atp-get update して
 upgrade.pl を実行する、とか。

でも最初に書いたように更新された upgrade.pl なら debianjp-merge-fix を
必要としないようにも読めるので、できればそのへんを検証してみて頂けると
有難いかな。

なお debianjp-merge-fix によって作成されているパッケージのリストは、
 potato 環境なら grep-dctrl をインストールして /etc/apt/sources.list に
 potato と potato-jp を設定しておいてから apt-get update しておいて

  grep-dctrl -F source -s Package debianjp-merge-fix \ 
   /var/state/apt/lists/*_debian-jp_dists_potato-jp_main_*_Packages

を実行することで作成できます。58個のパッケージですね。
 
 slink 環境では grep-dctrl パッケージが使えないと思いますが、
 ftp 経由で potato-jp の Packages ファイルだけ持ってこれれば
 grep とか使って検索できるかと。

いや、 potato-jp を設定して apt-get udpate  してあれば、
 apt-cache dumpavail で情報の出力ができるから

  apt-cache dumpavail|grep -e '^\(Package\|source\)'| \
  awk 'BEGIN{LAST="";}{if ($2=="debianjp-merge-fix") {print LAST;} LAST=$0}' \
  |wc
     58     116    1386

みたいにしてパッケージ名をリストできますね。

 # 何故か "source:" になってるパッケージが他にもいくつかある。
 # packaging manual 2.3 および 4.2.5 では Source となっている
 # はずなんだけど。

 apt-get のバグ対策は (まだコード見てないけど) 難しいかも。
ネットワーク経由の場合はエラーになったらすぐに次の Entry に
移って欲しいけど、CD-ROM の場合はエラーになってもディスクの
交換を待っていて欲しい、という矛盾する要求を処理するわけだから。

たぶん、method/cdrom.cc の中で

   // We already have a CD inserted, but it is the wrong one
   if (CurrentID.empty() == false && Database.Find("CD::" + CurrentID) != Get.Host)
   {
      Fail("Wrong CD",true);
      return true;
   }

となってるところで、「いったん停止して CD-ROM メディアの交換を
促すメッセージを表示し、メディアが交換されたら最初から処理を
やり直す」というルーチンを自前で持つようにすればなんとかなるかも、
という気がするけど、たぶんスマートな解じゃないだろうな。

-- 
     # (わたしのおうちは浜松市、「夜のお菓子」で有名さ。)
    <kgh12351@xxxxxxxxxxx> : Taketoshi Sano (佐野 武俊)