PAR-0.75 > par.pl

名前

par.pl - Perlアーカイブの作成と実行

概要

(Please see pp for convenient ways to make self-contained executables, scripts or PAR archives from perl programs.)

(perlプログラムから自己完結型実行ファイル、スクリプト、PARアーカイブを 生成する簡便な方法については、ppを参照してください。)

To make a PAR distribution from a CPAN module distribution:

CPANモジュールのディストリビューションからPARディストリビューションをつくる:

    % par.pl -p                 # 現在のパス下にPAR配布物を作成する
    % par.pl -p Foo-0.01        # Foo-0.01/に未パックのCPAN配布物があると想定

To manipulate a PAR distribution:

PARディストリビューションの操作:

    % parl -i Foo-0.01-i386-freebsd-5.8.0.par   # インストール
    % parl -i http://foo.com/Foo-0.01           # archname + perlverを自動追加
    % parl -i cpan://AUTRIJUS/PAR-0.74          # CPAN author directoryを使用
    % parl -u Foo-0.01-i386-freebsd-5.8.0.par   # アンインストール
    % parl -s Foo-0.01-i386-freebsd-5.8.0.par   # サインする
    % parl -v Foo-0.01-i386-freebsd-5.8.0.par   # 照合

To use Hello.pm from ./foo.par:

./foo.parからHello.pmを利用する:

    % par.pl -A./foo.par -MHello 
    % par.pl -A./foo -MHello    # .parの部分はオプション

Same thing, but search foo.par in the @INC;

同じこと。ただし@INCにあるfoo.parを探す;

    % par.pl -Ifoo.par -MHello 
    % par.pl -Ifoo -MHello      # 同上

Run test.pl or script/test.pl from foo.par:

foo.parからtest.plscript/test.plを実行する:

    % par.pl foo.par test.pl    # デフォルトでは'main.pl'を探す
                                # そうでなければ'test.pl'を実行

To make a self-containing script containing a PAR file :

PARファイルを含んだ自己完結型実行ファイルの作成:

    % par.pl -O./foo.pl foo.par
    % ./foo.pl test.pl          # 上と同じこと

To embed the necessary non-core modules and shared objects for PAR's execution (like Zlib, IO, Cwd, etc), use the -b flag:

PARの実行に必要な非コアモジュールと共有ライブラリ(Zlib, IO, Cwd等々)を 埋め込むために、-bフラグを使う:

    % par.pl -b -O./foo.pl foo.par
    % ./foo.pl test.pl          # インストールされているコアモジュールと一緒にどこででも実行

If you also wish to embed core modules along, use the -B flag instead:

コアモジュールも埋め込みたいなら、代わりに-Bフラグを使う:

    % par.pl -B -O./foo.pl foo.par
    % ./foo.pl test.pl          # Perlインタプリタがあればどこででも実行

This is particularly useful when making stand-alone binary executables; see pp for details.

これはスタンドアローンなバイナリ実行ファイルを作成する時には、 殊のほか使える;詳細についてはppを参照。

説明

This stand-alone command offers roughly the same feature as perl -MPAR, except that it takes the pre-loaded .par files via -Afoo.par instead of -MPAR=foo.par.

この独立したコマンドは、大雑把にいってperl -MPARと同じ機能を 提供している。ただし-MPAR=foo.parの代わりに-Afoo.parを通じて プレロードされた.parファイルを取り出すことは除く。

Additionally, it lets you convert a CPAN distribution to a PAR distribution, as well as manipulate such distributions. For more information about PAR distributions, see PAR::Dist.

加えて、このコマンドはCPANディストリビューションをPARディストリビューションに 変換してくれる。このような配布物を操作するのも同様だ。 PARディストリビューションに関する詳細情報はPAR::Distを参照のこと。

バイナリ版PARローダー (parl)

If you have a C compiler, or a pre-built binary package of PAR is available for your platform, a binary version of par.pl will also be automatically installed as parl. You can use it to run .par files:

もしあなたがCコンパイラを持っているなら、あるいは既にビルトされたPARの バイナリパッケージを自分のプラットフォームで利用できるなら、par.plの バイナリ版もparlとして自動的にインストールされる。それを使って .parファイルを実行することができる:

    # アーカイブ内のscript/run.plを実行し、lib/*をライブラリとして使う
    % parl myapp.par run.pl     # myapp.par内のrun.plかscript/run.plを実行
    % parl otherapp.pl          # 普通のperlスクリプトを実行することもできる

However, if the .par archive contains either main.pl or script/main.pl, it is used instead:

