| 
 ebuild-uploader利用ガイド| この文書では、GentooJPで運営しているebuild-uploaderの使い方を説明します。 | 
 
 
 
 
 
1.ebuild-uploaderって?ebuild-uploaderについて  ebuild-uploader
は、GentooJPで独自に開発した簡易ebuild登録システムです。
ebuildの登録を容易に行うことができ、laymanやgensyncコマンドを用いることによって
emerge syncと同じ感覚でツリーの取得を行うことができるので、
テストもとても簡単になっています。
もちろん、emerge-webrsyncのような感覚でツリーの取得を行うことも可能です。
自分で作ったebuildをみんなにテストしてもらいたい、
本家Portageツリーに入れて欲しいけど英語で登録するのは難しい、
誰かの作ったebuildのテストをしてみたい、
というようなときに必ず役に立つはずです。
 
また、登録されたebuildはテスト期間を経て、
本家Portageツリーにコミットしても問題ないだろうという状態になったとき、
GentooJPの開発者は本家の開発者に連絡を取って本家ツリーに入れてもらえるように計らいます。
すべてのebuildが本家ツリーにコミットされるとは限りませんが、
Bugzillaは分かりにくい、英語が苦手だというあなたが作ったebuildが本家ツリーに登録されるための、
もっとも手軽な方法と言えるでしょう。
どんなアプリケーションのebuildでも、遠慮せずにどんどん登録して下さい!
 | Important: 
本家ツリーにあるebuildを改良したといったようなebuildの場合は、充分にテストを行った上で、
~x86として(x86用であれば)登録を行うようにして下さい。
登録されたebuildは利用者がOVERLAYすることになりますので、
パッケージアップデートの対象になってしまう可能性が充分にあるからです。
 | 
 ebuild-uploaderの機能  
ebuild-uploaderの機能を簡単に挙げると、以下のようになります。
 
ebuildを簡単に日本語で登録することができます。登録された各ebuildごとにコメントをつけることのできる掲示板機能があり、
ebuildにバグが発見された場合などにはこの機能を使って簡単に報告することができます。コメント文を考えている時間のないお忙しいあなたのために、
動作したかどうかをクリック一回で報告することのできる投票機能があります。登録されたebuildはすべて個々に閲覧とダウンロードを行うことができます。gentoolkit-devに含まれるgensyncコマンドを用いることによって、
rsyncサーバを使ったツリーの取得を行うことができます。ファイアウォール等の制限のためrsyncを使えない方向けに、
Webを介してツリーの取得を行う方法も提供されています。 
2.ebuild-uploaderを利用したアップロード
それでは実際にebuild-uploaderを使ってebuildの登録をしてみましょう。
 ebuildJP
を訪れると、
左側には登録されているカテゴリ毎のebuild一覧、
右側のヘッダ部にナビゲーションのためのリンク、
その下には最近アクションのあったアプリケーションが並んでいるはずです。
 ebuildを新規登録する  
ebuildを新規登録する場合、ナビゲーションのところにあるアップロードというリンクをクリックして下さい。
アップロードのためのフォームが現れます。
 
| ユーザ名(必須) | 自分の名前を記述します。 |  
| パスワード(必須) | 登録したファイルを編集する際に必要となります。 |  
| メールアドレス(必須) | 自分のメールアドレスを記述します。メールアドレスはGentooJPのメンバー以外には公開されません。
メールアドレスは、例えば登録されたebuildを本家に持っていくようなことになった場合、
その際ebuildの登録者に連絡を取らなければならないことがあるため必須項目となっています。 |  
| カテゴリー(必須) | これからアップロードしようとしているebuildがどのカテゴリに属するものなのかを選択して下さい。 |  
| Ebuildファイル(必須) | アップロードしたいebuildをここで選択します。 |  
| Ebuildコメント(任意) | ebuildの簡単な説明をここに記述して下さい。 |  
| 追加ファイル(任意) | パッチなどがあってfilesディレクトリに置いておかなければ正常動作しないようなebuildの場合はここでfilesディレクトリに置くファイルを選んで下さい。
特に必要なければ空欄で構いません。
また、コメント欄にはそのファイルについての説明を簡潔に記述して下さい。 |  
これらの項目に適切な記述をして、送信ボタンをクリックするだけで新規登録作業は完了です。
 | Important: digestやManifest等のファイルはアップロードしないようにして下さい。 | 
 ebuildファイルを追加登録する  
