summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Toman <mtoman@redhat.com>2011-03-28 10:15:46 +0200
committerMichal Toman <mtoman@redhat.com>2011-03-28 10:16:48 +0200
commit2e2e588b4f27132e6f92e2e90906d0ecf39bc71d (patch)
treea5058ffe14c9b390d92ec58ad71ed7d3ebb55383
parent82ab98c161e01de5a41902ea1961016b4d4bccca (diff)
downloadabrt-2e2e588b4f27132e6f92e2e90906d0ecf39bc71d.tar.gz
abrt-2e2e588b4f27132e6f92e2e90906d0ecf39bc71d.tar.xz
abrt-2e2e588b4f27132e6f92e2e90906d0ecf39bc71d.zip
make abrt-retrace-server RPM work properly
-rw-r--r--abrt.spec12
-rw-r--r--configure.ac1
-rw-r--r--src/retrace/Makefile.am11
-rw-r--r--src/retrace/create.wsgi2
-rw-r--r--src/retrace/plugins/Makefile.am2
-rwxr-xr-xsrc/retrace/worker.py6
6 files changed, 30 insertions, 4 deletions
diff --git a/abrt.spec b/abrt.spec
index 684edad2..c0305a9f 100644
--- a/abrt.spec
+++ b/abrt.spec
@@ -251,7 +251,7 @@ Group: System Environment/Daemons
Requires: abrt-addon-ccpp
Requires: gdb >= 7.0-3
Requires: httpd, mod_wsgi, mod_ssl, python-webob
-Requires: mock, xz, elfutils, createrepo
+Requires: mock, xz, elfutils, createrepo, rsync
%{?el6:Requires: python-argparse}
Requires(preun): /sbin/install-info
Requires(post): /sbin/install-info
@@ -284,6 +284,9 @@ install -m 755 %SOURCE2 ${RPM_BUILD_ROOT}/%{_initrddir}/abrt-ccpp
mkdir -p $RPM_BUILD_ROOT/var/cache/abrt-di
mkdir -p $RPM_BUILD_ROOT/var/run/abrt
mkdir -p $RPM_BUILD_ROOT/var/spool/abrt
+mkdir -p $RPM_BUILD_ROOT/var/spool/abrt-retrace
+mkdir -p $RPM_BUILD_ROOT/var/cache/abrt-retrace
+mkdir -p $RPM_BUILD_ROOT/var/log/abrt-retrace
mkdir -p $RPM_BUILD_ROOT/var/spool/abrt-upload
desktop-file-install \
@@ -329,6 +332,7 @@ fi
%post retrace-server
/sbin/install-info %{_infodir}/abrt-retrace-server %{_infodir}/dir 2> /dev/null || :
+/usr/sbin/usermod -G mock apache 2> /dev/null || :
%preun
if [ "$1" -eq "0" ] ; then
@@ -560,8 +564,12 @@ fi
%config(noreplace) %{_sysconfdir}/%{name}/retrace.conf
%config(noreplace) %{_sysconfdir}/httpd/conf.d/retrace_httpd.conf
%config(noreplace) %{_sysconfdir}/yum.repos.d/retrace.repo
-%{_bindir}/abrt-retrace-worker
+%dir %attr(0775, apache, abrt) %{_localstatedir}/spool/abrt-retrace
+%dir %attr(0755, abrt, abrt) %{_localstatedir}/cache/abrt-retrace
+%dir %attr(0755, abrt, abrt) %{_localstatedir}/log/abrt-retrace
+%caps(cap_setuid=ep) %{_bindir}/abrt-retrace-worker
%{_datadir}/abrt-retrace/*.py*
+%{_datadir}/abrt-retrace/plugins/*.py*
%{_datadir}/abrt-retrace/*.wsgi
%{_infodir}/abrt-retrace-server*
diff --git a/configure.ac b/configure.ac
index f1abe194..645461eb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -128,6 +128,7 @@ AC_CONFIG_FILES([
src/gui-wizard-gtk/Makefile
src/cli/Makefile
src/retrace/Makefile
+ src/retrace/plugins/Makefile
po/Makefile.in
icons/Makefile
tests/btparser/Makefile
diff --git a/src/retrace/Makefile.am b/src/retrace/Makefile.am
index 163f9e71..19971da9 100644
--- a/src/retrace/Makefile.am
+++ b/src/retrace/Makefile.am
@@ -1,9 +1,20 @@
+SUBDIRS = plugins
+
bin_PROGRAMS = abrt-retrace-worker
abrt_retrace_worker_SOURCES = worker.c
retrace_PYTHON = retrace.py
retracedir = $(datadir)/abrt-retrace
+worker_PYTHON = coredump2packages.py worker.py
+workerdir = $(datadir)/abrt-retrace
+
+cleanup_PYTHON = abrt-retrace-cleanup.py
+cleanupdir = $(datadir)/abrt-retrace
+
+reposync_PYTHON = abrt-retrace-reposync.py
+reposyncdir = $(datadir)/abrt-retrace
+
interface_PYTHON = backtrace.wsgi create.wsgi log.wsgi status.wsgi
# interfacedir should probably be $$(pkgdatadir)/retrace
interfacedir = $(datadir)/abrt-retrace
diff --git a/src/retrace/create.wsgi b/src/retrace/create.wsgi
index 914469ec..35549068 100644
--- a/src/retrace/create.wsgi
+++ b/src/retrace/create.wsgi
@@ -91,6 +91,6 @@ def application(environ, start_response):
Popen(["rm", "-rf", taskdir])
return response(start_response, "403 Forbidden", "Required file \"{0}\" is missing".format(required_file))
- Popen(["/usr/sbin/abrt-retrace-worker", "%d" % taskid])
+ Popen(["/usr/bin/abrt-retrace-worker", "%d" % taskid])
return response(start_response, "201 Created", "", [("X-Task-Id", "%d" % taskid), ("X-Task-Password", taskpass)])
diff --git a/src/retrace/plugins/Makefile.am b/src/retrace/plugins/Makefile.am
new file mode 100644
index 00000000..251efbff
--- /dev/null
+++ b/src/retrace/plugins/Makefile.am
@@ -0,0 +1,2 @@
+plugins_PYTHON = __init__.py fedora.py
+pluginsdir = $(datadir)/abrt-retrace/plugins
diff --git a/src/retrace/worker.py b/src/retrace/worker.py
index 4eed5236..5102315e 100755
--- a/src/retrace/worker.py
+++ b/src/retrace/worker.py
@@ -125,7 +125,11 @@ if __name__ == "__main__":
# read required packages from coredump
try:
# ToDo: deal with not found build-ids
- pipe = Popen(["/usr/share/abrt-retrace/coredump2packages.py", "%s/crash/coredump" % savedir, "--repos=retrace-%s-%s-%s*" % (distribution, version, arch)], stdout=PIPE).stdout
+ pipe = Popen(["/usr/bin/python",
+ "/usr/share/abrt-retrace/coredump2packages.py",
+ "%s/crash/coredump" % savedir,
+ "--repos=retrace-%s-%s-%s*" % (distribution, version, arch)],
+ stdout=PIPE).stdout
section = 0
crash_package_or_component = None
for line in pipe.readlines():