RPM, the RedHat Package Manager, is a useful utility for managing the installation of complex packages. It works on most platforms; you do not need to run RedHat Linux to use rpm.
I have been alerted that this port does not work correctly if you are using "text" mounts. The temporary workaround is to use "binary" mounts. Eventually, I'll have time to complete this port to cygwin, by ensuring that the "fopen()" commands in the sourcecode use O_BINARY when it is appropriate.
Warning: before unpacking the tarball in step 3, make sure that the following four files do not exist.
First, you need to build and install the "gettext" and "Berkeley db" libraries
Then, do the following:
Warning: before unpacking the tarball, make sure that the following four files do not exist.
Prerequisites: zlib bzlib db unpack rpm-3.0.3.tar.gz cd rpm-3.0.3 patch -p1 < ../rpm-3.0.3-cygwin-pre21.patch export CFLAGS=-I/usr/local/include export LDFLAGS=-L/usr/local/lib /* The following was an attempt to force configure to find these header files. Configure doesn't use CFLAGS! It didn't work in the case of zlib.h */ for file in (db.h db_185.h dbm.h gdbm.h ndbm.h zlib.h bzlib.h) cp /usr/local/include/${file} /usr/i586-pc-cygwin32/include end ./configure --prefix=/usr/local /* edit config.h and #define HAVE_ZLIB_H */ make make tar cd / tar xvf /tmp/rpm-3.0.3.tar rpm --initdb