しかし、もし.parアーカイブがmain.plscript/main.plの どちらかを含んでいるなら、代わりにそれが使われる:

    % parl myapp.par run.pl     # main.plが実行される。'run.pl'は@ARGVに渡される

Finally, the -O option makes a stand-alone binary executable from a PAR file:

最後に、-OオプションはPARファイルからスタンドアローンな バイナリ形式の実行ファイルを作成する:

    % parl -B -Omyapp myapp.par
    % ./myapp                   # perlバイナリなしに任意の場所で実行

With the --par-options flag, generated binaries can act as parl to pack new binaries:

--par-optionsフラグがあると、生成されるバイナリファイルは parlとして振る舞い、新しいバイナリファイルをパックすることができる:

    % ./myapp --par-options -Omyap2 myapp.par   # ./myappと同じものとして
    % ./myapp --par-options -Omyap3 myap3.par   # 違うPARとともに

スタンドアローンな実行ファイルのフォーマット

The format for the stand-alone executable is simply concatenating the following elements:

スタンドアローンな実行ファイルのフォーマットは、単純に以下の要素が 連なったものである:

  • The executable itself

    実行ファイルそのもの

    Either in plain-text (par.pl) or native executable format (parl or parl.exe).

    プレーンテキスト(par.pl)かネイティブな実行ファイル形式(parlないしは parl.exe)のいずれか。

  • Any number of embedded files

    任意の埋め込まれたファイル数

    These are typically used for bootstrapping PAR's various XS dependencies. Each section contains:

    典型的にはPARの様々なXS依存物をブートストラップするために用いられる。 それぞれのセクションは以下を含む:

    The magic string "FILE"

    マジック文字列"FILE"

    Length of file name in pack('N') format plus 9

    pack('N')形式にパックされたファイル名の長さプラス9

    8 bytes of hex-encoded CRC32 of file content

    ファイルの内容に対する16進エンコードCRC32の8bytes

    A single slash ("/")

    一つのスラッシュ("/")

    The file name (without path)

    ファイルネーム(パスは含めず)

    File length in pack('N') format

    pack('N')形式のファイルの長さ

    The file's content (not compressed)

    ファイルの内容(非圧縮)

  • One PAR file

    一つのPARファイル

    This is just a zip file beginning with the magic string "PK\003\004".

    これはマジック文字列"PK\003\004"で始まる単なるzipファイルだ

  • Ending section

    終了セクション

    A pack('N') number of the total length of FILE and PAR sections, followed by a 8-bytes magic string: "\012PAR.pm\012".

    ファイルとPARセクション全体のサイズをpack('N')した数 その後に8バイトのマジック文字列:"\012PAR.pm\012"

参考

PAR, PAR::Dist, parl, pp

作者

Autrijus Tang <autrijus@autrijus.org>

http://par.perl.org/ is the official PAR website. You can write to the mailing list at <par@perl.org>, or send an empty mail to <par-subscribe@perl.org> to participate in the discussion.

Please submit bug reports to <bug-par@rt.cpan.org>.

著作権

Copyright 2002, 2003 by Autrijus Tang <autrijus@autrijus.org>.

Neither this program nor the associated parl program impose any licensing restrictions on files generated by their execution, in accordance with the 8th article of the Artistic License:

このプログラム及びparlプログラムに関連するものはどちらも、これら によって生成されたファイルに対し、いかなるライセンス制限も課さない。 これはArtistic Licenseの第八条に従う:

    "Aggregation of this Package with a commercial distribution is
    always permitted provided that the use of this Package is embedded;
    that is, when no overt attempt is made to make this Package's
    interfaces visible to the end user of the commercial distribution.
    Such use shall not be construed as a distribution of this Package."

    このパッケージを商用配布と組みあわせるのはつねに許されています、
    もしこの「パッケージ」の利用方法が埋めこみであれば、すなわち、この
    「パッケージ」のインターフェイスがその商用配布のエンドユーザーに
    見えるようにしようとするのでなければ。このような利用方法はこの
    パッケージの配布と解釈されません。
    [ 翻訳は 大原氏によるものから転載 Copyright (C) 2001 大原雄馬 ]

Therefore, you are absolutely free to place any license on the resulting executable, as long as the packed 3rd-party libraries are also available under the Artistic License.

それゆえ、最終的に生成される実行ファイルに対し、いかなるライセンスを 置く絶対的自由があなたにはある。ただし、パックされたサードパーティの ライブラリもArtistic Licenseの下に利用可能である限りは。

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://www.perl.com/perl/misc/Artistic.html