From Fedora Project Wiki

< EPEL‎ | FAQ

Revision as of 01:20, 11 May 2010 by T2y (talk | contribs) (RHEL4 向けのベースとして旧バージョンか新バージョンのどちらを採用すべきですか?)

Contents

EPEL とは何?

エンタープライズ Linux 用の拡張パッケージ(EPEL) は、 Red Hat Enterprise Linux (RHEL) 向けの高品質なアドオンパッケージであり、CentOS や Scientific Linux (SL) のような RHEL からスピンオフしたディストリビューションと互換性のある、Fedora プロジェクトで有志によって作成されたパッケージになります。Fedora は RHEL のアップストリームであり、EPEL のアドオンパッケージは主に RHEL 向けにビルドされた Fedora リポジトリをソースとしています。

Fedora パッケージングコミュニティの一部として、EPEL パッケージは 100% フリーなオープンソースソフトウェアです(FLOSS)。

Fedora プロジェクトはどうして EPEL のスポンサーをしてるの?

多くの Fedora やエンタープライズ Linux の貢献者たちとユーザが EPEL パッケージを提供するために Fedora プロジェクトで作業したいと考えています。

Fedora プロジェクトは自分たちのインフラにも EPEL パッケージを使用しているので EPEL パッケージのユーザの1人です。Fedora プロジェクトは RHEL で提供されていないソフトウェアの一部が必要とされていることを知ることができるポジションにあり、また、そのことに関して何かをするための唯一のポジションでもあります。RHEL は Fedora から派生したものではありますが、RHEL に含まれるパッケージは Fedora から派生したパッケージの一部を商用サポートしているに過ぎません。EPEL プロジェクトのスポンサーになることによって Fedora の貢献者やユーザは多くの手段を得ることができます。

EPEL は Red Hat が商用サポートしてるの?

いいえ、していません。EPEL は Fedora コミュニティからの有志によって作成されたものです。ちょうど Fedora のように、Red Hat はこのプロジェクトのインフラをホスティングしていて、Red Hat のエンジニアはメンテナやリーダーとして関わりますが、EPEL パッケージには Red Hat が提供する SLA(Service Level Agreement) や商用サポートはありません。

EPEL プロジェクトが提供するパッケージは RHEL や互換ディストリビューションのどのリリース向けですか?

EPEL プロジェクトは RHEL 5.x と 4.x リリースと互換ディストリビューションのアドオンパッケージを提供します。RHEL 3 や 2.1 向けのパッケージは、errata support policy によると、メンテナンスフェーズになるので提供されていません。Fedora をベースとするパッケージは、適切にメンテナンスするのが難しい RHEL 3 や 2.1 のリリースで利用できる古いバージョンのパッケージをビルドしないでしょう。

EPEL は RHEL や互換ディストリビューション向けの他のサードパーティリポジトリとどう違いますか?

  • ほとんどの EPEL パッケージは Fedora リポジトリの同等パッケージから派生したものか、ビルドされたパッケージで、同じ人によってメンテナンスされています。エンドユーザからのフィードバックやテスト、仲間のレビューを通じて改良もされています。
  • EPEL に付属するよく知られたドキュメントは Fedora パッケージングガイドラインは、RHEL が始めたものです。これは優れたインテグレーションであることを保証します。
  • EPEL は純粋にフリーなアドオンリポジトリですが、RHEL や階層プロダクトのパッケージを置き換えるものではありません。
  • EPEL はリポジトリをメンテナンスする Red Hat エンジニアと有志のコミュニティメンバーを含む大きな貢献者のチームがあります。
  • EPEL は特許や法的問題がないフリーでオープンソースソフトウェアのみを提供します。

EPEL パッケージは RHEL や互換ディストリビューションのみで利用可能なものですか?

パッケージは自由に利用可能です。プロジェクトの明確な目的は CentOS や Scientific Linux のような RHEL ベースのディストリジューションで利用できるようにすることです。

EPEL は RHEL や階層プロダクトが提供しているパッケージを置き換えるものですか?

いいえ、違います。EPEL はアドオンパッケージを提供するための純粋にフリーなリポジトリです。

EPEL に存在するパッケージの更新に関するポリシーはどのようなものですか?

詳細は EPEL パッケージのメンテナンスと更新ポリシーを参照してください。

Fedora プロジェクトは EPEL パッケージの品質をどのように保証しますか?

