--- abrt-2.0.8/src/daemon/Makefile.am.0011~ 2011-12-15 13:39:13.000000000 +0100 +++ abrt-2.0.8/src/daemon/Makefile.am 2012-03-11 21:28:24.900043460 +0100 @@ -84,6 +84,7 @@ abrt_action_save_package_data_CPPFLAGS = -I$(srcdir)/../include \ -I$(srcdir)/../lib \ -DCONF_DIR=\"$(CONF_DIR)\" \ + $(RPM_CFLAGS) \ $(GLIB_CFLAGS) \ $(LIBREPORT_CFLAGS) \ -D_GNU_SOURCE \ --- abrt-2.4.0/src/daemon/rpm.c.orig 2015-02-19 12:53:14.000000000 +0100 +++ abrt-2.4.0/src/daemon/rpm.c 2015-02-26 16:02:37.659278317 +0100 @@ -62,7 +62,6 @@ void rpm_init() void rpm_destroy() { /* Mirroring the order of deinit calls in rpm-4.11.1/lib/poptALL.c::rpmcliFini() */ - rpmFreeCrypto(); rpmFreeMacros(NULL); rpmFreeRpmrc(); @@ -104,13 +103,20 @@ int rpm_chk_fingerprint(const char* pkg) const char *errmsg = NULL; rpmts ts = rpmtsCreate(); - rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pkg, 0); - Header header = rpmdbNextIterator(iter); + rpmmi iter = rpmtsInitIterator(ts, RPMTAG_NAME, pkg, 0); + Header header = rpmmiNext(iter); if (!header) goto error; - pgpsig = headerFormat(header, "%|SIGGPG?{%{SIGGPG:pgpsig}}:{%{SIGPGP:pgpsig}}|", &errmsg); + pgpsig = headerSprintf( + header, + "%|DSAHEADER?{%{DSAHEADER:pgpsig}}:{%|RSAHEADER?{%{RSAHEADER:pgpsig}}:" + "{%|SIGGPG?{%{SIGGPG:pgpsig}}:{%|SIGPGP?{%{SIGPGP:pgpsig}}:{(none)}|}|}|}|", + NULL, + NULL, + &errmsg); + if (!pgpsig && errmsg) { log_notice("cannot get siggpg:pgpsig. reason: %s", errmsg); @@ -128,8 +134,8 @@ int rpm_chk_fingerprint(const char* pkg) error: free(pgpsig); - rpmdbFreeIterator(iter); - rpmtsFree(ts); + iter = rpmmiFree(iter); + ts = rpmtsFree(ts); return ret; } @@ -146,8 +152,8 @@ bool CheckHash(const char* pPackage, con { bool ret = true; rpmts ts = rpmtsCreate(); - rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage, 0); - Header header = rpmdbNextIterator(iter); + rpmmi iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage, 0); + Header header = rpmmiNext(iter); if (header == NULL) goto error; @@ -167,13 +173,13 @@ bool CheckHash(const char* pPackage, con } rpmfiFree(fi); error: - rpmdbFreeIterator(iter); - rpmtsFree(ts); + iter = rpmmiFree(iter); + ts = rpmtsFree(ts); return ret; } */ -static int rpm_query_file(rpmts *ts, rpmdbMatchIterator *iter, Header *header, +static int rpm_query_file(rpmts *ts, rpmmi *iter, Header *header, const char *filename, const char *rootdir_or_NULL) { const char *queryname = filename; @@ -181,11 +187,7 @@ static int rpm_query_file(rpmts *ts, rpm *ts = rpmtsCreate(); if (rootdir_or_NULL) { - if (rpmtsSetRootDir(*ts, rootdir_or_NULL) != 0) - { - rpmtsFree(*ts); - return -1; - } + rpmtsSetRootDir(*ts, rootdir_or_NULL); unsigned len = strlen(rootdir_or_NULL); /* remove 'chroot' prefix */ @@ -194,12 +196,12 @@ static int rpm_query_file(rpmts *ts, rpm } *iter = rpmtsInitIterator(*ts, RPMTAG_BASENAMES, queryname, 0); - *header = rpmdbNextIterator(*iter); + *header = rpmmiNext(*iter); if (!(*header) && rootdir_or_NULL) { - rpmdbFreeIterator(*iter); - rpmtsFree(*ts); + *iter = rpmmiFree(*iter); + *ts = rpmtsFree(*ts); return rpm_query_file(ts, iter, header, filename, NULL); } @@ -212,8 +214,8 @@ char* rpm_get_component(const char *file char *ret = NULL; char *srpm = NULL; rpmts ts; - rpmdbMatchIterator iter; - Header header; + rpmmi iter = NULL; + Header header = NULL; if (rpm_query_file(&ts, &iter, &header, filename, rootdir_or_NULL) < 0) return NULL; @@ -222,7 +224,7 @@ char* rpm_get_component(const char *file goto error; const char *errmsg = NULL; - srpm = headerFormat(header, "%{SOURCERPM}", &errmsg); + srpm = headerSprintf(header, "%{SOURCERPM}", NULL, NULL, &errmsg); if (!srpm && errmsg) { error_msg("cannot get srpm. reason: %s", errmsg); @@ -233,8 +235,8 @@ char* rpm_get_component(const char *file free(srpm); error: - rpmdbFreeIterator(iter); - rpmtsFree(ts); + iter = rpmmiFree(iter); + ts = rpmtsFree(ts); return ret; } @@ -242,7 +244,7 @@ char* rpm_get_component(const char *file static inline int pkg_add_##name(Header header, struct pkg_envra *p) \ { \ const char *errmsg = NULL; \ - p->p_##name = headerFormat(header, "%{"#name"}", &errmsg); \ + p->p_##name = headerSprintf(header, "%{"#name"}", NULL, NULL, &errmsg); \ if (p->p_##name || !errmsg) \ return 0; \ \ @@ -261,8 +263,8 @@ pkg_add_id(arch); struct pkg_envra *rpm_get_package_nvr(const char *filename, const char *rootdir_or_NULL) { rpmts ts; - rpmdbMatchIterator iter; - Header header; + rpmmi iter = NULL; + Header header = NULL; struct pkg_envra *p = NULL; @@ -305,15 +307,15 @@ struct pkg_envra *rpm_get_package_nvr(co p->p_nvr = xasprintf("%s-%s-%s", p->p_name, p->p_version, p->p_release); - rpmdbFreeIterator(iter); - rpmtsFree(ts); + iter = rpmmiFree(iter); + ts = rpmtsFree(ts); return p; error: free_pkg_envra(p); - rpmdbFreeIterator(iter); - rpmtsFree(ts); + iter = rpmmiFree(iter); + ts = rpmtsFree(ts); return NULL; } --- abrt-2.0.8/src/daemon/rpm.h.0011~ 2011-12-21 13:20:12.000000000 +0100 +++ abrt-2.0.8/src/daemon/rpm.h 2012-03-11 21:28:01.051031573 +0100 @@ -22,10 +22,10 @@ #ifndef RPM_H_ #define RPM_H_ -#include -#include -#include -#include +#include +#include +#include +#include #ifdef __cplusplus extern "C" { --- abrt-2.0.15/src/plugins/bodhi.c~ 2012-10-05 08:30:34.000000000 +0200 +++ abrt-2.0.15/src/plugins/bodhi.c 2012-10-15 15:54:12.298943477 +0200 @@ -331,24 +331,23 @@ char *nvr = NULL; rpmts ts = rpmtsCreate(); - rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pkg_name, 0); - Header header = rpmdbNextIterator(iter); + rpmmi iter = rpmtsInitIterator(ts, RPMTAG_NAME, pkg_name, 0); + Header header = rpmmiNext(iter); if (!header) goto error; const char *errmsg = NULL; - nvr = headerFormat(header, "%{name}-%{version}-%{release}", &errmsg); + nvr = headerSprintf(header, "%{name}-%{version}-%{release}", NULL, NULL, &errmsg); if (!nvr && errmsg) error_msg("cannot get nvr. reason: %s", errmsg); error: - rpmdbFreeIterator(iter); - rpmtsFree(ts); + iter = rpmmiFree(iter); + ts = rpmtsFree(ts); rpmFreeRpmrc(); - rpmFreeCrypto(); rpmFreeMacros(NULL); return nvr;