パスワードを忘れた? アカウント作成
15478 story

Xorg 7.2がFreeBSDのportsツリーに登場 39

ストーリー by GetSet
これで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の作業と注意点を抜き出してみます。間違いや不足がありましたらコメントでご指摘ください。

  1. まずは問題発生時、開発陣に十分な情報を渡せるようにscript(1)セッション上で作業する
  2. アップグレードはports-mgmt/portupgrade-develの使用が推奨されている?
  3. 実際にxorgをアップグレードするにはXORG_UPGRADE環境変数をセットする必要がある
  4. gstreamer関係のportsが入っている場合、それはあとでアップグレードする
  5. xorg-manpagesはいらなくなったので、アップグレード後、消す
  6. /usr/X11R6 の内容を /usr/local へマージするスクリプトはあるがバックアップやマウントポイント等に関する注意がUPDATINGにある
  7. script(1)使った場合は忘れずexit
なお、今後2週間ほどはportsツリーがフリーズされ、問題点の洗い出しと対策に集中するそうです。慎重を期する方はfreebsd-ports@FreeBSD.org と freebsd-x11@FreeBSD.org に注意しつつ、安定した頃にアップグレードした方がよいでしょう。また、xorg 7.2のマージ直前のportsツリーには PRE_XORG_7 CVSタグが打たれています。まだ心の準備の整わない方は御利用ください。

さらに、先のレポートで触れられていますが、今回のアップグレードに併せてぐりぐり動く3Dデスクトップとしてここでも話題になったCompizから派生したBerylが使えるようになります。portsも出来ていますので、ハイパワーなマシン性能を満喫したい方は x11-wm/beryl をどうぞ。

