RPM Notes
It seems that a core aspect of RPM's is
- that the installs are totally silent so there is not chance for user-interaction and
- that the majority of installations target the /usr/local or /opt or /usr/bin - aka an LSB target
For Chandler this raises a number of interesting issues that I'll detail tomorrow after I sleep on some of the questions that have been raised. For now though I have checked-in an alpha version of the chandler.spec and a README.txt that outlines what needs to be done to create a binary RPM.
The largest part of what an RPM normally does is already being handled by the existing build system, so the .spec file really only contains enough information to allow the rpmbuild program to copy and setup a source tree and then compile the .rpm file. Currently little pesky details like dependencies are being handled by much hand-waving.
The stickiest issue to be raised so far is the requirement that the install be completely silent. This means that the user cannot inform the installation script where to put items that will need to be user-writable, i.e. the repository, which for a linux install is problematic as it cannot be located in the same spot as the binaries like it can for win32 or os/x.
Resources that were helpful:
- max-rpm - while it's a bit out-of-date, it does contain all of the basic information needed to start building a .spec file
- Maximum RPM - an even older version (I think the original) but it contained some interested advanced entries that I didn't find in other references. I have to admit that most of the advanced items I ended up not needing.
- rpm-list archives - where most of the helpful information was located.
--
MikeT - 07 Dec 2004