This is a lot of duplication - please use just the one promise for all OSes, and distinguish package names using vars. I see you may need a special case for SuSE_10, but not for redhat/debian/etc. In fact, please use classes "SuSE_10" and "!SuSE_10", to allow for future compatibility with other OSes.