Introduction
Despite the flexibility of the RAQ550, I found myself lacking some of the basic (and not so basic) packages I use on other Unix systems, so I started poking around in search of an easy and low-maintenance way to install them on it.
Since the RAQ550 underpinnings are a variant of RedHat Linux, it made sense to investigate rebuilding SRPMs for it. I've been picking them out from the main 8.0 package list at FreshRPMs.net, and have had no problems so far (the RAQ550 uses RPM 3.0.6, but the package structure for most SRPMs seems to be identical).
Setting up a minimal RPM build environment:
Log into your RAQ550 as admin, and build the following directory tree:
~admin/rpm --+-- BUILD | +-- RPMS | +-- SOURCES | +-- SPECS | +-- SRPMS | +-- tmp
To ensure rpm rebuilds the packages inside it, create a ~/.rpmmacros file containing, at the very least:
%_topdir /home/.users/112/admin/rpm %_tmppath /home/.users/112/admin/rpm/tmp
(Yep, that's the admin path on my RAQ550. Go figure.)
Build Procedure
The build procedure is pretty much always the same for unmodified packages:
$ cd rpm/SRPMS $ wget http://apt.freshrpms.net/redhat/8.0/en/i386/SRPMS.os/screen-3.9.11-10.src.rpm $ rpm --rebuild screen-3.9.11-10.src.rpm
rpm then goes about its business, and if everything goes OK, you just have to watch the output for this:
... Wrote: /usr/src/redhat/RPMS/i386/screen-3.9.11-10.i386.rpm ...
Then just su and install the package normally:
# rpm -ivh ../RPMS/i386/screen-3.9.11-10.i386.rpm
Package List
Here are some of the packages I have successfully built (or rebuilt) under a vanilla RAQ550, along with their URLs:
GNU screen
# wget http://apt.freshrpms.net/redhat/8.0/en/i386/SRPMS.os/screen-3.9.11-10.src.rpm
expat
There seem to be some header and type changes on the official Sourceforge version that break the Sablotron build later on. Also, the Sourceforge SRPM does not provide separate expat and expat-devel packages, so I rebuilt from the RedHat 8.0 SRPM with:
# wget http://apt.freshrpms.net/redhat/8.0/en/i386/SRPMS.os/expat-1.95.4-1.src.rpm # rpm --rebuild /tmp/expat-1.95.4-1.src.rpm ... Wrote: /usr/src/redhat/RPMS/i386/expat-1.95.4-1.i386.rpm Wrote: /usr/src/redhat/RPMS/i386/expat-devel-1.95.4-1.i386.rpm ... # rpm -ivh /usr/src/redhat/RPMS/i386/expat-1.95.4*
The Mozilla JavaScript library
(needed for Sablotron, built from the Ginger Alliance SRPM)
# cd /tmp # wget http://download-2.gingerall.cz/download/related/js-1.5rc4-2.src.rpm # rpm --rebuild /tmp/js-1.5rc4-2.src.rpm ... Wrote: /usr/src/redhat/RPMS/i386/js-1.5rc4-2.i386.rpm Wrote: /usr/src/redhat/RPMS/i386/js-devel-1.5rc4-2.i386.rpm ... # rpm -ivh /usr/src/redhat/RPMS/i386/js-*
Sablotron
After installing expat and JavaScript, I rebuilt the Ginger Alliance RPM with:
# cd /tmp # wget http://download-2.gingerall.cz/download/sablot/sablotron-0.97-1.src.rpm # rpm --rebuild /tmp/sablotron-0.97-1.src.rpm ... Wrote: /usr/src/redhat/RPMS/i386/sablotron-0.97-1.i386.rpm Wrote: /usr/src/redhat/RPMS/i386/sablotron-devel-0.97-1.i386.rpm ... # rpm -ivh /usr/src/redhat/RPMS/i386/sablotron-*
curl
More of the same. Start off with:
# wget http://apt.freshrpms.net/redhat/8.0/en/i386/SRPMS.os/curl-7.9.8-1.src.rpm
Freetype
$ cd ~/rpm/SRPMS $ wget http://apt.freshrpms.net/redhat/8.0/en/i386/SRPMS.os/freetype-2.1.2-7.src.rpm $ rpm --rebuild freetype-2.1.2-7.src.rpm ... Wrote: /home/.users/112/admin/rpm/RPMS/i386/freetype-2.1.2-7.i386.rpm Wrote: /home/.users/112/admin/rpm/RPMS/i386/freetype-utils-2.1.2-7.i386.rpm Wrote: /home/.users/112/admin/rpm/RPMS/i386/freetype-demos-2.1.2-7.i386.rpm Wrote: /home/.users/112/admin/rpm/RPMS/i386/freetype-devel-2.1.2-7.i386.rpm ...
bzip2
Turns out that the bundled bzip2 library on the RAQ550 is not quite up to scratch. No worries, just rebuild this one:
$ wget http://apt.freshrpms.net/redhat/8.0/en/i386/SRPMS.os/bzip2-1.0.2-5.src.rpm ... Wrote: /home/.users/112/admin/rpm/RPMS/i386/bzip2-1.0.2-5.i386.rpm Wrote: /home/.users/112/admin/rpm/RPMS/i386/bzip2-devel-1.0.2-5.i386.rpm Wrote: /home/.users/112/admin/rpm/RPMS/i386/bzip2-libs-1.0.2-5.i386.rpm ...
These had to be installed with --force (never a good sign, but everything seems to be working fine)
Next stop, a full version of PHP 4.3.1... Later.
Fetchmail
(todo: hesiod, autoconf)
RPM4
...needs Python? Christ.