Previous: Makefile Conventions, Up: Managing Releases


7.3 リリースを行う

Foo version 69.96の配布物をfoo-69.96.tar.gzという名前で gzipされたtarファイルにまとめなさい。それはfoo-69.96という名前の サブディレクトリに展開されるべきだ。

そのプログラムの構築やインストールは配布物に含まれるどのファイルも決して 変更するべきではない。これは、どんな方法でもプログラムの一部を作るファイル は全て、ソースファイルソースでないファイルに分類されていな ければならないことを意味する。ソースファイルは人間によって書かれ、自動的 には決して変更されない。ソースでないファイルはMakefileの管理の下に、プロ グラムによってソースファイルから生成される。

配布物は、パッケージの名前とそれが何をするのか一般的な記述を与える、 READMEという名前のファイルを含むべきだ。また、もしあるなら、パッ ケージの一番上にあるサブディレクトリそれぞれの目的を説明するのも良い。 READMEファイルはパッケージのバージョン・ナンバーを記述するか、そ れが見付かるパッケージ内の場所を参照するべきだ。

READMEファイルはINSTALLというファイルを参照すべきだ。それ はインストールのやり方の説明を含むべきだ。

READMEファイルはまた著作物の条件を含むファイルを参照するべきだ。 もし使われていれば、GNU GPLはCOPYINGと呼ばれるファイルにあるべき だ。もしGNU LGPLが使われているなら、それはCOPYING.LIBと呼ばれるファ イルにあるべきだ。

当然ソースファイルは全部配布物になければならない。ソースでないファイ ルを配布物に入れても構わない。もしそれらが最新状態でマシンに依存しておら ず、配布物は通常それらを変更することがあり得ないのなら。我々は普通Bison、 lex、TeX、そしてmakeinfoによって生成されたソースでない ファイルを含めている。これは、ユーザがインストールしたいパッケージではど れでもインストールできるので、我々の配布物間での不必要な依存関係を避ける のに役立っている。

プログラムを構築したりインストールすることによって実際に変更されるかもし れないソースでないファイルは、絶対に配布物に入れるべきではない。 だからもしソースでないファイルを配布するなら、新しい配布物を作るとき、そ れらを常に最新にしておきなさい。

配布物が展開するディレクトリは(どのサブディレクトリも)全て誰でも書き込み 可能にしておきなさい(8進数モードの777)。これは、tarアーカイブのファイル の所有者と許可を保存する、tarの古いバージョンがそのユーザが特権的 でない場合でも全てのファイルを展開できるようにするためだ。

配布物の全てのファイルは誰でも読み込み可能にしておきなさい。

配布物の中にファイル名が14文字より長いものがないようにしておきなさい。同 様に、そのプログラムを構築することによって出来るファイルはどれも14文字よ り長い名前を持たないようにするべきだ。これの理由は一部のシステムは posix標準の馬鹿げた解釈に固執し、過去にやっていたように長い名前を切 り詰めるよりも開くことを拒んでいるからだ。

配布物それ自体にシンボリック・リンクを含めてはいけない。tarファイルがシ ンボリック・リンクを含むなら、人々はシンボリック・リンクをサポートしない システム上ではそれを展開することさえできない。また、異なるディレクトリで 一つのファイルに複数の名前を使ってはいけない。なぜなら、あるファイルシス テムはこれを扱えないし、このことは配布物を展開できなくするからだ。

全てのファイル名がMS-DOS上で重ならないようにしてみなさい。MS-DOSでの名前 は8文字以下から成り立ち、付加的にピリオドと3文字以下の文字がくっつく。 MS-DOSは余分な文字をピリオドの前と後両方で切り詰めるだろう。だから、 foobarhacker.cfoobarhacker.oは曖昧でない。それらは foobarha.cfoobarha.oに切り詰められ、それらは区別できる。

あなたの配布物に*.texinfo*.texiファイルの出力を試験する のに使ったtexinfo.texのコピーを入れなさい。

同様に、もしあなたのプログラムがregex、getopt、obstack、あるいはtermcap のような小さなGNUソフトウェア・パッケージを使うなら、配布物にそれらを含 めなさい。それらを省くと、その配布ファイルはちょっと小さくなるが、他のファ イルをどうやって手に入れるか分からないユーザにいくらか不便になるという犠 牲を払うことになる。

Table of Contents