# Installing gEDA rpm packages on Fedora

gEDA/gaf applications are available in the default Fedora repositories. The Fedora packages are maintained by Chitlesh Goorah.

### Installing from Fedora repositories

It is recommended to install gEDA/gaf releases on Fedora using `yum` or `pirut`. Pirut (listed in the menu as “Add/Remove Software”) is a graphical interface for `yum`.

    yum install geda\* pcb gerbv

Note: you have to be root (`su -`) to install packages.

Each gEDA/gaf release takes one to two days to be packaged up and synchronised with the Fedora mirrors. If a release seems to be missing, you could file a bug report (Request for Enhancement, RFE) on Fedora's bugzilla asking them to update gEDA/gaf for you.

You can follow:

- the releases on Chitlesh Goorah's blog, or
- the gEDA/gaf build times on Fedora's build system

### Compile it yourself

If you want to get their hands dirty by building gEDA/gaf on Fedora, you will need to install the dependencies listed in the gEDA/gaf `README` file. They can be installed with `yum`:

    yum install libstroke-devel groff autoconf gtk2-devel gd-devel gettext-devel guile-devel

### Rebuild your own RPMs

The Fedora Project provides simple tools for anyone to rebuild RPMs from SRPMs. An SRPM contains the upstream sources, the spec file and the patches required (if any).

To be able to build RPMs, you will need a build platform, which does NOT require root access. `rpmdevtools` provides the requires tools to do so.

    yum install rpmdevtools

#### Build Platform

The build platform should be built under a NON-root account.

    fedora-buildrpmtree

You will see a `rpmbuild` folder in your `$HOME` directory. This directory will be your build platform.

#### How to get SRPMs

Fedora provides SRPM of every package it has. You can download those SRPMs using the `yumdownloader` tool from the `yum-utils` package.

    yum install yum-utils

if you don't have `yum-utils` installed already.

Download the `geda-gaf` SRPM (under a NON-root account) using:

    yumdownloader --source geda-gaf

Once the download is complete the package can be found under the current directory under the filename `geda-gaf-%{version}-%{dist}.src.rpm`, where `%{version}` is the current version of gEDA/gaf packaged by Fedora, and `%{dist}` is the current Fedora version. For example, the gEDA/gaf SRPM for Fedora 14 is called `geda-gaf-1.6.1-1.fc14.src.rpm`.

The spec file, upstream sources and distribution patches can be extracted from the SRPM using:

    rpm -ivh geda-gaf-%{version}-%{dist}.src.rpm

(I remind you that this should never be executed as root!)

You will see

- spec files will be installed in rpmbuild/SPECS
- sources, patches and desktop files will be installed in rpmbuild/SOURCES

#### Building new RPMS from new sources

First:

1. Download your new sources, as described in the previous section.
2. Edit the rpmbuild/SPECS/%{name}.spec
   1. Edit version tag
   2. Edit release tag
3. Make any other changes you require

Once the previous steps have been completed, you can compile the new RPMs.

    cd $HOME/rpmbuild/SPECS/
    rpmbuild -ba %{name}.spec

The successfully built RPMS will be found in `$HOME/rpmbuild/RPMS/`, and the corresponding SRPM in `$HOME/rpmbuild/SRPMS`.