FreeBSD: パッケージを /usr/ports 下でカスタムビルドする時のmakeオプション

FreeBSD のパッケージインストールには、複数の方法がありますが、64bit CPU なら pkg コマンドを使ってバイナリーで何でも入っちゃう。

32bit CPU、ARM と x86 の場合、バイナリーパッケージが用意されていないものがって、こういう場合 /usr/ports 下で make を使ってビルドするしかありません。

例えば、MySQL Server 8.0 を入れたい場合、/usr/ports/databases/mysql80-server にて、make と叩くわけですが、mysql80-server が必要としていて、まだインストールされていないパッケージまでソースビルドの対象になってしまいます。依存関係があるプログラムのバイナリーパッケージが存在しているとしてもね。

これだとビルドに時間が掛かるので、バイナリーパッケージが存在しているプログラムはバイナリーインストールしてしまいたい。
この時 make コマンドに「install-missing-packages」オプションを与えると、パッケージが存在しているプログラムはダウンロードで済ませるようになるので、ビルド時間を短縮できます。

/usr/ports/databases/mysql81-server# make install-missing-packages
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Updating database digests format: 100%
The following 9 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	bison: 3.8.2_2,1
	cmake-core: 3.29.6
	gettext-tools: 0.22.5
	gmake: 4.4.1
	libtextstyle: 0.22.5
	m4: 1.4.19_1,1
	mysql81-client: 8.1.0_1
	rhash: 1.4.4_1
	texinfo: 7.1_3,1

Number of packages to be installed: 9

The process will require 197 MiB more space.
24 MiB to be downloaded.

Proceed with this action? [y/N]: y

という、コマンドオプションを忘れないためのメモ。

コメントを残す