[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 (佐野 武俊)