Adding user repositories in Fedora 15

We are now taking our first steps with Fedora 15 after having decided to move on from Ubuntu.

Most of the stuff is familiar, with some different applications showing up in place of the usual Ubuntu/Debian ones. One such case is the Fedora package manager, yum, which is used instead of apt.

Migrating from apt to yum is a smooth process — we were easily installing and reviewing packages after a couple of minutes. However, we were wondering if there was any equivalent to Ubuntu PPA’s — a way to host custom repositories where the most cutting-edge software versions live.

Our workflow grew dependent on the development versions of a few programs, most important of which are Gimp and Scribus. The version of Gimp in the Fedora repos comes from the stable 2.6 series, and we immediately missed the single-window mode in the Gimp 2.7 development branch. Same with Scribus: the stable, included version is 1.3.9, whereas we work almost exclusively with the 1.4.0 series (particularly in Libre Graphics Magazine).

Thankfully, there is a way! All the information on the repositories to use are inside the /etc/yum.repos.d directory. If we want to add one, we just need to place a special .repo file inside that directory, which is a simple file pointing to the place where the actual package files can be fetched. Here's an example of mrdocs's Scribus repo file:

[home_mrdocs] name=mrdocs's Home Project (Fedora_15) type=rpm-md baseurl= gpgcheck=1 gpgkey= enabled=1

Here are links to the .repo files that we currently use for various kinds of software. We are running this on Fedora 15, your mileage may vary.

  • Gimp 2.7 series (repo file) This one gave us a little trouble — we replaced $basearch for i386 inside the file, and all was good.
  • Scribus 1.4.0 series (repo file)
  • Gpick, an awesome palette manager (repo file)
  • Google Chrome (page with repo file)

Once you have downloaded all the files, move them to /etc/yum.repos.d, and feel free to rename them — we named ours gimp.repo, scribus.repo, etc. for clarity.

All that’s left is playing around with yum install now.