Chapter 26. pkgsrc を移植する

Table of Contents

26.1. pkgsrc を未対応のオペレーティングシステムに新たに移植する
26.2. 未対応のコンパイラーに新たに対応させる

pkgsrc システムはすでに、多くのオペレーティングシステム、 ハードウェアアーキテクチャー、およびコンパイラーに移植されています。 本章では、pkgsrc の移植性をさらに高めるために必要な手順を説明します。

26.1. pkgsrc を未対応のオペレーティングシステムに新たに移植する

pkgsrc を未対応のオペレーティングシステム (以下、 MyOS とします) に移植するには、 以下のファイルを作成あるいは修正する必要があります。

pkgtools/bootstrap-mk-files/files/mods/MyOS.sys.mk

このファイルには、いくつかの基本的な定義、 たとえば C コンパイラーの名前が含まれています。

mk/bsd.prefs.mk

OPSYS, OS_VERSION, LOWER_OS_VERSION, LOWER_VENDOR, MACHINE_ARCH, OBJECT_FMT, APPEND_ELF の各変数、 その他このファイルに書かれている各変数を定義するコードを追加します。

mk/platform/MyOS.mk

このファイルには、 pkgsrc が使用するプラットフォーム固有の定義が含まれています。 まず他のプラットフォーム用のファイルのいずれかをコピーしてから、 必要に応じて編集します。

mk/platform/MyOS.pkg.dist

このファイルには、ディレクトリーを並べたリストが、 パーミッションビットと所有権とともに含まれています。 ここに含まれるディレクトリーは、明示的に USE_MTREE を設定している各パッケージのインストールに際して、 自動的に作成されます。この機能は、 廃止が予定されています。

mk/platform/MyOS.x11.dist

既存の x11.dist ファイルのいずれかを、 MyOS.x11.dist にコピーするだけです。

mk/tools/bootstrap.mk

プラットフォームによっては、ベースシステム附属のツールが pkgsrc で使うには不十分なことがあります。 たとえば sed(1) には、 処理可能な行長が短く制限されているバージョンがたくさんあります。 したがって、pkgsrc では別途ツールを用意しており、 このファイルで有効化することができます。

mk/tools/tools.MyOS.mk

このファイルでは、 pkgsrc 自身が必要とするツールおよび、別のツールや pkgsrc のパッケージが必要とするツールすべてのパスを定義しています。 これらのツールが移植対象のプラットフォームではどこにあるかを調べて、 書き足します。

これで、lang/perl5shells/bash のような、 いくつかの基本的なパッケージが構築できるようになったはずです。

26.2. 未対応のコンパイラーに新たに対応させる

TODO