2007-01-29 08:19:05 |
Martin Pitt |
apport: statusexplanation |
Fixed in bzr head, will upload soon. |
apport (0.45) feisty; urgency=low
.
New feature: Infrastructure for package install/upgrade failures:
.
* Add bin/package_hook: Script for creating a report for a package
installation/upgrade failure. It receives a package name, a number of log
files, and an ErrorMessage: from stdin. This will be called from e.g.
dist-upgrader.
* setup.py, debian/apport.install: Ship package_hook.
* apport/ui.py: If ProblemType is 'Package', call a new function
self.ui_present_package_error() instead of presenting a crash. Add test
suite checks for the package error report workflow.
* apport/ui.py, create_crash_bug_title(): Create default bug title for
package reports. Add various test cases.
* gtk/apport-gtk{,.glade}: GTK implementation of ui_present_package_error().
.
New feature: Maintain a per-binary blacklist to inhibit apport crash reports
until the binary changes. Closes: LP#79408
.
* apport/report.py: Add new Report methods check_ignored() and mark_ignore()
to check for/set ignore list entries. Add test cases.
* apport/ui.py: Add another return value of ui_present_crash() to specify
whether or not to blacklist the current crash's executable. Check workflow
of both responses in the test suite.
* gtk/apport-gtk{,.glade}: Add a blacklist checkbox to the crash
notification dialogs.
* bin/apport: Do nothing if the current crash is blacklisted.
* test-apport: Test blacklisting.
.
Bug fixes:
.
* gtk/apport-gtk: Fix return code for restarting the application ('reopen' ->
'restart'). Closes: LP#81422
* test-apport: Adapt to new core_pattern kernel interface mode:
- Check core_pattern instead of the obsolete crashdump sysctl to determine
whether or not apport is running.
- Give apport max. 10 seconds to complete. The current kernel reaps the
crashed process as soon as writing the core dump to the pipe is
finished, but apport still needs to write the report file.
- Do not EXFAIL the test for crashes in nonwriteable cwd any more, since
it is now supposed to work (we do not write a core dump to the disk any
more).
* run-tests, use-local: Adapt to new core_pattern kernel interface.
* apport: Improve logging of exceptions, include environment variables.
* apport/report.py test suite: Use gdb to generate a test core dump, do not
rely on kill(SIGSEGV) and the kernel to do it (since we now use a pipe in
core_pattern).
* backends/packaging-dpkg.py: Fix return value of get_modified_files() if
dpkg .list file is missing.
* apport/report.py, add_package_info(): Do not produce stray empty lines for
uninstalled alternative dependencies.
* apport/report.py: Fix test_add_gdb_info_script() to not leave behind a
stray gzip process which randomly blocks stdin. Closes: LP#78421
* backends/packaging-dpkg.py: Do not read the dpkg status in the
constructor, but lazily initialize it when actually calling a query
function. This avoids imposing the dpkg-query overhead for programs that
import the apport package without doing package queries (such as any
Python program under Ubuntu, due to the Python crash hook).
* apport/ui.py, create_crash_bug_title():
- Do not crash on an empty StacktraceTop. Closes: LP#81677
- Do not mention an unknown function name ('??') in the bug title;
instead, use the topmost function with a known name, or leave it out
at all.
- Add test cases for these situations.
* apport/report.py, _get_ignore_dom(): Do not throw an error for an empty
ignore list file.
.
Code cleanups:
.
* apport/report.py test suite: Refactorize generation of test crash program
and core dump generation.
* Consistently use 'in'/'not in' instead of find() for substring searches.
* Changed the packaging backend import, so that its methods can now be
accessed at apport.packaging instead of apport.packging.impl.
|
|