From e134398e5535ddf0e4fbda067eeffd7581a9b339 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Tue, 24 Mar 2015 05:08:14 -0400 Subject: (check) fix reporting problems for at least 12 years, since swiching rpm to 4.2 (see commit 60031191b7012fdfe8e1af6bd43ff9b36b0c5825) $trans->check() failed to actually report issues rationale: rpmtsCheck() only actually return !0 if it fails to open rpmdb... in order to check if any problem was found by rpmtsCheck(), one must call retrieving the problem set with rpmtsProblems() rpmtsCheck() success only means that the resolution was successfully attempted for all packages in the set, which isn't that usefull... this might help mga#15350... --- NEWS | 1 + URPM.xs | 8 +------- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/NEWS b/NEWS index 94d6e8f..5ea6479 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,4 @@ +- fix reporting problems when checking transaction - fix reporting size on big packages (mga#19571) Version 5.07 - 14 April 2016 diff --git a/URPM.xs b/URPM.xs index bd0c6f8..8c05507 100644 --- a/URPM.xs +++ b/URPM.xs @@ -2594,12 +2594,7 @@ Trans_check(trans, ...) if (len == 17 && !memcmp(s, "translate_message", 17)) translate_message = SvIV(ST(i+1)); } - if (rpmtsCheck(trans->ts)) { - if (gimme == G_SCALAR) - mXPUSHs(newSViv(0)); - else if (gimme == G_ARRAY) - mXPUSHs(newSVpvs("error while checking dependencies")); - } else { + rpmtsCheck(trans->ts); rpmps ps = rpmtsProblems(trans->ts); if (rpmpsNumProblems(ps) > 0) { if (gimme == G_SCALAR) @@ -2614,7 +2609,6 @@ Trans_check(trans, ...) mXPUSHs(newSViv(1)); rpmpsFree(ps); - } void Trans_order(trans, ...) -- cgit v1.2.1