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