* apport/chroot.py: In the test suite, copy some system binaries/libraries into a fakechroot and exercise a lot of standard shell commands (cp, ln -s, rm, rm -r, mkdir, echo, chmod, chown, etc.) with absolute/relative paths. This reproduces the total breakage of rm'ing, chmod'ing, and chown'ing absolute paths in hardy fakechroots. * bin/crash-digger: Intercept exceptions when downloading crash reports for duplicate checking, so that the retracer does not crash on malformed bug reports. (LP: #205178) * apport/packaging.py: Introduce a new function enabled() which reports whether Apport should create crash reports. Signal crashes are controlled by /proc/sys/kernel/core_pattern, but we need that to control whether reports for Python, package, or kernel crashes are generated. * backends/packaging-apt-dpkg.py: Provide implementation for PackageInfo.enabled() for Debian/Ubuntu by evaluating /etc/default/apport. Add various test cases for different configuration files and absent files. * apport_python_hook.py: Do not create reports if Apport is disabled (in /etc/default/apport). (LP: #222260)