それでは新しいXバージョンをお楽しみください!
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • さもなくば/.が読めなく (スコア:3, おもしろおかしい)

    by Anonymous Coward on 2007年05月21日 21時05分 (#1160521)
    Xが起動しないぐらいで/.をスルー出来るアレげな人がそんなにいるとは思えない
    • 確かにkonw3mがあれば何とか読めそうですね.
      # とか書きつつFreeBSDは専らサーバ用途なのでX自体そんなに使ってないんですが.

      親コメント
      • by Anonymous Coward on 2007年05月22日 1時00分 (#1160600)
        >w3m

        なんとかじゃなく、それで「快適に」読み書きできると思うよ。
        あとはエディタと何らかの仮名漢字変換があればOK。jvim+skkとか選択肢は色々あるよね。
        画面は無論konでもいいし。そういやPocketBSDのmgtermの生フレームバッファ対応版は無いのかな?

        #Win+TeraTerm+w3mを愛用(スラド読み書き含む)してるのでAC

        で、どれくらい快適かというと、スタイルシートにかまけて素のHTMLとしてのレイアウトが腐ってるサイト…たとえば"サイドバー"をHTML文書の最後じゃなく最初に置くとか…を一目で見抜けるくらいに快適。
        親コメント
        • > #Win+TeraTerm+w3mを愛用(スラド読み書き含む)してるのでAC

          migemoなしで使えるなんて信じられない。

          # と揚げ足とってやる別のAC
      • 私もサーバー用途なので、X入れてませんねぇ~
        さすがにシリアルコンソールにはしてないけど、どうせSSH経由でしか使わないし
        なんかやっちゃった時にfsckとかmountとか打つだけなら、普通のテキストコンソールだけで十分だし
        親コメント
    • by Anonymous Coward on 2007年05月21日 23時06分 (#1160561)
      Xが起動しないぐらいで/.をスルー出来るアレげな人がそんなにいるとは思えない
      真のアレゲならハブのLED点滅だけで十分さっ!


      ・・
      ・・・
      エラー: 修行が足りません.
      orz
      親コメント
    • by Anonymous Coward
      携帯のフルブラウザで読んだ。
  • /usr/local? (スコア:2, おもしろおかしい)

    by tarosuke (2403) <webmaster@tarosuke.net> on 2007年05月21日 18時24分 (#1160454) 日記
    野良ビルドはどこに置いたらいいんだよっ!混在させるのは嫌だぞ。
    と、思ってる人もいそうだなぁ...。
    • Re:/usr/local? (スコア:2, 参考になる)

      by nakaji (14764) on 2007年05月21日 18時40分 (#1160460)
      portsは、野良ビルドを補助する仕組みなので、/usr/localにインストールされます。PREFIXやLOCALBASEというmake変数をうまく使うと、/usr/local以外にもインストールして使えます。

      pkgsrcは、同じ用途の仕組みですが、野良ビルドとは違うんだよとはっきりさせるために、/usr/pkgにインストールされます。

      どっちがよいのかは考えないことにします。
      親コメント
      • Re:/usr/local? (スコア:2, おもしろおかしい)

        by Anonymous Coward on 2007年05月21日 18時47分 (#1160461)
        最近、portsを使わない野良ビルドは/opt以下に入れるようになりました…
        親コメント
        • Re:/usr/local? (スコア:1, おもしろおかしい)

          by Anonymous Coward on 2007年05月21日 23時21分 (#1160569)
          Solarisをつかっていると/usr/localがsunfreeware.comに、/optがsun純正のソフトなどに喰われるので、私は/usr/local2を使っています。
          /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に移ったけど。
          親コメント
        • by Anonymous Coward
          /orz?
      • Portsからインストールするアプリのインストールディレクトリー(/usr/Xとか)はmakeに環境変数を指定してやればうまくいくのですが
        関連するモジュールがあった場合、そのモジュールのインストールディレクトリーはデフォルト(/usr/local/XXとかだったかな?)になっちゃうんです
        関連するモジュールなんかも移動させたいのになぁとか悩んでおります。
        これって解決作とかあるのでしょうか?FreeBSDのめーリングリストに聞くべきですね・・・・
        • LOCALBASE変数ってのはそのためにあるはずなんだが。以下、bsd.ports.mk(rev 1.567)より引用。

          # X11BASE               - Where X11 ports install things.
          #                                 Default: ${DESTDIR}/${LOCALBASE}
          (中略)
          # LOCALBASE             - Where non-X11 ports install things.
          #                   

        • めーリングリスト宛に出すと白山羊/黒山羊問題が勃発しますので…

          あらかじめネタを仕込んでから出してください。
      • by Anonymous Coward
        野郎ビルドに見えて脳内がアーッな光景に…

        思考がcore dumpしそうなのでAC
    • by Anonymous Coward
      ~の下にインストールすればいいじゃん。

      # とマジレス。
      • システムワイドに使うつもりのブツも~に置くって、本当にマジレスなの?
        # というか/usr/localに置きたいという事自体がほぼシステムワイドに使う事を前提としているんだが。そもそもsuしないと書けねーだろ?
        親コメント
        • by Anonymous Coward
          まずは失敬。流石にスーパーユーザでの常用はしないが、ついLinux'erの本音が出ちまったんだ。
          UserModeLinuxなどを使用して、一般ユーザがchroot配下に開発版を「飼う」システムの話とかもあったりするもんで。

          /usr/local の下でも、~の下でも、既存システムを壊さないように、しこしこ加工する気構えなら、さほど変らないと思ったんだけど。
        • by Anonymous Coward
          >> システムワイドに使うつもりのブツも~に置くって、本当にマジレスなの?

          まぁXやsshなんかを~に置くかどうかは別として…

          10年くらい前だと,大学なんぞで非管理者な人がemacs等のツールやgccなんかをビルドして自分の~以下に置いてたりしたので,皆が特定の人の$HOME以下にpathを通して使ってたりするなんていう状況はワリとよく見かけたような気がします.今から思えば牧歌的な光景ですよね.
          • by Anonymous Coward
            >皆が特定の人の$ HOME以下にpathを通して使ってたりするなんていう状況はワリとよく見かけたような気がします.

            懐しいですね。やりましたね、そういうの
            人の $HOME が見れないのがふつーになったのは、流れとしてはつまらないですね

            >>> システムワイドに使うつもりのブツも~に置くって、本当にマジレスなの?

            しかし突っ込みどころは、システムワイドに使うつもりのブツを野良buildする件ではないかと
          • by Anonymous Coward
            そしてクオータにひっかかって泣くわけですね。

            # 経験者だけど、何を入れようとして引っかかったか忘れたのでAC。
  • これはさすがに (スコア:1, 参考になる)

    by Anonymous Coward on 2007年05月21日 17時48分 (#1160425)
    セクションローカルな記事ではあるまいか。

    FreeBSDにとってはビッグイベントかもしれないが、X11R7.2リリース [srad.jp]すらセクションローカルな記事じゃなかったっけ?なんだかねぇ。
    ま、いいんだけど。いいなら言うな。

    # 私の感覚と編集者の感覚のズレが結構大きいみたいなのでAC
    • ミスったら本当にXが使えなくなるので注意喚起としては良いかも知れないですね。

      ...と書いている小生は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諸氏も自分の二の舞になりませんよう...
      親コメント
      • by shojin (28072) on 2007年05月21日 20時23分 (#1160500) 日記
        gtk2とnvidia-settingsを再インストールすると先のエラーが出なくなり、無事xorg.confが入るようになりました。

        このあと、acroreadが実行できなくなるという問題がありました。この問題は sh /usr/ports/Tools/scripts/mergebase.shに失敗しているために/usr/X11R6から/usr/localへのリンクが作られていなかったことが原因のようでした。そこで、/usr/X11R6にあるファイルが昔のX11R6にあったファイルの残骸であることを確認してバックアップをとった上で、/usr/X11R6を削除し、/usr/localへのリンクにしました。こうすることで、acroreadも実行できるようになりました。
        親コメント
    • たぶん/usr/localに移る初の実例だからとかじゃないでしょうか。

      実際、こういった実例がでてくればそれに(マズいけど)依存したようなソフトとかも出てくるし、そうしたらだんだんとLinuxとかでも移行が始まるだろうし。

      # なので多少なりとも重要なのでは...とか考えましたが。
      --
      M-FalconSky (暑いか寒い)
      親コメント
      • by Anonymous Coward on 2007年05月21日 18時01分 (#1160439)
        Linuxのパッケージは/usr以下に入れることになっているから特に変わらないのでは。
        Makefile作るときにオプションで指定するようになるだけでしょう。
        親コメント
        • by Anonymous Coward
          たとえば、最近リリースされたDebian 4.0では、XFree86からX.Org 7.1に移行したのですが、そのときに/usr/X11R6/binから/usr/binに移動 [debian.org]しています。

          もちろん、アップグレードは(手順を守れば)うまく行くようになっています(いるはず)。

          ちなみに。Debianでは公式パッケージはOSの一部、/usr/localはパッケージ管理システムの管轄外となっています。
      • pkgsrc では、とっくに xorg は、/usr/pkg/xorg 以下に入ってますし、
        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 などの上でも試せますから、どんどんテストしてください。
        親コメント
        • by arkas (10211) on 2007年05月21日 23時46分 (#1160575) 日記
          オフトピだけどpkgsrcの話していい?

          pkgsrcって、なんだか知らないけどテキトーにupgradeすると、perlとかねこそぎupgradeしようとして一旦全部uninstallした上でclean buildしようとしやがるでしょ。途中で止まると途方に暮れるんだけど、これってpkgsrc geek的にはどう対処するのが正解なの?
          親コメント
          • by hidemasu (28486) on 2007年05月22日 12時44分 (#1160714)
            オフトピに繋げるはあれですが、多分 $PKGSRCDIR/pkgtools/pkg_rolling-replace がいい感じです。 pkg_chk で上げるべきものを探して、tsort した上で、ちまちまと make replace しつつ pkg_tarup も併用、という感じのようです。使いはじめて三日ぐらいですが、名前や構成が変わってしまったパッケージ以外は、そこそこ自動でやっててもいい感じです。
            親コメント
          • Re:これはさすがに (スコア:1, すばらしい洞察)

            by Anonymous Coward on 2007年05月22日 6時31分 (#1160641)
            テキトーにupgradeしないのが正解
            親コメント
          • 止まった原因を直して、再び make update じゃないですか。そのまま止まったところから継続してくれます。
            自分で直せなんて!って人は stable ブランチを使うということで。

            まあ、make replace で置き換えるとか、DEPENDS_TARGET や UPDATE_TARGET に云々して、バイナリパッケージを使い回す方法もありますが、私の場合、build したときの組み合わせと違うバージョンの組み合わせで使ったときに、微妙に動作が怪しいパッケージが以前あったので、それ以来、全部 build し直してます。

            大幅に入れ替えるときには、pkg_comp 環境の pkg_chk でソースベースでバイナリパッケージを作り直して、実環境の pkg_chk でバイナリベースでアップデート。
            親コメント
          • by Anonymous Coward
            build worldとかbuild kernelが足りないんだよ(きっと

            #ACにしとく
          • by Anonymous Coward
            send-pr(違
      • 周回遅れになってると気付くんでしょうか?
    • by Anonymous Coward
      ちゃんとログインしてつかってる?
  • by Anonymous Coward on 2007年05月21日 19時44分 (#1160486)
typodupeerror

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

読み込み中...