web page last updated Thursday 29th January 2004

======== NEW DEVELOPMENT: 29th January 2004 ===============

I have managed to port an implementation of libpthread.a, so a full port of rpm4.0 can now be done ie I may be able to reconnect database support.

CLICK FOR INFO on POSIX threads port

======== IMPORTANT NOTE: (10th December 2003) ===============

Important correction to my rpm readme_and_script documentation:

Extracted archives appear in the subdirectories of usr:local/src/

readme_and_script says they go into rpm4.0:usr/local/src/, this is not quite accurate, the script does "assign usr: rpm4.0:usr add" so if usr: is a multiassign the extraction might not go into rpm4.0:usr/local/src/ but into an earlier usr: multiassign, which will happen if you have a gg: setup ie into subdirectories of gg:local/src/. I have run out of time to correct this in the download. To redirect the archive extraction to eg xyz: assign usr: carefully such that xyz: is first in the multiassign and ensure paths xyz:local/src/redhat/SOURCES etc exist, study rpm4.0: for the complete set of paths required,

Note that the rpm4.0: assign is only used by readme_and_script, it isnt compiled into the program.


What is rpm?

When you surf the net, a lot of useful stuff is in rpm files, eg something_useful-4.2-1.rpm,

as another example my printers driver was in rpm format on a CD.

Thus you have a problem, how do you access the stuff inside the rpm file?

Answer: you need the rpm program, rpm is a Redhat thing,

The version of rpm on is 2.2.9, unfortunately this will only process rpm files whose major number is <=3, ie it wont process various current rpm files of interest,

The alpha rpm4.0 on Geekgadgets doesnt function on my setup, so I decided to try and port rpm myself.

I read on rpm's website that there are problems on rpm4.1, so to play it safe I downloaded the rpm3 source, ported this but found rpm3 will not process current archives.

So I then downloaded the current rpm, version 4.2 but ran into a mountain of problems, being impatient I decided to try 4.0.?, downloaded 4.0.4 and also ran into too many problems.

So lastly I went for the first ever version 4, version 4.0, this time I also ran into problems but gradually sorted out all problems.

This port is the full rpm4.0 EXCEPT all database support has been disconnected. This port functions correctly at least for extracting archives which I couldnt extract via any other rpm.

Now I know my way around doing rpm4.0 probably I could manage to do rpm4.2, Here is the download, you will need bzip2 to decompress them:

rpm-4.0.amiga020.bin.tar.bz2 (1.5Meg)

copy of readme_and_script from the above

source code: debugged pre-configured build setup to generate this port (1.5Meg)

To extract the stuff, use bunzip2 from bzip2, followed by either using tar or OS3.9's Unarc eg:

bunzip2 xyz.tar.bz2 ; # to produce xyz.tar
; # now either use OS3.9 Unarc or if you have Geekgadgets:
cd destdir:
tar -v -k -xf somepath:bzip2.tar 

This is a standalone ixemul Amiga unoptimised 68020 RPM4.0 ported, all database support has been disconnected as this requires threads and mutexes. As threads and mutexes are currently not available on gcc, this means database support cannot be supported AS-IS. It may be possible to hack database support however I have no idea why I need database support for (except to eat up even more of my precious time!).

So at some future point if I have time + motivation I will look into database support.

When I say "standalone" I mean that you dont need a Geekgadgets setup, just decompress, run the startup script and use.

If you have a Geekgadgets setup, please dont decompress this port into gg:, instead use a separate standalone directory for it.

You should be able to extract archives from rpm files thus.

The port is unoptimised to speed up the build process, had I tried to do an optimised version the release would have been in 2004. Time has run out to do an optimised version. I think this version is fast enough even on my 68030.

The port is ixemul because I tried noixemul and cannot link the program: dozens of required things are missing from ixemul. Maybe noixemul is possible, but will require work. The archive contains the only version of ixemul.library that I trust. It is a 68000 version of ixemul.library v48 from 1990 but it is very stable and correctly functions.

In order to port this I also required libbz2.a, this was not on Geekgadgets, so I had to port libbz2 first, it contains also bzip2, download bzip2 + libbz2.a for Amiga 68k :this was the cleanest port ever, no hitches, it is a straight clean port of this archive
Get a GoStats hit counter