/!\ This project is a work in progress, if you are intested in joining the project please get on the mailing lists. So long as this message is visible, everything stated here may change, so if you really need to know the answer to a question, ask on the development list.

We will probably want separate FAQs for users, developers, and packagers at some point, but I'm combining everything here for now.

Frequently Asked Questions

What is rpmrepo?

Rpmrepo is a supplemental package repository for GNU/Linux distributions that use the RPM (Red Hat Package Manager) package format.

Which Distributions Do You Support?

Final list to come, but probably Red Hat Enterprise Linux, CentOS, Scientific Linux, and Fedora, to start.

What Architectures Does rpmrepo Support?

At the very least, i386 and x86_64 (i.e., 32-bit and 64-bit Intel and AMD processor machines).

Other possible supported architectures include ppc and ppc64 (32-bit and 64-bit PowerPC); s390 (IBM mainframe); sparc or sparc64 (Sun SPARC); mips; arm. I'm not sure exactly which architectures the base distros support; I added some extra ones from Debian.

Does rpmrepo Do Multilib Support?

Where necessary, rpmrepo will provide both 32-bit and 64-bit packages. We plan to favor 64-bit packages for 64-bit architectures, however, only supplying 32-bit packages when a 64-bit package is not available (because, for example, it is not possible for us to build a 64-bit package).

Package Replacement Policy

In some cases it's useful to have newer versions of packages that are part of your operating system. Those packages may include new functionality or might be required to support other packages. But replacing system packages can be risky for the system as a whole (especially if you have support from an operating-system distributor for your base operating system).

Rpmrepo plans to tag packages with metadata that can be used to determine whether an rpmrepo package can replace an existing package. There are also other mechanisms, such as the Yum priorities and protectbase plugins, that can help you allow or prevent packages on your system from being replaced by rpmrepo packages.

Package Update Policy

Rpmrepo expects to keep packages updated to use the most recent versions of released software, subject to the amount of work necessary to build packages for older systems. (As upstream developers make changes to their software, they tend to build it against new versions of libraries and other dependencies, and to incorporate new features that are made available by their development environment. Over time, many software packages will begin to require newer versions of many other packages to be built in order for them to work on older systems. These supplemental packages will often be newer versions of other system software, which will require replacement of the older versions of the software on an older system, which, in turn, can require you to replace other packages that depend on those packages. Assuming that you're willing to accept the replacement of system software in the first place, at some point the number of packages that need to be replaced is so large that you would be better off upgrading your machine to a newer version of the operating system.)

I Want the Latest Bleeding-Edge Packages -- Can I Get Them from rpmrepo?

We plan to have several views on our package pool, including (names not final)

Packages in Stable should work with the rest of the packages in Stable. Packages in Testing/Unstable should work with other packages in that package set, but may not work in Stable (without other packages from Testing/Unstable). Packages in Development/Playpen may or may not work.

Patent or Other IP Issues

Still in progress. We are planning on having metadata tags to subset the repository to meet the requirements of various intellectual property regimes. Thus a package that is patent encumbered in one or more countries can be tagged to prevent it from being available in those countries.

Compatibility with Other Repositories

Rpmrepo strives to be compatible with other repositories so that it is possible to mix and match packages from different repositories, but doing so requires that the maintainers of these repositories be willing to work with us to make this possible. Please report problems with particular packages to the package maintainer.

What Packages Are Available from rpmrepo?

List to come....

How Can I Install Packages from rpmrepo?

Rpmrepo will support some of the most popular package-management tools for RPM-based distributions. In particular, we will probably support YUM, which is the standard package-management tool in CentOS and Fedora, and APT, a package-management tool originally developed for the Debian GNU/Linux distribution that has been ported to support RPM-based distributions as well.

How Can I Tell Whether a Package I Downloaded Came from rpmrepo? And What Distro Will It Work With?

Rpmrepo packages will include repotags and disttags in the name of the downloaded file. So, for example, a package might be named foo-bar-1.34-3.rpmrepo.el5.i386.rpm, which tells you that the name of the package is foo-bar, it's version 1.34 of the upstream source, and release 3 of the package. rpmrepo tells you it came from rpmrepo, and el5 indicates that it's suitable for version 5 of one of the enterprise-linux variants (e.g., CentOS 5). The i386 tells you that the package was built for the 32-bit Intel architecture.

This information, and much more, is also available from a package's metadata. You can view package metadata by running rpm -q foo for an installed package foo or rpm -qp foo-bar-1.34-3.rpmrepo.el5.i386.rpm for a downloaded foo-bar package.

Not sure if these sample package names are quite what we'll have, but they're a start.

I Found a Problem in One of Your Packages -- How Can I Report It?

We will have a bug-tracking system (probably Trac) to allow users to report problems with particular packages, the website, the repository, and so forth in the near future.

I Want to Build Some of Your Packages with My Own Modifications -- Can I Do That?

We expect to allow users to download our specfiles from some source-control management system (possibly Subversion, Mercurial, Git). Depending on the system we use, you will be able to use some distributed source-control system to maintain your own separate tree, but still be able to merge in our changes from time to time. (For example, if we use Subversion, options include gitsvn and svk.)

Who's Behind rpmrepo?

Rpmrepo is a collaborative, community-based project. Participants include developers from the CentOS and Scientific Linux distribution projects as well as other major RPM software packagers and repository maintainers such as RPMforge, Dag Wieers, and ATrpms, as well as a number of additional developers and packagers. See our contributor list for more details. If there are other "major players" missing, please add them -- I'm not sure exactly how the various individuals I see posting and on the People page correspond to larger projects. I know that Dag and RPMforge overlap, but I'm not sure how much. -- CMC

How Can I Help?

If you're already maintaining some packages in RPM format, you can join the mailing lists and see what's happening and how you can fit in. Once things are up and running, we'll probably formalize the recruitment process a bit and also probably make things a bit clearer.

How Do I Write rpmrepo?

The project prefers to be referred to as "rpmrepo", in all lowercase. (But it's okay to capitalize the name when it appears at the start of a sentence!)

cconnelly/FrequentlyAskedQuestions (last edited 2007-10-19 23:38:44 by cconnelly)