Linux/OSS : RPM spec files
This page is almost completely obsolete; I now use and contribute to the Fedora Project including EPEL. See the packages I maintain.
I'm a great fan of RPMs; the RPM system is a brilliant way to keep your system in order. In particular, on critical servers it's crucial that your system is organised and that the result of program/library updates is as predictable and reliable as possible, and that's where RPMs really come into their own.
Unfortunately, not all programs are distributed with RPM specification (spec) files. Since I like to keep my systems 'RPMified', I generally make spec files for programs that I install if they don't have them, so that I can compile/build them as RPMs. Therefore, I've put this page together in order to make available some of the spec files that I've created in the hope that they will be useful to others.
I don't claim that these spec files are the best or most perfect spec files. Some (e.g. PHP) are already made available from other sources (e.g. Red Hat) and my version is considerably less generic. But you might well find mine much simpler if your needs are similar to mine. All are tested on (and many are biased towards) Red Hat 7.2 and/or 7.3 and may need modifications for other systems.
Server daemons
| Package | Version | Spec file | Notes |
|---|---|---|---|
| monit | 4.3 | monit.spec | Service monitoring daemon. |
| Qpopper (standalone mode) | 4.0.5 | qpopper.spec | Can now build as non-root. Includes a SysV init file, config file and manpage support. Compiles by default as standalone server. Requires qpopper.init. |
| Qpopper (inetd mode) | 4.0.4 | qpopper-inetd.spec | As above, but this spec file is better if you prefer to run Qpopper from inetd/xinetd - it compiles by default without the --enable-standalone option, and omits the SysV init/chkconfig stuff. |
| sophie (v3) | 3.03 | sophie3.spec | Use in conjunction with the Sophos spec below. You'll also need sophie.init. |
| sophie (v1) | 1.42 | sophie.spec | Version of the above for the old (v1.x) series of sophie. You'll also need sophie.init. |
| Sophos Antivirus | 3.70 | sophos.spec | Replaces my libsavi spec; ideal for use with the sophie spec above. Includes the shared library, config file, virus data file, InterCheck daemon and Sophos Sweep. Latest version no longer needs an external sav.conf to build; it's generated automatically. The InterCheck support is not well-developed. |
PHP and related packages
| Package | Version | Spec file | Notes |
|---|---|---|---|
| PHP manual | 20031102 | phpmanual.spec | Handy for use with PHP Help, below. Update the version number to reflect the date you download the manual tarball. |
| PHP Help | 1.0.2 | phphelp.spec | See my PHP Helppage for more details. |
| Zend Optimizer | 2.1.0 | ZendOptimizer.spec | Packages the binary Zend Optimizer for PHP into an RPM. Modify the code_ver parameter to suit your version of PHP. |
Random userland applications
| Package | Version | Spec file | Notes |
|---|---|---|---|
| Adobe Acrobat Reader | 5.0.7 | AcrobatReader.spec | Messes around a bit to achieve the required result including patching the install file so you'll need this patch. I've also made a small desktop file which will make it appear in the menus on many standard configurations. Check the spec file for some install paths you can alter, although you will have to update the patch too. NB Red Hat 9 users may need to set the LANG variable in their environment to the non-UTF8 version, i.e. "en_GB" instead of "en_GB.UTF-8". |
| avifile - Win32 Codecs | 011002 | avifile-codecs.spec | A spec file to package the avifile Win32 binary codecs as an RPM |
| Blackdown Java2 Runtime Environment | 1.3.1 | j2re.spec | The Blackdown documentation mentions RPM install packages, but I can't find one, so this spec file will turn the downloadable binary .tar.bz2 into an RPM. |
| compface | 1.4 | compface.spec | |
| Deck-It WAP/WML Previewer | 1.2.4 | deckit.spec | |
| GIMP WinICO plugin | 1.0.0 | gimp-winicon-plugin.spec | |
| GPGME | 0.3.14 | gpgme.spec | Handy for use with the excellent mail client Sylpheed. |
| MPlayer - Win32 Codecs | 0.60 | MPlayer-codecs.spec | A spec file to package the MPlayer Win32 binary codecs as an RPM. Note that this is just the codecs - go here for MPlayer RPMs |
| Nserver | 1.0.0 | nserver.spec | Essential program for Nokia 9000/9110 owners |
| RealSystem Producer Basic | 8.51 | realproducer.spec | Packages the RealSystem Producer Basic binaries as an RPM. I've been a bit naughty here - you need to rename the downloaded file to be realproducer_8.51_linux.tar. This is mostly deprecated and replaced by Helix. |
| recover | 1.3 | recover.spec | Absolutely essential tool! Install it now! |
| Alcatel SpeedTouch ADSL modem management module | 1.3.4 | speedmgmt.spec | Packages the binary module (ONLY!) from the Alcatel distribution. Ideal for use with the GPL SpeedTouch drivers. |
| TKDiff | 3.09 | tkdiff.spec | Brilliant visual diff program. |
| YAREC | 0.65 | yarec.spec | Sound recording program. |
Linux kernel
Note: these specs have not been maintained for a while, and also require that you build as root rather than a normal user - not so good. I may update them at some point.
| Package | Version | Spec file | Notes |
|---|---|---|---|
| kernel | 2.4.20 | kernel-2.4.20.spec | A sensible kernel spec file that isn't 150KiB (like Red Hat's). OK, so it's not as generic and there is a minor hack in there, but it works very well for me and others. ALSO! Includes (optional) support for Robert Love's pre-emptive kernel patch. I've set the revision number to 100 to avoid any possible conflicts with Red Hat-supplied kernels |
| kernel | 2.4.19 | kernel-2.4.19.spec | Older version of the above |
| kernel | 2.4.18 | kernel-2.4.18.spec | Older version of the above |