Some .spec Files for SuSE 9.2 by M. Väth

Last changes: December 9, 2004

On this page there are .spec files for some software projects; they might be useful to you if you want to have .rpm and (.src.rpm) files for the corresponding projects on SuSE. Of course, these files might also work on other systems, but they are only tested with SuSE9.2.

The general instructions for all of these .spec files are as follows:

  1. Get the corresponding source tar-ball for the mentioned version number from somewhere else. Sometimes, an address is given in the .spec file, but do not count on that. Most projects can be found via freshmeat or sourceforge; or use some internet searching machine to find them.
  2. Usually, you must repack the archive into .tar.bz2. When you do so, you save some more space if you strip the main directory name (i.e. if you would unpack the new archive, then most of the files go into your current directory). If you have installed my archwrap tools, you can simply do this by typing
    • u -T Name_of_the_downloaded_archive followed by
    • tbzd -T -X Name_of_the_unpacked_directory
    (the option -T is only necessary for some archives which contain filenames of incredible length to have compatibility with GNU tar).
    The .spec files should work no matter whether you strip the main directory name or not. However, if you have the source in .tar.gz format (instead of .tar.bz2), you have to modify the name in the Source0: entry correspondingly.
  3. Copy the (repacked) archive into /usr/src/packages/SOURCES and the .spec-file into /usr/src/packages/SPECS; change into the latter directory and type (for security reasons I very strongly suggest that you are not root when you do this - all .spec-files are tested only with the automatic changeroot-environment):
    • rpmbuild -bs Name_of_the_spec_file to build the .src.rpm which you will find afterwards in /usr/src/packages/SRPMS
    • rpmbuild -bb Name_of_the_spec_file (possibly with the option --target=architecture where architecture is e.g. athlon or i686) to build the binary .rpm (which you can install later). You will find the generated file(s) afterwards in the appropriate subdirectory of /usr/src/packages/RPMS. You might have to install further -devel.rpm packages to do this step successfully (if problems occur, the pin program might give hints which packages are missing).
    • rpmbuild -bb --define "fake 1" Name_of_the_spec_file if you only want to redo the actual installation and packaging but not the compilation (because this has e.g. stopped because of errors and you managed to compile afterwards by hand).
  4. After a succesfull build you might want to clean up the directories below /usr/src/packages (in particular, the subdirectory BUILD, or you pass the corresponding --clean option to rpmbuild).

A list of some .spec files follows. Please note that the existence of some .spec file here does not mean that I am further involved with the corresponding software project. In particular, I am not the right person to ask questions about these projects: I only wrote the .spec files to test these projects for myself, and provide these files to anybody who wants to do the same. Of course, bug reports about the .spec files are welcome.

The dates always correspond to the last update of the .spec file - the corresponding versions of the actual projects usually have a much older date, and meanwhile newer versions of the porject could be available. It may happen that the .spec file works with older or newer versions of the project, too, but I usually tested it only with the mentioned version. If you use a .spec file with a different version of a project, you should at least edit the version (and release) numbers in the .spec file correspondingly to avoid confusion.

The following .spec files for the gtkmm2.4 project and related libraries are for SuSE9.2. They have been written with much care, because earlier versions of these libraries exist already in SuSE9.2.

These .spec files are written in such a way that they can be installed parallel (and parallel to the packages of the SuSE9.2 distribution). Therefore, they have strange names like libsigc++2.0 (i.e. 2.0 is part of the name, not part of the version number and although libsigc++2 exists already in SuSE9.2). Nevertheless, RPMs requiring e.g. "libsigc++ >= 1.2" will understand correctly that this version is installed.

In contrast to the original .spec files of the projects, I have decided for most of the libraries to put the lengthy documentation into separate packages: The original .spec files would have put it into the -devel packages; this does not appear right to me, because you do not necessarily need the documentation if you just want to compile a program which uses the libraries.

To Martin Väth's main download page

Activities on Github

Visit Martin Väth's homepage


List of publications

International research experience

Teaching experience

Martin Väth's Homepage at the Czech Academy of Sciences