The upcoming version of project-builder.org will provide a new package called rpmbootstrap. Easy to guess what it does no ?!
Well for those of you Debian/Ubuntu/… fans, who already routinely use debootstrap, it will be no surprise. rpmbootstrap aims to become the debootstrap of rpm world. So it will allow you to create chroot (VE in pb terminology) for supported rpm based distro, in which you’ll be able to do what you have to do. And for pb, what it has to do is building packages.
So the first good news, is that pb in 0.9.9 will support both debootstrap and rpmbootstrap out of the box (on top of rinse and mock). The second good news, is that rpmbootstrap will be delivered jointly with it, trying to follow rpm distros evolution and providing an easy to build VE to build packages in them. Of course, you’ll be able to make a snapshot of that VE to always start over from a known state.
I was initialy tempted to continue to make patches to rinse. But I soon realized that the version I had was a bit far from what rinse provided, without benefiting from the integration I wanted for pb. Also, I couldn’t easily benefit from all the low level libs I now have in perl to help me deal with distro and conf files very efficiently.
I already had the centralized post-install script written for rinse, that I could integrate easily in rpmbootstrap. And writing just that new script took me some 8 hours. Was very easy with the libs ! And now I have a fully integrated solution to cover the whole build lifecycle. I tested it successfully with fedora 12, and I now need to check with other older Fedora distro, and add support for urpmi for mandriva and zipper for opensuse. As well as some tests with RHEL and SLES. But the whole infrastructure is there, just a couple of conf files entries are needed and a bit of code around.
Now, once I solve the package signage on rpm side (using a gpg-agent from perl), I’ll be able to publish version 1.0.