|
Jakub Filak |
6bf513 |
From 9ef1d95f9556db4fdf02b283e1602b9e63b693c8 Mon Sep 17 00:00:00 2001
|
|
Jakub Filak |
6bf513 |
From: Jakub Filak <jfilak@redhat.com>
|
|
Jakub Filak |
6bf513 |
Date: Thu, 9 Oct 2014 10:24:42 +0200
|
|
Jakub Filak |
2164d6 |
Subject: [PATCH] ureport: attach contact email if configured
|
|
Jakub Filak |
6bf513 |
|
|
Jakub Filak |
6bf513 |
Related to rhbz#1150389
|
|
Jakub Filak |
6bf513 |
|
|
Jakub Filak |
6bf513 |
Signed-off-by: Jakub Filak <jfilak@redhat.com>
|
|
Jakub Filak |
6bf513 |
---
|
|
Jakub Filak |
6bf513 |
src/plugins/abrt-action-ureport | 35 ++++++++++++++++++++++++++++++++---
|
|
Jakub Filak |
6bf513 |
1 file changed, 32 insertions(+), 3 deletions(-)
|
|
Jakub Filak |
6bf513 |
|
|
Jakub Filak |
6bf513 |
diff --git a/src/plugins/abrt-action-ureport b/src/plugins/abrt-action-ureport
|
|
Jakub Filak |
6bf513 |
index 1abe7b3..df5f3d3 100755
|
|
Jakub Filak |
6bf513 |
--- a/src/plugins/abrt-action-ureport
|
|
Jakub Filak |
6bf513 |
+++ b/src/plugins/abrt-action-ureport
|
|
Jakub Filak |
6bf513 |
@@ -8,6 +8,7 @@
|
|
Jakub Filak |
6bf513 |
import sys
|
|
Jakub Filak |
6bf513 |
import os
|
|
Jakub Filak |
6bf513 |
import getopt
|
|
Jakub Filak |
6bf513 |
+import augeas
|
|
Jakub Filak |
6bf513 |
|
|
Jakub Filak |
6bf513 |
from report import dd_opendir, DD_FAIL_QUIETLY_ENOENT, run_event_state
|
|
Jakub Filak |
6bf513 |
from reportclient import set_verbosity, error_msg_and_die, error_msg, log1, log
|
|
Jakub Filak |
6bf513 |
@@ -33,12 +34,30 @@ def init_gettext():
|
|
Jakub Filak |
6bf513 |
gettext.textdomain(GETTEXT_PROGNAME)
|
|
Jakub Filak |
6bf513 |
|
|
Jakub Filak |
6bf513 |
|
|
Jakub Filak |
6bf513 |
-def spawn_and_wait(prog):
|
|
Jakub Filak |
6bf513 |
+def get_augeas(module, file_path):
|
|
Jakub Filak |
6bf513 |
+ """
|
|
Jakub Filak |
6bf513 |
+ A function for efficient configuration of Augeas.
|
|
Jakub Filak |
6bf513 |
+ Augeas modules are placed in /usr/share/augeas/lenses/dist
|
|
Jakub Filak |
6bf513 |
+ """
|
|
Jakub Filak |
6bf513 |
+
|
|
Jakub Filak |
6bf513 |
+ aug_obj = augeas.Augeas(flags=augeas.Augeas.NO_MODL_AUTOLOAD)
|
|
Jakub Filak |
6bf513 |
+ aug_obj.set("/augeas/load/{0}/lens".format(module), "{0}.lns".format(module))
|
|
Jakub Filak |
6bf513 |
+ aug_obj.set("/augeas/load/{0}/incl".format(module), file_path)
|
|
Jakub Filak |
6bf513 |
+ aug_obj.load()
|
|
Jakub Filak |
6bf513 |
+ return aug_obj
|
|
Jakub Filak |
6bf513 |
+
|
|
Jakub Filak |
6bf513 |
+
|
|
Jakub Filak |
6bf513 |
+def spawn_and_wait(prog, args=None):
|
|
Jakub Filak |
6bf513 |
+ if args is None:
|
|
Jakub Filak |
6bf513 |
+ args = [prog]
|
|
Jakub Filak |
6bf513 |
+ else:
|
|
Jakub Filak |
6bf513 |
+ args.insert(0, prog)
|
|
Jakub Filak |
6bf513 |
+
|
|
Jakub Filak |
6bf513 |
try:
|
|
Jakub Filak |
6bf513 |
- return os.spawnlp(os.P_WAIT, prog, prog)
|
|
Jakub Filak |
6bf513 |
+ return os.spawnvpe(os.P_WAIT, prog, args, os.environ)
|
|
Jakub Filak |
6bf513 |
except OSError as err:
|
|
Jakub Filak |
6bf513 |
error_msg(_("Unable to start '%s', error message was: '%s'"),
|
|
Jakub Filak |
6bf513 |
- prog, err)
|
|
Jakub Filak |
6bf513 |
+ " ".join(args), err)
|
|
Jakub Filak |
6bf513 |
return -1
|
|
Jakub Filak |
6bf513 |
|
|
Jakub Filak |
6bf513 |
def try_parse_number(dd, filename):
|
|
Jakub Filak |
6bf513 |
@@ -92,6 +111,7 @@ if __name__ == "__main__":
|
|
Jakub Filak |
6bf513 |
verbose += 1
|
|
Jakub Filak |
6bf513 |
|
|
Jakub Filak |
6bf513 |
set_verbosity(verbose)
|
|
Jakub Filak |
6bf513 |
+ os.environ["ABRT_VERBOSE"] = str(verbose)
|
|
Jakub Filak |
6bf513 |
|
|
Jakub Filak |
6bf513 |
# getcwd might fail if cwd was deleted
|
|
Jakub Filak |
6bf513 |
try:
|
|
Jakub Filak |
6bf513 |
@@ -159,6 +179,15 @@ if __name__ == "__main__":
|
|
Jakub Filak |
6bf513 |
log(_("Adding you to CC List of the existing bugzilla bug"))
|
|
Jakub Filak |
6bf513 |
run_event("watch_Bugzilla", dirname)
|
|
Jakub Filak |
6bf513 |
|
|
Jakub Filak |
6bf513 |
+ email = os.getenv("uReport_ContactEmail")
|
|
Jakub Filak |
6bf513 |
+ if not email:
|
|
Jakub Filak |
6bf513 |
+ augeas = get_augeas("libreport", "/etc/libreport/plugins/ureport.conf")
|
|
Jakub Filak |
6bf513 |
+ email = augeas.get("/files/etc/libreport/plugins/ureport.conf/ContactEmail")
|
|
Jakub Filak |
6bf513 |
+
|
|
Jakub Filak |
6bf513 |
+ if email:
|
|
Jakub Filak |
6bf513 |
+ log1("Attaching ContactEmail: " + email)
|
|
Jakub Filak |
6bf513 |
+ spawn_and_wait("reporter-ureport", ["-A", "-E"])
|
|
Jakub Filak |
6bf513 |
+
|
|
Jakub Filak |
6bf513 |
sys.exit(exitcode)
|
|
Jakub Filak |
6bf513 |
else:
|
|
Jakub Filak |
6bf513 |
error_msg_and_die(_("reporter-ureport failed with exit code %d" % exitcode))
|
|
Jakub Filak |
6bf513 |
--
|
|
Jakub Filak |
6bf513 |
2.1.0
|
|
Jakub Filak |
6bf513 |
|