Xorg 7.2がFreeBSDのportsツリーに登場 39
ストーリー by GetSet
これでberylも使えるな 部門より
これでberylも使えるな 部門より
typer 曰く、
announce@FreeBSD.orgに流れたメール、HEADS UP: xorg 7.2 update in progressでご存知の方も多いだろうが、FreeBSDのportsツリーにxorg 7.2がマージされた。
後藤大地さんのレポートでも若干触れられているが、最大の注意点は、インストール先がこれまでの /usr/X11R6 に代わり /usr/local へ移る事だ。gnomeなどのportsはすでに移動しているが、今後はすべて /usr/local に統一され、このxorgのアップグレードにより /usr/X11R6 は /usr/local のシンボリックリンクとなる。そのほか、いくつかの注意点や作業があるので、移行時は /usr/ports/UPDATING を読みましょう。さもなくば/.が読めなくなりますよ。(つづく...)
さて、アップグレードの前の心構えとしてUPDATINGの作業と注意点を抜き出してみます。間違いや不足がありましたらコメントでご指摘ください。
なお、今後2週間ほどはportsツリーがフリーズされ、問題点の洗い出しと対策に集中するそうです。慎重を期する方はfreebsd-ports@FreeBSD.org と freebsd-x11@FreeBSD.org に注意しつつ、安定した頃にアップグレードした方がよいでしょう。また、xorg 7.2のマージ直前のportsツリーには PRE_XORG_7 CVSタグが打たれています。まだ心の準備の整わない方は御利用ください。
- まずは問題発生時、開発陣に十分な情報を渡せるようにscript(1)セッション上で作業する
- アップグレードはports-mgmt/portupgrade-develの使用が推奨されている?
- 実際にxorgをアップグレードするにはXORG_UPGRADE環境変数をセットする必要がある
- gstreamer関係のportsが入っている場合、それはあとでアップグレードする
- xorg-manpagesはいらなくなったので、アップグレード後、消す
- /usr/X11R6 の内容を /usr/local へマージするスクリプトはあるがバックアップやマウントポイント等に関する注意がUPDATINGにある
- script(1)使った場合は忘れずexit
さらに、先のレポートで触れられていますが、今回のアップグレードに併せてぐりぐり動く3Dデスクトップとしてここでも話題になったCompizから派生したBerylが使えるようになります。portsも出来ていますので、ハイパワーなマシン性能を満喫したい方は x11-wm/beryl をどうぞ。
それでは新しいXバージョンをお楽しみください!
さもなくば/.が読めなく (スコア:3, おもしろおかしい)
Re:さもなくば/.が読めなく (スコア:1)
確かにkonとw3mがあれば何とか読めそうですね.
# とか書きつつFreeBSDは専らサーバ用途なのでX自体そんなに使ってないんですが.
Re:さもなくば/.が読めなく (スコア:1, 興味深い)
なんとかじゃなく、それで「快適に」読み書きできると思うよ。
あとはエディタと何らかの仮名漢字変換があればOK。jvim+skkとか選択肢は色々あるよね。
画面は無論konでもいいし。そういやPocketBSDのmgtermの生フレームバッファ対応版は無いのかな?
#Win+TeraTerm+w3mを愛用(スラド読み書き含む)してるのでAC
で、どれくらい快適かというと、スタイルシートにかまけて素のHTMLとしてのレイアウトが腐ってるサイト…たとえば"サイドバー"をHTML文書の最後じゃなく最初に置くとか…を一目で見抜けるくらいに快適。
Re:さもなくば/.が読めなく (スコア:0)
migemoなしで使えるなんて信じられない。
# と揚げ足とってやる別のAC
Re:さもなくば/.が読めなく (スコア:1)
さすがにシリアルコンソールにはしてないけど、どうせSSH経由でしか使わないし
なんかやっちゃった時にfsckとかmountとか打つだけなら、普通のテキストコンソールだけで十分だし
Re:さもなくば/.が読めなく (スコア:1, 興味深い)
・
・・
・・・
エラー: 修行が足りません.
orz
一方ニュービーは (スコア:0)
/usr/local? (スコア:2, おもしろおかしい)
と、思ってる人もいそうだなぁ...。
Re:/usr/local? (スコア:2, 参考になる)
pkgsrcは、同じ用途の仕組みですが、野良ビルドとは違うんだよとはっきりさせるために、/usr/pkgにインストールされます。
どっちがよいのかは考えないことにします。
Re:/usr/local? (スコア:2, おもしろおかしい)
Re:/usr/local? (スコア:1, おもしろおかしい)
/optはlinuxの一部ではrpmがiccとかopenoffice.orgで使ったりすることも。
Mandriva Linuxは2007.0からXのサーバ側は/usr/X11R6/に、クライアント側は/usr/{bin,lib...}になってしまっていてsshが/usr/X11R6/bin/xauthねェぞゴルァ(/usr/bin/xauthにある)と怒ったりします。
/usr/X11R6/からのお引っ越しは時代の流れなのでしょうかねぇ。
#Air-EDGEでlbxのお世話になっていたのでlbx廃止はちょっと痛いよ...dxpcに移ったけど。
Re:/usr/local? (スコア:0)
前から気になっていたんですが (スコア:0)
関連するモジュールがあった場合、そのモジュールのインストールディレクトリーはデフォルト(/usr/local/XXとかだったかな?)になっちゃうんです
関連するモジュールなんかも移動させたいのになぁとか悩んでおります。
これって解決作とかあるのでしょうか?FreeBSDのめーリングリストに聞くべきですね・・・・
Re:前から気になっていたんですが (スコア:0)
LOCALBASE変数ってのはそのためにあるはずなんだが。以下、bsd.ports.mk(rev 1.567)より引用。
Re:前から気になっていたんですが (スコア:0)
あらかじめネタを仕込んでから出してください。
野良ビルドが (スコア:0)
思考がcore dumpしそうなのでAC
Re:/usr/local? (スコア:0)
# とマジレス。
Re:/usr/local? (スコア:1)
# というか/usr/localに置きたいという事自体がほぼシステムワイドに使う事を前提としているんだが。そもそもsuしないと書けねーだろ?
Re:/usr/local? (スコア:0)
UserModeLinuxなどを使用して、一般ユーザがchroot配下に開発版を「飼う」システムの話とかもあったりするもんで。
/usr/local の下でも、~の下でも、既存システムを壊さないように、しこしこ加工する気構えなら、さほど変らないと思ったんだけど。
Re:/usr/local? (スコア:0)
まぁXやsshなんかを~に置くかどうかは別として…
10年くらい前だと,大学なんぞで非管理者な人がemacs等のツールやgccなんかをビルドして自分の~以下に置いてたりしたので,皆が特定の人の$HOME以下にpathを通して使ってたりするなんていう状況はワリとよく見かけたような気がします.今から思えば牧歌的な光景ですよね.
Re:/usr/local? (スコア:0)
懐しいですね。やりましたね、そういうの
人の $HOME が見れないのがふつーになったのは、流れとしてはつまらないですね
>>> システムワイドに使うつもりのブツも~に置くって、本当にマジレスなの?
しかし突っ込みどころは、システムワイドに使うつもりのブツを野良buildする件ではないかと
Re:/usr/local? (スコア:0)
# 経験者だけど、何を入れようとして引っかかったか忘れたのでAC。
これはさすがに (スコア:1, 参考になる)
FreeBSDにとってはビッグイベントかもしれないが、X11R7.2リリース [srad.jp]すらセクションローカルな記事じゃなかったっけ?なんだかねぇ。
ま、いいんだけど。いいなら言うな。
# 私の感覚と編集者の感覚のズレが結構大きいみたいなのでAC
xorgとお別れするレベルの致命的さですね (スコア:5, 参考になる)
...と書いている小生はXが使えなくなりました。しくしく。T_T
参考までにどの手順でXが使えなくなり、どうやって復帰したか書いておきます。
復帰してるのかな...(--;
xorg 7.2が入った後に次のコマンドを打ち込むとフォントが表示できないプログラムが生まれます。
% portsnap fetch update && portupgrade -a
XORG_UPGRADE環境が設定されていなくてもアップグレードするところはしてしまうので、これで6.9と7.2を想定した環境が混在した中途半端な状態ができあがります。これをやってしまうと、Firefoxのようなgtk2を使っているプログラムがフォントを表示できなくなり、日本語文字の代わりに[16進数]の羅列が出るようになります。
この状態でUPDATINGの手順通りにやると、先のアップデートでアップデートしてしまったためにxorg ports製作者が想定したものがアップデートされず、さらにどつぼにはまっていきます。xorg 7.2になったことでxloadなどこれまでxorg-clientとして導入されていたportsが各々のportsに分割されて大量に入ったようです。しかし、自分の手順でやるとこれらのportsがインストールされません。これにより、xkbcompなどX起動時に実行されるプログラムが実行できず、フォントもないためXが起動しなくなります。T_T
このときに出るエラーは『Could not open default font 'fixed'』や『kdbcomp not found』です。
自分のやった対処方法はxorg関連のportsをすべてpkg_delete -fで削除し、再インストールした後にpkgdb -Fでデータベースを作りなおすというものでした。
% pkg_delete -f xorg-\*
% cd /usr/ports/x11/xorg && make install
この手順を行ってもフォントなどpkgdb -Fの時に足りないものがあるといわれるのでいわれるが儘にインストールし続けます。ここまでやるとxorgcfgが起動できるようになるのでここで設定して/etc/X11/xorg.confを自動生成してもらいます。nvidiaのカードを使っている人はこのあとにnvidia-xconfigを実行するとXが起動できる状態までこぎつけます。
...と、現在nvidia-settingsと格闘中です(--;;
(nvidia-settings:27430): Gtk-CRITICAL **: gtk_text_buffer_emit_insert: assertion `g_utf8_validate (text, len, NULL)' failedが出て保存先はに空っぽのファイルになります。
FreeBSD user諸氏も自分の二の舞になりませんよう...
追記: nvidia-settingsとacroreadについて (スコア:5, 参考になる)
このあと、acroreadが実行できなくなるという問題がありました。この問題は sh /usr/ports/Tools/scripts/mergebase.shに失敗しているために/usr/X11R6から/usr/localへのリンクが作られていなかったことが原因のようでした。そこで、/usr/X11R6にあるファイルが昔のX11R6にあったファイルの残骸であることを確認してバックアップをとった上で、/usr/X11R6を削除し、/usr/localへのリンクにしました。こうすることで、acroreadも実行できるようになりました。
Re:これはさすがに (スコア:2, 興味深い)
実際、こういった実例がでてくればそれに(マズいけど)依存したようなソフトとかも出てくるし、そうしたらだんだんとLinuxとかでも移行が始まるだろうし。
# なので多少なりとも重要なのでは...とか考えましたが。
M-FalconSky (暑いか寒い)
Re:これはさすがに (スコア:1, 興味深い)
Makefile作るときにオプションで指定するようになるだけでしょう。
Re:これはさすがに (スコア:0)
もちろん、アップグレードは(手順を守れば)うまく行くようになっています(いるはず)。
ちなみに。Debianでは公式パッケージはOSの一部、/usr/localはパッケージ管理システムの管轄外となっています。
Re:これはさすがに (スコア:1)
2007Q1 以降、ある程度出揃った modular X では、/usr/pkg 以下に直に入ってますね。
というか、元々、Solaris は /usr/openwin だし、IRIX や OSF1 や HP-UX は /usr に入ってます。
その上で X 関係の pakcage も /usr/pkg の下に入れてて、
DragonFly + modular X なんかで pkgsrc 全体を bulk build も以前から繰り返しされてますので、
prefix 固定のソフトの問題は、かなり発見されて解決されているものと思われます。
pkgsrc は NetBSD 以外にも、Linux, Solaris, FreeBSD, OpenBSD, DragonFly, HP-UX などの上でも試せますから、どんどんテストしてください。
Re:これはさすがに (スコア:1)
pkgsrcって、なんだか知らないけどテキトーにupgradeすると、perlとかねこそぎupgradeしようとして一旦全部uninstallした上でclean buildしようとしやがるでしょ。途中で止まると途方に暮れるんだけど、これってpkgsrc geek的にはどう対処するのが正解なの?
Re:これはさすがに (スコア:3, 参考になる)
Re:これはさすがに (スコア:1, すばらしい洞察)
Re:これはさすがに (スコア:1)
自分で直せなんて!って人は stable ブランチを使うということで。
まあ、make replace で置き換えるとか、DEPENDS_TARGET や UPDATE_TARGET に云々して、バイナリパッケージを使い回す方法もありますが、私の場合、build したときの組み合わせと違うバージョンの組み合わせで使ったときに、微妙に動作が怪しいパッケージが以前あったので、それ以来、全部 build し直してます。
大幅に入れ替えるときには、pkg_comp 環境の pkg_chk でソースベースでバイナリパッケージを作り直して、実環境の pkg_chk でバイナリベースでアップデート。
Re:これはさすがに (スコア:0)
#ACにしとく
Re:これはさすがに (スコア:0)
BSD厨房はいつになったら (スコア:0)
Re:BSD厨房はいつになったら (スコア:0)
(あるいはゆっくりと流れているので)永遠に気づきません。
Re:これはさすがに (スコア:0)
ここにもあったよ〜 (スコア:1, 参考になる)