This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Collection of new/updated packages available for testing (rpm)

I've uploaded new/updated versions of 

autoconf-2.13-3.tar.gz   << new package
automake-1.4-1.tar.gz    << new package
libtool-1.3.5-1.tar.gz   << new package
perl-5.6.0-1.tar.gz      << new package **** not maintained by me ****
patch-2.5.4-1.tar.gz     << update
rpm-3.0.5-1.tar.gz       << new package
bzip2-1.0.1-3.tar.gz     << update
db-3.1.17-1.tar.gz       << new package


Basically those packages are needed to build software with rpm (Redhat Package

A detailed description of all packages will follow in seperate mails.

Here's why I did it:

o rpm offers far more flexibility to package installation / deinstallation than
classical tar.gz files.

o Things like postinstall and preremove-scripts can easily be included in a
software package.

o Sources live in a special file called the source-rpm. The original sourcecode
of a software, patches to make it work and something like a script to build the
software (called spec-file) is also included.

o The binary distribution of a software package lives in rpm-files. Included in
this simgle file are the binaries, custom postinstall or preremove scripts and
dependency information (What does a package need to run, what does it provide to

All those facs faciliate the process of maintaining software. This makes rpm the
choice of many linux-dists like redhat, mandrake, suse and others.

How to work with rpm on cygwin:

rpm's live as default in a directory tree below /usr/src/redhat.

Sourcecode and patches are stored in /usr/src/redhat/SOURCES

Spec-files (The build descriptions) are stored in /usr/src/redhat/SPECS

To re-build software you do the following:

o Read the announcement for rpm ;-)
o unpack the source-rpm with "rpm --install db-3.1.17-1.src.rpm"
o Change directory to /usr/src/redhat
o enter "rpm -ba SPECS/db.spec" (Now rpm will patch the sources for you, build
the software and will create the binary-rpm)
o now you are ready to install your brand new db-distribution by typing "rpm
--install --nodeps RPMS/i386/db-3.1.17-1.i386-cygwin.rpm"
o in case the package was installed before type: "rpm --upgrade --nodeps
RPMS/i386/db-3.1.17-1.i386-cygwin.rpm", which will remove the existing package
and the install the newly created one

rpm and cygwin-distribution in tar.gz format

Even though rpm-packages are much better than tar.gz - packages the prefered way
to distribute software at this time is to provide
.tar.gz packages in cygwin/latest and cygwin/contrib. Is is therefore necessary
to provide rpm-packages AND .tar.gz packages for new software.

Doing so is easy for binary-distributions, 

doing a "rpm2cpio db-3.1.17-1.i386-cygwin | cpio --extract --make-directories"
will create the binary tree in the current directory, which then can be

preparing the sources in .tar.gz is a little bit more complicated, I will
provide a script to do this job soon.

Where to get information about rpm:

o is the official homepage, 
o Maximum RPM is a book available for download on; it is a little
bit outdated but still helpfull as a beginners tutorial
o There's a mailing list, to subscribe, send mail to
with `subscribe rpm-list` in the body.
o Usenet Newsgroup  linux.redhat.rpm
o cygwin specific problems should be discussed in

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]