すでに登録されているパッケージに、ebuildや他のファイルを追加でアップロードしたい場合は以下のようにします。
 
左側の一覧や運営ログなどから、これから何か追加したいアプリケーションを選びます。ebuildsのテーブルの下にあるebuildの追加をクリックします。
新規登録
と同じ画面になりますので、あとは同じ手順でアップロードを行って下さい。 | Note: 
既にアップロードされているファイルと同一の名前を持つファイルはアップロードできませんので、
そのような場合は-r1といったリビジョンを付けるなどしてからアップロードを行って下さい。
 | 
 filesディレクトリに入るべきファイルを追加登録する  
すでに登録されているパッケージに、filesディレクトリに入るべきファイルを追加でアップロードしたい場合は以下のようにします。
 
左側の一覧や運営ログなどから、これから何か追加したいアプリケーションを選びます。Filesのテーブルの下にあるfilesの追加をクリックします。
新規登録
の画面から「カテゴリー」「Ebuildファイル」「Ebuildコメント」を除いたフォームが現れますので、
必要事項を入力して同じようにアップロードを行って下さい。 | Note: 
ebuildの追加登録と同じく、既にアップロードされているファイルと同一の名前を持つファイルはアップロードできません。
 | 
 
3.ツリーを同期する3種類の同期方法  
ebuild-uploaderに登録してあるebuildをローカルに同期する方法は3種類あります。
それぞれの方法には一長一短がありますが、環境に合わせて適切な方法を選んで下さい。
 laymanを利用する  
この方法がおそらく一番簡単な方法です。
特殊な理由がない限りはこの方法を選ぶと良いでしょう。
 
laymanを利用してebuild-uploaderに登録されているebuildを試すのはとても簡単です。
laymanをインストールし、"gentoojp"というオーバーレイをあなたの利用するオーバーレイのリストに加えるだけです。
 
| Code listing 3.1 |  | 
# emerge layman
# echo "source /usr/portage/local/layman/make.conf" >> /etc/make.conf
# layman -f
# layman -a gentoojp
 |  
laymanを利用する場合の設定は以上です。
ツリーの状態を更新するには、以下のコマンドを打って下さい。
 
| Code listing 3.2 |  | 
# layman -s gentoojp
 |  | Note: 
laymanのより高度の使い方については、manページをご覧下さい。
 | 
 | Note: 
08/27/2006現在、laymanはソフトマスク状態にあります。
この方法を利用する際は、laymanのソフトマスクを明示的に外す必要があります。
ソフトマスクの外し方については、Gentooハンドブックの
ソフトウェアのブランチを併用する
をご参照下さい。
 | 
 gensyncを利用する  
この方法は、laymanを利用する場合は自動的に設定されるいくつかのことを自分で設定しなければならないため少々煩雑です。
ただし08/27/2006現在Stableブランチでも利用可能なため、Testingブランチを利用したくないユーザには適切です。
 
まず、ebuild-uploaderに登録されているebuild群を、ローカルのどのディレクトリに展開するのかを決定しなければなりません。
ここでは、/usr/local/portagejpに展開するものとして話を進めます。
よく分からない場合はこの例の通りに設定すると良いでしょう。
 /etc/make.confのPORTDIR_OVERLAY_JPという変数に展開先を記述します。
 
| Code listing 3.3 |  | 
PORTDIR_OVERLAY_JP="/usr/local/portagejp"
 |  
また、このディレクトリをPORTDIR_OVERLAYに加えて、
Portageがこのツリーを参照してくれるようにしなければなりません。
 
| Code listing 3.4 |  | 
PORTDIR_OVERLAY="/usr/local/portagejp /some/portdir/overlay"
 |  
これで展開先は決定できました。
 | Note: 
PORTDIR_OVERLAYをご存じでない方は、
Portageユーザガイド
をご一読下さい。
 | 
 | Important: 
PORTDIR_OVERLAYにディレクトリを追加する際、
PORTDIR_OVERLAY_JPに記述されるディレクトリを必ず最初に記述するようにして下さい。
 | 
 展開先が決定されたので、gensyncを利用するため、gentoolkit-devパッケージをインストールします。 
| Code listing 3.5 |  | 
# emerge gentoolkit-dev
 |  
gentoolkit-devのインストールが終わったら、gensyncの設定を行います。
gensyncは/etc/gensync以下に*.syncsourceというファイルを作成して利用することができます。
ここでは、/etc/gensync/ebuildjp.syncsourceというファイルを作成するものとして話を進めます。
 /etc/gensync/ebuildjp.syncsourceを作成し、内容を以下のようにして下さい。
 
| Code listing 3.6 |  | 
id="ebuildjp"
description="GentooJP ebuild project source"
rsync="rsync://ebuild.gentoo.gr.jp/gentoojp-portage"
overlay="/usr/local/portagejp"
 |  これで設定は完了です。gensyncを実行してツリーの取得を行いましょう。 
| Code listing 3.7 |  | 
# gensync ebuildjp
 |  ツリーはこのコマンドをタイプすればいつでも更新することができます。 | Note: gensyncの高度な使い方については、manページをご覧下さい。 | 
 tarボールを利用する  
ファイアウォール等の制限によりrsyncポートを使えない利用者の方向けに、
Webを利用したツリーの取得/更新方法も提供しています。
Webを利用してツリーを取得するには、
gensyncを利用する
で説明したebuild展開先の設定を行った後で以下のようにします。
 
| Code listing 3.8 |  | 
# cd /tmp
# wget http://ebuild.gentoo.gr.jp/distfiles/portagejp.tbz2
# cd /usr/local
# tar jxf /tmp/portagejp.tbz2
 |  
これで利用可能な状態になります。Webを利用してツリーの更新を行うときに必要なのは、
portagejpというパッケージをemergeすることだけです。
 
| Code listing 3.9 |  | 
# emerge portagejp
 |  
4.ebuildを利用するための設定digestの自動生成  
ebuild-uploaderには基本的にdigestファイルは添付されません。
そのため、digestファイルは自分で生成してやらなければならないことになります。
しかしPortageには、emerge時にdigestファイルを自動で生成するための機能があります。
 
その機能を有効にするために、/etc/make.confのFEATURES変数に、以下の記述を加えて下さい。
 
| Code listing 4.1 |  | 
FEATURES="digest"
 |  | Warning: 
これはdigestを自分で生成しなければならないということですが、
それはアーカイブの正当性について自分で責任を持つという意味を持ちます。
 | 
 
5.ebuildをテストする
ebuildをテストするのはとても簡単です。1度設定とツリーの展開を行った環境であれば、
 
| Code listing 5.1 |  | 
# emerge hogehoge
 |  
とするだけでテストすることができます。
この際、コンパイルが通らなかったりアプリケーションが正常に動作しなかった場合など、
不具合が発生したらebuild-uploaderの掲示板で報告を行って下さい。
もちろん、正常な動作報告もお待ちしています。
 | Note: 
過去にアップロードされたebuildの名前が本家Portageツリーのアップデートによって重なり、
結果として依存関係の不整合を引き起こすことがあります。
もしebuildJPと本家Portageツリーの不整合による不具合を発見したら、
動作/不具合報告をする
の手順に従って不具合の報告を行って下さい。
 | 
 | Warning: 
ebuild-uploaderでは誰でもが簡単にebuildを登録できるため、
システムを破壊させるようなebuildが登録されているかも知れないという可能性が常にあります。
そのような危険をはらんでいるということを考慮して、テストは慎重に行って下さい。
 | 
 
6.動作/不具合報告をする
何らかの不具合を見つけたり、正常に動作したということを報告したい場合は、
まず
ebuild-uploader
にアクセスし、報告を行いたいアプリケーションのページへ行って下さい。
下の方にコメントというセクションがありますので、
自分の名前とメッセージを書いてメッセージ送信をクリックして下さい。
 
また、投票機能を使うことで、動作したということを簡単に報告することができます。
 | Note: 
バグ報告はできるだけ的確に、簡潔に書いて下さい。内容が分かりにくいと修正が遅れる可能性があります。
 | 
 |