diff options
Diffstat (limited to 'src/Daemon')
-rw-r--r-- | src/Daemon/Daemon.cpp | 2 | ||||
-rw-r--r-- | src/Daemon/Makefile.am | 2 | ||||
-rw-r--r-- | src/Daemon/MiddleWare.cpp | 3 | ||||
-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 |