ebuild-uploader利用ガイド

  この文書では、GentooJPで運営しているebuild-uploaderの使い方を説明します。




Contents:

1. ebuild-uploaderって?

2. ebuild-uploaderを利用したアップロード

3. ツリーを同期する

4. ebuildを利用するための設定

5. ebuildをテストする

6. 動作/不具合報告をする

Author : GentooJP
Editor : 渡邊 集


Updated 27 August 2006




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や他のファイルを追加でアップロードしたい場合は以下のようにします。

  1. 左側の一覧や運営ログなどから、これから何か追加したいアプリケーションを選びます。
  2. ebuildsのテーブルの下にあるebuildの追加をクリックします。
  3. 新規登録 と同じ画面になりますので、あとは同じ手順でアップロードを行って下さい。

Note: 既にアップロードされているファイルと同一の名前を持つファイルはアップロードできませんので、 そのような場合は-r1といったリビジョンを付けるなどしてからアップロードを行って下さい。

filesディレクトリに入るべきファイルを追加登録する 

すでに登録されているパッケージに、filesディレクトリに入るべきファイルを追加でアップロードしたい場合は以下のようにします。

  1. 左側の一覧や運営ログなどから、これから何か追加したいアプリケーションを選びます。
  2. Filesのテーブルの下にあるfilesの追加をクリックします。
  3. 新規登録 の画面から「カテゴリー」「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の設定をmake.confに読み込ませます。
# layman -f
// laymanで利用可能なオーバーレイのリストを更新します。
# layman -a gentoojp
// "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.confPORTDIR_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"
// /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"
// 先程/etc/make.confのPORTDIR_OVERLAY_JPで設定した展開先を記述して下さい。

これで設定は完了です。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
// アーカイブを展開するとportagejpというディレクトリが生成されます。
// PORTDIR_OVERLAY_JPを別のディレクトリにしていた場合は適宜調整して下さい。

これで利用可能な状態になります。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: バグ報告はできるだけ的確に、簡潔に書いて下さい。内容が分かりにくいと修正が遅れる可能性があります。

Copyright© 2002-2014 Gentoo Linux Users Group Japan. All rights reserved.

このサイトはGentooJPが運営するGentoo.org非公式コミュニティサイトです。ご質問、ご意見などはこちらまで。 Email: www@gentoo.gr.jp