[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

パッケージ: ★注意★ pkgsrc の大きな変更点について

2011 春: make install および make package の動作が変わる

2011 の春、make install と make package の挙動が変わりました。

本来 make package は

1. 作成 (make build)
2. インストール (make install)
3. インストールしたものをまとめたアーカイブ(tar.gz 形式)を作成する。
4. クリーニング (make clean)
を実行するものでした。 現在の make package は pkgsrc/pacakges/All ディレクトリにバイナリ(.tar.gz)を生成するだけです。 つまり 2. と 4. を実行していません。

逆に、make install の動作が make package を含むようになりました。

1. 作成 (make build)。
2. インストールしたものをまとめたアーカイブ(tar.gz 形式)を作成する。
3. インストール (従来の make install)。

これによるメリット: (1) make install が常にバックアップとしてバイナリを生成します。 (2) 新しいフレームワーク( USE_DESTDIR )では、 work/ 以下に仮想的に /usr/pkg 以下を作成し、 そこからバイナリを生成しています。 これにより、 用もないのに /usr/pkg 以下にインストールされる、 ということがなくなりました。

備考: もう少し技術的な話をすると、 install ターゲットが、 USE_DESTDIR フレームワークを使う場合は新しい方法( package-install )、 USE_DESTDIR フレームワークを使わない場合は従来どおりの方法( stage-install ) という動作をしています。

pkgsrc は -current 的なものなので、 はっきりとした境目が分かりにくいです。 ただ、三カ月ごとに作る pkgsrc の正式リリース版である 2011Q1 では USE_DESTDIR がデフォルトと書いてあります。 そんなわけで、この変更は 2011 春のどこかなのでありんす。

詳細は pkgsrc/mk/install/bsd.install.mk から依存関係をたどって自分で読んでください。

pkgsrc/mk/install/bsd.install.mk の cvs log より:

revision 1.13
date: 2010/02/24 22:53:34;  author: joerg;  state: Exp;  lines: +23 -7
Rename the install phase to stage-install. Introduce a new install
target that defaults to either stage-install or package-install,
depending on whether DESTDIR support is active and supported by the
package or not.

pkgsrc/mk/install/install.mk の cvs log より:

revision 1.58
date: 2010/02/24 22:53:34;  author: joerg;  state: Exp;  lines: +9 -9
Rename the install phase to stage-install. Introduce a new install
target that defaults to either stage-install or package-install,
depending on whether DESTDIR support is active and supported by the
package or not.

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >