See how the Unified Installer does it. In fact, an RPM of the Unified Installer from Plone.org might be better than just the standalone packages.
Actually, the Unified Installer is what got me started down this road. An RPM of the installer would be cool, but then I thought it would be even better if I had separate RPMs for each component. That way, I wouldn't have to rebuild the whole thing to update Python, Zope, or Plone. The Unified Installer script starts with zlib. There's a stock RPM already available for that, so I didn't bother. Python 2.4 is the next step and the install script looked so simple that I didn't think building an RPM would be too hard. Now, after working on it for two days, I'm thinking otherwise. I'm guessing I'm just making a dumb mistake somewhere though.