Igor Gnatenko 2fe9ae
From c01551e6e9fd293a3f40e481afe8c28e786fe632 Mon Sep 17 00:00:00 2001
Igor Gnatenko 2fe9ae
From: Panu Matilainen <pmatilai@redhat.com>
Igor Gnatenko 2fe9ae
Date: Fri, 11 Aug 2017 13:24:26 +0300
Igor Gnatenko 2fe9ae
Subject: [PATCH] Quick hack to fix build with rpm >= 4.14
Igor Gnatenko 2fe9ae
Igor Gnatenko 2fe9ae
1) rpm >= 4.14 no longer has rpmCheckTerminate() call, it cleans up
Igor Gnatenko 2fe9ae
   automatically on exit(). Note that "needing" rpmCheckTerminate()
Igor Gnatenko 2fe9ae
   means the code is buggy: it does not properly track and free
Igor Gnatenko 2fe9ae
   rpmdb iterators and/or rpmts handles.
Igor Gnatenko 2fe9ae
2) pgpPubkeyFingerprint() now returns the actual fingerprint, the
Igor Gnatenko 2fe9ae
   key ID which it previously returned is now retrieved by
Igor Gnatenko 2fe9ae
   pgpPubkeyKeyID()
Igor Gnatenko 2fe9ae
Igor Gnatenko 2fe9ae
If compatibility to older versions is needed, these will need
Igor Gnatenko 2fe9ae
configure checks, left as an excercise for someone more familiar
Igor Gnatenko 2fe9ae
with the abrt codebase.
Igor Gnatenko 2fe9ae
---
Igor Gnatenko 2fe9ae
 src/daemon/rpm.c | 7 +++++++
Igor Gnatenko 2fe9ae
 1 file changed, 7 insertions(+)
Igor Gnatenko 2fe9ae
Igor Gnatenko 2fe9ae
diff --git a/src/daemon/rpm.c b/src/daemon/rpm.c
Igor Gnatenko 2fe9ae
index 36b36a91..011e44ca 100644
Igor Gnatenko 2fe9ae
--- a/src/daemon/rpm.c
Igor Gnatenko 2fe9ae
+++ b/src/daemon/rpm.c
Igor Gnatenko 2fe9ae
@@ -76,11 +76,14 @@ void rpm_destroy()
Igor Gnatenko 2fe9ae
     rpmFreeMacros(NULL);
Igor Gnatenko 2fe9ae
     rpmFreeRpmrc();
Igor Gnatenko 2fe9ae
 
Igor Gnatenko 2fe9ae
+/* rpm >= 4.14 handles this automatically on exit */
Igor Gnatenko 2fe9ae
+#if 0
Igor Gnatenko 2fe9ae
     /* RPM doc says "clean up any open iterators and databases".
Igor Gnatenko 2fe9ae
      * Observed to eliminate these Berkeley DB warnings:
Igor Gnatenko 2fe9ae
      * "BDB2053 Freeing read locks for locker 0x1e0: 28718/139661746636736"
Igor Gnatenko 2fe9ae
      */
Igor Gnatenko 2fe9ae
     rpmdbCheckTerminate(1);
Igor Gnatenko 2fe9ae
+#endif
Igor Gnatenko 2fe9ae
 #endif
Igor Gnatenko 2fe9ae
 
Igor Gnatenko 2fe9ae
     list_free_with_free(list_fingerprints);
Igor Gnatenko 2fe9ae
@@ -100,7 +103,11 @@ void rpm_load_gpgkey(const char* filename)
Igor Gnatenko 2fe9ae
     }
Igor Gnatenko 2fe9ae
 
Igor Gnatenko 2fe9ae
     uint8_t keyID[8];
Igor Gnatenko 2fe9ae
+#if 0
Igor Gnatenko 2fe9ae
     if (pgpPubkeyFingerprint(pkt, pklen, keyID) == 0)
Igor Gnatenko 2fe9ae
+#else
Igor Gnatenko 2fe9ae
+    if (pgpPubkeyKeyID(pkt, pklen, keyID) == 0)
Igor Gnatenko 2fe9ae
+#endif
Igor Gnatenko 2fe9ae
     {
Igor Gnatenko 2fe9ae
         char *fingerprint = pgpHexStr(keyID, sizeof(keyID));
Igor Gnatenko 2fe9ae
         if (fingerprint != NULL)
Igor Gnatenko 2fe9ae
-- 
Igor Gnatenko 2fe9ae
2.14.0
Igor Gnatenko 2fe9ae