This is related to bug 1180954, YaST should not crash when when a requested client is missing. I think it should just print a error and allow to continue. BTW the firstboot.xml control file is rather a template, the vendor should adjust it according to their needs. I.e. enable/disable the registration step (and ensure the yast2-registration is installed). We should remove that %{is_opensuse} macro from the spec file. IIRC that was already requested in the past. If Leap inherits the same packages from SLES then it does not work anyway.