リポジトリへパッケージが追加される前に広範囲なパッケージングガイドラインの項目を満たしているかを仲間内でレビューします。唯一、重要なバグ修正の更新だけは直接的に安定板のリポジトリへ追加されます。その他の更新はエンタープライズ Linux の更新スケジュールと並行して、先ずテスト用のリポジトリへ置かれ、その後 EPEL の予定されたスケジュールに沿ってリリースされます。パッケージは Fedora でもよくテストされます。Fedora パッケージングガイドラインと QA チームは、このような全ての作業を支援して、エラーが発生しないように手伝ってくれます。また、さらに厳しい QA ポリシーのための議論も行います。どうか我々に加わって、協力してください。

EPEL パッケージはどのぐらいの期間に対して更新されていますか?

EPEL パッケージの更新は RHEL のリリースがサポートされている期間に対応するよう計画されています。現在の errata support policy によると、初期リリース後、7年間になります。

あるディストリビューション向けにビルドされたパッケージをそのディストリビューションのEOL(エンドオブライフ)までに誰かがパッケージをメンテナンスしてくれることを保証できますか?

唯一の確実な方法は、あなたがメンテナンスを行うことです。そもそも EPEL が始まった理由は偶然にもそういった経緯からです。

EPEL に存在するパッケージは基本的に有志でメンテナンスされています。パッケージが継続的に利用可能である状態をあなたが望むなら、直接、EPEL プロジェクトに参加してメンテナンスを行ってください。経験豊富なメンテナがあなたのパッケージのレビューを手伝ってくれるでしょう。そして、あなたはパッケージングについて学ぶことができます。あなたがそれをできるなら、職務欄の一部にパッケージング業務を書くことができます。職務欄へ追加するための基本事項は 一般的な作業内容に記載されている内容です。

リポジトリにあるパッケージのメンテナンスをしてくれる多くの貢献者と共にこの健全なプロジェクトにすることに全力を尽くしてきました。そして、作成されたリポジトリは全体として、RHEL がそのディストリビューションのバージョンのサポートを中止するまで続けられます。これは(現在では)7年間になります。7年間もの長期間に渡ると、色んな出来事が起こるでしょう。このプロジェクトの成功には、あなたの参加が不可欠です。

私の所属する ISV/IHV が EPEL にあるパッケージのメンテナンスを望む場合はどうなりますか?

ソフトウェアやハードウェアベンダは EPEL に参加することが推奨されます。詳細は ISV/IHV からの視点を参照してください。

EPEL を利用する

EPEL リポジトリからどうやってパッケージをインストールしますか?

RHEL4RHEL5 に RPM パッケージのリポジトリがあります。

リポジトリパッケージは yumup2date を使用するための repo ファイルをインストールします。その後、EPEL リポジトリも含めて、通常の方法でパッケージをインストールすることができます。

su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm'
...
su -c 'yum install foo'

リポジトリはどこにありますか?

EPEL パッケージは master mirror にあります。ミラーサイトは mirror list にあります。

どこでヘルプや報告されている問題を見つけることができます?

epel-devel-list や Freenode IRC の #epel チャンネルでヘルプや問題を議論することができます。bugzilla を通じて EPEL へ問題を報告してください。

どうやってそのパッケージが EPEL パッケージだと分かりますか?

全ての EPEL パッケージは EPEL gpg-key で署名されています。公開鍵 id 217521F6 は epel-release パッケージの一部です。yum は EPEL パッケージを最初にインストールするときに公開鍵をインポートするかをあなたに尋ねます。

EPEL は (Fedora Extras であったのような) の"アップストリーム" や "公式パッケージリポジトリ" ですか?

EPEL は RHEL や互換ディストリビューションの RPM パッケージの幾つかあるアドオンリポジトリの1つです。EPEL は公式リポジトリではありません。そういった違うリポジトリは違う目的やユーザベースを担います。

ちょうど RHEL 自身のような、実際の EPEL は Fedora がアップストリームであれば "ダウンストリーム" になります。EPEL は RHEL と同様、Fedora で常に開発、テスト、フィードバックを受けているパッケージを自身のプロダクトに取り込みます。Red Hat は Fedora プロジェクトへの資金援助や Red Hat メンテナの参加を通じて EPEL にも還元しますが、Red Hat が EPEL を保証したり、商用サポートすることはありません。

