NetBSD/amd64だけでなくSolaris/sparcでもかなり順調にインストールが進む 領域が増えてきた。巨大アプリはもうpkgsrcに任せちゃえモードにシフト。
で,pkgsrcの強みは,マルチプラットフォームで同じ設定でいけること。 同一セグメントにあるマシンでは pkgsrc とか distfiles はnfsで共有したい。
もいっこ。たとえばなんらかのパッケージのupdateをするときに, 関連するものが全部上がっちゃうのをよしとしないケースがある。 てか,ユーザが常に付いている環境では勝手に上がったら困る。 てなとき,慎重に事を進めるならたとえばこうするだろう。
が,実マシンで動かして初めて気づくトラブルとかがある。そしたら 古いpkgツリーに戻したい。そんな心配をするときは,prefix(LOCALBASE)を 変えてインストールしておけば,戻したり進めたりが一瞬で終わる。
以上2点を考慮した構成でpkgツリーを構築する。pkgsrc/ を持って来たら
pkgsrc/bootstrap/
で
./bootstrap --workdir=/opt/pkgwork --prefix=/opt/PK201104/pkg
でき上がったら ln -s /opt/PK2011.04/pkg /opt/pkg
して
ユーザのコマンドサーチパスには /opt/pkg/*bin あたりを追加する。
pkg構築作業でもそれを先に追加しておく。
で,/opt/pkg/etc/mk.conf
を開き,以下のようにする。
PKG= /opt/PK2011.04/pkg LOCALBASE= ${PKG} PKG_DBDIR= ${PKG}/var/db/pkg VARBASE= ${PKG}/var PKG_TOOLS_BIN= ${PKG}/sbin PACKAGES= ${PKG}/packages DISTDIR= /opt/distfiles WRKOBJDIR= /opt/pkgwork PKGMANDIR= man X11_TYPE= native ACCEPTABLE_LICENSES+=lame-license ACCEPTABLE_LICENSES+=flash-license MAKE_JOBS= 2
追加したのは DISTDIR, PACKAGES, WRKOBJDIR
で,
DISTDIR
と pkgsrc ディレクトリはNFSの共有場所に
しておくと効率的。pkgsrcディレクトリなんかは read-only マウントにして
おいてもいいかも。
meta-pkgs/kde4 途中でこける。こんな感じ。
----------------------------------------------------------------------------- -- The following REQUIRED packages could NOT be located on your system. -- You must install these packages before continuing. ----------------------------------------------------------------------------- * DocBook XSL <http://docbook.sourceforge.net/release/xsl/current/> Stylesheets for processing DocBook XML Needed for building the KDE help system. : :
PREFIXが /usr/pkg 決めうちになってるせいらしい。
work/kdelibs-4.5.5/cmake/modules/FindDocBookXML.cmake work/kdelibs-4.5.5/cmake/modules/FindDocBookXSL.cmake
これらを直す。
find_path (DOCBOOKXSL_DIR lib/lib.xsl PATHS ${CMAKE_SYSTEM_PREFIX_PATH}
ってところに LOCALBASE となっているディレクトリを追加。 今回はこんな風にした。
find_path (DOCBOOKXSL_DIR lib/lib.xsl PATHS ${CMAKE_SYSTEM_PREFIX_PATH} /opt/pkg
これで行けた。