satyr/0008-Append-Python-interpreter-as-related-package.patch
Martin Kutlak b756439a72 Fixes
- Append Python interpreter as related package
- Modernize spec file

Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
2018-03-27 16:54:37 +02:00

69 lines
2.3 KiB
Diff

From 702f5385b83919881b6c33f4cc531baf820a4181 Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Mon, 19 Mar 2018 16:19:56 +0100
Subject: [PATCH 11/11] Append Python interpreter as related package
We've decided to attach python interpreter rpm information
to uReport as related package. Python developers need this
information in same cases.
Fixes abrt/abrt#1294
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
lib/abrt.c | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/lib/abrt.c b/lib/abrt.c
index d206c0d..e3d4695 100644
--- a/lib/abrt.c
+++ b/lib/abrt.c
@@ -372,6 +372,33 @@ rpm_dso_list_from_dir(struct sr_rpm_package *packages,
return packages;
}
+static struct sr_rpm_package *
+rpm_interpreter_from_dir(struct sr_rpm_package *packages,
+ const char *directory,
+ char **error_message)
+{
+ char *interpreter_str = file_contents(directory, "interpreter",
+ error_message);
+ if (interpreter_str)
+ {
+ struct sr_rpm_package *interpreter_package = sr_rpm_package_new();
+ bool success = sr_rpm_package_parse_nevra(interpreter_str,
+ &interpreter_package->name,
+ &interpreter_package->epoch,
+ &interpreter_package->version,
+ &interpreter_package->release,
+ &interpreter_package->architecture);
+
+ free(interpreter_str);
+ if (success)
+ packages = sr_rpm_package_append(packages, interpreter_package);
+ else
+ sr_rpm_package_free(interpreter_package, true);
+ }
+
+ return packages;
+}
+
static bool
file_exist(const char *directory, const char *filename)
{
@@ -412,6 +439,10 @@ sr_abrt_rpm_packages_from_dir(const char *directory, struct sr_rpm_package **pac
return -2;
}
+ /* attach interpreter as related package if exists */
+ if (file_exist(directory, "interpreter"))
+ *packages = rpm_interpreter_from_dir(*packages, directory, error_message);
+
return 0;
}
--
2.14.3