EPEL メンテナは EPEL が全てのニーズを満たすことができないということをよく分かっています。そのため、他のリポジトリが Fedora プロジェクトでは提供しないソフトウェアのために必要とされています。他のリポジトリでは、現在、ローリングリリースモデルによる EPEL 向けのパッケージか、フリーではない特許が関連するソフトウェアを提供します。

EPEL は repotags を利用しないのですか?

EPEL の初期に repotags を利用するかどうかについて、長時間の議論がありました。Fedora と EPEL の内外の多くのメンバーが、他のリポジトリのメンテナ同様、その議論に参加しました。その恩恵が不便な点を上回るような、本当の意味での同意が誰にも得られませんでした。その問題の一部には repotags が持っている(又はそれ以外)恩恵や不便な点が議論に参加したメンバーは同意しないことがあったからです。最終的に3回の投票(1回目は EPEL 運営委員会が発足する前の FESCo によるもの、後の2回は EPEL 運営委員会)を行って EPEL では repotags を利用しないことに決定しました。

あるパッケージが EPEL リポジトリのパッケージなら、どうやって分かりますか?

EPEL 由来のパッケージであるかどうかを調べるには、次のようなクエリを実行してください:

$ rpm -qp foo-0.1-5.el5.i386.rpm --qf '%{NAME}-%{VERSION}-%{RELEASE} %{VENDOR}\n'
foo-0.1-5.el5 Fedora Project
$ rpm -qp foo-0.1-5.el5.i386.rpm --qf '%{NAME}-%{VERSION}-%{RELEASE} %{DISTRIBUTION}\n'
foo-0.1-5.el5 Extras Packages for Enterprise Linux
$ rpm -qp foo-0.1-5.el5.i386.rpm --qf '%{NAME}-%{VERSION}-%{RELEASE} %{SIGGPG}\n'
foo-0.1-5.el5 883f030500468e3e4e119cc036217521f611025863009f5fe424c6fe4bc81a57f45722e465e71381dda2f6009f7c08e1743794b5b9a5a4cd149081092801a5d935

あるいは、提供されたリポジトリの公開鍵で署名された全パッケージをリスト化する 'keychecker' スクリプトをインストールして実行することもできます。

EPEL は他のサードパーティリポジトリと協調しようとしますか?

EPEL はいつも他のチームやリポジトリと協調しようと議論していて、可能な限りそうするようにメンテナへ推奨しています。

他のサードパーティリポジトリとの互換性についてはどうですか?

もともと混在させるように設計されていない別々の RPM リポジトリを混在させると、yum や up2date による依存解決の問題を発生させる非互換な状態を招きます。ライブラリやアプリケーションが違うリポジトリから取得した場合、期待したように動作しないソフトウェアも時々あります。EPEL は RHEL や互換ディストリビューションへのアドオンリポジトリとして設計されています。問題を避けるための最善の方法は、同じシステム上で競合するパッケージを持つサードパーティリポジトリを EPEL と混在させないことです。そうは言っても、人によっては混在させたい場合もあるので、yum priorities プラグインが最悪の問題を避けるために役立つでしょう。

EPEL のパッケージが他のリポジトリと非互換、又は yum や up2date が依存解決中に失敗する問題に遭遇したなら、Bugzilla にバグ登録して、他のリポジトリのメンテナへも連絡を取るようにしてください。EPEL プロジェクトは問題解決のために自身のメンテナと他のリポジトリのメンテナと一緒になって、双方の側で受け入れられる解決策を探そうとします。しかしながら、そのような解決策がいつも見つかるという保証はありません。リポジトリ混在問題の技術的な解決策は、リポジトリの一方に障害や副作用をもたらすかもしれないからです。

EPEL への貢献

全般

どんな人が EPEL に貢献できるの?

誰もが EPEL に貢献できるでしょう。あなたが RHEL や互換ディストリビューションを使用していて、パッケージメンテナンスのスキルを持っているか自らそれらを学ぶ意欲があるなら、いつでもプロジェクトに参加してください。

Fedora プロジェクトで既に活動している貢献者向けへの質問

EPEL へパッケージを追加するにはどうすれば良いですか?

EPEL branch/tag/build にリクエストできるパッケージ以外は Fedora と同じ プロセスに従う必要があります。

既存の Fedora パッケージのために EPEL ブランチをどうやってリクエストすれば良いですか?

Package Change Request で説明されている Fedora の通常方法に従ってください。あなたは自分のパッケージのバグレビューを使用することができます。あるいは、もしバグレビューを見つけられなかったら、そのパッケージのバグ登録を行って CVS リクエストのためにバグレビューを利用してください。あなたは Fedora メンテナでもあることを忘れないように注意してください。

