diff --git a/.gitignore b/.gitignore index 747f76b..f31119f 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ abrt-1.1.13.tar.gz /abrt-2.1.10.tar.gz /abrt-2.1.11.tar.gz /abrt-2.1.12.tar.gz +/abrt-2.2.0.tar.gz diff --git a/0001-Fix-new-lines-in-po-files.patch b/0001-Fix-new-lines-in-po-files.patch new file mode 100644 index 0000000..7388d3a --- /dev/null +++ b/0001-Fix-new-lines-in-po-files.patch @@ -0,0 +1,106 @@ +From d26e3cea54444d59d00758d8a69c2bbe1832c492 Mon Sep 17 00:00:00 2001 +From: Jakub Filak +Date: Wed, 5 Mar 2014 12:24:10 +0100 +Subject: [PATCH] Fix new lines in po files + +Signed-off-by: Jakub Filak +--- + po/hu.po | 8 ++++---- + po/tr.po | 12 ++++++------ + 2 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/po/hu.po b/po/hu.po +index 788a942..dde1e65 100644 +--- a/po/hu.po ++++ b/po/hu.po +@@ -597,7 +597,7 @@ msgid "" + " -e,--exact Download only specified files\n" + " --repo Pattern to use when searching for repos.\n" + " Default: *debug*\n" +-msgstr "Használat: %s [-vy] [--ids=BUILD_IDS_FILE] \\n [--tmpdir=TMPDIR] [--cache=CACHEDIR[:DEBUGINFODIR1:DEBUGINFODIR2...]] [--size_mb=SIZE] \\n [-e, --exact=PATH] \\n A felsorolt azonosítók alapján felépíti és telepíti a debuginfot BUILD_IDS_FILE alapján \\n a CACHEDIR segítségével a TMPDIR ideiglenes átmeneti területére . \\n A régi fájlok tőrlődnek a CACHEDIRból amíg a z kisebb , mint a SIZE . \\n \\n -v Legyen részletesebb \\n -Y Legyen interaktív és válaszoljunk 'igen'el mindegyik kérdésre \\n --ids Alapértelmezett: build_ids \\n --tmpdir Alapértelmezett: @LARGE_DATA_TMP_DIR@/abrt-tmp-debuginfo-RANDOM_SUFFIX \\n --cache Alapértelmezett: /var/cache/abrt-di \\n --size_mb Alapértelmezettt: 4096 \\n -e,--exact Csak a megadott fájlok letöltése \\n" ++msgstr "Használat: %s [-vy] [--ids=BUILD_IDS_FILE]\n [--tmpdir=TMPDIR] [--cache=CACHEDIR[:DEBUGINFODIR1:DEBUGINFODIR2...]] [--size_mb=SIZE]\n [-e, --exact=PATH]\n A felsorolt azonosítók alapján felépíti és telepíti a debuginfot BUILD_IDS_FILE alapján\n a CACHEDIR segítségével a TMPDIR ideiglenes átmeneti területére .\n A régi fájlok tőrlődnek a CACHEDIRból amíg a z kisebb , mint a SIZE.\n\n -v Legyen részletesebb\n -Y Legyen interaktív és válaszoljunk 'igen'el mindegyik kérdésre\n --ids Alapértelmezett: build_ids\n --tmpdir Alapértelmezett: @LARGE_DATA_TMP_DIR@/abrt-tmp-debuginfo-RANDOM_SUFFIX\n --cache Alapértelmezett: /var/cache/abrt-di\n --size_mb Alapértelmezettt: 4096\n -e,--exact Csak a megadott fájlok letöltése\n" + + #: ../src/plugins/abrt-action-install-debuginfo.in:169 + msgid "Can't open {0}: {1}" +@@ -756,7 +756,7 @@ msgstr "Adjon hozzáférést a hozzárendelt fájlon túl, helytelen címzésekh + + #: ../src/plugins/abrt-gdb-exploitable:693 + msgid "Can't get signal no and do exploitability analysis\n" +-msgstr "Nincsen jel és így nem lehet kihasználhatósági elemzést készíteni \\n" ++msgstr "Nincsen jel és így nem lehet kihasználhatósági elemzést készíteni\n" + + #: ../src/plugins/abrt-gdb-exploitable:706 + msgid "Likely crash reason: " +@@ -772,7 +772,7 @@ msgstr "Jelenlegi instrukció:" + + #: ../src/plugins/abrt-gdb-exploitable:711 + msgid "Exploitability analysis came up empty\n" +-msgstr "A kihasználhatósági elemzés üresen jött \\n" ++msgstr "A kihasználhatósági elemzés üresen jött\n" + + #: ../src/plugins/abrt-watch-log.c:142 + msgid "" +@@ -1499,7 +1499,7 @@ msgstr "Csak azoknak az eseteknek a számát jelenítse meg, ami a megjelölt id + #: ../src/cli/status.c:104 + #, c-format + msgid "ABRT has detected %u problem(s). For more info run: abrt-cli list%s\n" +-msgstr "Az ABRT több hibát is talált %u (s) . További információhoz futtasa az abrt-cli list %s parancsot \\n" ++msgstr "Az ABRT több hibát is talált %u (s) . További információhoz futtasa az abrt-cli list %s parancsot\n" + + #: ../src/plugins/analyze_CCpp.xml.in.h:1 + msgid "" +diff --git a/po/tr.po b/po/tr.po +index f104816..51a6a9e 100644 +--- a/po/tr.po ++++ b/po/tr.po +@@ -902,7 +902,7 @@ msgstr "%d uzunluğundaki HTTP başlığının gönderimi başarısız: NSS hata + msgid "" + "Unexpected HTTP response from server: %d\n" + "%s" +-msgstr "Sunucudan beklenmeyen HTTP cevabı: %d\\n\n%s" ++msgstr "Sunucudan beklenmeyen HTTP cevabı: %d\n\n%s" + + #: ../src/plugins/abrt-retrace-client.c:232 + #: ../src/plugins/abrt-retrace-client.c:745 +@@ -985,17 +985,17 @@ msgstr "Kullanıcı tarafından iptal edildi" + #: ../src/plugins/abrt-retrace-client.c:673 + #, c-format + msgid "Uploading %d megabytes\n" +-msgstr "%d megabytes yükleniyor\\n" ++msgstr "%d megabytes yükleniyor\n" + + #: ../src/plugins/abrt-retrace-client.c:675 + #, c-format + msgid "Uploading %lld bytes\n" +-msgstr "Yüklenen %lld byte \\n" ++msgstr "Yüklenen %lld byte\n" + + #: ../src/plugins/abrt-retrace-client.c:699 + #, c-format + msgid "Uploading %d%%\n" +-msgstr "Yükleniyor '%d%%\\n" ++msgstr "Yükleniyor '%d%%\n" + + #: ../src/plugins/abrt-retrace-client.c:711 + msgid "Failed to read from a pipe" +@@ -1039,7 +1039,7 @@ msgstr "Geri izleme işi başladı." + msgid "" + "Task Id: %s\n" + "Task Password: %s\n" +-msgstr "Görev Id: %d\\n\nGörev Şifresi: %s\\n" ++msgstr "Görev Id: %d\n\nGörev Şifresi: %s\n" + + #: ../src/plugins/abrt-retrace-client.c:856 + msgid "Invalid response from server: missing X-Task-Status." +@@ -1050,7 +1050,7 @@ msgstr "Sunucudan geçersiz cevap: X-Task-Status kayıp" + msgid "" + "Task Status: %s\n" + "%s\n" +-msgstr "Görev Durumu: %s\\n\n%s\\n" ++msgstr "Görev Durumu: %s\n\n%s\n" + + #: ../src/plugins/abrt-retrace-client.c:899 + #: ../src/plugins/abrt-retrace-client.c:973 +-- +1.8.5.3 + diff --git a/0001-python-install-modules-to-sitearch-directory.patch b/0001-python-install-modules-to-sitearch-directory.patch deleted file mode 100644 index 659ba70..0000000 --- a/0001-python-install-modules-to-sitearch-directory.patch +++ /dev/null @@ -1,25 +0,0 @@ -From e452c2b3586cc827d105e66b0bd08960a44e61a7 Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Fri, 31 Jan 2014 11:09:46 +0100 -Subject: [ABRT PATCH 01/11] python: install modules to sitearch directory - -Signed-off-by: Jakub Filak ---- - src/python-problem/problem/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/python-problem/problem/Makefile.am b/src/python-problem/problem/Makefile.am -index cd8f04e..c7d99cb 100644 ---- a/src/python-problem/problem/Makefile.am -+++ b/src/python-problem/problem/Makefile.am -@@ -1,6 +1,6 @@ - problem_PYTHON = __init__.py exception.py proxies.py tools.py watch.py config.py - --problemdir = $(pythondir)/problem -+problemdir = $(pyexecdir)/problem - - pyabrtdir = $(problemdir) - pyabrt_LTLIBRARIES = _pyabrt.la --- -1.8.3.1 - diff --git a/0011-upload-watch-remove-busy-wait-for-SIGUSR1.patch b/0011-upload-watch-remove-busy-wait-for-SIGUSR1.patch deleted file mode 100644 index dd0ad2a..0000000 --- a/0011-upload-watch-remove-busy-wait-for-SIGUSR1.patch +++ /dev/null @@ -1,114 +0,0 @@ -From c12b430997567f3d68ec8e7ba76674f20c27441b Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Fri, 7 Feb 2014 17:54:14 +0100 -Subject: [ABRT PATCH 11/11] upload-watch: remove busy-wait for SIGUSR1 - -Unconditional checking of SIGUSR1 flag in the idle source of main loop -causes 100% CPU usage. - -hanle_sigusr() function and got_sigusr flag are not necessary because -abrt-upload-watch already implements signal handling based on usage of -GIO Channels. - -Closes rhbz#1060020 - -Signed-off-by: Jakub Filak ---- - src/daemon/abrt-upload-watch.c | 37 +++++++++---------------------------- - 1 file changed, 9 insertions(+), 28 deletions(-) - -diff --git a/src/daemon/abrt-upload-watch.c b/src/daemon/abrt-upload-watch.c -index 59bfbe4..a42b285 100644 ---- a/src/daemon/abrt-upload-watch.c -+++ b/src/daemon/abrt-upload-watch.c -@@ -27,7 +27,6 @@ - #define DEFAULT_CACHE_MIB_SIZE 4 - - static int g_signal_pipe[2]; --static sig_atomic_t got_sigusr; - - struct queue - { -@@ -122,24 +121,11 @@ handle_new_path(struct process *proc, char *name) - } - } - --static gboolean -+static void - print_stats(struct process *proc) - { -- /* there is a race, because we run this function from 2 different places -- * 1st when a child dies -- * 2nd as idle source from mainloop -- * if it happens the stats will be printed twice, which I think -- * is not a big deal, because it's only for debug and tests -- */ -- if (got_sigusr == 1) -- { -- got_sigusr = 0; -- /* this is meant only for debugging, so not marking it as translatable */ -- fprintf(stderr, "%i archives to process, %i active workers\n", g_queue_get_length(&proc->queue.q), proc->children); -- } -- -- /* don't remove this source from glib */ -- return true; -+ /* this is meant only for debugging, so not marking it as translatable */ -+ fprintf(stderr, "%i archives to process, %i active workers\n", g_queue_get_length(&proc->queue.q), proc->children); - } - - static void -@@ -157,13 +143,6 @@ process_next_in_queue(struct process *proc) - } - - static void --handle_sigusr(int signo) --{ -- /* just set the flag and process it synchronously */ -- got_sigusr = 1; --} -- --static void - handle_signal(int signo) - { - int save_errno = errno; -@@ -200,7 +179,11 @@ handle_signal_pipe_cb(GIOChannel *gio, GIOCondition condition, gpointer user_dat - { - /* we did receive a signal */ - log_debug("Got signal %d through signal pipe", signals[signo]); -- if (signals[signo] != SIGCHLD) -+ if (signals[signo] == SIGUSR1) -+ { -+ print_stats(proc); -+ } -+ else if (signals[signo] != SIGCHLD) - { - process_quit(proc); - return FALSE; /* remove this event */ -@@ -363,7 +346,7 @@ main(int argc, char **argv) - close_on_exec_on(g_signal_pipe[1]); - ndelay_on(g_signal_pipe[0]); - ndelay_on(g_signal_pipe[1]); -- signal(SIGUSR1, handle_sigusr); -+ signal(SIGUSR1, handle_signal); - signal(SIGTERM, handle_signal); - signal(SIGINT, handle_signal); - signal(SIGCHLD, handle_signal); -@@ -373,7 +356,6 @@ main(int argc, char **argv) - handle_signal_pipe_cb, - &proc); - -- int status_callback_source_id = g_idle_add((GSourceFunc)print_stats, &proc); - log_info("Starting glib main loop"); - - g_main_loop_run(proc.main_loop); -@@ -381,7 +363,6 @@ main(int argc, char **argv) - log_info("Glib main loop finished"); - - g_source_remove(channel_signal_source_id); -- g_source_remove(status_callback_source_id); - - GError *error = NULL; - g_io_channel_shutdown(channel_signal, FALSE, &error); --- -1.8.3.1 - diff --git a/abrt.spec b/abrt.spec index 8c6a47e..bb5869d 100644 --- a/abrt.spec +++ b/abrt.spec @@ -34,13 +34,13 @@ %define docdirversion -%{version} %endif -%define libreport_ver 2.1.12 +%define libreport_ver 2.2.0 %define satyr_ver 0.13 Summary: Automatic bug detection and reporting tool Name: abrt -Version: 2.1.12 -Release: 2%{?dist} +Version: 2.2.0 +Release: 1%{?dist} License: GPLv2+ Group: Applications/System URL: https://fedorahosted.org/abrt/ @@ -48,8 +48,7 @@ Source: https://fedorahosted.org/released/%{name}/%{name}-%{version}.tar.gz # don't remove this patch, packages in rawhide are not signed! Patch0: disable-OpenGPGCheck-in-Fedora-Rawhide.patch -Patch1: 0001-python-install-modules-to-sitearch-directory.patch -Patch11: 0011-upload-watch-remove-busy-wait-for-SIGUSR1.patch +Patch1: 0001-Fix-new-lines-in-po-files.patch # '%%autosetup -S git' -> git BuildRequires: git @@ -61,6 +60,7 @@ BuildRequires: desktop-file-utils BuildRequires: libnotify-devel #why? BuildRequires: file-devel BuildRequires: python-devel +BuildRequires: python3-devel BuildRequires: gettext BuildRequires: libxml2-devel BuildRequires: intltool @@ -72,6 +72,7 @@ BuildRequires: xmlto BuildRequires: libreport-devel >= %{libreport_ver} BuildRequires: satyr-devel >= %{satyr_ver} BuildRequires: systemd-python +BuildRequires: systemd-python3 BuildRequires: augeas Requires: libreport >= %{libreport_ver} @@ -82,6 +83,7 @@ Requires: systemd-units %endif BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-python = %{version}-%{release} Requires(pre): shadow-utils Requires: python-dbus Requires: libreport-plugin-ureport >= %{libreport_ver} @@ -89,7 +91,7 @@ Requires: libreport-plugin-ureport >= %{libreport_ver} %description %{name} is a tool to help users to detect defects in applications and to create a bug report with all information needed by maintainer to fix it. -It uses plugin system to extend its functionality. +It uses plugin system to extend its functionality. %package libs Summary: Libraries for %{name} @@ -252,6 +254,18 @@ Requires: abrt-python This package contains python hook and python analyzer plugin for handling uncaught exception in python programs. +%package addon-python3 +Summary: %{name}'s addon for catching and analyzing Python 3 exceptions +Group: System Environment/Libraries +Requires: python3 +Requires: %{name} = %{version}-%{release} +Requires: systemd-python3 +Requires: abrt-python3 + +%description addon-python3 +This package contains python 3 hook and python analyzer plugin for handling +uncaught exception in python 3 programs. + %package tui Summary: %{name}'s command line interface Group: User Interface/Desktops @@ -273,6 +287,7 @@ Requires: abrt-addon-pstoreoops Requires: abrt-addon-vmcore Requires: abrt-addon-ccpp Requires: abrt-addon-python +Requires: abrt-addon-python3 Requires: abrt-addon-xorg %if 0%{?rhel} Requires: libreport-rhel >= %{libreport_ver} @@ -305,6 +320,7 @@ Requires: abrt-addon-pstoreoops Requires: abrt-addon-vmcore Requires: abrt-addon-ccpp Requires: abrt-addon-python +Requires: abrt-addon-python3 Requires: abrt-addon-xorg # Default config of addon-ccpp requires gdb Requires: gdb >= 7.0-3 @@ -347,6 +363,8 @@ Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} Requires: pygobject2 +Requires: dbus-python +Requires: libreport-python BuildRequires: python-nose BuildRequires: python-sphinx @@ -365,6 +383,33 @@ Requires: %{name}-python = %{version}-%{release} %description python-doc Examples and documentation for ABRT Python API. +%package python3 +Summary: ABRT Python 3 API +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} +Requires: pygobject3 +Requires: python3-dbus +Requires: libreport-python3 +BuildRequires: python3-nose +BuildRequires: python3-sphinx +BuildRequires: libreport-python3 + +%description python3 +High-level API for querying, creating and manipulating +problems handled by ABRT in Python 3. + +%package python3-doc +Summary: ABRT Python API Documentation +Group: Documentation +BuildArch: noarch +BuildRequires: python3-devel +Requires: %{name} = %{version}-%{release} +Requires: %{name}-python3 = %{version}-%{release} + +%description python3-doc +Examples and documentation for ABRT Python 3 API. + %package console-notification Summary: ABRT console notification script Group: Applications/System @@ -397,6 +442,13 @@ make install DESTDIR=$RPM_BUILD_ROOT \ %find_lang %{name} +# Remove byte-compiled python files generated by automake. +# automake uses system's python for all *.py files, even +# for those which needs to be byte-compiled with different +# version (python2/python3). +# rpm can do this work and use the appropriate python version. +find $RPM_BUILD_ROOT -name "*.py[co]" -delete + # remove all .la and .a files find $RPM_BUILD_ROOT -name '*.la' -or -name '*.a' | xargs rm -f mkdir -p ${RPM_BUILD_ROOT}/%{_initrddir} @@ -574,6 +626,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_mandir}/man1/abrt-action-notify.1.gz %{_bindir}/abrt-action-save-package-data %{_bindir}/abrt-watch-log +%{_bindir}/abrt-action-analyze-python %{_bindir}/abrt-action-analyze-xorg %config(noreplace) %{_sysconfdir}/%{name}/abrt.conf %{_datadir}/%{name}/conf.d/abrt.conf @@ -605,6 +658,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_mandir}/man1/abrt-server.1.gz %{_mandir}/man1/abrt-action-save-package-data.1.gz %{_mandir}/man1/abrt-watch-log.1.gz +%{_mandir}/man1/abrt-action-analyze-python.1* %{_mandir}/man1/abrt-action-analyze-xorg.1.gz %{_mandir}/man1/abrt-auto-reporting.1.gz %{_mandir}/man8/abrtd.8.gz @@ -798,11 +852,19 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : # TODO? Do we need %%config(noreplace) in the below line too? %config(noreplace) %{_sysconfdir}/libreport/events.d/python_event.conf %{_mandir}/man5/python_event.conf.5.gz -%{_bindir}/abrt-action-analyze-python -%{_mandir}/man1/abrt-action-analyze-python.1* %{python_sitearch}/abrt*.py* %{python_sitearch}/abrt.pth +%files addon-python3 +%defattr(-,root,root,-) +%config(noreplace) %{_sysconfdir}/%{name}/plugins/python3.conf +%{_datadir}/%{name}/conf.d/plugins/python3.conf +%{_mandir}/man5/abrt-python3.conf.5.gz +%config(noreplace) %{_sysconfdir}/libreport/events.d/python3_event.conf +%{_mandir}/man5/python3_event.conf.5.gz +%{python3_sitearch}/abrt* +%{python3_sitearch}/__pycache__/abrt* + %files cli %defattr(-,root,root,-) @@ -848,10 +910,28 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files python-doc %{python_sitelib}/problem_examples +%files python3 +%{python3_sitearch}/problem/ +%{_mandir}/man5/abrt-python3.5.gz + +%files python3-doc +%{python3_sitelib}/problem_examples + %files console-notification %config(noreplace) %{_sysconfdir}/profile.d/abrt-console-notification.sh %changelog +* Wed Mar 05 2014 Jakub Filak 2.2.0-1 +- Translation updates +- limit ourselves to *.conf in /etc/abrt +- applet: run Autoreporting event in NONINTERACTIVE mode +- ureport: add user to CC List of Bugzilla bug +- python: build python api for py3 +- koops: never search for MCE strings in dmesg +- spec: remove stray space from %description +- spec: add missing requires for python api +- spec: add dependency on abrt-python + * Mon Feb 10 2014 Jakub Filak - 2.1.12-2 - python: install modules to sitearch directory - upload-watch: remove busy-wait for SIGUSR1 diff --git a/sources b/sources index 13a55a1..7437248 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2e659a4acf115065aa0cf52398e2a9d5 abrt-2.1.12.tar.gz +7d5325ece7728a6058c94999ce2ceccb abrt-2.2.0.tar.gz