summaryrefslogtreecommitdiffstats
path: root/src/Daemon
diff options
context:
space:
mode:
Diffstat (limited to 'src/Daemon')
-rw-r--r--src/Daemon/Daemon.cpp2
-rw-r--r--src/Daemon/Makefile.am2
-rw-r--r--src/Daemon/MiddleWare.cpp3
-rw-r--r--src/Daemon/rpm.c (renamed from src/Daemon/RPM.cpp)35
-rw-r--r--src/Daemon/rpm.h (renamed from src/Daemon/RPM.h)16
5 files changed, 45 insertions, 13 deletions
diff --git a/src/Daemon/Daemon.cpp b/src/Daemon/Daemon.cpp
index 86f0fced..735da5af 100644
--- a/src/Daemon/Daemon.cpp
+++ b/src/Daemon/Daemon.cpp
@@ -43,7 +43,7 @@
#include "debug_dump.h"
#include "Daemon.h"
#include "dumpsocket.h"
-#include "RPM.h"
+#include "rpm.h"
using namespace std;
diff --git a/src/Daemon/Makefile.am b/src/Daemon/Makefile.am
index ef67726c..089f3787 100644
--- a/src/Daemon/Makefile.am
+++ b/src/Daemon/Makefile.am
@@ -4,7 +4,7 @@ sbin_PROGRAMS = abrtd
abrtd_SOURCES = \
PluginManager.h PluginManager.cpp \
- RPM.h RPM.cpp \
+ rpm.h rpm.c \
MiddleWare.h MiddleWare.cpp \
CrashWatcher.h CrashWatcher.cpp \
CommLayerServer.h CommLayerServer.cpp \
diff --git a/src/Daemon/MiddleWare.cpp b/src/Daemon/MiddleWare.cpp
index e6010386..c7ed4df5 100644
--- a/src/Daemon/MiddleWare.cpp
+++ b/src/Daemon/MiddleWare.cpp
@@ -24,9 +24,10 @@
#include "abrt_types.h"
#include "Daemon.h"
#include "Settings.h"
-#include "RPM.h"
+#include "rpm.h"
#include "debug_dump.h"
#include "abrt_exception.h"
+#include "abrt_packages.h"
#include "comm_layer_inner.h"
#include "MiddleWare.h"
diff --git a/src/Daemon/RPM.cpp b/src/Daemon/rpm.c
index 60f896a6..d367dccd 100644
--- a/src/Daemon/RPM.cpp
+++ b/src/Daemon/rpm.c
@@ -16,12 +16,8 @@
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#include "abrtlib.h"
-#include "RPM.h"
-#include <rpm/header.h>
-#include <rpm/rpmts.h>
-#include "comm_layer_inner.h"
-#include <glib.h>
+//#include "abrtlib.h"
+#include "rpm.h"
/**
* A set, which contains finger prints.
@@ -29,6 +25,31 @@
static GList *list_fingerprints = NULL;
+//TODO: npajkovs: where to place it? Should it be sotred in value or query from rpm?
+/* cuts the name from the NVR format: foo-1.2.3-1.el6
+ returns a newly allocated string
+*/
+char* get_package_name_from_NVR_or_NULL(const char* package_nvr)
+{
+ char* package_name = NULL;
+ if (package_nvr != NULL)
+ {
+ VERB1 log("package_nvr %s", package_nvr);
+ package_name = xstrdup(package_nvr);
+ char *pos = strrchr(package_name, '-');
+ if (pos != NULL)
+ {
+ *pos = 0;
+ pos = strrchr(package_name, '-');
+ if (pos != NULL)
+ {
+ *pos = 0;
+ }
+ }
+ }
+ return package_name;
+}
+
void rpm_init()
{
int status = rpmReadConfigFiles((const char*)NULL, (const char*)NULL);
@@ -68,7 +89,7 @@ void rpm_load_gpgkey(const char* filename)
{
char *fingerprint = pgpHexStr(keyID, sizeof(keyID));
if (fingerprint != NULL)
- g_list_append(list_fingerprints, fingerprint);
+ list_fingerprints = g_list_append(list_fingerprints, fingerprint);
}
free(pkt);
}
diff --git a/src/Daemon/RPM.h b/src/Daemon/rpm.h
index 6e034d2e..9b6b339c 100644
--- a/src/Daemon/RPM.h
+++ b/src/Daemon/rpm.h
@@ -22,11 +22,18 @@
#ifndef RPM_H_
#define RPM_H_
-#include <rpm/rpmcli.h>
#include <rpm/rpmts.h>
+#include <glib.h>
+#include <rpm/rpmcli.h>
#include <rpm/rpmdb.h>
#include <rpm/rpmpgp.h>
-#include "abrt_types.h"
+#include <stdbool.h>
+
+#include "xfuncs.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
/**
* Checks if an application is modified by third party.
@@ -37,7 +44,6 @@
*/
//bool CheckHash(const char* pPackage, const char* pPath);
-
void rpm_init();
void rpm_destroy();
@@ -77,4 +83,8 @@ char* rpm_get_package_nvr(const char* filename);
*/
char* rpm_get_component(const char* filename);
+#ifdef __cplusplus
+}
+#endif
+
#endif