On 11/28/2012 06:39 PM, Jakub Filak wrote: > - related to trac#763, trac#768 > > Signed-off-by: Jakub Filak <[email protected]> > --- > abrt.spec.in | 1 + > src/plugins/Makefile.am | 4 +++- > src/plugins/abrt-action-ureport | 23 +++++++++++++++++++++++ > src/plugins/ccpp_event.conf | 2 +- > src/plugins/koops_event.conf | 2 +- > src/plugins/python_event.conf | 2 +- > 6 files changed, 30 insertions(+), 4 deletions(-) > create mode 100644 src/plugins/abrt-action-ureport > > diff --git a/abrt.spec.in b/abrt.spec.in > index 678ad43..aaac4e3 100644 > --- a/abrt.spec.in > +++ b/abrt.spec.in > @@ -466,6 +466,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor > &>/dev/null || : > %{_sbindir}/abrtd > %{_sbindir}/abrt-server > %{_libexecdir}/abrt-handle-event > +%{_libexecdir}/abrt-action-ureport > %{_bindir}/abrt-handle-upload > %{_bindir}/abrt-action-save-package-data > %{_bindir}/abrt-watch-log > diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am > index 3664584..9705b93 100644 > --- a/src/plugins/Makefile.am > +++ b/src/plugins/Makefile.am > @@ -26,6 +26,8 @@ bin_PROGRAMS = \ > > libexec_PROGRAMS = abrt-action-install-debuginfo-to-abrt-cache > > +libexec_SCRIPTS = abrt-action-ureport > + > #dist_pluginsconf_DATA = Python.conf > > eventsdir = $(EVENTS_DIR) > @@ -80,6 +82,7 @@ EXTRA_DIST = \ > abrt-action-analyze-vmcore \ > abrt-action-analyze-xorg \ > abrt-action-save-kernel-data \ > + abrt-action-ureport \ > https-utils.h \ > post_report.xml.in > > @@ -279,7 +282,6 @@ abrt_bodhi_SOURCES = \ > > DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ > > - > abrt-action-perform-ccpp-analysis: abrt-action-perform-ccpp-analysis.in > sed -e s,\@libexecdir\@,$(libexecdir),g \ > $< >$@ > diff --git a/src/plugins/abrt-action-ureport b/src/plugins/abrt-action-ureport > new file mode 100644 > index 0000000..796126a > --- /dev/null > +++ b/src/plugins/abrt-action-ureport > @@ -0,0 +1,23 @@ > +#!/bin/sh > +# > +# This script wraps reporter-ureport client and keeps number of sent > +# uReports to a server consistent with number of problem ocurrences. > +# > +# FAF server returns a BTHASH which is used as global identifier of problem. > +# reporter-ureport stores received BTHASH value in reported_to element under > +# uReport key. Therefore, if reported_to element contains uReport key, > +# reporter-ureport won't be run again. > +# > +# TODO: this implementation allows caller to report a problem only once > + > +if test -f reported_to && cat reported_to | grep -q "BTHASH" > +then > + > + test -n "$ABRT_VERBOSE" && test $ABRT_VERBOSE -ge 1 && { > + echo "Problem has been already reported: '`pwd`'" > + } > + > + exit 0 > +fi > + > +reporter-ureport > diff --git a/src/plugins/ccpp_event.conf b/src/plugins/ccpp_event.conf > index a04974c..4deff99 100644 > --- a/src/plugins/ccpp_event.conf > +++ b/src/plugins/ccpp_event.conf > @@ -73,7 +73,7 @@ EVENT=report_Bugzilla analyzer=CCpp duphash!= > > # Send micro report > EVENT=report_uReport analyzer=CCpp > - reporter-ureport > + /usr/libexec/abrt-action-ureport > > # update ABRT database after successful report to bugzilla > EVENT=post_report analyzer=CCpp > diff --git a/src/plugins/koops_event.conf b/src/plugins/koops_event.conf > index 070c563..4ae5cd2 100644 > --- a/src/plugins/koops_event.conf > +++ b/src/plugins/koops_event.conf > @@ -23,7 +23,7 @@ EVENT=report_Bugzilla analyzer=Kerneloops > > # Send micro report > EVENT=report_uReport analyzer=Kerneloops > - reporter-ureport > + /usr/libexec/abrt-action-ureport > > # Update ABRT database after successful report to bugzilla > EVENT=post_report analyzer=Kerneloops > diff --git a/src/plugins/python_event.conf b/src/plugins/python_event.conf > index a785718..90b3a7f 100644 > --- a/src/plugins/python_event.conf > +++ b/src/plugins/python_event.conf > @@ -18,7 +18,7 @@ EVENT=report_Bugzilla analyzer=Python > > # Send micro report > EVENT=report_uReport analyzer=Python > - reporter-ureport > + /usr/libexec/abrt-action-ureport > > # update ABRT database after successful report to bugzilla > EVENT=post_report analyzer=Python
Looks good to me.
