FreeBSD Daily Topics

2007年5月14日要注意》[試験的提供]X.Org 7.2をマージしたports tree提供―デベロッパ/上級ユーザは試験の実施を

ports

xorg 7.2 ports tree

《要注意》[試験的提供]X.Org 7.2のports treeへのマージとマイグレーション試験がある程度まとまってきたとし、Kris Kennaway氏から実験的にX.Org 7.2をマージしたports treeが公開されました。貢献可能なデベロッパやユーザはX.Org 7.2がマージされたports treeを取得し、試験を実施し問題や結果を報告してください。
アップグレード方法の詳細は/usr/ports/UPDATINGにまとまっていますので、同ファイルをよく読んでから作業してください。ここでは手順をかいつまんで説明します。

その1:X.Org 7.2マージ版ports treeの取得

X.Org 7.2マージ版ports treeを取得して/usr/ports/と入れ換えます。

X.Org 7.2マージ版ports tree
http://people.freebsd.org/~kris/ports-xorg-7.2.tbz
その2:portupgrade→portupgrade-develへのアップグレード

X.Org 7.2マージ版ports treeを使ったアップグレードではportupgradeではなくportupgrade-develを使ったほうが良いだろうとされています。図1のように作業してportupgradeをportupgrade-develへ入れ換えます。

図1 portupgradeを使って、portupgradeをportupgrade-develで入れ換える方法
# portupgrade -f -o ports-mgmt/portupgrade-devel portupgrade
# rm -f /usr/ports/INDEX*.db /var/db/pkg/pkgdb.db
# pkgdb -fu
# portsdb -fu
その3:libXftを更新

クリーンインストールではなくアップグレードを実行する場合は、図2のように先にlibXftをアップグレードします。

図2 libXftをアップグレード
# portupgrade -Rf libXft
その4:XORG_UPGRADEを設定してX.Org 7.2.0へ更新

環境変数XORG_UPGRADEを設定してから、portupgrade(1)を使ってX.Org 7.2.0へのアップグレードします。環境変数XORG_UPGRADEを設定するのを忘れないでください。
ためした限りでは、portupgrade(1)を使ったアップグレードではなく、portから直接クリーンインストールする場合でも環境変数XORG_UPGRADEを設定しておかないとインストールが実行されません。環境変数XORG_UPGRADEを忘れずに設定してください。

図3 環境変数XORG_UPGRADEを設定してからX.Org 7.2.0へアップグレード
# setenv XORG_UPGRADE yes
または
# export XORG_UPGRADE=yes

# portupgrade -a

ports@でパッケージ作成のアナウンスが流れたあとであれば、portupgrade -aPのようにしてパッケージを活用したアップデートも可能です。X.Org 7.2.0をインストールしたあとはもう環境変数XORG_UPGRADEを設定する必要はありません。

不要になったマニュアルの削除

インストールされているxorg-manpages-*はすでに不要になりますので、アップグレードの場合は図4のようにして不要なマニュアルを削除します。クリーンインストールした場合は同作業は必要ありません。

図4 不要になったX.Orgマニュアルを削除
# pkg_delete xorg-manpages\*
/usr/X11R6/から/usr/local/への移行

アップグレードを実施した場合は、/usr/X11R6/から/usr/local/へのマイグレーションを実施します。手動で実施するか、マイグレーション用スクリプトが用意されていますので、図5のようにスクリプトを実行してマイグレーションします。
マイグレーションが成功した場合は/usr/X11R6/は削除され、代わりに/usr/local/へのシンボリックリンクとして/usr/X11R6/が作成されます。

図5 /usr/X11R6/から/usr/local/へのマイグレーション
# sh /usr/ports/Tools/scripts/mergebase.sh

X.Org 7.2.0をクリーンインストールした場合は/usr/X11R6/は作成されませんので(残っていない限り/usr/X11R6/は作成されません⁠⁠、必要になる場合は/usr/X11R6/を/usr/local/へのシンボリックリンクとして作成してください。いくつかのバイナリアプリケーションは/usr/X11R6/をハードコーディングしているためシンボリックリンクを作成しておく必要があります。

なお、インストール作業やアップグレード作業はscript(1)セッションとして実行し、問題が発生した場合の情報収集に活用した方がよいとされています。ビルドログをすべて保存することになるので、ディスクスペースには余裕を持たせておいてください。
またインストール中にdialog(1)経由で出力される選択画面でビルドが止まることがありますので、それを避けたい場合は「BATCH=yes」を設定してから作業を開始してください。

アップグレードに自信がない場合は、必要なデータのバックアップをとり、すべてのアプリケーションを削除し、/usr/local/と/usr/X11R6/を削除してから、X.Org 7.2.0とアプリケーションをクリーンインストールすると良いでしょう。
今回紹介した、同ports treeはデベロッパや上級ユーザ向けのものなので、作業に自身がないユーザは正式なアナウンスがあるまで作業は待ったほうが良いでしょう。

おすすめ記事

記事・ニュース一覧