私は Fedora でパッケージをメンテナンスしています。EPEL でも同様にメンテナンスしなければならないのですか?

いいえ。あなたがメンテナンスしたいならやってください。あるいは誰かに EPEL のパッケージのメンテナンスを依頼することもできます。時には EPEL であなたのパッケージをメンテナンスしたい EPEL のメンテナから連絡があるかもしれません。

私は Fedora でパッケージをメンテナンスしていて、EPEL でも同様にメンテナンスをしたいです。しかし、テストをするための RHEL サブスクリプションがありません

テストをするために RHEL の互換ディストリビューションを利用することできます。それは 100% 互換性があります。Fedora では Mock が利用可能で、パッケージをテストビルドするために使用される config ファイルが提供されています。

私は Fedora の貢献者で EPEL でも同様にメンテナンスをしたいです。私は何をしなければならなくて、EPEL プロジェクトは私に何を期待していますか?

全ての Fedora パッケージャは通常方法で CVS に EPEL ブランチをリクエストすることができます。自分のパッケージを EPEL でビルドするにあたって EPEL に特化したガイドラインとポリシーを承諾していると見なすので注意してください。また、EPEL のライフサイクル期間や数年間に及ぶ今後のパッケージメンテナンス計画を立てるべきです。RHEL のライフサイクルは7年間を予定していることを覚えておいてください。

あなたは自分の会社や組織で行うパッケージングの役割を正式なお仕事にしたいと考えるかもしれません。もし、そうできるなら、 一般的な作業内容が役に立つでしょう。自分の組織にパッケージング作業は価値があると認識されます。さらに新しい人がその役割になったとしても、組織内で継続的にパッケージをメンテナンスする人が必要であることが確認されます。

ビルド作業の前後におけるパッケージテストのために RHEL のサブスクリプション登録があるなら RHEL を、又は CentOS や Scientific Linux のようなフリーな互換ディストリビューションを利用してください。

EPEL と Fedora に存在するパッケージを分割しないようにするにはどうすれば良いですか?

1つのツリー(例えば、RHEL4)に適用されるパッケージの機能拡張が他のツリー(例えば、Fedora devel)へ追加されるように確認することに責任を持つ主メンテナを持つ計画があります。

このメンテナがどのような拡張方法が普通に理解出来るかを決定します。新たなリリース向けの RHEL ブランチは普通は RHEL リリースのベースにするための Fedora ブランチから作成されます。そのため、RHEL メンテナは Fedora にマージされた機能拡張を後で取り込むことに対して真面目に取り組んでいます。

Fedora から持ってきた私のパッケージは RHEL5 で何も変更せずシンプルにビルドしても良いですか?

多くのパッケージは何も変更せずにビルドできるでしょう。しかしながら、注意が必要なパッケージもあります。全てのビルドに必要な依存パッケージは RHEL5 か EPEL5 に含まれる必要があります。

もし EPEL のメンテナンスに興味がない Fedora の主パッケージャにレビュー済みのものであれば、あなたがこれらのパッケージをメンテナンスすることができます。あなたが per-repo メンテナとして EPEL 用のブランチをリクエストしてください。必ず Fedora パッケージャへ連絡するようにしてください。

また、RHEL Server では提供されていなくて、RHEL Desktop でのみ提供されているパッケージも幾つかあります。RHEL-ppc は Server しか提供されていないので BuildRequires として Desktop のみのパッケージを利用することができません。そのような場合、spec ファイルにアーキテクチャ独自の条件を追加する必要があるでしょう。

ここに Desktop でのみ提供されているパッケージのリストがあります。

compiz
ekiga
evolution
evolution-connector
evolution-webcal
fribidi
gaim
gnome-games
gnome-pilot
gnome-pilot-conduits
gnome-spell
gnome-user-share
hsqldb
jpilot
k3b
kdeaddons
kdegames
kdegraphics
kdemultimedia
kdepim
launchmail
libgpod
libsilc
libwpd
nautilus-sendto
opal
openoffice.org
perl-Archive-Zip
pilot-link
planner
pwlib
python-imaging
redhat-release-5Client
redhat-release-notes-5Client-5
rhythmbox
scribus
taskjuggler
thunderbird

Server でのみ提供されているパッケージです。

