From Fedora Project Wiki

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 is just one of several add on repositories with RPM packages for RHEL and derivates. It is not an official repository. The different repositories serve different user bases or follow different ideas.

Just like RHEL itself, EPEL in reality is more a "downstream" in the sense that Fedora is upstream and EPEL, just like Red Hat, takes packages for its product that are constantly developed, tested and receive feedback in Fedora. Red Hat, through their sponsorship for the Fedora project and participation of Red Hat maintainers, continues to back EPEL, but Red Hat has not endorsed EPEL or commercially supported it.

The EPEL maintainers are well aware that EPEL can't serve all needs, and that other repositories are likely needed, for types of software the Fedora project won't provide, which currently includes packages for EPEL with a rolling release model or non-free and patent encumbered software.

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

There were a lot of long discussions in the months of EPEL about using repotags or not. Lots of people from inside and outside of Fedora and EPEL, as well as maintainers from other repositories, participated in those discussions. No real agreement could be found as to whether the benefits outweigh the disadvantages - part of the problem was that people sometimes couldn't agree on the benefits or disadvantages repotags have (or if there are any). The final decision in three voting sessions (one done by FESCo before EPEL had a Steering Committee and twice done by EPEL's first Steering Committee) was to go without repotags in EPEL.

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

If you want to find out if a package comes from EPEL, use a query such as this:

$ 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

Or you can install and run the 'keychecker' script to list all packages signed with a particular key as well as which repo they came from.

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

EPEL is always willing to discuss cooperation with other parties and repositories and encourages maintainers to do so whenever possible.

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

Mixing different RPM repositories that were not designed to be mixed can lead to incompatibilities that often result in dependency resolution problems in yum or up2date. Sometimes it even happens that software is not working as expected if libraries and applications come from different repositories. EPEL is designed as an add-on repository for RHEL and compatible derivatives. The best way to avoid problems is to avoid mixing EPEL with other third party repositories that have conflicting packages on the same system. Some people nevertheless do it and the yum priorities plugin can help to avoid the worst problems.

If you encounter a problem where packages from EPEL are incompatible with another repository, or lead yum or up2date to bail out during dependency resolution, please report a bug to Bugzilla and contact the maintainer of the other repositories. The EPEL project encourages its maintainers to solve such problems together with the maintainers from other repositories in order to find a solution that is acceptable for both sides. However, there is no guarantee such a solution can or will be found in every case, as technical solutions to solve a repository-mixing issue might have side-effects or drawbacks for one of the repositories involved.

EPEL への貢献

全般

誰が EPEL へ貢献しているの?

Anyone may contribute to EPEL. If you are using RHEL or compatible spin off's, and you have the required skills for maintaining packages or are willing to learn, you are welcome to contribute.

Fedora プロジェクトで活動している貢献者へ向けて特化した質問

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

You have to follow the same process as Fedora except that you can request an EPEL branch, tag, and build.

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

Please follow the usual Fedora method with a Package Change Request .

You can use the bug review for your package, or if you cannot find the bug review, you can open a new bug on the package and use that for your CVS request. Make sure and note that you are the Fedora maintainer.

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

No. You can if you want, or you can ask someone else to maintain the package in EPEL for you. In some cases, you may be approached by a current EPEL maintainer who wants to maintain your package in EPEL.

私は Fedora でパッケージをメンテナンスしていて、EPEL でも同様にメンテナンスをしたいです。しかし、テスト用の EPEL サブスクリプションを持っていないようです?

You can use a compatible derivative of RHEL for testing, it should be 100% compatible. Mock is available in Fedora and ships config files that can be used to test build the packages.

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

All Fedora packagers can request EPEL branches in CVS via the normal procedure. Please keep in mind that by building your packages in EPEL we expect that you are aware of the special EPEL guidelines and policies and that you will adhere to them. You should also plan to maintain the packages for the near future -- ideally for several years, or for the full planned lifetime of EPEL. Remember that RHEL has a planned lifetime of seven years.

You may want to look into formalizing your packaging role in your company or other organization. If you can do that, this generic job description may help. Aside from making sure that you are recognized for the value you give your organization, formal role recognition ensures that your organization has someone continuing to maintain the package, even if someone new is in the role.

For testing the packages before and after building please use RHEL if you have a subscription, or the freely available RHEL-based distros such as CentOS or Scientific Linux.

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

The plan is to have one primary maintainer per package who is responsible for making certain that the package enhancements applied to one tree (for example, EL4) find their way into the other trees (for example, Fedora devel).

This maintainer decides what makes sense to apply for the package in general. New EL branches for new EL releases are normally created from the associated Fedora branch on which the EL release is based. Therefore, the EL maintainer has a genuine interest in getting enhancements merged into Fedora.

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

Most likely they will build unchanged. However, there are specific items to consider. All your build requirements in the package must be part of RHEL5 or EPEL5.

You can maintain these packages in EPEL yourself if it was reviewed and the main Fedora packager is not interested in maintaining them for EPEL. Just request a branch for EPEL with you as the per-repo maintainer. Be sure to inform the Fedora packager.

There are also some packages that are only part of RHEL Server, while others are only part of RHEL Desktop. Since RHEL-ppc is only available as Server you can't use the packages that are only part of the client as BuildRequires. In that case, you will probably need to add arch specific conditionals to your spec file.

Here is a list of packages that are only part of the client:

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

These are only part of the 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

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

You will need to request a buildroot override in the rel-eng trac instance. This will allow you to build against the other newly built package. You can file a ticket at: https://fedorahosted.org/rel-eng/newticket. You should do your build and then request the override be removed when you no longer need it or when your package reaches the stable repository. Packages in the stable repository are automatically added to the build root.

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

Look at the rebuilds trees such as CentOS, or browse the SRPMs for RHEL. EPEL will not ship a package that is in the RHEL Advanced platform set. This is basically anything in the server or workstation for RHEL5, and anything in base RHEL4. This would be: [ftp.redhat.com:/pub/redhat/linux/enterprise/4/en/os RHEL4] and [ftp.redhat.com:/pub/redhat/linux/enterprise/5Client RHEL5-Client] and [ftp.redhat.com:/pub/redhat/linux/enterprise/5Server RHEL5-Server]

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

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

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

The packages from Fedora Core and Extras 3 are a good starting base for EPEL 4. The packages from Fedora Extras 3 were rebuilt for EL4 and shipped by a external repository at centos.karan.org . They are a good base to start from as it is already tested in the wild and will likely work. Consider looking there for additional fixes before building your package for EPEL4. It is recommended that you coordinate with the repository maintainers to share any ideas and fixes.

その他

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 チームへ連絡してください。