# Installing gEDA rpm packages on SuSE

## Available rpm packages

- geda (1.6.1)
- gerbv (2.3.0)
- pcb (20091103)
- ng-spice-rework (20)
- gnucap (0.35)
- gspiceui (0.9.98)
- gwave (20090213)
- gtkwave (3.3.3)
- dinotrace (9.4a)
- verilog (0.9.1)
- wcalc (1.1)
- xgsch2pcb (0.1.3)
- electronics-menu (1.0)

## Installing Packages from the SuSE Build Service

1. Start Yast and go to “Change Installation Source”
2. Add a HTTP source with the following properties:
   - Servername: software.opensuse.org
   - Directory: /download/repositories/science/openSUSE_11.0/ (Choose the directory for your distribution)
3. Start “Install Software” in Yast, goto “Search” and look for gEDA. All packages appear.
4. Install the packages as usual.

For more informations read the generic installation notes of the OpenSuSE Build Service

You can also browse through repositories first: openSUSE_11.0 repo, openSUSE_11.1 repo. openSUSE_11.2 repo.

## Distribution specific notes

Each distribution version has it's own issues. Please read the notes below.

### openSUSE 11.0

- …

### openSUSE 11.1

- currently no electronics menu, all programs show up in the Education→Science menu
- …

### openSUSE 11.2

- currently no electronics menu, all programs show up in the Education→Science menu
- …

## Desktop Integration

This is a summary how the gEDA and other electronic packages are integrated into the desktop of openSUSE.

### Electronics Menu

Unfortunately the openSUSE distribution does not provide a electronics menu entry for all the nice gEDA programs. Peter Clifton has created a menu entry for electronics. This menu package is available in the electronics-menu rpm. It contains the menu item and some icons for it. The menu category is called Edutainment→Electronics in openSUSE.

If it is installed, it looks like this in KDE (manually combined with gimp):

### Notes about rpm spec file

openSUSE calls it's SuSEconfig program after every installation of rpm packages with YaST. Thus it's not necessary to integrate all configuration calls into the post and postun rpm sections.

The only additions in the spec files are for the Shared MIME Info. It is described in this openSUSE SUSE_Package_Conventions/Specific_Packages article.

    PreReq:       shared-mime-info
    [...]

    %post
    if test -f %{_bindir}/update-mime-database ; then
        %{_bindir}/update-mime-database %{_datadir}/mime >/dev/null
    fi

    %postun
    if test -f %{_bindir}/update-mime-database ; then
        %{_bindir}/update-mime-database %{_datadir}/mime >/dev/null
    fi

Another addition is required to install the mimelnks properly in the KDE environment. KDE does not take care of the mimelnks installed in /usr/share/mimelnk/, thus they have to be copied to the KDE directory /opt/kde3/mimelnk/. This is done in the rpm spec file inside the %install section

    %install
    %makeinstall
    kdemimedir=$(kde-config --install mime)
    if test %{_datadir} != $kdemimedir ; then
        mkdir -p $RPM_BUILD_ROOT$kdemimedir
        mv $RPM_BUILD_ROOT%{_datadir}/mimelnk/* $RPM_BUILD_ROOT$kdemimedir
        rmdir $RPM_BUILD_ROOT%{_datadir}/mimelnk
    fi

### Installing rpm packages manually

For those who don't use YaST for installation the SuSEconfig command has to be executed manually after installing or removing any rpm package. You can either call the toplevel SuSEconfig command

    /sbin/SuSEconfig

or call only the two required subconfiguration tools

    /sbin/conf.d/SuSEconfig.desktop-file-utils

which calls

    /usr/bin/update-desktop-database

and

    /sbin/conf.d/SuSEconfig.gtk2

which calls

    /usr/bin/gtk-update-icon-cache --quiet --ignore-theme-index --remove-empty-cache "$SUBDIR"