Cluster_Administration
clustermon
compat-gcc-295
conga
elilo
gfs-kmod
gfs-kmod
gfs-utils
Global_File_System
gnbd
gnbd-kmod
gnbd-kmod
iprutils
ipvsadm
libica
librtas
libunwind
lvm2-cluster
openssl-ibmca
piranha
ppc64-utils
prctl
redhat-release-5Server
redhat-release-notes-5Server-5
rgmanager
s390utils
salinfo
system-config-cluster
yaboot

私は、ちょうど自分で追加したパッケージが他のパッケージを要求するように変更され、そのパッケージをビルドする必要があります。どうやってこれを行えば良いですか?

あなたは rel-eng Trac で buildroot を上書きするように要求する必要があるでしょう。これは新たにビルドされたパッケージに対してビルドを許可するようにします。https://fedorahosted.org/rel-eng/newticket でチケットを登録することができます。ビルドしたパッケージを今後は必要としなくなったとき、又はあなたのパッケージが安定板リポジトリへ追加されるときに、ビルドしたパッケージを削除するように再度、上書きを要求すべきです。安定板リポジトリのパッケージは自動的に buildroot へ追加されます。

どのパッケージが EPEL に存在するかはどうやって分かりますか?

RHEL の browse the SRPMs や CentOS のようなリビルドされたツリーを確認してください。EPEL は RHEL の拡張プラットホームで提供されているパッケージは提供しません。基本的には RHEL5 のサーバ/ワークステーション向けと RHEL4 のベースになります。これらのパッケージは RHEL4RHEL5-ClientRHEL5-Server にあります。

私は EPEL 向けのパッケージをビルドしたいですが、そのパッケージと依存性があるパッケージは EPEL でまだ利用可能になっていません。又は EPEL でまだ利用可能ではない Fedora のパッケージを知りたいです。

EPEL に存在する Fedora パッケージの取得方法を参照してください。

EPEL4 向けのベースとして旧バージョンか新バージョンのどちらを採用すべきですか?

Fedora Core からのパッケージと Extras3 は EPEL4 向けのベースとして始まりました。Fedora Extras3 からのパッケージは RHEL4 向けにリビルドされたもので、centos.karan.org にある外部リポジトリによって提供されました。大雑把にテストされて、おそらくは動くだろうというところから始めて優れたベースとなりました。EPEL4 のパッケージをビルドする前にそこにある追加の変更内容を探すようにしてください。どのようなアイディアや変更であっても共有するためにリポジトリメンテナへ相談することをお奨めします。

その他

EPEL にあるパッケージを取得したいです。どうすれば良いですか?

Get it into Fedora and tested by users for a while. Once it has been tested, it can be pushed to EPEL. In other words: create a package, propose the package for review via bugzilla, get it reviewed and approved, and import it into Fedora. After that, request an EPEL branch for your package.

Fedora ではなく EPEL にあるパッケージのみを取得するのは可能ですか?

Simply go through the review process for Fedora and specify only EL targets for the initial import. But note that maintaining packages in Fedora has many advantages for you, you should consider maintaining the package in both Fedora and EPEL.

EPEL から削除されたパッケージを取得するのはどうすれば良いですか?

We don't normally remove packages that have already shipped, but if, for example, you build something for EPEL-testing and notice crucial deps are missing we can remove it. Send a mail to epel_signers-members AT fedoraproject DOT org.

EPEL の通常プロセスの更新パッケージをすぐに取得する必要があるときはどうすれば良いですか?

Please do not try and push your packages directly to stable unless they are security updates or critical bug fixes. This is enforced by epel rel-eng/signers who will change your request to testing unless your update meets the criteria for pushing to stable.

Normal updates MUST spend at least 2 weeks in testing before being pushed to stable. After the initial two weeks you can decide to request stable or let the update wait until it gets sufficient karma in bodhi before pushing.

ゲームや同種のパッケージは厳密にはエンタープライズユーザを対象としていないのですか?

Yes. There are people that use EL distributions on their home desktop or similar scenarios because Fedora's release and updates cycle is faster than required for them. Some of those people want to play games or use other non-enterprise oriented software. Having such packages in the repository doesn't affect anyone that uses EL distributions for other needs.

RHEL が提供していない全ての Fedora パッケージを単純にビルドしないのはどうしてですか?

We require maintainers to take ownership and commit to maintaining the packages in the long term. Merely rebuilding all the packages automatically has higher potential for packages being broken or orphaned.

ここに質問が見当たらない?

EPEL チームへ連絡してください。