diff --git a/library/packaging/svr4pkg b/library/packaging/svr4pkg index 4e790b46c52..6a79497e6b5 100644 --- a/library/packaging/svr4pkg +++ b/library/packaging/svr4pkg @@ -152,7 +152,7 @@ def package_install(module, name, src, proxy, response_file, zone, category): os.unlink(adminfile) return (rc, out, err) -def package_uninstall(module, name, src): +def package_uninstall(module, name, src, category): adminfile = create_admin_file() if category: cmd = [ 'pkgrm', '-na', adminfile, '-Y', name ] @@ -209,10 +209,18 @@ def main(): (rc, out, err) = package_uninstall(module, name, src, category) out = out[:75] - if rc is None: + #Success,Warning,Interruption,Reboot all,Reboot this return codes + if rc is 0 or rc is 2 or rc is 3 or rc is 10 or rc is 20: + result['changed'] = True + #no install nor uninstall, or failed + else: result['changed'] = False + + #Fatal error,Administration,Administration Interaction return codes + if rc is 1 or rc is 4 or rc is 5: + result['failed'] = True else: - result['changed'] = True + result['failed'] = False if out: result['stdout'] = out