fix handling error returned by rpmtsRun(), and remove unused error codes

This commit is contained in:
Oliver Kurth 2020-12-03 12:43:27 -08:00
parent 99885bd583
commit 8953f8d65e
3 changed files with 15 additions and 8 deletions

View File

@ -170,8 +170,7 @@ typedef enum
{ERROR_TDNF_SET_SSL_SETTINGS, "ERROR_TDNF_SET_SSL_SETTINGS", "There was an error while setting SSL settings for the repo."}, \
{ERROR_TDNF_REPO_PERFORM, "ERROR_TDNF_REPO_PERFORM", "Error during repo handle execution"}, \
{ERROR_TDNF_REPO_GETINFO, "ERROR_TDNF_REPO_GETINFO", "Repo during repo result getinfo"}, \
{ERROR_TDNF_TRANS_INCOMPLETE, "ERROR_TDNF_TRANS_INCOMPLETE", "Incomplete rpm transaction"}, \
{ERROR_TDNF_TRANS_PKG_NOT_FOUND, "ERROR_TDNF_TRANS_PKG_NOT_FOUND", "Failed to find rpm package"}, \
{ERROR_TDNF_TRANSACTION_FAILED, "ERROR_TDNF_TRANSACTION_FAILED", "rpm transaction failed"}, \
{ERROR_TDNF_NO_SEARCH_RESULTS, "ERROR_TDNF_NO_SEARCH_RESULTS", "No matches found"}, \
{ERROR_TDNF_RPMRC_NOTFOUND, "ERROR_TDNF_RPMRC_NOTFOUND", "rpm generic error - not found (possible corrupt rpm file)"}, \
{ERROR_TDNF_RPMRC_FAIL, "ERROR_TDNF_RPMRC_FAIL", "rpm generic failure"}, \

View File

@ -353,6 +353,7 @@ TDNFRunTransaction(
int rpmVfyLevelMask = 0;
uint32_t dwSkipSignature = 0;
uint32_t dwSkipDigest = 0;
int rc;
if(!pTS || !pTdnf || !pTdnf->pArgs)
{
@ -403,8 +404,12 @@ TDNFRunTransaction(
rpmtsSetVfyLevel(pTS->pTS, ~rpmVfyLevelMask);
}
rpmtsSetFlags(pTS->pTS, RPMTRANS_FLAG_TEST);
dwError = rpmtsRun(pTS->pTS, NULL, pTS->nProbFilterFlags);
BAIL_ON_TDNF_RPM_ERROR(dwError);
rc = rpmtsRun(pTS->pTS, NULL, pTS->nProbFilterFlags);
if (rc != 0)
{
dwError = ERROR_TDNF_TRANSACTION_FAILED;
BAIL_ON_TDNF_ERROR(dwError);
}
//TODO do callbacks for output
if(!nSilent)
@ -412,8 +417,12 @@ TDNFRunTransaction(
printf("Running transaction\n");
}
rpmtsSetFlags(pTS->pTS, RPMTRANS_FLAG_NONE);
dwError = rpmtsRun(pTS->pTS, NULL, pTS->nProbFilterFlags);
BAIL_ON_TDNF_RPM_ERROR(dwError);
rc = rpmtsRun(pTS->pTS, NULL, pTS->nProbFilterFlags);
if (rc != 0)
{
dwError = ERROR_TDNF_TRANSACTION_FAILED;
BAIL_ON_TDNF_ERROR(dwError);
}
cleanup:
return dwError;

View File

@ -144,8 +144,7 @@ extern "C" {
#define ERROR_TDNF_URL_INVALID 1524
//RPM Transaction
#define ERROR_TDNF_TRANS_INCOMPLETE 1525
#define ERROR_TDNF_TRANS_PKG_NOT_FOUND 1526
#define ERROR_TDNF_TRANSACTION_FAILED 1525
/* event context */
#define ERROR_TDNF_EVENT_CTXT_ITEM_NOT_FOUND 1551