OOTA's page

パッケージシステムを利用せずに、ソース配布のプログラムをコンパイルして利用する事を俗に野良ビルドと呼んでいますが、configureやmakeへの引数、依存するパッケージ、時に必要となるパッチなど、コンパイルの手順を記録しておかないと、バージョンアップのたびに同じ苦労をする事になります。これらの情報を記録し再利用するために、FreeBSDのportsシステムを利用しましょう。

FreeBSDの公式portsシステムに登録せずに、主に自分が利用する事を目的にとして作成したportsを野良ポートと呼ぶ事にします。

野良ポートのメリット

  • 野良ポートはFreeBSDのportsに登録しません。とってもお手軽です。

    pkg-descrも自分用のメモでオッケーです。
  • ports-bugsを読まなくてもオッケーです。
  • 野良ポートは依存パッケージ、ダウンロードサイトなどの管理にFreeBSD portシステムの恩恵を受ける事が出来ます。

最小 野良ポート

適当なカテゴリの下にディレクトリを作成し,Makefile,pkg-descr,pkg-plistを作るだけです。

MakeFile
最小限のMakefile
# New ports collection makefile for:    sollya
# Date created:         03 September 2010
# Whom:
#
# $FreeBSD$
#

PORTNAME=       mpfi
PORTVERSION=    1.5
CATEGORIES=     math
MAINTAINER=

MASTER_SITES=   https://gforge.inria.fr/frs/download.php/27345/

LIB_DEPENDS+=   gmp.10:${PORTSDIR}/math/gmp \
                mpfr.4:${PORTSDIR}/math/mpfr

USE_BZIP2=      yes
USE_GMAKE=      yes

GNU_CONFIGURE=  yes

CONFIGURE_ARGS+= 
                --with-gmp=${PREFIX} \
                --with-mpfr=${PREFIX} \
                --enable-shared --disable-static
.include <bsd.port.mk>
  
PORTNAME, PORTVERSION, MASTER_SITES port名とソースパッケージのURLがこれで決定されます。
USE_BZIP2 ソースパッケージの拡張子とファイルの展開方法が決定されます。デフォルトアーカイブ形式はtar.gzです。
USE_GMAKE, GNU_CONFIGURE 読んで字の如し
pkg-descr
メモでも書いておきましょう。
pkg-plist
アンインストールする場合にはそれなりに手間がかかりますが、空でもオッケーです。

最近は依存地獄に陥らないよう、pkg-delete -aで全削除してから必要なportsをインストールする方法がマイトレンドです。

野良ポート作成基準

  • 既に作成されているportsを可能な限り利用しましょう。

    .include等を利用する。元portsのアップデートに影響されないように留意して作りましょう。

人によっては有用かもしれないモノ

自分のために作った野良ポートですが、人によって有用かもしれないので、野良ポートのサンプルとして公開します。

  • pr-mod_netdub

    proftpd用 ネットdeダビング拡張モジュールを組み込んだproftpd ports

    オリジナルのproftpd portsはsharedモジュールの作成に問題があるので、それに対するパッチも含んでいます。

    pr-mod_netdub.tar.bz2を${PORTSDIR}/ftpの下に展開してmakeします。
  • wildport

    野良ポートをsubversionで管理するためのツール。

    インストール後/etc/make.confのWILDREPOSにリポジトリURLを設定します。

    makeのターゲットにwild-import, wild-tag, wild-distが追加されます。

    wildport-0.2.tar.bz
  • C/Migemo, emacs-cmigeno

    emacsにC/MigemoをAPI呼び出しで組み込んでみました。

    FreeBSD以外のユーザーで使ってみたいという奇特な方はfiles以下にソースおよびパッチがあるので野良インストールしてください。

    cmigemo-20110227.tar.bz2はC/migemoのportsです。野良インストールの場合は不要です。

    emacs-cmigemo-23.2_4,2.tar.bz2 emacsへのパッチ、migemo.へのパッチ。

    cmigemo-20110227.tar.bz2
Design downloaded from free website templates.