ホーム 主筆 その他ソフト その他情報 Syuhitu.org English

Windows関連

スクリーンセーバー作成法

半透明ウインドウの性能

bootfont.bin

キャビネット形式

ウインドウスタイルをいじる

Java製ソフトをServiceに登録する

イベントログにメッセージを出力する

コントロールパネルにアイコンを追加する

スクリプトによる拡張1

スクリプトによる拡張2

ガジェットの作成

大容量メモリ

メモリ搭載量の下限に挑む

スパースファイルにする

表示されるアイコンの種類を調べてみた

メモリマップIOとエラー処理

ファイルを作る順番と速度の関係

Cryptography API: Next Generationを使う

Windows 10のアクセントカラー

iSCSIディスクにバックアップを取る

サーバプロセスを分離して実装する

サーバプロセスを分離して実装する - F#

レジストリに大量に書き込む

Solaris関連

OpenGL

Solaris設定

ディレクトリの読み込み

主筆プラグイン開発

マルチスレッドでの開発

door

音を出す

Blade100の正しい虐め方

パッケージの作成

画像入出力

BMPファイル

ICOファイル

ANIファイル

JPEGファイル

減色アルゴリズム

減色アルゴリズムの並列化

その他アルゴリズムなど

自由軸回転

Base64

文字列操作

CPU利用率の取得

正規表現ライブラリ

メタボールを作る

メタボールを作る2

正規表現とNFA・DFA

C言語の構文解析

液晶ディスプレイを解体してみた

iSCSIの理論と実装

単一フォルダにファイルを沢山作る

USB-HUBのカスケード接続

SafeIntの性能

VHDファイルのフォーマット

USBメモリに書き込み続けてみた

Prototype

Prototype - パッケージ情報ファイル

概要

Prototypeファイルは、パッケージに関する情報を記述したテキストファイルである。パッケージの制作者が作成し、pkgmkコマンドにより使用される。

ファイル中の各エントリには、単一の配布オブジェクトについての情報が記載される。一般的に、配布オブジェクトはデータファイルや実行可能ファイルなどである。

各エントリは、空白で区切られた複数のフィールドによって構成される。

なお、"#"で始まる行はコメントと見なされる。

# コメント
フィールド1 フィールド2 フィールド3 ……

上記のピンク色の行一つが、一つのエントリを構成する。エントリ一つで一つのファイルについて記述する。

フィールド

各フィールドは、下記に示された順に記述されなければならない。

part

記録されている各オブジェクトを識別するための番号。省略可能。

パートはファイルの集合であり、パッケージを処理する際に、分割不可能な固まりとして取り扱われる。

パッケージの制作者は、ファイルをパートに分類する際の基準を任意に選ぶ事ができる。例えばクラスで分割する事も可能である。

もし、このフィールドが指定されていなかった場合には、1であると仮定される。

ftype

ファイルの種別を示す一文字。

文字 説明
b ブロックデバイス
c キャラクタデバイス
d ディレクトリ
e インストール・アンインストール時に編集されるファイル(複数のパッケージで共有されルファイルなど)
f 通常の実行バイナリやデータファイル
i インストールスクリプトもしくは情報ファイル
l リンク
p 名前付きパイプ
s シンボリックリンク
v 一時ファイル(ログのように変更が予測されるファイル)
x このパッケージでのみ参照する事ができるディレクトリ

class

ファイルが属する、インストールクラス。

クラス名は12文字以下のアルファベットである必要がある。また、"admin"と大文字で始まるクラス名は予約されている。

インストール・スクリプトの場合は、このフィールドは省略される。

pathname

ターゲットのマシンのどこにコピーされるか、を表すパス名。相対パスはそのファイルが再配置可能である事を示す。

path1=path2の形式は、リンクもしくはローカルのパス名を示すために使用される。

リンクファイルの場合、path1はリンク対象のファイルを示し、path2はリンク元のファイルを示す。

ローカルパスの場合、path1はインストール先マシンでのインストール先パス名を示し、path2はパッケージ作成を行うマシンでの、実際のファイルを表す相対ないし絶対パスを表す

major

メジャーデバイス番号

ブロックデバイスかキャラクタデバイスでのみ使用する。

minor

マイナーデバイス番号

ブロックデバイスかキャラクタデバイスでのみ使用する。

mode

ファイルのパーミションを示す8進数。

owner

ファイルの所有者を示す14文字以下の文字列。(UID)

このフィールドはリンクもしくはパッケージ情報ファイルでは使用されない。

group

ファイルの所有者が属するグループを示す14文字以下の文字列。(GID)

このフィールドはリンクもしくはパッケージ情報ファイルでは使用されない。

pathname・mode・owner・groupには、変数を使用する事ができる。変数名は「$変数名」という形式で使用される。

小文字で始まる変数はビルド変数であり、大文字で始まる変数はインストール変数である。

ビルド変数は、変数の値がパッケージのビルド時に決定される。

インストール変数のうち、値がビルド時に決定できるものについては、インストール時にその値を使用する事ができるように、pkginfoファイルに値が記録される。

それ以外のものは、インストール時に値が決定される。

mode・owner・groupには、値として"?"を使用する事ができる。

これは、既存のファイルの属性値を変更しない事を示す。なお、この値を指定した場合は、当該のファイルがターゲットのホストに必ず存在する事を示す事になる。

コマンド

行頭に"!"を記述した場合、その行はコマンドとして扱われる。

コマンドには下記のものを使用する事ができる。

search

ホストマシンに存在するファイルを検索するための、ディレクトリのパスを指定する。各パス名は空白で区切る

ここで指定したディレクトリ名は、pathnameフィールドに記述したファイル名と連結されて、ファイルの検索が行われる。

ディレクトリ名は先頭から順に使用され、適合するファイルが見つかるまで繰り返される。

include

インクルードする別のPrototypeファイルを指定する。

ただし、searchに指定したディレクトリ名は、includeに指定したファイル名には適用されない。

default

デフォルトとして使用する属性(mode,owner,group)を指定する。この属性は、各エントリで必要な情報が提供されていない場合に使用される。

デフォルト値の設定は、インクルードされたファイルには適用されない。

param=value

変数を設定する。

この設定はインクルードされたPrototypeファイルの中でも有効となる。

注意

インストール対象のマシンに、とあるファイルをインストールしようとしたときに、同名のファイルがすでに存在していた場合、そのファイルは一旦テンポラリの領域に複製されてから、上書きされる。

ただし、そのファイルに実行属性が付いていて編集不可能であった場合(ftypeにeが指定されていた場合)、当該のファイルはテンポラリの領域にリンクが作成されてから、上書きされる。

インストール対象のマシンに、Prototypeファイルに記述されたファイルが存在しなかった場合は、そのファイルはインストール中に作成される事になる。

ただし、そのファイルのパス名にディレクトリ名が含まれており、そのディレクトリが存在しなかった場合には、ファイルの生成は行われない。

例えば、Prototypeファイルに下記のエントリが含まれていた場合

f none /usr/dev/bin/command

このファイルが存在せずに/usr/dev/binが存在する、もしくはPrototypeファイルに下記のエントリが含まれる場合には、このファイルは自動的に生成される。

d none /usr/dev/bin

それ以外の場合には、/usr/dev/bin/commandは生成されない。


連絡先 - サイトマップ - 更新履歴
Copyright (C)  2000 - 2016 nabiki_t All Rights Reserved.