MAKEPKG(8)

名称
makepkg - Slackware パッケージの生成

概要
makepkg [ -l, --linkadd y|n ] [ -c, --chown y|n ] パッケージ名

説明
makepkg は新しい Slackware 互換パッケージを作成します。 パッケージは、現在のディレクトリとすべてのサブディレクトリの内容を使用して作成されます。 シンボリックリンクが存在する場合、シンボリックリンクは、パッケージのインストール時にスクリプトコードに変換されて再作成されます。 このコードは、プライマリ・インストール・スクリプト (install/doinst.sh) に追加されます。存在しない場合は、その内容で作成されます。 パッケージは拡張子を含むフルネームのファイル パッケージ名 へ書き出されます。 これは通常 .tgz ですが、.tbz、.tlz、.txz も受け入れられます。 適切な圧縮ユーティリティ (gzip、bzip2、lzma または xz) をマシンにインストールする必要があります。

オプション

-l, --linkadd y|n
    y の場合は見つかったシンボリックリンクをインストールスクリプト (doinst.sh) に追加して削除します。 これが推奨されるアクションです。 このオプションを使用しないと、makepkg はシンボリックリンクがあるかどうかを確認するプロンプトを表示します。

-p, --prepend
    このオプションを指定すると、doinst.sh に追加されたシンボリックリンクが既存スクリプトの先頭に追加されます。 これはプログラムが doinst.sh スクリプトの後半でそれらを使用するため、最初にリンクする必要がある共有ライブラリを含むパッケージに役立ちます。

-c, --chown y|n
    y の場合、makepkg はすべてのディレクトリ権限を 755 に、所有権を root:root にリセットします。 一般的には利用者自身の権限と所有権を持っている必要があります。そのため、このオプションを y に設定することには頼りになりません。 これはデフォルトではありません。 オプションが指定されていない場合、makepkg はプロンプトを表示します。

インストールスクリプト
Slackware パッケージシステムでは、3 種類のインストールスクリプトがサポートされています。

その 1
    primary インストールスクリプト。 これはサブディレクトリ ./install にあり、認識には名前 doinst.sh が必要です。 この (およびその他のインストールスクリプト) は、ash シェルで認識される基本的な Bourne シェル構文を使用して記述する必要があります。これは Slackware インストールフロッピーからインストールするときにスクリプトを実行するシェルです。 これは一般的なトラップです - bash 構文拡張を使用することに注意してください。これはハードドライブからインストールするとスクリプトがうまく動作するためですが、フロッピーからインストールすると破壊します。 パッケージが個人用である場合、これは問題ではありません。 ただしパッケージを他のユーザーと共有する予定がある場合は注意してください。 基本インストールスクリプト は、パッケージが installpkg、pkgtool または setup でインストールされた直後に実行されます。

その 2
    configuration スクリプト。 これはサブディレクトリ ./var/log/setup にあり、再構成されるためには setup で始まる名前が必要です。 /var/log/setup/setup.timeconfig 。これらのスクリプトは、 setup の CONFIGURE フェーズで実行され、ユーザーが実行するたびに再実行されます。setup からの CONFIGURE オプションは、それ以降です。 通常ユーザーはすべてのパッケージをインストールした後、この段階のセットアップを実行します。 インタラクティブにする必要があるものは setup 中パッケージインストールプロセスを停止させないために、これらのスクリプトのいずれかに入っている必要があります。

その 3
    onlyonce スクリプト。 名前が示唆するように、標準の configuration スクリプトとは対照的に、これらはパッケージのインストール後に一度だけ実行されます。 これらのスクリプトは ./var/log/setup ディレクトリにもあり、 setup で始まる名前が必要ですが、名前には文字列 onlyonce が含まれている必要があります。例えば /var/log/setup/setup.onlyonce.testscript

パッケージフォーマット
makepkg は GNU tar と GNU gzip を使ってパッケージを作成します。 パッケージの内容を簡単に抽出するには (インストールスクリプトを実行せずに)、次のようなコマンドを使います：

explodepkg package.tgz

または、次のようなものです:

gzip -dc package.tgz | tar xvvf -

作者
Patrick J. Volkerding <volkerdi@slackware.com>

関連項目
installpkg(8), explodepkg(8), removepkg(8), pkgtool(8), upgradepkg(8)