Sophie

Sophie

distrib > Mandriva > cooker > i586 > media > main-release-src > by-pkgid > d594c3bef040ce8c5b97bac6fce593e8 > files > 8

abrt-2.0.10-0.src.rpm

--- 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.0.8/src/daemon/rpm.c.0011~	2011-12-21 13:20:12.000000000 +0100
+++ abrt-2.0.8/src/daemon/rpm.c	2012-03-11 21:28:01.051031573 +0100
@@ -62,7 +62,6 @@ void rpm_init()
 void rpm_destroy()
 {
     rpmFreeRpmrc();
-    rpmFreeCrypto();
     rpmFreeMacros(NULL);
 
     list_free_with_free(list_fingerprints);
@@ -97,13 +96,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)
     {
         VERB1 log("cannot get siggpg:pgpsig. reason: %s", errmsg);
@@ -121,8 +127,8 @@ int rpm_chk_fingerprint(const char* pkg)
 
 error:
     free(pgpsig);
-    rpmdbFreeIterator(iter);
-    rpmtsFree(ts);
+    iter = rpmmiFree(iter);
+    ts = rpmtsFree(ts);
     return ret;
 }
 
@@ -160,8 +166,8 @@ bool CheckHash(const char* pPackage, con
     }
     rpmfiFree(fi);
 error:
-    rpmdbFreeIterator(iter);
-    rpmtsFree(ts);
+    iter = rpmmiFree(iter);
+    ts = rpmtsFree(ts);
     return ret;
 }
 */
@@ -171,15 +177,15 @@ 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;
 
     ts = rpmtsCreate();
     /* This loop executes once (normally) or twice (if we detect chroot) */
     while (1)
     {
         iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, filename, 0);
-        header = rpmdbNextIterator(iter);
+        header = rpmmiNext(iter);
         //log("%s: header('%s'):%p", __func__, filename, header);
         if (header)
             break;
@@ -192,17 +198,16 @@ char* rpm_get_component(const char *file
 
         /* It is a chroot */
         //log("%s: skipping '%s' pfx", __func__, rootdir_or_NULL);
-        rpmdbFreeIterator(iter);
-        rpmtsFree(ts);
+        iter = rpmmiFree(iter);
+        ts = rpmtsFree(ts);
         ts = rpmtsCreate();
-        if (rpmtsSetRootDir(ts, rootdir_or_NULL) != 0)
-            goto error1;
+        rpmtsSetRootDir(ts, rootdir_or_NULL);
         filename += len;
         rootdir_or_NULL = NULL;
     }
 
     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);
@@ -213,9 +218,8 @@ char* rpm_get_component(const char *file
     free(srpm);
 
  error:
-    rpmdbFreeIterator(iter);
- error1:
-    rpmtsFree(ts);
+    iter = rpmmiFree(iter);
+    ts = rpmtsFree(ts);
     return ret;
 }
 
@@ -224,15 +228,15 @@ char* rpm_get_package_nvr(const char *fi
 {
     char *nvr = NULL;
     rpmts ts;
-    rpmdbMatchIterator iter;
-    Header header;
+    rpmmi iter = NULL;
+    Header header = NULL;
 
     ts = rpmtsCreate();
     /* This loop executes once (normally) or twice (if we detect chroot) */
     while (1)
     {
         iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, filename, 0);
-        header = rpmdbNextIterator(iter);
+        header = rpmmiNext(iter);
         //log("%s: header('%s'):%p", __func__, filename, header);
         if (header)
             break;
@@ -245,23 +249,20 @@ char* rpm_get_package_nvr(const char *fi
 
         /* It is a chroot */
         //log("%s: skipping '%s' pfx", __func__, rootdir_or_NULL);
-        rpmdbFreeIterator(iter);
-        rpmtsFree(ts);
+        iter = rpmmiFree(iter);
+        ts = rpmtsFree(ts);
         ts = rpmtsCreate();
-        if (rpmtsSetRootDir(ts, rootdir_or_NULL) != 0)
-            goto error1;
         filename += len;
         rootdir_or_NULL = NULL;
     }
 
     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);
- error1:
-    rpmtsFree(ts);
+    iter = rpmmiFree(iter);
+    ts = rpmtsFree(ts);
     return nvr;
 }
--- 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 <rpm/rpmts.h>
-#include <rpm/rpmcli.h>
-#include <rpm/rpmdb.h>
-#include <rpm/rpmpgp.h>
+#include <rpmcli.h>
+#include <rpmts.h>
+#include <rpmdb.h>
+#include <rpmio.h>
 
 #ifdef __cplusplus
 extern "C" {