109
|
|
|
Jamie Strandboge |
0.108.4 |
14 years ago
|
|
|
108
|
|
|
Martin Pitt |
0.108 |
15 years ago
|
|
|
107
|
|
|
Martin Pitt |
0.107 |
15 years ago
|
|
|
106
|
|
|
Martin Pitt |
0.106 |
15 years ago
|
|
|
105
|
|
|
Martin Pitt |
0.105 |
16 years ago
|
|
|
104
|
|
[ 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.
|
Martin Pitt |
0.104 |
16 years ago
|
|
|
103
|
|
* 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)
|
Martin Pitt |
0.103 |
16 years ago
|
|
|
102
|
|
[ 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)
|
Martin Pitt |
0.102 |
16 years ago
|
|
|
101
|
|
|
Martin Pitt |
0.101 |
16 years ago
|
|
|
100
|
|
* 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.
|
Martin Pitt |
0.100 |
16 years ago
|
|
|
99
|
|
* 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!
|
Martin Pitt |
0.99 |
16 years ago
|
|
|
98
|
|
|
Martin Pitt |
0.98 |
16 years ago
|
|
|
97
|
|
|
Daniel Holbach |
0.97 |
16 years ago
|
|
|
96
|
|
|
Martin Pitt |
0.96 |
16 years ago
|
|
|
95
|
|
|
Martin Pitt |
0.95 |
16 years ago
|
|
|
94
|
|
* doc/data-format.tex: Some updates to incorporate feedback from Gnome upstream: - Do not talk about "Distributions" any more, but "Operating systems". Gnome is used on non-Linux OSs, too. - Split "DistroRelease:" field into "OS:" and "OSRelease:". - Explicitly mention that CoreDump, StackTrace etc. can also contain minidump output. - Increase document version to 0.2. * apport/report.py, obsolete_packages(): Fix crash when apt does not know an available version of a package. (LP: #128176) * test-apport: Add check that apport aborts immediately if another apport instance is already running. Also test that a symlink attack on the lock file is not possible. * bin/apport: Abort running several apport instances at the same time, by lockf()'ing /var/crashes/.lock and aborting on failure. (LP: #119622) * Add bin/gcc_ice_hook: Script to create an apport report for a gcc ICE (internal compiler exception). Add test cases to test-hooks, and ship it in the 'apport' package. (LP: #125551) * run-tests: In 'local' mode, only explicitly run the apt/dpkg implementation instead of backends/*, since the RPM ones don't have tests yet. * apport/crashdb.py: Add a second optional parameter to upload() to specify an upload progress callback function. Adapt the declarations in the Launchpad and Memory implementations, too. * apport/crashdb_impl/launchpad.py, upload(): Pass upload progress callback handler to launchpadBugs.storeblob.upload(), which supports this since version 0.2~39. Bump dependency to it accordingly. * apport/ui.py, file_report(): Define an upload progress callback handler, pass it to the crashdb upload(), and feed ui_set_upload_progress() with some actual data. (LP: #91521) * problem_report.py: Remove support for reading bz2 compressed binary data. That was only relevant during edgy's development cycle. * apport/report.py, test_add_proc_info(): Fix determination of /bin/zgrep interpreter. * problem_report.py: Switch encoding of binary values from bare zlib to proper gzip format, since this is much more useful when reusing the compressed value. Retain support for zlib-only reports. Add test cases for both old and new encodings, and adapt the other test cases for the new format. Update doc/data-format.tex accordingly. * problem_report.py, write(): Add new permitted 'binary' argument value 'compressed', which retains gzip compressed binary values instead of unpacking them transparently. Add test cases. * problem_report, write_mime(): Eliminate unnecessary usage of StringIO. * problem_report, write_mime(): Make function work for compressed binary values. Add test case. * apport/report.py, add_gdb_info(): Make function work if CoreDump is a compressed value. * apport/ui.py: Load crash report with keeping compressed binaries. This avoids loading the entire uncompressed core dump into memory, and avoids recompressing it all over again for generating the crash database upload MIME document. This greatly speeds up crash reporting, too. (LP: #98562)
|
Martin Pitt |
0.94 |
16 years ago
|
|
|
93
|
|
|
Martin Pitt |
0.93 |
16 years ago
|
|
|
92
|
|
* bin/crash-digger: Do not crash if duplicate db is locked when attempting to consolidate it. This happens often because in the DC we have two parallel instances (for amd64 and i386). * Move ubuntu-fat-chroot from bin/ to debian/local/, since it is so heavily Ubuntu specific. * debian/local/ubuntu-fat-chroot: Use diversions for the binaries we want to disable, so that chroot upgrades do not trash the modifications. * debian/local/setup-apport-retracer: launchpad-crash-digger -> crash-digger. * bin/crash-digger: Add option -i/--arch-indep-dupcheck to explicitly enable duplicate checking of arch-independent crashes like Python exceptions. We only want to process them on one architecture to avoid scattering the duplicate database. * apport/crashdb_impl/launchpad.py, get_unfixed(): Search for 'apport-crash' tag, not 'apport'. * bin/apport-unpack: Fix format string in error message. * apport/ui.py, __init__(): Intercept ImportError, which can happen for crashes during system upgrades. (LP: #124354) * Add general-hooks/automatix.py: Refuse to send problem reports if automatix is installed. * doc/package-hooks.txt: Do not document UnsupportableReason, since it does not make sense to set it in package hooks (it is checked before calling the hooks). Hooks should use UnreportableReason only. * apport/ui.py, test_run_crash_package(): Check that 'Package' problem reports collect additional information, too. * apport/ui.py, collect_info(): Collect additional information for 'Package' problem reports, too. * Revive preloadlib/: - Remove PIPE_CORE #ifdefs and make them the default. We do not need to support the Edgy kernel patches in this version any more. - Install signal handler for SIGABRT, too. - Read core ulimit, pass it to apport in CORE_REAL_RLIM, and set it to zero for the program, since we do not actually want the kernel to write core files when we pipe the core dump to apport. - test-apport: Pass APPORT_REPORT_DIR to the manually called apport instance in the memory clipping test; otherwise it'll write into /var/crash/, which we do not consider in library mode. * apport/crashdb_impl/launchpad.py, __init__(): Only do the "download bug #2" hack if we actually have an authentication cookie. Thus, do it only on the retracing servers, not on the client side. (LP: #125142) * apport/report.py, crash_signature(): Generate a signature for one-line Python tracebacks, too. This sometimes seems to happen, e. g. LP#124588. (LP: #125020) * apport/crashdb_impl/launchpad.py, update(): Set bug importance to Medium if retracing was successful. (LP: #106379)
|
Martin Pitt |
0.92 |
16 years ago
|
|
|
91
|
|
* bin/apport: Remove code that supported the Edgy kernel way of core dump passing. Also factorize the CORE_REAL_RLIM evaluation, since it is likely to change in the near future. * apport/crashdb_impl/launchpad.py, close_duplicate(): Delete some attachments, as specified in apport-crash-duplicates spec, and make the bug public afterwards. * apport/crashdb_impl/launchpad.py, close_duplicate(): If the master bug is already duped to yet another bug, mark the bug to that one instead of the master. * apport/crashdb.py: Split out duplicate_db_last_consolidation() for getting the date (or seconds since) the last consolidation, so that we can use it externally. * apport/crashdb.py: Add duplicate_db_change_master_id() to change the master ID of a crash. Add test case to apport/crashdb_impl/memory.py. * Add bin/dupdb-admin: Initial version of duplicate db CLI app; can dump the db, display consolidation state, and change master bug IDs for now. Ship it in apport-retrace. * apport/crashdb.py, duplicate_db_last_consolidation(): Fix timedelta seconds calculation to actually take the days into account, too. * bin/crash-digger: Fix dumping of dup db after consolidation. * apport/ui.py: - test_run_report_bug_package(): Add test case for calling the UI in bug filing mode with an invalid package name. - run_report_bug(): Do not crash on invalid package name, generate an error message instead. (LP: #123644) * apport/fileutils.py, mark_report_seen(): Do not crash if the file has already been deleted underneath us. (LP: #122347) * apport/ui.py, run_report_bug(): Do not crash if the target process runs as a different user. Print a proper error message instead. Add test case test_run_report_bug_noperm_pid(). (LP: #121121) * apport/fileutils.py, likely_packaged(): Ignore /var/lib/schroot. Add test case. (LP: #122859) * apport/ui.py, open_url(): Intercept weird race condition for os.close() trying to close an already invalidated fd. (LP: #123180)
Merge the fedora branch, thanks to Will Woods <wwoods@redhat.com>:
* Add apport.init.fedora: Fedora specific init script. * Add apport.spec: RPM build recipe. * Add backends/packaging_rpm.py: Partial implementation of the packaging backend for RPM which applies to all RPM-based distros. * Add backends/packaging_fedora.py: Concrete packaging backend implementation for Fedora. * apport/elfcore.py: Classes for parsing general ELF files, and information from core dumps. * bin/apport: Fall back to reading signal number and PID directly from the core file (via elfcore.py) if CORE_SIGNAL and CORE_PID are not defined (i. e. when running on a non-Ubuntu kernel). * crashdb.conf: Add stanzas for Fedora and a 'debug' database which uses the 'memory' crashdb implementation.
|
Martin Pitt |
0.91 |
16 years ago
|
|
|
90
|
|
* apport/ui.py, load_report(): Catch IOError, too. LP: #118827 * Merge apport-cli package into apport itself. The program itself is just 3 kB compressed, and it's not worth wasting another 34 kB compressed changelog for this tiny bit. * apport/report.py, obsolete_packages(): Use the version comparison from the packaging system instead of just testing for inequality. This catches zero epochs. Thanks to Will Woods <wwoods@redhat.com>! * apport/ui.py: Add option -c/--crash-file to run the UI with a particular crash file (which can be anywhere) instead of all pending crashes in /var/crash/. * Add xdg-mime/apport.xml: XDG MIME type definition for .crash files. * Add gtk/apport-gtk-mime.desktop.in: Link text/x-apport MIME type to apport-gtk -c, so that .crash files can be reported with Gnome. * Add debian/apport.links: Install an icon symlink for the MIME type. * apport/ui.py: Do not ask the initial "Do you want to report this?" question when being invoked with --crash-file. * po/POTFILES.in: Add missing cli/apport-cli. * po/de.po: Updated for apport-cli. * cli/apport-cli: Add option for keeping the report file without sending it, and to display its path. This is for sending the report later, copying it from a server to a workstation with internet connection, etc. * apport/crashdb_impl/launchpad.py: Simplify _subscribe_triaging_team(), now that we do not differ between main and universe policies any more. * apport/report.py: Support another hook directory /usr/share/apport/general-hooks/ for scripts which are run for every problem report. This was requested for adding e. g. AppArmor logs, etc. Add test cases. * Add debian/apport.dirs again to ship that hook directory. * doc/package-hooks.txt: Document the general hooks.
|
Martin Pitt |
0.90 |
16 years ago
|
|
|