lp:ubuntu/hardy/apport
- Get this branch:
- bzr branch lp:ubuntu/hardy/apport
Branch merges
Branch information
Recent revisions
- 108. By Martin Pitt
-
[ Martin Pitt ]
* apport-{gtk,qt, cli}: Fix handling of file references added by package
hooks. (LP: #205163)
* backends/packaging_ rpm.py: Fix dependency resolution of uname(*) in the
RPM backend. Thanks to Patryk Zawadzki! (LP: #213018)
* backends/packaging_ rpm.py: Fix RPM platform parsing, thanks to Patryk
Zawadzki! (LP: #213015)
* po/de.po: Fix typo (missing space).
* debian/apport. default: Disable Apport for the final Hardy release, since
it is less useful in stable releases, and drains a lot of CPU and I/O
power on crashes. Disabling it here instead of in update-notifier/ adept is
more discoverable and more centralized.[ Daniel Hahler ]
* bin/apport-retrace: catch the same exceptions from Report.load() like
ui.load_report() does (LP: #211899)
* Fix uncaught exceptions in apport itself (LP: #215929):
- apport/REThread.py: check if "sys" exists in the except block of
REThread.run()
- apport_python_ hook.py: check if "sys" exists in the finally block of
apport_excepthook
* cli/apport-cli: Fix UnboundLocalError in ui_present_crash, which rendered
apport-cli useless (for reporting crashes) (LP: #216151) - 107. By Martin Pitt
-
* cli/apport-cli: Add translator comment for difficult string. (LP: #210948)
* Update German translations.
* po/Make{vars,file}: Remove the --language=python option again, since it
breaks extracting strings from the glade. intltool-update currently does
not seem to have a way to tag a file as "language python", so add an ugly
workaround: Create temporary .py symlinks for gtk/apport-gtk & friends,
and have intltool extract them.
* apport/ui.py: Disallow filing a bug without specifying a package or a PID.
Update debian/local/ubuntu- bug.1 accordingly (apport-cli manpage was
already correct). (LP: #210348) - 106. By Martin Pitt
-
[ Martin Pitt ]
* apport/crashdb_ impl/launchpad. py: Fix spelling mistake in p-lp-bugs API
(now corrected there).
* apport_python_ hook.py: Catch IndexError for invalid sys.argv[0], too.
(LP: #204940)
* apport/ui.py: Add test_run_report_ bug_unpackaged_ pid() test case which
reports a bug against a pid which belongs to an unpackaged program. This
reproduces LP #203764.
* apport/report.py: Drop add_hooks_info() assertion on nonexisting Package
field, return silently instead. This conforms to the behaviour of the
other add_*_info() functions and avoids nasty error handling.
* apport/ui.py: Generate proper error message when calling with -f -p PID
and PID belongs to an unpackaged program. (LP: #203764).[ Sebastien Bacher ]
* po/Makevars: add the --language=python xgettext option so the translations
template is correctly updated on build since cdbs is using intltool-update
directly and not the corresponding makefile target - 105. By Martin Pitt
-
* apport/
crashdb_ impl/launchpad. py: Ignore ValueErrors when subscribing a
team, since these are usually due to the team already being subscribed.
* apport/report.py, anonymize(): Be robust against empty user names and only
anonymize fields which can potentially contain user specific data.
(LP: #195706)
* backends/packaging- apt-dpkg. py, get_architecture(): Return 'unknown'
instead of None if package architecture cannot be determined.
(LP: #198548)
* apport/ui.py, run_crash(): Intercept other IOErrors, too (such as EISDIR)
and print out proper error message instead of crashing. (LP: #201819)
* apport_python_ hook.py: If the Python script has mutilated sys.argv so that
even sys.argv[0] does not exist any more, fall back into readlink()ing
/proc/pid/exe and gracefully handle the failure of that, instead of
crashing in the crash handler (ugh). Add test case. (LP: #198183) - 104. By Martin Pitt
-
[ Martin Pitt ]
* apport/crashdb_ impl/launchpad. py, get_source_ version( ): re-escape the
package name so that it doesn't stumble over '+' and similar characters.
* apport/ui.py tests: assert that ProcEnviron is also included into bug
reports where we do not have a PID, since having the local information is
interesting and important (and acceptable in terms of personal
information).
* apport/report.py: Split out method add_proc_environ() for getting
ProcEnviron, so that we can call it separately.
* apport/ui.py, run_report_bug(): Add ProcEnviron if we do not have a pid to
file a bug against. This way, bugs filed against packages or distro also
get locale information. (LP: #198514)
* apport/fileutils. py, mark_report_seen(): Do not crash if the file does not
exist any more, because it was removed underneath us. (LP: #199932)
* apport/ui.py, test_collect_info_exepath( ): Add a tuple argument and a
CompressedValue to the test report. This reproduces LP #199349.
* apport/report.py, anonymize(): Only work on string values. (LP: #199349)
* apport/ui.py: If a report has a field "Ignore", entirely ignore the report
without even presenting an explanatory error dialog (as
"UnsupportableReason" does). Document this in doc/package- hooks.txt.
* debian/control: Bump Standards-Version (no changes necessary).
* debian/control: Fix wrongly spelt project names (Python and GTK+). Thanks
to lintian's scrutiny.
* gtk/apport-gtk-mime. desktop. in, qt4/apport- qt-mime. desktop. in: Add a main
category.[ Kees Cook ]
* apport/report.py: fix module license checking logic (LP: #199927).
- nonfree_modules: being unable to find a module should not mean the
module is non-free.
- test_module_license_ evaluation: check modinfo reporting.
* problem_report.py: Skip atime test case if file system is mounted noatime. - 103. By Martin Pitt
-
* bin/apport-unpack: Print error messages instead of crashing for problems
like nonexisting file names passed as arguments. (LP: #185273)
* backends/packaging- apt-dpkg. py, is_distro_ package( ): Explicitly check site
for "ppa", so that we do not automatically file bugs for PPA packages.
This works around Soyuz bug LP #140412 for the time being.
* apport/report.py: Add standard_title() test cases for Python crashes with
a custom message, and a custom message with newlines. The latter
reproduces LP #190947.
* apport/report.py, standard_title(): Do not rely on a fixed position of the
topmost function; use iteration and regular expression matching instead.
(LP: #190947)
* apport/ui.py, parse_argv(): Specify that --pid/-P argument must be an
integer, to avoid exceptions when it's not. (LP: #193494)
* apport/report.py: Use uname -srm, not -a, to hide the hostname. (part of
LP #192786); also use os.uname() instead of calling the system program.
* problem_report. py(): Make write() work for reports with CompressedValues.
Add test case.
* apport/ui.py: Add test case test_run_crash_anonymity () which asserts that
the crash dump does not contain strings which can identify the user, such
as the user name, login name, host name, and current directory.
* apport/report.py: Add method anonymize() which replaces user specific
strings with generic ones.
* apport/ui.py, thread_collect_ info(): Call anonymize() on the report.
(LP: #192786)
* bin/apport-retrace: Only update a bug report with new attachments if it is
not a duplicate. (LP: #172792)
* bin/apport-retrace: Print out proper error message instead of an exception
if trying to do write operations to the bug tracker without specifying
a cookie file. (LP: #146423) - 102. By Martin Pitt
-
[ Martin Pitt ]
* problem_report.py: Support reading reports with legacy zlib
compression in 'retain compressed values' mode (as used nowadays by
apport when reporting a crash). Add a test case, too. (LP: #129616)
* debian/control, debian/rules: Switch from python-support to
python-central, and use 'nomove' option so that apport works during
upgrades, too. (LP: #121341)
* debian/rules: Use dh_icons instead of dh_iconcache.
* debian/apport.init: Do not stop apport in any runlevel (LSB header).
* apport/ui.py, run_crash(): Catch zlib.error on invalidly compressed core
dumps. (LP: #176977)
* apport/ui.py: Give a meaningful error message instead of crashing if the
package for a crash report is not installed any more. (LP: #149739)
* apport/ui.py: Do not include ProcCmdline in bug reports, since these are
not ack'ed by the user and might contain sensitive data. (LP: #132800)
* apport/ui.py: Add various test cases for crash reports whose packages have
been uninstalled between the crash and the report. This reproduces
LP #186684.
* apport/ui.py, load_report(): Produce proper error message if
executable/interpreter path do not exist any more. (LP: #186684)
* cli/apport-cli: Intercept SIGPIPE when calling sensible-pager, to avoid
crash when quitting it prematurely. (LP: #153872)
* bin/apport-checkreports: Print out a list of program names/packages which
have a pending crash report. (LP: #145117)
* apport/ui.py, run_argv(): Add return code which indicates whether any
report has been processed.
* cli/apport-cli: If no pending crash reports are present, say so and refer
to --help. (LP: #182985)
* apport/ui.py: Waive check for obsolete packages if environment defines
$APPORT_IGNORE_ OBSOLETE_ PACKAGES. Document this in the apport-cli manpage.
(LP: #148064)[ Daniel Hahler ]
* .crash file integration for KDE3 (LP: #177055)
- debian/apport- qt.install: install added files qt4/apport- qt-mime. desktop
and qt4/apport-qt-mimelnk. desktop
* Fixed minor warnings/errors from desktop-file-validate in
gtk/apport-gtk-mime. desktop. in and qt4/apport- qt.desktop. in (LP: #146957) - 101. By Martin Pitt
-
* debian/control: Add python-xdg dependency to apport, since apport-cli
needs it. (LP: #177095)
* apport/ui.py: Add test case for reporting a report which has been
preprocessed by apport-retrace, i. e. has a stack trace, but no core dump
any more (reproducing LP #185084).
* apport/ui.py, run_crash(): Do not reject reports which have a stack trace,
but no core dump. (LP: #185084)
* apport/report.py: Fix test_add_gdb_info_ load() test case, the temporary
executable was already deleted when gdb ran the second time. - 100. By Martin Pitt
-
* bin/crash-digger: Add option --log for logging to a file, and
--pidfile/--stop for daemonization. Add test cases to test-crash-digger.
* bin/apport: Do not re-raise exceptions about failure to create the lock
file, to avoid crashing in the case that another apport instance tries to
lock at exactly the same moment. (LP: #147237)
* apport/report.py testsuite: Check that our methods get along with binary
data which turn into CompressedValue objects after loading them from a
file. This reproduces LP #148305.
* problem_report.py, CompressedValue: Add method splitlines() since we need
it very often. Add test case to test_compressed_values( ). (LP: #148305)
* problem_report.py: Add test case to check that update() works and does the
right thing with binary values and overwriting. This confirms that
importing a dictionary works.
* debian/local/setup- apport- retracer: Update for hardy.
* apport/crashdb_ impl/launchpad. py: get_source_info() does not work any more
due to HTML changes in Launchpad, and not showing the component any more
on /distro/+source/ package. Since we do not actually need component and
release name any more, rename it to get_source_version( ), fix the regular
expression to just get the version, and adapt get_fixed_version()
accordingly.
* debian/local/setup- apport- retracer: Update default apt sources to
http://ddebs.ubuntu. com.
* apport/ui.py: Robostify cleanup of forked test processes.
* apport/ui.py: Sleep for 0.5 seconds after creating the test process in the
test suite to give /proc some time to settle down.
* bin/apport: Drop evaluation of CORE_* environment variables and mandate
calling with <pid> <signal> <core ulimit>. Drop the now obsolete
apport/elfcore. py. Adapt test-apport accordingly.
* debian/apport.init, use-local: Now call apport with %p, %s, and %c kernel
macros (since 2.6.24). Drop Edgy support from init script. - 99. By Martin Pitt
-
* cli/apport-cli, qt4/apport-qt: Fix typo 'send' -> 'sent'.
(LP: #139288)
* apport_python_ hook.py: Add user info, too. Also add check for this to the
test suite. (LP: #145109)
* apport/ui.py, run_crash(): Show a proper UI error message instead of just
crashing with an exception if the crash report is inaccessible for the
invoking user. (LP: #146464)
* apport/crashdb_ impl/memory. py: Implement mark_retraced(),
get_unretraced(), and get_dup_unchecked() for completeness, and define
_MemoryCrashDBTest also when not running file as __main__. This makes the
class useful for higher-level test suites. Add test cases for the new
functions.
* apport/crashdb_ impl/memory. py: Support 'dummy_data' option which adds a
few dummy crashes by default. This is useful for external test suites
which cannot otherwise pre-fill the in-memory db. Add checks that this
works properly.
* bin/crash-digger: Use self.log() more consistently, and flush stdout in
log(), so that we do not lose logs on output redirection.
* Add test-crash-digger: Initial test suite for bin/crash-digger.
* apport/ui.py, run_crash(): Intercept CRC errors from the info collection
thread, which happens on broken core dumps. (LP: #132212)
* cli/apport-cli, ui_present_package_ error() : Fix running of dialog, so that
reporting package problems with apport-cli actually works. (LP: #136369)
* apport/ui.py, run_crash(): Intercept ENOSPC and present a proper error
message. (LP: #145100)
* gtk/apport-gtk.glade: Fix title of upload progress window to comply to
HIG. Thanks, Bruce Cowan. (LP: #144782)
* qt4/apport-qt: Fix Unicode <-> UTF-8 conversion. Thanks, Daniel Hahler!
(LP: #148177)
* apport/ui.py: Only import xdg.DesktopEntry when a .desktop file has been
found in the affected package. This avoids the dependency on servers with
just apport-cli. Thanks, Matthias Gug! (LP: #130013)
* apport/fileutils. py: Do not fail if there are no packages installed which
have one or several .desktop files. Thanks, Matthias Gug!
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:ubuntu/quantal/apport