37.4 Creating Packages

Last-modified: 2025-03-09 (日) 15:55:21

37.4 パッケージの作成

内部的には、パッケージは単に任意の名前のトップレベル ディレクトリを含む gzip 圧縮された tar ファイルです。このディレクトリは、以下では と呼ばれpackage、次のファイルが含まれる場合があります。

package/CITATION
これは、出版のためにパッケージを引用する方法を説明するオプションのファイルです。関数によってそのまま表示されますcitation。

package/COPYING
これはパッケージのライセンスを含む必須ファイルです。ライセンスには一般的に制限はありません。ただし、パッケージに動的にリンクされた関数が含まれている場合、ライセンスは GNU General Public License と互換性がある必要があります。

package/DESCRIPTION
これはパッケージに関する情報を含む必須ファイルです。このファイルの詳細については、 「DESCRIPTION ファイル」を参照してください。

package/ChangeLog
これは、パッケージ ソース ファイルに加えられたすべての変更を記述するオプションのファイルです。

package/INDEX
これは、パッケージが提供する関数を記述するオプションのファイルです。このファイルが指定されていない場合は、パッケージ内の関数と Categoriesキーワードから自動的に作成されます。説明ファイル。このファイルの詳細については、 「INDEX ファイル」を参照してください。

package/NEWS
これは、言及する価値のある、ユーザーに見えるすべての変更を記述するオプションのファイルです。このファイルのサイズが大きくなると、古いエントリをパッケージ/ONEWS。

package/ONEWS
これは、ニュースファイル。

package/PKG_ADD
パッケージがユーザーのパスに追加されたときに実行されるコマンドを含むオプションのファイル。PKG_ADD パッケージのソースコード内のディレクティブも、Octave パッケージマネージャによってこのファイルに追加されることに注意してください。シンボリックリンクは一部のファイルシステムには存在しないため、パッケージ内ではシンボリックリンクを避ける必要があります。そのため、このファイルの典型的な使用法は、シンボリックリンクの置き換えです。

ln -s foo.oct bar.oct
次のような自動ロードディレクティブで

autoload ('bar', which ('foo'));
ディレクティブの詳細については、 「PKG_ADD および PKG_DEL ディレクティブ」を参照してくださいPKG_ADD 。

package/PKG_DEL
パッケージがユーザーのパスから削除されたときに実行されるコマンドを含むオプションのファイル。PKG_DEL パッケージのソース コード内のディレクティブも、Octave パッケージ マネージャーによってこのファイルに追加されることに注意してください。 ディレクティブ の詳細については、 PKG_ADD および PKG_DEL ディレクティブを参照してください。PKG_DEL

package/pre_install.m
これはパッケージのインストール前に実行されるオプションの関数です。この関数は、単一の引数、つまり、データの後にフィールド名を持つ構造体で呼び出されます。説明、およびパッケージ関数がインストールされるパス。

package/post_install.m
これはパッケージのインストール後に実行されるオプションの関数です。この関数は、単一の引数、つまり、パッケージ内のデータの後にフィールド名を持つ構造体で呼び出されます。説明、およびパッケージ関数がインストールされたパス。

package/on_uninstall.m
これは、パッケージを削除する前に実行されるオプションの関数です。この関数は、単一の引数、つまり、パッケージ内のデータの後にフィールド名を持つ構造体で呼び出されます。説明パッケージ関数がインストールされているパス、およびパッケージが現在ロードされているかどうか。

上記のファイルに加えて、パッケージには次のディレクトリが 1 つ以上含まれることもあります。

package/inst
パッケージによって直接インストールされるファイルを含むオプションのディレクトリ。通常、これにはすべてのm-files が含まれます。

package/src
パッケージのインストール前にビルドする必要があるコードを含むオプションのディレクトリ。Octaveパッケージマネージャは、 ./configureこのディレクトリにこのスクリプトが存在する場合は、makeファイルが存在する場合はメイクファイルこのディレクトリに が存在します。 ただし、 は呼び出されません。およびが呼び出されると、make install環境変数MKOCTFILE、OCTAVE_CONFIG、 が それぞれ正しいバージョンのプログラム、、OCTAVEのフルパスに設定されます 。 というファイルが存在する場合、そこにリストされているすべてのファイルが ディレクトリにコピーされ、それらもインストールされます。ファイルが存在しない場合は、mkoctfileoctave-configoctaveconfiguremakeFILESinstFILESソース/*.mそして ソース/*.octディレクトリにコピーされますinst。

package/doc
パッケージのドキュメントを含むオプションのディレクトリ。このディレクトリ内のファイルは、将来の参照用にインストールされたパッケージのサブディレクトリに直接インストールされます。

package/bin
EXEC_PATH パッケージがロードされたときに Octave に追加されるファイルを含むオプションのディレクトリ。これには、パッケージ内の関数によって呼び出される外部スクリプトなどが含まれる場合があります。

The DESCRIPTION File
The INDEX File
PKG_ADD and PKG_DEL Directives
Missing Components