SourceForge.JPのファイルリリース機能を利用すると、プロジェクトで作成したソフトウェアを配布できます。バージョンやパッケージごとに管理もできます。
SourceForge.JPのファイルリリースシステムは以下のような階層構造で管理しています。まずはこれらの用語について説明します。
パッケージ
|
+-リリース(バージョン)
| :
| :
+-リリース(バージョン)
|
+-ファイル
| :
| :
+-ファイル
ファイルリリースの最も大きな単位で、ソフトウェアの名前などを付けます。ソフトウェア名とプロジェクト名が同一のプロジェクトが多いので、各プロジェクトにはデフォルトでプロジェクトUNIX名のパッケージを配置しています。
「hello」というプロジェクトが、「hello」というソフトウェアだけでなく「yet-another-hello」という別のソフトウェアも開発している場合、別のパッケージ「yet-another-hello」を作成し、こちらからリリースするようにします。
「リリース」と「バージョン」はどちらもほぼ同じ意味になります。新しいバージョンのソフトウェアをリリースするときは、リリース名(バージョン)を変更してリリースします。
たとえば、「hello」パッケージの場合、「hello version 1.0」でリリースする場合は、リリース(バージョン)を「1.0」にします。バージョンが1.1に上がった場合は、「hello」パッケージのリリース「1.1」としてリリースすることになります。
長いリリース名や複雑なリリース名は混乱のもとになるので、できるだけシンプルなリリース名にするのが良いでしょう。お勧めは、「1.0」や「1.1」などの数字だけのリリース名です。
ファイルリリースの最小単位です。同じバージョンのリリースでも、ソースファイルと実行形式のファイルを分けたり、アーキテクチャによって別ファイルにすることはよくあると思います。SourceForge.JPのファイルリリースシステムでは、ひとつのリリースに対して、複数ファイルを配布できます。
複数ファイルを配布するときは、ファイル名に注意しましょう。通常は「hello-1.0.tar.gz」のように「パッケージ名-バージョン」といった形式にすると思いますが、複数に分けるときは、「hello-1.0.src.tar.gz」「hello-1.0.x86-linux.tar.gz」「hello-1.0.x86-win32.tar.gz」のように、中身がわかりやすいファイル名にしましょう。
ファイルリリースができるのは、プロジェクト管理者とリリース管理者の権限を持っているユーザーです。
ファイルリリースは、次の順番で行うことになります。
順番に見ていきましょう。
プロジェクトが登録された時点で、プロジェクトのUNIX名と同名のパッケージは自動で作成されます。この名前で問題ない場合は、パッケージを新たに作成する必要はありませんので、次に進んでください。
パッケージを作成するには、プロジェクトメニューの「ダウンロード」→「管理」を選択します。ページ上部に「新規パッケージの作成」のリンクがありますので、こちらをクリックします。ここでパッケージ名を英数字および半角の記号で入力します。ステータスは「Active」のままで良いでしょう。「新規作成」ボタンをクリックすると、パッケージが作成されます。
パッケージの作成時と同様に、プロジェクトメニューの「ダウンロード」→「管理」を選択します。存在するパッケージのリストが表示されるので、この中からリリースしたいパッケージの中にある「新規作成」をクリックします。
リリースの新規作成ページに変わるので、ここで各情報を入力します。「リリースメモ」にはリリースに関する情報を、「変更履歴」には前のバージョンからの変更点などを入力します。この2つは入力しなくてもリリースできます。そして、リリースしたいファイルのファイル名を「ファイル」の欄に入力します。参照ボタンを押すと、ローカル環境のファイルを選択できます。
また、ftpを使ってファイルをアップロードすることもできます。「FTPで新規ファイルをアップロード」リンクをクリックするとアップロード用の一時ディレクトリの名前とアップロードの仕方が記述されたページが開きますので、その指示を参照してアップロードを行ってください(一般的なftpクライアントが利用できます)
なお、ファイルリリースでアップロードできる1ファイルのサイズの上限は2GBまでとなっています。
最後に、「リリースの作成」ボタンをクリックするとリリースが作成されます。
複数のファイルをリリースするときは、「アップロードするファイルを追加」ボタンを押すと、ファイル欄が複数になります。またリリースを作成後にファイルを追加することも可能です。