Awesome! Thanks for doing this.
Technical comments:
1) Not sure if we need all those directory rpmdefines. One of the nice things about the CentOS layout is that you can just --define "_topdir $PWD" and the rest of the dirs just fall into place.
2) I'm not sure about dead.package check in load_spec. We can't formally adopted that indicator, and if we do, we would probably not put the dead.package file in the SPECS dir. Probably either drop the check entirely, or move it out in front of the loop and check for it in the top directory.
3) Splitting in the metadata. I wonder if we shouldn't just use the default whitespace split .split(None, 1) instead of splitting specifically on a single space. It's a little more forgiving if someone tries to manually edit a metadata file. Also removes the need for stripping.