From a85baa79dbf325bdabc3d31f5f08036232b30e50 Mon Sep 17 00:00:00 2001 From: Jiří Moskovčák Date: Apr 15 2010 13:07:22 +0000 Subject: new upstream version --- diff --git a/.cvsignore b/.cvsignore index 44a8899..9d5f94a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -abrt-1.0.8.tar.gz +abrt-1.0.9.tar.gz diff --git a/abrt-1.0.9-better-bz-summary.patch b/abrt-1.0.9-better-bz-summary.patch new file mode 100644 index 0000000..6d3f0c3 --- /dev/null +++ b/abrt-1.0.9-better-bz-summary.patch @@ -0,0 +1,28 @@ +commit fcde1a65a0a283ed785cafa8a44ae219e1a79912 +Author: Nikola Pajkovsky +Date: Wed Apr 7 17:47:32 2010 +0200 + + add function name into summary(if it's found) + + Signed-off-by: Nikola Pajkovsky + +diff --git a/lib/Plugins/Bugzilla.cpp b/lib/Plugins/Bugzilla.cpp +index e59e9a7..bffccc1 100644 +--- a/lib/Plugins/Bugzilla.cpp ++++ b/lib/Plugins/Bugzilla.cpp +@@ -352,8 +352,15 @@ xmlrpc_int32 ctx::new_bug(const map_crash_data_t& pCrashData) + const std::string& arch = get_crash_data_item_content(pCrashData, FILENAME_ARCHITECTURE); + const std::string& duphash = get_crash_data_item_content(pCrashData, CD_DUPHASH); + const char *reason = get_crash_data_item_content_or_NULL(pCrashData, FILENAME_REASON); ++ const char *function = get_crash_data_item_content_or_NULL(pCrashData, FILENAME_CRASH_FUNCTION); + + std::string summary = "[abrt] crash in " + package; ++ if (function != NULL && strlen(function) < 30) ++ { ++ summary += ": "; ++ summary += function; ++ } ++ + if (reason != NULL) + { + summary += ": "; diff --git a/abrt-1.0.9-hideprefs.patch b/abrt-1.0.9-hideprefs.patch new file mode 100644 index 0000000..668f092 --- /dev/null +++ b/abrt-1.0.9-hideprefs.patch @@ -0,0 +1,11 @@ +--- abrt-1.0.9/src/Gui/ccgui.glade 2010-03-31 10:34:14.000000000 +0200 ++++ abrt-1.0.9_hideprefs/src/Gui/ccgui.glade 2010-03-31 21:39:27.653364662 +0200 +@@ -102,7 +102,7 @@ + + + gtk-preferences +- True ++ False + True + True + True diff --git a/abrt-1.0.9-ignore_user_scripts.patch b/abrt-1.0.9-ignore_user_scripts.patch new file mode 100644 index 0000000..fe3783a --- /dev/null +++ b/abrt-1.0.9-ignore_user_scripts.patch @@ -0,0 +1,126 @@ +commit a6daecbb32cf5fb0f71bdc14dddd35e7422dd4bb +Author: Karel Klic +Date: Tue Apr 13 14:57:20 2010 +0200 + + do not catch perl/python crashes when the script is not of known package origin + +diff --git a/src/Daemon/MiddleWare.cpp b/src/Daemon/MiddleWare.cpp +index a0ead47..5c9ecb7 100644 +--- a/src/Daemon/MiddleWare.cpp ++++ b/src/Daemon/MiddleWare.cpp +@@ -594,43 +594,51 @@ void LoadOpenGPGPublicKey(const char* key) + } + + /** +- * Get a package name from executable name and save +- * package description to particular debugdump directory of a crash. +- * @param pExecutable A name of crashed application. +- * @param pDebugDumpDir A debugdump dir containing all necessary data. +- * @return It return results of operation. See mw_result_t. ++ * Returns the first full path argument in the command line or NULL. ++ * Skips options are in form "-XXX". ++ * Caller must delete the returned string using free(). + */ + static char *get_argv1_if_full_path(const char* cmdline) + { +- char *argv1 = (char*) strchr(cmdline, ' '); ++ const char *argv1 = strpbrk(cmdline, " \t"); + while (argv1 != NULL) + { + /* we found space in cmdline, so it might contain + * path to some script like: + * /usr/bin/python [-XXX] /usr/bin/system-control-network + */ +- argv1++; +- if (*argv1 == '-') ++ argv1++; /* skip the space */ ++ if (*argv1 == '-') /* skip arguments */ + { + /* looks like -XXX in "perl -XXX /usr/bin/script.pl", skip */ +- argv1 = strchr(argv1, ' '); ++ argv1 = strpbrk(argv1, " \t"); + continue; + } +- /* if the string following the space doesn't start +- * with '/' it's probably not a full path to script +- * and we can't use it to determine the package name +- */ +- if (*argv1 != '/') ++ else if (*argv1 == ' ' || *argv1 == '\t') /* skip multiple spaces */ ++ continue; ++ else if (*argv1 != '/') + { +- return NULL; ++ /* if the string following the space doesn't start ++ * with '/' it's probably not a full path to script ++ * and we can't use it to determine the package name ++ */ ++ break; + } ++ ++ /* cut the rest of cmdline arguments */ + int len = strchrnul(argv1, ' ') - argv1; +- /* cut the cmdline arguments */ +- argv1 = xstrndup(argv1, len); +- break; ++ return xstrndup(argv1, len); + } +- return argv1; ++ return NULL; + } ++ ++/** ++ * Get a package name from executable name and save ++ * package description to particular debugdump directory of a crash. ++ * @param pExecutable A name of crashed application. ++ * @param pDebugDumpDir A debugdump dir containing all necessary data. ++ * @return It return results of operation. See mw_result_t. ++ */ + static mw_result_t SavePackageDescriptionToDebugDump( + const char *pExecutable, + const char *cmdline, +@@ -692,6 +700,7 @@ static mw_result_t SavePackageDescriptionToDebugDump( + * This will work only if the cmdline contains the whole path. + * Example: python /usr/bin/system-control-network + */ ++ bool knownOrigin = false; + char *script_name = get_argv1_if_full_path(cmdline); + if (script_name) + { +@@ -707,9 +716,16 @@ static mw_result_t SavePackageDescriptionToDebugDump( + rpm_pkg = script_pkg; + scriptName = script_name; + pExecutable = scriptName.c_str(); ++ knownOrigin = true; + } + free(script_name); + } ++ ++ if (!knownOrigin && !g_settings_bProcessUnpackaged) ++ { ++ log("Interpreter crashed, but no packaged script detected: '%s'", cmdline); ++ return MW_PACKAGE_ERROR; ++ } + } + + package = rpm_pkg; +@@ -717,7 +733,7 @@ static mw_result_t SavePackageDescriptionToDebugDump( + VERB2 log("Package:'%s' short:'%s'", rpm_pkg, packageName.c_str()); + free(rpm_pkg); + +- if (g_setBlackList.find(packageName) != g_setBlackList.end()) ++ if (g_setBlackList.find(packageName) != g_setBlackList.end()) + { + log("Blacklisted package '%s'", packageName.c_str()); + return MW_BLACKLISTED; +@@ -838,8 +854,8 @@ static void RunAnalyzerActions(const char *pAnalyzer, const char *pDebugDumpDir, + if (!action) + { + /* GetAction() already complained if no such plugin. +- * If plugin exists but isn't an Action, it's not an error. +- */ ++ * If plugin exists but isn't an Action, it's not an error. ++ */ + continue; + } + try diff --git a/abrt-localizedyum.patch b/abrt-localizedyum.patch new file mode 100644 index 0000000..4567a55 --- /dev/null +++ b/abrt-localizedyum.patch @@ -0,0 +1,19 @@ +commit 306a4686200c33e34c0650b6ad09b1a5a3f32a77 +Author: Jiri Moskovcak +Date: Tue Apr 13 16:51:30 2010 +0200 + + fixed problem with localized yum output rhbz#581804 + +diff --git a/src/Daemon/abrt-debuginfo-install b/src/Daemon/abrt-debuginfo-install +index 521d42a..84d2446 100755 +--- a/src/Daemon/abrt-debuginfo-install ++++ b/src/Daemon/abrt-debuginfo-install +@@ -303,7 +303,7 @@ $debug && echo "build_ids:$build_ids" + # When we look for debuginfo we need only -debuginfo* repos, we can disable the rest + # and thus make it faster. + yum_repo_opts="'--disablerepo=*'" +-for enabled_repo in `yum repolist all | grep 'enabled:' | cut -f1 -d' ' | grep -v -- '-debuginfo'`; do ++for enabled_repo in `LANG=C yum repolist all | grep 'enabled:' | cut -f1 -d' ' | grep -v -- '-debuginfo'`; do + yum_repo_opts="$yum_repo_opts '--enablerepo=${enabled_repo}-debuginfo*'" + done + diff --git a/abrt.spec b/abrt.spec index f1e5065..b148d54 100644 --- a/abrt.spec +++ b/abrt.spec @@ -3,14 +3,17 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Summary: Automatic bug detection and reporting tool Name: abrt -Version: 1.0.8 -Release: 2%{?dist} +Version: 1.0.9 +Release: 1%{?dist} License: GPLv2+ Group: Applications/System URL: https://fedorahosted.org/abrt/ -Source: http://jmoskovc.fedorapeople.org/%{name}-%{version}.tar.gz +Source: https://fedorahosted.org/released/%{name}/%{name}-%{version}.tar.gz Source1: abrt.init -Patch1: remove_R2.patch +Patch0: abrt-1.0.9-hideprefs.patch +Patch1: abrt-localizedyum.patch +Patch2: abrt-1.0.9-better-bz-summary.patch +Patch3: abrt-1.0.9-ignore_user_scripts.patch BuildRequires: dbus-devel BuildRequires: gtk2-devel BuildRequires: curl-devel @@ -148,6 +151,22 @@ Requires: %{name} = %{version}-%{release} %description plugin-bugzilla Plugin to report bugs into the bugzilla. +%package plugin-rhfastcheck +Summary: %{name}'s rhfastcheck plugin +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} + +%description plugin-rhfastcheck +Plugin to quickly check RH support DB for known solution. + +%package plugin-rhticket +Summary: %{name}'s rhticket plugin +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} + +%description plugin-rhticket +Plugin to report bugs into RH support system. + %package plugin-catcut Summary: %{name}'s catcut plugin Group: System Environment/Libraries @@ -217,7 +236,10 @@ Virtual package to make easy default installation on desktop environments. %prep %setup -q -%patch1 -b .~remove_R2 -p1 +%patch0 -p1 -b ~hideprefs +%patch1 -p1 -b ~localizedyum +%patch2 -p1 -b ~better_bz +%patch3 -p1 -b ~ingore_unp_scripts %build %configure @@ -261,6 +283,13 @@ exit 0 %post /sbin/chkconfig --add %{name}d +%post gui +# update icon cache +touch --no-create %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + %post libs -p /sbin/ldconfig %preun @@ -271,6 +300,12 @@ fi %postun libs -p /sbin/ldconfig +%postun gui +touch --no-create %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + %posttrans if [ "$1" -eq "0" ]; then service %{name}d condrestart >/dev/null 2>&1 || : @@ -313,10 +348,13 @@ fi %files gui %defattr(-,root,root,-) %{_bindir}/%{name}-gui -%{_datadir}/%{name} +%dir %{_datadir}/%{name} +# all glade, gtkbuilder and py files for gui +%{_datadir}/%{name}/*.py* +%{_datadir}/%{name}/*.glade %{_datadir}/applications/fedora-%{name}.desktop -%{_datadir}/pixmaps/abrt.png -%{_datadir}/icons/hicolor/48x48/apps/*.png +%{_datadir}/icons/hicolor/*/apps/* +%{_datadir}/%{name}/icons/hicolor/*/status/* %{_bindir}/%{name}-applet %{_sysconfdir}/xdg/autostart/%{name}-applet.desktop @@ -373,6 +411,20 @@ fi %{_libdir}/%{name}/Bugzilla.GTKBuilder %{_mandir}/man7/%{name}-Bugzilla.7.gz +%files plugin-rhfastcheck +%defattr(-,root,root,-) +#%config(noreplace) %{_sysconfdir}/%{name}/plugins/rhfastcheck.conf +%{_libdir}/%{name}/librhfastcheck.so* +#%{_libdir}/%{name}/rhfastcheck.GTKBuilder +#%{_mandir}/man7/%{name}-rhfastcheck.7.gz + +%files plugin-rhticket +%defattr(-,root,root,-) +#%config(noreplace) %{_sysconfdir}/%{name}/plugins/rhticket.conf +%{_libdir}/%{name}/librhticket.so* +#%{_libdir}/%{name}/rhticket.GTKBuilder +#%{_mandir}/man7/%{name}-rhticket.7.gz + %files plugin-catcut %defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/%{name}/plugins/Catcut.conf @@ -399,6 +451,7 @@ fi %attr(4755, abrt, abrt) %{_libexecdir}/abrt-hook-python %{_libdir}/%{name}/libPython.so* %{python_site}/*.py* +%{python_site}/abrt.pth %files cli @@ -411,6 +464,55 @@ fi %defattr(-,root,root,-) %changelog +* Thu Apr 15 2010 Jiri Moskovcak 1.0.9-1 +- fixed problem with localized yum messages rhbz#581804 +- better bugzilla summary (napjkovs@redhat.com) +- ignore interpreter (py,perl) crashes caused by unpackaged scripts (kklic@redhat.com) +- hooklib: fix excessive rounding down in free space calculation (bz#575644) (vda.linux@googlemail.com) +- gui: fix 551989 "crash detected in abrt-gui-1.0.0-1.fc12" and such (vda.linux@googlemail.com) +- trivial: fix 566806 "abrt-gui sometimes can't be closed" (vda.linux@googlemail.com) +- gui: fix the last case where gnome-keyring's find_items_sync() may throw DeniedError (vda.linux@googlemail.com) +- fixed some compilation problems on F13 (jmoskovc@redhat.com) +- updated translations (jmoskovc@redhat.com) +- minor fix to sosreport to make it work with latest sos rhbz#576861 (jmoskovc@redhat.com) +- test day build +- updated translation +- minor fix to sosreport to make it work with latest sos rhbz#576861 (jmoskovc@redhat.com) +- GUI: total rewrite based on design from Mairin Duffy (jmoskovc@redhat.com) +- trivial: better HTTP/curl error reporting (vda.linux@googlemail.com) +- Use backtrace parser from abrtutils, new backtrace rating algorithm, store crash function if it's known (kklic@redhat.com) +- abrt-rate-backtrace is replaced by abrt-backtrace --rate (kklic@redhat.com) +- Ignore some temp files (kklic@redhat.com) +- PYHOOK: don't use sitecustomize.py rhbz#539497 (jmoskovc@redhat.com) +- rhfastcheck: a new reporter plugin based on Gavin's work (vda.linux@googlemail.com) +- rhticket: new reporter plugin (vda.linux@googlemail.com) +- GUI: fixed few window icons (jmoskovc@redhat.com) +- Allow user to select which reporter he wants to use to report a crash using CLI.(kklic@redhat.com) +- bz reporter: s/uuid/duphash; more understandable message; simplify result str generation; fix indentation (vda.linux@googlemail.com) +- GUI: fixed crash count column sorting rhbz#573139 (jmoskovc@redhat.com) +- Kerneloops: use 1st line of oops as REASON. Closes rhbz#574196. (vda.linux@googlemail.com) +- Kerneloops: fix a case when we file an oops w/o backtrace (vda.linux@googlemail.com) +- minor fix in abrt-debuginfo-install to make it work with yum >= 3.2.26 (jmoskovc@redhat.com) +- GUI: added action to applet to directly report last crash (jmoskovc@redhat.com) +- Never flag backtrace as binary file (fixes problem observed in bz#571411) (vda.linux@googlemail.com) +- improve syslog file detection. closes bz#565983 (vda.linux@googlemail.com) +- add arch, package and release in comment (npajkovs@redhat.com) +- add ProcessUnpackaged option to abrt.conf (vda.linux@googlemail.com) +- abrt-debuginfo-install: use -debuginfo repos which match enabled "usual" repos (vda.linux@googlemail.com) +- fix format security error (fcrozat@mandriva.com) +- icons repackaging (jmoskovc@redhat.com) +- partial fix for bz#565983 (vda.linux@googlemail.com) +- SPEC: Updated source URL (jmoskovc@redhat.com) +- removed unneeded patches +- and much more ... + +* Sat Mar 13 2010 Jiri Moskovcak 1.0.8-3 +- fixed kerneloops reporting rhbz#570081 +- fixed Source url +- fixed debuginfo-install to work on F13 + - improved debuginfo-install (vda.linux@googlemail.com) + - fix debuginfo-install to work with yum >= 3.2.26 (jmoskovc@redhat.com) + * Wed Mar 3 2010 Denys Vlasenko 1.0.8-2 - fix initscript even more (npajkovs@redhat.com) - remove -R2 from yum command line diff --git a/remove_R2.patch b/remove_R2.patch index 8e7bb1a..baf415b 100644 --- a/remove_R2.patch +++ b/remove_R2.patch @@ -1,13 +1,28 @@ -diff -uprN abrt-1.0.7.orig/src/Daemon/abrt-debuginfo-install abrt-1.0.7/src/Daemon/abrt-debuginfo-install ---- abrt-1.0.7.orig/src/Daemon/abrt-debuginfo-install 2010-02-14 19:54:14.000000000 +0100 -+++ abrt-1.0.7/src/Daemon/abrt-debuginfo-install 2010-03-03 14:58:24.692030800 +0100 -@@ -146,8 +146,7 @@ print_package_names() { +commit 9d109b568bbbdee069bb5dfcbca3c259a74e98a8 +Author: Denys Vlasenko +Date: Wed Mar 3 11:45:33 2010 +0100 + + abrt-debuginfo-install: remove -R2 from yum! it's not "anti-yum-lock" option! + + Signed-off-by: Denys Vlasenko + +diff --git a/src/Daemon/abrt-debuginfo-install b/src/Daemon/abrt-debuginfo-install +index 3bb9c41..1b6af74 100755 +--- a/src/Daemon/abrt-debuginfo-install ++++ b/src/Daemon/abrt-debuginfo-install +@@ -146,11 +148,12 @@ print_package_names() { # when we look for debuginfo we need only -debuginfo* repos, so we can disable the rest and thus make it faster # also we want only fedora repositories, because abrt won't work for other packages anyway # --showduplicates: do not just show the latest package - # -R2: wait two minutes max (hopefully this prevents infinite hang on yum lock) - local cmd="yum $yumopts '--disablerepo=*' '--enablerepo=fedora-debuginfo*' '--enablerepo=updates-debuginfo*' --showduplicates -R2 --quiet provides $missing_debuginfo_files" ++ # (tried to use -R2 to abort on stuck yum lock but -R is not about that) + local cmd="yum $yumopts '--disablerepo=*' '--enablerepo=fedora-debuginfo*' '--enablerepo=updates-debuginfo*' --showduplicates --quiet provides $missing_debuginfo_files" echo "$cmd" >"yum_provides.$1.OUT" ++ $debug && echo "Running: $cmd" >&2 # eval is needed to strip away ''s; cant remove them above and just use - # $cmd, that would perform globbing on '*' +- # $cmd, that would perform globbing on '*' ++ # unquoted $cmd, that would perform globbing on '*' + local yum_provides_OUT="`eval $cmd 2>&1`" + local err=$? + printf "%s\nyum exitcode:%s\n" "$yum_provides_OUT" $err >>"yum_provides.$1.OUT" diff --git a/sources b/sources index 9f112fc..d0b613c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0e480999bb77b3babe19373c03057df4 abrt-1.0.8.tar.gz +aaa31f787ae7c144c57837928d26fdc9 abrt-1.0.9.tar.gz