The alternatives routines look sane to me. Untested though. You'd need to apply the same logic to the rpmfusion addon, obviously. My brain keeps trying to figure out a clean way to have one spec spit out both packages (triggered by the %freeworld conditional), but when I try to do it, it gets messy, so I'm thinking thats a bad plan.