Martin Väth's Homepage


List of Publications

International Research Experience

Teaching Experience

->Activities on Github

Utilities and programs

->Profile on LinkedIn

->Summary at the Czech Academy of Sciences


->Valid XHTML 1.0 Transitional

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.

  • asdf.spec (for version 1.0-0; spec-release 1, December 6, 2004). Synchronize directories over slow connections.
  • bar.spec (for version 1.05-0; spec-release 1, December 6, 2004). Show information about a data transfer, i.e. display a progress bar.
  • calcoo.spec (for version 1.3.15-0; spec-release 0, December 6, 2004). A scientific calculator.
  • cons.spec (for version 2.2.0-1; spec-release 1, December 6, 2004). A software construction system, i.e. a make replacement.
  • cw.spec (for version 1.0.4; spec-release 1, December 6, 2004). An ANSI color wrapper for common commands.
  • htop.spec (for version 0.5; spec-release 0, December 9, 2004). An interactive process viewer; similar to top but easier and more powerful.
  • keychain.spec (for version 2.3.5; spec-release 0, December 6, 2004). A frontend to ssh-agent and and ssh-add.
  • par1cmdline.spec (for par-1.1-0; spec-release 0, December 6, 2004). Create and use PAR files to detect or repair damage in data. Note that meanwhile this .spec file seems to be obsoleted by the par package of SuSE9.2.
  • par2cmdline.spec (for version 0.3; spec-release 0, December 6, 2004). Create and use PAR2 files to detect or repair damage in data.
  • xbindkeys.spec (for version 1.7.1; spec-release 1, December 6, 2004). Launch shell commands with your keyboard or mouse under X.
  • xfractint.spec (for version 20.3.02; spec-release 0, December 6, 2004). The X version of the fractal image program fractint.
  • emacs.spec (for CVS Emacs-21.3.50; spec-release 5, December 6, 2004). You should uninstall emacs-auctex when you want to use this package - otherwise almost nothing will work. However, you can install the new version of auctex with the following .spec.
    With the new release of the .spec file it is also possible to create an emacs-devel package which contains the .el (emacs lisp) source files. However, this is not the default; details are explained in the comments at the beginning of the .spec file. Warning: If you used one of the previous versions of this .spec, the file /suse-start-auctex.el or /auctex-init.el was created which is neither used nor removed. Please remove this file manually.
  • auctex.spec (for auctex-11.53; spec-release 4, August 29, 2004). Use this version of auctex for the CVS Version of emacs - the SuSE auctex-package does not work with that emacs. You must uninstall emacs-auctex before you can build this package.
  • preview-latex.spec (for preview-latex-0.8.1). Patch of the .spec file which works for SuSE.
  • euler.spec (for version 1.60-2; spec-release 1, December 6, 2004). Doing mathematics interactively. This .spec file also requires that you copy euler-1.60-2.patch into /usr/src/packages/SOURCES.
  • feh.spec (for version 1.2.7; spec-release 3, December 6, 2004). Image viewer using imlib2. The package also needs giblib. Moreover, you must have installed jpeg*.src.rpm (from the original SuSE CDs).
  • giblib.spec (for version 1.2.4; spec-release 3, December 6, 2004). Library required by feh.
  • filecount.spec (for version 0.8-0; spec-release 1, December 6, 2004). Similar to find ...|wc. This .spec file also requires that you copy filecount-0.8.patch into /usr/src/packages/SOURCES.
  • make_uninstall.spec (for version 2.1.0-0; spec-release 1, December 6, 2004). Monitor and undo a make install. This .spec file also requires that you copy make_uninstall.unrpm.patch into /usr/src/packages/SOURCES.
  • xpired.spec (for version 1.2-0; spec-release 0, December 6, 2004). A game in the fashion of Boulder Dash or Sokoban. The package also needs SDL_gfx.
  • SDL_gfx.spec (for version 2.0.9-1; spec-release 0, December 6, 2004). Library for graphic operations. This library is needed by xpired.

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.