Merge lp:~diwic/apport/trunk into lp:~apport-hackers/apport/trunk
- trunk
- Merge into trunk
Status: | Rejected |
---|---|
Rejected by: | Martin Pitt |
Proposed branch: | lp:~diwic/apport/trunk |
Merge into: | lp:~apport-hackers/apport/trunk |
Diff against target: |
4374 lines (+4349/-0) 3 files modified
apport/hookutils.py (+20/-0) debian/apport.preinst (+14/-0) debian/changelog.OTHER (+4315/-0) |
To merge this branch: | bzr merge lp:~diwic/apport/trunk |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
David Henningsson (community) | Needs Information | ||
Martin Pitt (community) | Disapprove | ||
Review via email: mp+14877@code.launchpad.net |
Commit message
Description of the change
Martin Pitt (pitti) wrote : | # |
The sl-modem check needs to go into the alsa-libs/
The kernel version check should go into /usr/share/
David Henningsson (diwic) wrote : | # |
> The sl-modem check needs to go into the alsa-libs/
> hooks. I do not want to hardcode particular package names in apport itself.
I thought this was ok, since the same thing is done in hookutils.py at another place (when checking versions of printing packages, approx line 453)
> The kernel version check should go into /usr/share/
> hooks/ubuntu.py. I don't think that all cases of those can be explained by a
> grub failure, you might simply have booted an older one, installed a custom
> kernel, or one from our "upstream daily builds" ones?
Hmm. It seems like there is already a check there for grub failing to update there.
I admit the idea was a bit hackerish but the packages calling attach_alsa are mainly linux, alsa-driver and pulseaudio, so it roughly corresponds to what packages should complain about the wrong kernel version.
Unmerged revisions
- 1575. By david <david@david-desktop>
-
Add information about sl-modem-daemon to alsa bug reports
- 1574. By david <david@david-desktop>
-
Check for wrong kernel version and switch package to grub if upgrade failed
- 1573. By Martin Pitt
-
releasing version 1.9.3-0ubuntu4.1
- 1572. By Martin Pitt
-
update-manager 0.126.5 was affected as well
- 1571. By Martin Pitt
-
apport/report.py: Fix crash when ExecutablePath isn't part of a package.
Fix cherrypicked from trunk r1629. (LP: #424965) - 1570. By Martin Pitt
-
Add debian/
apport. preinst: Clean up after update-manager erroneously
enabling Apport: Check /var/log/dist-upgrade/ main.log for indications that
this happened, and set Apport to disabled in /etc/default/apport then.
(LP: #465619)
Preview Diff
1 | === modified file 'apport/hookutils.py' |
2 | --- apport/hookutils.py 2009-11-11 21:27:00 +0000 |
3 | +++ apport/hookutils.py 2009-11-15 00:25:18 +0000 |
4 | @@ -188,9 +188,29 @@ |
5 | |
6 | attach_dmesg(report) |
7 | |
8 | + # sl-modem-daemon is known to cause problems with audio on some systems |
9 | + s = subprocess.call(['pgrep', 'slmodemd'], stdout=subprocess.PIPE, |
10 | + stderr=subprocess.PIPE) |
11 | + if (s == 0): |
12 | + report['SlModemDaemonVersion'] = package_versions('sl-modem-daemon') |
13 | + |
14 | + if not check_kernel_version(report): |
15 | + report['OriginalPackage'] = report['Package'] |
16 | + report['Package'] = 'grub unknown-version' |
17 | + report['SourcePackage'] = 'grub' |
18 | + |
19 | # This seems redundant with the amixer info, do we need it? |
20 | #report['AlsactlStore'] = command-output(['alsactl', '-f', '-', 'store']) |
21 | |
22 | +def check_kernel_version(report): |
23 | + '''Check that the kernel version is not too old''' |
24 | + s = command_output(['uname', '-r']) |
25 | + ssplit = re.split(r'[-]', s) |
26 | + if ((ssplit[0] != "2.6.31") or (int(ssplit[1]) < 14)): |
27 | + report['WrongKernelVersion'] = '*** Unsupported kernel version for Karmic: %s ***\nIf this is unintentional, try executing "sudo update-grub"\nin a terminal, then reboot. ' % s |
28 | + return False |
29 | + return True |
30 | + |
31 | def command_available(command): |
32 | '''Is given command on the executable search path?''' |
33 | if 'PATH' not in os.environ: |
34 | |
35 | === modified file 'apport/report.py' |
36 | === added directory 'debian' |
37 | === added file 'debian/apport.preinst' |
38 | --- debian/apport.preinst 1970-01-01 00:00:00 +0000 |
39 | +++ debian/apport.preinst 2009-11-15 00:25:18 +0000 |
40 | @@ -0,0 +1,14 @@ |
41 | +#!/bin/sh |
42 | +set -e |
43 | + |
44 | +if [ "$1" = "install" -o "$1" = "upgrade" ] && \ |
45 | + dpkg --compare-versions "$2" lt-nl "1.9.3-0ubuntu4.1" && |
46 | + [ -r /var/log/dist-upgrade/main.log ] && [ -w /etc/default/apport ]; then |
47 | + |
48 | + # update-manager 0.126.[56] erroneously enabled Apport on upgrade; clean up |
49 | + if grep -q "release-upgrader version '0.126.[56]'" /var/log/dist-upgrade/main.log && \ |
50 | + grep -q "enabling apport" /var/log/dist-upgrade/main.log; then |
51 | + echo "Disabling Apport again after upgrade to Ubuntu 9.10" >&2 |
52 | + sed -i '/^[[:space:]]*enabled[[:space:]]*=/ s/=[[:space:]]*1/=0/' /etc/default/apport |
53 | + fi |
54 | +fi |
55 | |
56 | === added file 'debian/changelog.OTHER' |
57 | --- debian/changelog.OTHER 1970-01-01 00:00:00 +0000 |
58 | +++ debian/changelog.OTHER 2009-11-15 00:25:18 +0000 |
59 | @@ -0,0 +1,4315 @@ |
60 | +apport (1.9.3-0ubuntu4.1) karmic-proposed; urgency=low |
61 | + |
62 | + * Add debian/apport.preinst: Clean up after update-manager erroneously |
63 | + enabling Apport: Check /var/log/dist-upgrade/main.log for indications that |
64 | + this happened, and set Apport to disabled in /etc/default/apport then. |
65 | + (LP: #465619) |
66 | + * apport/report.py: Fix crash when ExecutablePath isn't part of a package. |
67 | + Fix cherrypicked from trunk r1629. (LP: #424965) |
68 | + |
69 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 02 Nov 2009 10:06:11 +0100 |
70 | + |
71 | +apport (1.9.3-0ubuntu4) karmic; urgency=low |
72 | + |
73 | + * etc/default/apport: Disable Apport for final Karmic. |
74 | + |
75 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 22 Oct 2009 22:41:34 +0200 |
76 | + |
77 | +apport (1.9.3-0ubuntu3) karmic; urgency=low |
78 | + |
79 | + * apport/crash_db/launchpad.py: Increase the number of files available |
80 | + for searching with bug patterns. |
81 | + |
82 | + -- Brian Murray <brian@ubuntu.com> Sun, 18 Oct 2009 12:38:38 +0200 |
83 | + |
84 | +apport (1.9.3-0ubuntu2) karmic; urgency=low |
85 | + |
86 | + * debian/local/apport-collect: Instantiate Launchpad crash database with |
87 | + "distro = ubuntu", to satisfy an assertion introduced in the previous |
88 | + release. (LP: #451838) |
89 | + |
90 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 15 Oct 2009 21:12:21 +0200 |
91 | + |
92 | +apport (1.9.3-0ubuntu1) karmic; urgency=low |
93 | + |
94 | + * New upstream bug fix release: |
95 | + - hookutils.py: Fix error codes from "comm", thanks to Brian Murray. |
96 | + (LP: #414194) |
97 | + - general-hooks/generic.py: Catch xkbcomp error messages. (LP: #431807) |
98 | + - launchpad.py: Assert that we have exactly one of "distro" or "project" |
99 | + option. |
100 | + - doc/crashdb-conf.txt: Improve documentation of crash database options. |
101 | + - apport-gtk: Make Cancel/Send buttons focusable. Thanks to Marco |
102 | + Rodrigues. (LP: #447780) |
103 | + - Drop handling of the APPORT_REPORT_THIRDPARTY environment variable and |
104 | + "thirdparty" configuration file option. This has never been documented, |
105 | + and conceptually does not work. There is a proper mechanism for this in |
106 | + place now, e. g. launchpad.py's "project" option. |
107 | + * bin/apport-bug: Show deprecation warning for -p/-P. (LP: #431942) |
108 | + |
109 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 14 Oct 2009 23:28:24 +0200 |
110 | + |
111 | +apport (1.9.2-0ubuntu2) karmic; urgency=low |
112 | + |
113 | + [ Matt Zimmerman ] |
114 | + * general-hooks/ubuntu.py: Include in Ubuntu bug reports the version number |
115 | + of the installation media used to install the system, via |
116 | + /var/log/installer/media-info (cf. #364649) |
117 | + |
118 | + [ Martin Pitt ] |
119 | + * debian/local/apport-collect.1: Clarify that the launchpad.credentials |
120 | + files needs to be removed in order to ask for privileges again. |
121 | + * Merge bug fixes from trunk: |
122 | + - general-hooks/generic.py: Catch xkbcomp error messages, too. (LP: #431807) |
123 | + - apport-bug: Consider -h as "output help", too. (Marco Rodrigues) |
124 | + |
125 | + [ Brian Murray ] |
126 | + * debian/local/apport-collect: |
127 | + - Resolve bug with specifying package for adding information. |
128 | + - Let collector know if bug was not reported by them. |
129 | + - Clarify potential failure causes. |
130 | + |
131 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 08 Oct 2009 09:37:35 +0200 |
132 | + |
133 | +apport (1.9.2-0ubuntu1) karmic; urgency=low |
134 | + |
135 | + * New upstream bug fix release: |
136 | + - apport-cli: Print the URL and ask whether to open a browser. In many |
137 | + situations (such as usage on a server through ssh), it's preferable to not |
138 | + open the browser on the reporting computer. Thanks to Matt Zimmerman for the |
139 | + initial patch! (LP: #286415) |
140 | + - general-hooks/generic.py: Collect important glib errors/assertions (which |
141 | + should not have private data) from ~/.xsession-errors (LP: #431807) |
142 | + - launchpad.py: Link hardware data submission key if it exists. (LP: #424382) |
143 | + - apport-cli: Fix crash with non-ASCII characters in prompts. |
144 | + - Fix "apport-bug symptomname" to actually work. |
145 | + - launchpad.py: Fix crash on invalid credentials file. Thanks to Marco |
146 | + Rodrigues for the initial patch! (LP: #414055) |
147 | + * man/apport-bug.1: Document APPORT_IGNORE_OBSOLETE_PACKAGES (cherrypicked |
148 | + from trunk), and APPORT_STAGING (Ubuntu specific change, since it's a |
149 | + launchpad backend specific variable). |
150 | + * bin/apport-bug: Ignore -p option when giving two arguments, to keep |
151 | + compatibility with current bug filing instructions. (LP: #356755) |
152 | + * debian/copyright: Update copyright year and fix GPL link, thanks Marco |
153 | + Rodrigues! |
154 | + |
155 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 02 Oct 2009 13:25:58 +0200 |
156 | + |
157 | +apport (1.9.1-0ubuntu3) karmic; urgency=low |
158 | + |
159 | + * Merge bug fixes from trunk: |
160 | + - apport-cli: Print the URL and ask whether to open a browser. This makes |
161 | + ubuntu-bug work much better for servers, now that ubuntu-bug is by and |
162 | + large mandatory. (LP: #286415) |
163 | + - launchpad.py: Consistently respect $APPORT_STAGING, so that it works |
164 | + for bug filing as well. (LP: #435112) |
165 | + |
166 | + [ Matt Zimmerman ] |
167 | + * data/general-hooks/ubuntu.py: Add metadata and tags for bugs reported from |
168 | + EC2 and UEC instances. |
169 | + |
170 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 25 Sep 2009 18:51:44 +0200 |
171 | + |
172 | +apport (1.9.1-0ubuntu2) karmic; urgency=low |
173 | + |
174 | + * kde/bugreport.ui: Select "complete report" option by default, to actually |
175 | + be able to file bugs if the options are not shown. Thanks to Yuriy Kozlov! |
176 | + Fix cherrypicked from trunk. (LP: #405378) |
177 | + |
178 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 23 Sep 2009 10:18:28 +0200 |
179 | + |
180 | +apport (1.9.1-0ubuntu1) karmic; urgency=low |
181 | + |
182 | + [ Martin Pitt ] |
183 | + * New upstream bug fix release: |
184 | + - hookutils.py, attach_hardware(): Do not attach empty Pccardctl*. |
185 | + - apport/report.py, add_gdb_info(): Do not throw away stderr from gdb. |
186 | + - data/general-hooks/parse_segv.py: |
187 | + + Handle arithmetic wrapping correctly. |
188 | + + Handle empty base, scale, or index registers in disassembly. |
189 | + + Handle in/out ioport faults. |
190 | + - Various improvements to user-visible strings, thanks to Marco Rodrigues! |
191 | + (LP: #178507) |
192 | + - Various apport-retrace robustifications. |
193 | + - setup.py: Fix DistUtilsExtra version check. (LP: #428337) |
194 | + - hookutils.py, attach_gconf(): Do not overwrite previous values from |
195 | + other packages, thanks Loïc Minier! |
196 | + - hookutils.py, attach_gconf(): Fix crash with nonexisting <applyto> tags. |
197 | + |
198 | + [ Loïc Minier ] |
199 | + * Upstream source is at https://launchpad.net/apport/+download not |
200 | + archive.ubuntu.com. |
201 | + |
202 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 22 Sep 2009 12:51:38 +0200 |
203 | + |
204 | +apport (1.9-0ubuntu6) karmic; urgency=low |
205 | + |
206 | + * debian/apport.upstart: |
207 | + - Use "exit" in Upstart script rather than "return". |
208 | + - Fix post-stop script to write to the correct file. LP: #430895. |
209 | + |
210 | + -- Scott James Remnant <scott@ubuntu.com> Wed, 16 Sep 2009 20:33:49 +0100 |
211 | + |
212 | +apport (1.9-0ubuntu5) karmic; urgency=low |
213 | + |
214 | + * Merge bug fixes from trunk: |
215 | + - hookutils.py, attach_hardware(): Do not attach empty Pccardctl*. |
216 | + - apport/ui.py: Show a better message when failed connection to crash |
217 | + database. Thanks to Marco Rodrigues! (LP: #178507) |
218 | + - Do not throw away stderr from gdb. |
219 | + - data/general-hooks/parse_segv.py: Handle arithmetic wrapping correctly. |
220 | + - backends/packaging-apt-dpkg.py: More robust of missing ExecutablePath |
221 | + due to outdated packages. |
222 | + - setup.py: Fix DistUtilsExtra version check. (LP: #428337) |
223 | + * data/general-hooks/ubuntu.py: Add distribution channel descriptor, as per |
224 | + https://wiki.ubuntu.com/FoundationsTeam/Specs/OemTrackingId . |
225 | + * data/general-hooks/ubuntu.py: Do not allow users to file bugs against |
226 | + upgrade-system if the package isn't actually installed. Way too many |
227 | + upgrade failures get wrongly reported against this. (LP: #404727) |
228 | + * debian/rules: Entirely drop obsolete dh_installinit call. |
229 | + |
230 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 15 Sep 2009 17:31:26 +0200 |
231 | + |
232 | +apport (1.9-0ubuntu4) karmic; urgency=low |
233 | + |
234 | + FFE LP: #427356. |
235 | + |
236 | + * Replace init script with Upstart job. |
237 | + * debian/control: |
238 | + - Bump build-dependency on debhelper for Upstart-aware dh_installinit |
239 | + |
240 | + -- Scott James Remnant <scott@ubuntu.com> Tue, 15 Sep 2009 03:33:57 +0100 |
241 | + |
242 | +apport (1.9-0ubuntu3) karmic; urgency=low |
243 | + |
244 | + * apport/report.py: add upstream bzr commit 1591: |
245 | + - include stderr in gdb command output |
246 | + |
247 | + -- Kees Cook <kees@ubuntu.com> Wed, 09 Sep 2009 19:32:05 -0700 |
248 | + |
249 | +apport (1.9-0ubuntu2) karmic; urgency=low |
250 | + |
251 | + * Add missing python-apt build dependency. |
252 | + |
253 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 08 Sep 2009 17:41:04 +0200 |
254 | + |
255 | +apport (1.9-0ubuntu1) karmic; urgency=low |
256 | + |
257 | + * New upstream release: |
258 | + - Add "do what I mean" mode to command line argument parsing (applies to |
259 | + all interfaces: -cli, -gtk, -kde). When giving a single argument and no |
260 | + options, determine the most likely mode, like reporting a bug against a |
261 | + symptom, package, executable name, or PID. |
262 | + - Add program "apport-bug" which determines the most appropriate user |
263 | + interface (GTK, KDE, CLI) and files a bug through it, using the single |
264 | + argument "do what I mean" mode. This is an improved version of Ubuntu's |
265 | + "ubuntu-bug" script. |
266 | + - Update apport-cli manpage to current set of options and behaviour. Also |
267 | + point out that apport-gtk and apport-kde share the same CLI. |
268 | + - setup.py now installs apport-{gtk,kde} into $prefix/share/apport/, they |
269 | + are not supposed to be called directly. This also reflects the path |
270 | + which the .desktop files expect. |
271 | + - setup.py now installs the internal helper scripts like |
272 | + "kernel_crashdump", "apport", or "apportcheckresume" into |
273 | + $prefix/share/apport instead of $prefix/bin. |
274 | + - Update usage of gettext to work around Python bug of gettext() not |
275 | + returning unicodes, but str. Fixes UnicodeDecodeErrors on translated |
276 | + --help output. |
277 | + - Add missing gettext wrapping for user-visible strings in |
278 | + apport-{retrace,unpack} and ui.py; thanks to Marco Rodrigues! |
279 | + - backends/packaging-apt-dpkg.py: Robustify get_{source,architecture} for |
280 | + uninstalled packages |
281 | + - ui.py: Add --version option. Thanks Marco Rodrigues! (LP: #383694) |
282 | + * debian/local/apport-collect: Fix KeyError crash on nonexisting LP bug |
283 | + number. Thanks Marco Rodrigues! (LP: #424273) |
284 | + * debian/control: Bump Standards-Version to 3.8.3 (no changes necessary). |
285 | + * debian/local/apport-collect: Point out that you need to select "Change |
286 | + anything" privileges. (LP: #373700) |
287 | + * debian/control: Drop obsolete texlive-latex-recommended build dependency. |
288 | + * debian/rules: Drop --install-scripts, upstream now installs the files and |
289 | + binaries into the right place. Adapt debian/*.install accordingly. |
290 | + * Drop debian/local/ubuntu-bug{,.1} and replace them with symlinks to |
291 | + apport-bug{,.1}, which is a more robust version of ubuntu-bug. |
292 | + |
293 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 08 Sep 2009 15:53:33 +0200 |
294 | + |
295 | +apport (1.8.2-0ubuntu1) karmic; urgency=low |
296 | + |
297 | + [ Martin Pitt ] |
298 | + * New upstream bug fix release: |
299 | + - crashdb.py: Fix handling of non-ASCII crash signatures |
300 | + - packaging-apt-dpkg.py: Run ExecutablePath/InterpreterPath check later, |
301 | + so that it does not always have to be done |
302 | + - crashdb.py: Never mark a bug as a duplicate of itself. |
303 | + - launchpad.py, close_duplicate(): Add duplicate assertion |
304 | + - Update Ubuntu bug pattern URL |
305 | + - launchpad.py: Add "cache_dir" option and $APPORT_LAUNCHPAD_CACHE |
306 | + environment variable to specify a non-temporary cache directory. |
307 | + (LP: #416804) |
308 | + - packaging-apt-dpkg.py, get_architecture(): Only use installed |
309 | + architecture if package is actually installed |
310 | + - launchpad.py: Drop explicit temporary cache dir, launchpadlib does that |
311 | + automatically now. Thanks to Marco Rodriguez! |
312 | + |
313 | + [ Marco Rodrigues ] |
314 | + * debian/local/setup-apport-retracer: Switch to karmic. |
315 | + |
316 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sat, 05 Sep 2009 13:04:16 +0200 |
317 | + |
318 | +apport (1.8.1-0ubuntu1) karmic; urgency=low |
319 | + |
320 | + * New upstream bug fix release: |
321 | + - data/general-hooks/generic.py: Check $HOME, not /home for enough space. |
322 | + (LP: #422658) |
323 | + - launchpad.py: Intercept httplib2.ServerNotFoundError as well, to avoid |
324 | + crashes when being offline. (LP: #396276) |
325 | + - apport-cli: Save reports with .apport extension instead of .txt. Thanks |
326 | + to Steve Beattie! (LP: #401983) |
327 | + - fileutils.py, likely_packaged(): Ignored crashes in /var, packages don't |
328 | + ship executables there, and it creates false positives. (LP: #414368) |
329 | + - packaging-apt-dpkg.py, get_modified_files(): Fix crash with empty lines. |
330 | + (LP: #408280) |
331 | + - packaging-apt-dpkg.py: Use installed version instead of candidate |
332 | + version where appropriate. This also fixes a crash where an obsolete |
333 | + package is not available any more. (LP: #423511) |
334 | + - hookutils.py, attach_gconf(): Fix crash with keys which do not have a |
335 | + schema default. (LP: #422277) |
336 | + - launchpad.py: Remove LP #353805 workaround, seems fixed now. |
337 | + - launchpad.py: Talk to staging if $APPORT_STAGING is set. |
338 | + - launchpad.py: Explicitly supply content_type for addAttachment, current |
339 | + wadllib requires it now. |
340 | + - apport_python_hook.py: Paper over inexplicable import error. |
341 | + (LP: #348250) |
342 | + - apport_python_hook.py: Protect against nonexisting sys.argv. |
343 | + (LP: #418051) |
344 | + - apport/ui.py, load_report(): Check that report has ProblemType field. |
345 | + (LP: #198543) |
346 | + - ui.py: Fix handling of complete vs. reduced report size. (LP: #92653). |
347 | + This also fixes a race condition crash with os.path.getsize(). |
348 | + (LP: #348137) |
349 | + - fi.po: Fix mistranslation of "&Cancel". (LP: #355303) |
350 | + - apport-{gtk,kde}: Check for having $DISPLAY at startup to avoid crashes. |
351 | + (LP: #411276) |
352 | + - report.py, add_gdb_info(): Fix race condition in unlink_core, thanks to |
353 | + Tommi Komulainen! (LP: #397945) |
354 | + - ui.py, load_report(): Robustify check whether program is still |
355 | + installed. (LP: #329184) |
356 | + - packaging-apt-dpkg.py, install_retracing_packages(): Install package for |
357 | + ExecutablePath/InterpreterPath if missing; this can happen with package |
358 | + hooks which reassing package |
359 | + - launchpad.py: Add a comment when marking a bug as a duplicate. |
360 | + (LP: #418871) |
361 | + * Move gdb dependency from apport to GUI packages to avoid pulling in gdb on |
362 | + Ubuntu server. Thanks to Steve Beattie! (LP: #354172) |
363 | + * ubuntu-bug: Fix handling of .crash file arguments, thanks to Marco |
364 | + Rodrigues for pointing this out! (LP: #422881) |
365 | + * debian/local/apport-collect: Set content_type and description, wadllib |
366 | + requires them now. (LP: #423512) Also drop the ASCII reencoding |
367 | + workaround, this doesn't seem to be necessary any more. |
368 | + * apport/hookutils.py, attach_conffiles(): Fix crash with obsolete |
369 | + conffiles. (LP: #412132) |
370 | + * debian/local/apport-collect: Do not upload data if the affected package |
371 | + isn't installed and there is no source package hook available either. |
372 | + (LP: #417277) |
373 | + * debian/local/ubuntu-bug: Accept .apport extension, too; thanks to Steve |
374 | + Beattie! (LP: #401983) |
375 | + * debian/local/apport-collect: Drop $APPORT_STAGING check, it's done by |
376 | + launchpad.py itself now. |
377 | + |
378 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 03 Sep 2009 21:08:31 +0200 |
379 | + |
380 | +apport (1.8-0ubuntu2) karmic; urgency=low |
381 | + |
382 | + * apport/report.py: add upstream bzr 1538 commit: |
383 | + - change to upstream glibc's __abort_msg variable name. |
384 | + - filter out memory addresses when matching assert-bug duplicates. |
385 | + |
386 | + -- Kees Cook <kees@ubuntu.com> Fri, 28 Aug 2009 12:47:14 -0700 |
387 | + |
388 | +apport (1.8-0ubuntu1) karmic; urgency=low |
389 | + |
390 | + * New upstream release: |
391 | + - Do not generally ignore SIGABRT any more. Try to extract the assertion |
392 | + message from the core dump, and add it as "AssertionMessage" field. Mark |
393 | + reports as unreportable if they do not have an assertion message and crashed |
394 | + with SIGABRT. This implements UbuntuSpec:security-karmic-apport-abort. |
395 | + - report.py, add_hooks_info(): Add optional package/srcpackage argument. Hooks |
396 | + can use that to change the affected package or call hooks from different |
397 | + packages. |
398 | + - KDE frontend implementation of ui_question_userpass(), for crash databases |
399 | + which need to ask for credentials. |
400 | + - hookutils.py: New funtion attach_wifi() to add wireless network related |
401 | + information to reports. |
402 | + - Fix the test suite on current kernels; test/crash previously often failed |
403 | + with python segfaults, since it killed the test processes too early. |
404 | + |
405 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 26 Aug 2009 13:19:51 +0200 |
406 | + |
407 | +apport (1.7-0ubuntu4) karmic; urgency=low |
408 | + |
409 | + [ Colin Watson ] |
410 | + * data/package-hooks/source_debian-installer.py: Report Ubiquity bugs |
411 | + against the ubiquity source package, rather than rejecting them. |
412 | + |
413 | + [ James Westby ] |
414 | + * data/package-hooks/source_linux.py: submit oopses back if the user |
415 | + accepts. Use the new kerneloops-submit to do it. |
416 | + * bin/kernel_oops: kerneloops will now pass the checksum, so if it does |
417 | + then base the report path on that to uniquify the reports. |
418 | + * apport/fileutils.py: allow uid to be a string so that we can use |
419 | + the checksum in place of the uid. |
420 | + |
421 | + -- James Westby <james.westby@ubuntu.com> Tue, 25 Aug 2009 21:15:24 +0100 |
422 | + |
423 | +apport (1.7-0ubuntu3) karmic; urgency=low |
424 | + |
425 | + [ Colin Watson ] |
426 | + * data/general-hooks/ubuntu.py: File update-grub bugs on grub2 instead of |
427 | + grub if appropriate. |
428 | + * apport/hookutils.py: Add command_available method, and use it to add |
429 | + prtconf and pccardctl output if those commands are available. |
430 | + * data/package-hooks/source_debian-installer.py: New hook, providing |
431 | + roughly the same information as is provided by the 'report-hw' tool in |
432 | + installation-report. |
433 | + |
434 | + [ Matt Zimmerman ] |
435 | + * apport/hookutils.py: Include modem-manager syslog messages in WifiSyslog |
436 | + * data/general-hooks/ubuntu.py: Exclude bugs already aimed at grub2 from the |
437 | + update-grub test (in support of Colin's change above) |
438 | + * data/general-hooks/ubuntu.py: Redirect failures in /etc/kernel/*.d to the |
439 | + package owning the file which failed |
440 | + * Make sure that kernel crash dumps are marked as private in Launchpad |
441 | + (LP: #417059) |
442 | + |
443 | + -- Kees Cook <kees@ubuntu.com> Fri, 21 Aug 2009 11:32:06 -0700 |
444 | + |
445 | +apport (1.7-0ubuntu2) karmic; urgency=low |
446 | + |
447 | + [ Matt Zimmerman ] |
448 | + * data/general-hooks/ubuntu.py: Detect when a kernel upgrade failure is |
449 | + caused by update-grub failing, and file the bug on grub instead of linux |
450 | + * data/general-hooks/ubuntu.py: Detect when a kernel upgrade failure is |
451 | + caused by update-initramfs failing, and file the bug on initramfs-tools |
452 | + instead of linux |
453 | + * data/package-hooks/source_linux.py: Per discussion with ogasawara, attach |
454 | + ALSA details on kernel bug reports by default. About 9% of sampled kernel |
455 | + bugs are audio-related. |
456 | + * data/package-hooks/source_linux.py: Add linux-firmware version to kernel |
457 | + bug reports |
458 | + * apport/hookutils.py: Add attach_wifi function with wifi-related debug info |
459 | + * data/package-hooks/source_linux.py: Attach wifi info by default to kernel |
460 | + bugs |
461 | + |
462 | + [ Martin Pitt ] |
463 | + * Merge trunk: |
464 | + - report.py, add_hooks_info(): Add optional package/srcpackage argument. |
465 | + - Implemented ui_question_userpass [Caio Romão]. |
466 | + |
467 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sat, 08 Aug 2009 12:20:39 +0200 |
468 | + |
469 | +apport (1.7-0ubuntu1) karmic; urgency=low |
470 | + |
471 | + * New upstream release: |
472 | + - Add support for symptoms. |
473 | + * debian/control: Recommend apport-symptoms. |
474 | + * debian/local/ubuntu-bug: When called without arguments, run in "show |
475 | + available symptoms" mode. |
476 | + |
477 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 05 Aug 2009 19:32:39 +0100 |
478 | + |
479 | +apport (1.6-0ubuntu3) karmic; urgency=low |
480 | + |
481 | + * Merge trunk: |
482 | + - apport-gtk: Fix ordering of choices |
483 | + - bin/package_hook: Fix crash for subdirectories in log dir. (LP: #332350) |
484 | + - doc/package-hooks.txt: Document allowed chars in report keys. |
485 | + - Show precise error message for damaged reports. |
486 | + * ubuntu-bug: Call apport-kde instead of apport-qt. |
487 | + |
488 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 04 Aug 2009 18:50:26 +0100 |
489 | + |
490 | +apport (1.6-0ubuntu2) karmic; urgency=low |
491 | + |
492 | + * Re-enable Apport by default, for the alpha-3 release. |
493 | + |
494 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 21 Jul 2009 00:44:50 +0200 |
495 | + |
496 | +apport (1.6-0ubuntu1) karmic; urgency=low |
497 | + |
498 | + * New upstream release: |
499 | + - Add support for kernel crashes, thanks to Michael Vogt! |
500 | + - apport/ui.py, run_crash(): Do not re-collect information if we already |
501 | + have a Dependencies field. This happens when calling apport on an already |
502 | + pre-processed .crash file with -c. (LP: #394497) |
503 | + - apport/hookutils.py, pci_devices(): Deliver all matching devices, not |
504 | + just the last one. (LP: #398906) |
505 | + - hookutils.py, _get_module_license(): Return "invalid" if modinfo fails, |
506 | + so that they do not count as "free". (LP: #341720) |
507 | + - packaging-apt-dpkg.py: Support additional custom native origins in |
508 | + /etc/apport/native-origins.d/ . (LP: #386052) |
509 | + - packaging-apt-dpkg.py: Drop PPA origin hack, launchpad behaves properly |
510 | + now |
511 | + - apport-gtk: Avoid focus stealing when being called without arguments (i. |
512 | + e. auto-launched). LP: #396243) |
513 | + - apport-kde: Use standard gettext again |
514 | + - Fix handling of PC lacking disassembly due to invalid memory location. |
515 | + * debian/local/apport-collect: Tag bugs with "apport-collected" on success. |
516 | + (LP: #391392) |
517 | + |
518 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 15 Jul 2009 18:02:59 +0200 |
519 | + |
520 | +apport (1.5-0ubuntu2) karmic; urgency=low |
521 | + |
522 | + * Merge fixes from trunk: |
523 | + - packaging-apt-dpkg.py: Fix install_retracing_packages() for pre-0.7.9 |
524 | + python-apt API. |
525 | + - Sort the list of dependencies so it's easier to scan (LP: #391021) |
526 | + |
527 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 30 Jun 2009 22:39:18 +0200 |
528 | + |
529 | +apport (1.5-0ubuntu1) karmic; urgency=low |
530 | + |
531 | + * New upstream release: |
532 | + - Drop all Makefiles, po/POTFILES.in, and most code from setup.py, and use |
533 | + DistUtilsExtras.auto which "just does the right thing" for most build |
534 | + system tasks. This requires python-distutils-extra >= 2.2, see |
535 | + https://launchpad.net/python-distutils-extra |
536 | + - Move all test scripts into test/, to unclutter source tree. |
537 | + - setup.py now auto-detects the required packaging backend if |
538 | + apport/packaging_impl.py is not manually installed. |
539 | + * debian/control: Add python-distutils-extra build dependency. |
540 | + * debian/rules: Drop stuff which is now properly done by the upstream build |
541 | + system. |
542 | + * Drop debian/apport.examples, preloadlib died long ago. |
543 | + * Adapt debian/apport-{gtk,kde}.install to new upstream build system, which |
544 | + now installs the .desktop files itself. |
545 | + |
546 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 29 Jun 2009 12:00:21 +0200 |
547 | + |
548 | +apport (1.4-0ubuntu1) karmic; urgency=low |
549 | + |
550 | + * New upstream release. Compared to our previous snapshot, this changes: |
551 | + - Replace Qt4 frontend with KDE frontend, thanks to Richard Johnson! |
552 | + - apport/ui.py, run_report_bug(): Clean up PID information collection. |
553 | + - gtk/apport-gtk.ui: Drop invalid icon reference. (LP: #389064) |
554 | + - ui.py: Do not reject non-distro package reports if report sets CrashDB |
555 | + (for third-party destination). (LP: #391015) |
556 | + - bin/kernel_crashdump: Use packaging API properly. |
557 | + - apport-gtk.ui: Drop erroneous translatable flag from stock buttons. |
558 | + - Update German translations. |
559 | + * debian/*: qt → kde, add transitional package for apport-qt. |
560 | + * Drop backends/packaging_rpm.py. We don't use it in the Ubuntu package at |
561 | + all, and it's still in trunk. |
562 | + * debian/rules: Drop some deprecated dh_* calls, cdbs's debhelper.mk has |
563 | + done them for a long time. |
564 | + * debian/control: Bump Standards-Version to 3.8.2 (no changes necessary). |
565 | + * debian/control: Replace URLs in descriptions with proper Homepage: field. |
566 | + |
567 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 26 Jun 2009 10:44:54 +0200 |
568 | + |
569 | +apport (1.3-0ubuntu2) karmic; urgency=low |
570 | + |
571 | + * debian/local/apport-collect: Pass None as HookUI object. This will crash |
572 | + with interactive hooks, but is a good enough immediate bandaid. |
573 | + (LP: #385811) |
574 | + * Merge fixes from trunk: |
575 | + - packaging-apt-dpkg.py: Add backwards compatibility code for python-apt < |
576 | + 0.7.9 to not break backportability. |
577 | + - hookutils.py, command_output(): Force LC_MESSAGES=C, to avoid translated |
578 | + output in bug reports. (LP: #383230) |
579 | + - apport-gtk.ui: Make details window resizable, and lower default size, so |
580 | + that it will fit on small screens. (LP: #365517) |
581 | + |
582 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 12 Jun 2009 12:47:59 +0200 |
583 | + |
584 | +apport (1.3-0ubuntu1) karmic; urgency=low |
585 | + |
586 | + * New upstream release. Compared to our bzr snapshot, this has: |
587 | + - Interactive package hooks: |
588 | + + Add apport.ui.HookUI class which provides GUI functionality such as |
589 | + yes/no |
590 | + questions or file dialogs to hooks. |
591 | + + add_info() in package hooks now can (optionally) take a second argument |
592 | + which is the HookUI instance. |
593 | + + See doc/package-hooks.txt for details. |
594 | + + See UbuntuSpec:desktop-karmic-symptom-based-bug-reporting |
595 | + - New function apport.hookutils.root_command_output() to run a command as root, |
596 | + through gksu/kdesudo/sudo, depending on the desktop environment. |
597 | + |
598 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 10 Jun 2009 16:49:13 +0200 |
599 | + |
600 | +apport (1.2.1-0ubuntu3) karmic; urgency=low |
601 | + |
602 | + * debian/control: Bump Standards-Version to 3.8.1 (no changes necessary). |
603 | + * debian/control: Bump debhelper dependency for dh_icons, to satisfy |
604 | + lintian. |
605 | + * general-hooks/ubuntu.py: Fix IndexError crash if report does not have a |
606 | + Package field. Check whether we actually have attach_conffiles() (which is |
607 | + not the case when running the upstream version). |
608 | + * Merge trunk: |
609 | + - launchpad.py: Fix crash for unset titles. |
610 | + - Add segfault analysis hook for quick segv reviews. Thanks to Kees Cook! |
611 | + - run-tests: Replace hardcoded Python path with dynamically detected path. |
612 | + |
613 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 03 Jun 2009 09:52:03 +0200 |
614 | + |
615 | +apport (1.2.1-0ubuntu2) karmic; urgency=low |
616 | + |
617 | + * debian/control: Update Vcs-Bzr: for new location (moved from project |
618 | + branch to package branch). |
619 | + * Merge bug fixes from trunk: |
620 | + - apport-cli: Fix report saving in "bug report" mode. (LP: #353253) |
621 | + - Drop "UnsupportableReason" field, it is too similar to |
622 | + UnreportableReason and just confusing. |
623 | + - ui.py: Check UnreportableReason for run_report_bug() as well. |
624 | + (LP: #361359) |
625 | + - general-hooks/generic.py: Do not report problems with low free space on |
626 | + / or /home. (LP: #381047) |
627 | + - launchpad.py: Do not overwrite report['Title']. |
628 | + - launchpad.py: Repair support for extra tags. |
629 | + - New function apport.hookutils.root_command_output() to run a command as |
630 | + root, through gksu/kdesudo/sudo, depending on the desktop environment. |
631 | + (Part of UbuntuSpec:desktop-karmic-symptom-based-bug-reporting) |
632 | + - launchpad.py: Fetch DpkgTerminalLog. (LP: #382589) |
633 | + - launchpad.py: More robust download(), fixes other part of (LP: #382589) |
634 | + - problem_report.py: Allow dashes and underscores in key names. Update |
635 | + doc/data-format.tex accordingly. (LP: #380811) |
636 | + |
637 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 02 Jun 2009 11:59:41 +0200 |
638 | + |
639 | +apport (1.2.1-0ubuntu1) karmic; urgency=low |
640 | + |
641 | + * New upstream release: |
642 | + - Moving away from deprecated APIs: |
643 | + + packaging-apt-dpkg.py: Use python-apt >= 0.7.9 official API and drop |
644 | + usage of internal symbols. |
645 | + + hookutils.py: Drop hal related functions and queries, replace with |
646 | + udev database, udev log file, and DMI information from sysfs. |
647 | + + gtk UI: Convert from libglade to gtk.Builder. |
648 | + - Bug fixes: |
649 | + + hookutils.py: Drop /proc/version_signature collection, it is Ubuntu |
650 | + specific. |
651 | + + apportcheckresume: Fix log collection from pm-utils. |
652 | + + Fix various crashes and report properties for reporting against |
653 | + uninstalled packages. |
654 | + * debian/control: Drop python-glade2 dependency, bump python-gtk2 dependency |
655 | + to ensure availability of gtk.Builder. |
656 | + * hookutils, attach_conffiles(): Remove leftover debugging spew. |
657 | + * debian/apport-qt.install: Install the individual Qt .ui files instead of |
658 | + *.ui, since GTK's are now also called *.ui. |
659 | + |
660 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 15 May 2009 11:28:34 +0200 |
661 | + |
662 | +apport (1.1.1-0ubuntu2) karmic; urgency=low |
663 | + |
664 | + [ Martin Pitt ] |
665 | + * hookutils.py: Do not attach /proc/version_signature, it's Ubuntu specific. |
666 | + (Merged from trunk). Instead, attach it in general-hooks/ubuntu.py. |
667 | + * general-hooks/ubuntu.py: Attach package conffile information. |
668 | + * debian/local/apport-collect: Add workaround for launchpadlib bug |
669 | + LP#353805, to avoid crashing with non-UTF8 attachments. (LP: #368004) |
670 | + * debian/local/apport-collect: Fix import of launchpadlib's HTTPError. |
671 | + * apport/hookutils.py, attach_conffiles(): Ignore empty lines from |
672 | + dpkg-query output. |
673 | + * general-hooks/ubuntu.py: Strip off '/target' prefix from ExecutablePath |
674 | + and InterpreterPath, to correctly process crash reports from the live |
675 | + system installer. |
676 | + * apport/hookutils.py, attach_conffiles(): Do not use command_output(), |
677 | + since that causes error messages to get parsed as conffiles. Use |
678 | + subprocess properly. |
679 | + * backends/packaging-apt-dpkg.py: Replace deprecated python-apt properties |
680 | + with current ones (merged from trunk). Update python-apt dependency to |
681 | + >= 0.7.9. |
682 | + * packaging-apt-dpkg.py, get_modified_files(): Do not show package list file |
683 | + as modified if the package is not installed (merged from trunk). |
684 | + (LP: #364533) |
685 | + * backends/packaging-apt-dpkg.py, install_retracing_packages(): Fix syntax |
686 | + error which broke the retracers. |
687 | + |
688 | + [ Andy Whitcroft ] |
689 | + * bin/apportcheckresume: the suspend _and_ hibernate logs are both in |
690 | + pm-suspend.log. |
691 | + * bin/apportcheckresume: remove redunant check for file before attaching |
692 | + stress log. |
693 | + |
694 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 13 May 2009 15:22:53 +0200 |
695 | + |
696 | +apport (1.1.1-0ubuntu1) karmic; urgency=low |
697 | + |
698 | + [ Martin Pitt ] |
699 | + * New upstream security update: |
700 | + - etc/cron.daily/apport: Only attempt to remove files and symlinks, do not |
701 | + descend into subdirectories of /var/crash/. Doing so might be exploited by |
702 | + a race condition between find traversing a huge directory tree, changing |
703 | + an existing subdir into a symlink to e. g. /etc/, and finally getting |
704 | + that piped to rm. This also changes the find command to not use GNU |
705 | + extensions. Thanks to Stephane Chazelas for discovering this! |
706 | + (LP: #357024, CVE-2009-1295) |
707 | + - Other fixes were already cherrypicked in the previous upload. |
708 | + |
709 | + [ Matt Zimmerman ] |
710 | + * package-hooks/source_linux.py: Attach info for linux-restricted-modules |
711 | + and linux-backports-modules |
712 | + |
713 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 30 Apr 2009 09:08:29 +0200 |
714 | + |
715 | +apport (1.1-0ubuntu1) karmic; urgency=low |
716 | + |
717 | + * New upstream release: |
718 | + - Drop some remaining distro specific pieces of code from non-backends. |
719 | + - Add hookutils methods for attaching relevant packages, greatly improve |
720 | + attach_alsa() for sound problem debugging. |
721 | + - Move launchpad crash database implementation from ever-breaking |
722 | + python-launchpad-bugs (screenscraping) to launchpadlib (official and |
723 | + stable Launchpad API). (LP: #353879) |
724 | + - Add new field Report.pid which gets set on add_proc_info() and can be |
725 | + used by hooks. |
726 | + - setup.py: Properly clean up all generated files, install missing |
727 | + mimetypes/text-x-apport.svg icon symlink. |
728 | + - Add README file. |
729 | + - Add translations from Launchpad. |
730 | + - Remove preloadlib/*; it's undermaintained, and not really useful any |
731 | + more these days. |
732 | + - Various bug fixes; most visible being the misnamed |
733 | + etc/default/apport.default file (which should just be |
734 | + etc/default/apport). |
735 | + * Merge some bug fixes from trunk: |
736 | + - launchpad.py: Send and read Date: field again, reverting r1128; it is |
737 | + useful after all. (LP: #349139) |
738 | + - report.py, add_proc_info(): Only add ProcAttrCurrent if it is not |
739 | + "unconfined". |
740 | + - ui.py: Detect invalid PIDs (such as for kernel processes) and give a |
741 | + friendly error message. (LP: #360608) |
742 | + - report.py, add_hooks_info(): Always run common hooks, and run source |
743 | + package hooks if we do not have a binary package name. (LP: #350131) |
744 | + - launchpad.py: Consider socket errors when connecting as transient, so |
745 | + that crash-digger doesn't stop completely on them. |
746 | + * Drop debian/apport.README.Debian, superseded by upstream README. |
747 | + * Drop debian/apport.links, done by upstream setup.py now. |
748 | + * debian/rules, debian/apport.preinst: Drop upgrade fix for misnamed default |
749 | + file again, was only necessary for intra-Jaunty upgrades. |
750 | + * debian/control: python-launchpad-bugs → python-launchpadlib dependencies. |
751 | + * debian/local/apport-collect: Drop launchpadlib login code, just use the |
752 | + CrashDatabase implementation from apport/crashdb_impl/launchpad.py. |
753 | + * Make package backportable to hardy and intrepid: |
754 | + - debian/control: Relax python-central buil-dependency to 0.5.6. |
755 | + - debian/rules: Determine DH_PYCENTRAL value ("include-links" vs. |
756 | + "nomove") based on the installed pycentral version. |
757 | + - debian/rules: Only supply --install-layout=deb when Python version is |
758 | + 2.6. |
759 | + * apport/hookutils.py: Add docstring for attach_hardware, thanks Matt |
760 | + Zimmerman! (Merged from lp:~mdz/apport/hookutils) |
761 | + * apport/crashdb_impl/launchpad.py: Support older wadllib API |
762 | + where bug.date_created was a string instead of a datetime object. |
763 | + (Cherrypicked from trunk). |
764 | + * debian/control: Drop apport dependency to python-xdg, it's not required. |
765 | + (LP: #354172) |
766 | + * debian/control: Drop gdb from Depends: to Recommends:. (LP: #354172) |
767 | + * debian/local/apport-collect: Print a friendly error message instead of |
768 | + crashing if the bug number is not an integer. (LP: #351050) |
769 | + * debian/local/apport-collect: Change incomplete tasks back to "New" after |
770 | + data collection. (LP: #363126) |
771 | + * debian/apport.links: source_linux-meta.py -> source_linux.py package hook, |
772 | + so that apport-collect works on "linux" source bug tasks. These get |
773 | + opportunistically translated into binary packages, but the binary "linux" |
774 | + is built by the source "linux-meta". (LP: #350131) |
775 | + * debian/local/setup-apport-retracer: |
776 | + - Use ports.ubuntu.com for non-{i386,amd64,lpia}. |
777 | + - Set up Jaunty by default. |
778 | + - Fix test for being in local unpackaged apport source tree. |
779 | + - Drop installation of python-launchpad-bugs. |
780 | + - Install bzr branches/packages necessary for launchpad, in a shared |
781 | + ~/launchpadlib/ tree: launchpadlib, wadllib, oauth, lazr.uri, httplib2, |
782 | + simplejson. |
783 | + - Clean up apport-chroot calling for extra packages. |
784 | + |
785 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 28 Apr 2009 10:50:49 +0200 |
786 | + |
787 | +apport (1.0-0ubuntu5) jaunty; urgency=low |
788 | + |
789 | + [ Martin Pitt ] |
790 | + * Rename etc/default/apport.default to etc/default/apport (brown paperbag), |
791 | + and add debian/apport.preinst to remove the apport.default file on |
792 | + upgrades. (LP: #361543) |
793 | + * debian/rules: Call dh_installinit with --onlyscripts, so that the package |
794 | + calls update-rc.d again. This fixes the calling of init script again, |
795 | + which got broken in 1.0-0ubuntu1. (LP: #361579) |
796 | + |
797 | + [ Matt Zimmerman ] |
798 | + * package-hooks/source_linux.py: Attach /etc/initramfs-tools/conf.d/resume to |
799 | + show the resume device for hibernation |
800 | + |
801 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 15 Apr 2009 22:36:33 +0200 |
802 | + |
803 | +apport (1.0-0ubuntu4) jaunty; urgency=low |
804 | + |
805 | + * etc/default/apport.default: Disable Apport by default for the final |
806 | + release. |
807 | + |
808 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 14 Apr 2009 11:47:29 +0200 |
809 | + |
810 | +apport (1.0-0ubuntu3) jaunty; urgency=low |
811 | + |
812 | + * apport/hookutils.py: Factor out package_versions() to generate a simple |
813 | + text listing of relevant package versions and use it in attach_printing() |
814 | + * apport/hookutils.py: Add new function attach_relevant_packages() to attach |
815 | + version information (and perhaps eventually run hooks?) for related |
816 | + packages |
817 | + * apport/hookutils.py: Add glob matching to package_versions() |
818 | + * apport/hookutils.py: Add fuser info and dmesg to attach_alsa |
819 | + * apport/hookutils.py: Add codec info to attach_alsa |
820 | + |
821 | + -- Matt Zimmerman <mdz@ubuntu.com> Thu, 09 Apr 2009 07:36:45 -0700 |
822 | + |
823 | +apport (1.0-0ubuntu2) jaunty; urgency=low |
824 | + |
825 | + * backends/packaging-apt-dpkg.py: Add missing shutil import. |
826 | + * debian/local/ubuntu-bug: Filter out -p and -P, for backwards calling |
827 | + compatibility. (LP: #356755) |
828 | + |
829 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 06 Apr 2009 23:04:39 -0700 |
830 | + |
831 | +apport (1.0-0ubuntu1) jaunty; urgency=low |
832 | + |
833 | + * Apport has a proper upstream trunk now (lp:apport) and made an 1.0 |
834 | + upstream release. Use this as an orig.tar.gz. This does not change any |
835 | + code for Jaunty, just removes the Fedora/OpenSUSE specific .spec and init |
836 | + scripts. |
837 | + * Add bzr-builddeb configuration (merge mode). |
838 | + * Add debian/watch for upstream releases on Launchpad. |
839 | + * Drop debian/python-apport.postinst, obsolete for a long time. |
840 | + |
841 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 06 Apr 2009 17:37:48 -0700 |
842 | + |
843 | +apport (0.149) jaunty; urgency=low |
844 | + |
845 | + Do some internal cleanup of distribution specific stuff: |
846 | + |
847 | + * problem_report.py, man/apport-unpack.1: Fix description of .crash file |
848 | + syntax (RFC822, not "Debian control"). |
849 | + * Move cron.daily, init script, and default file from debian/ to etc/, and |
850 | + install them in setup.py. These files are appropriate for upstream |
851 | + installation. |
852 | + * Move crashdb.conf and doc/README.blacklist to etc/, to simplify setup.py. |
853 | + * setup.py: Move *.mo generation/installation into my_install_data class, |
854 | + for cleanliness. |
855 | + * Move installation of missing packages for retracing from |
856 | + bin/apport-retrace to new abstract interface apport/packaging.py, |
857 | + install_retracing_packages() and remove_packages(), and move the apt/dpkg |
858 | + code to backends/packaging-apt-dpkg.py. This removes a major piece of |
859 | + apt/dpkg specific code from non-backends. |
860 | + * bin/apport-retrace: Rename option --no-dpkg to --no-pkg and update |
861 | + bin/apport-chroot accordingly. |
862 | + * Move bin/apport-chroot and man/apport-chroot.1 to debian/local, since they |
863 | + are totally Debian/Ubuntu specific. |
864 | + * debian/local/setup-apport-retracer: Update apport-chroot and crashdb.conf |
865 | + paths for above changes. |
866 | + * apport/hookutils.py, files_in_package(): Replace dpkg-query call with |
867 | + packaging.get_files(), to avoid Debianism. |
868 | + * man/apport-retrace.1: Drop reference to "apt", simply talk about package |
869 | + installation. |
870 | + |
871 | + Bug fixes: |
872 | + |
873 | + * setup.py: Fix homepage URL. |
874 | + * debian/local/apport-chroot: If multiple distro IDs point to the same |
875 | + chroot, do not upgrade them more than once with "upgrade all". |
876 | + |
877 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 06 Apr 2009 16:06:33 -0700 |
878 | + |
879 | +apport (0.148) jaunty; urgency=low |
880 | + |
881 | + [ Matt Zimmerman ] |
882 | + * apport/hookutils.py: add attach_media_build to include information about |
883 | + the build of installation media in use (i.e. in a casper live CD |
884 | + environment) |
885 | + * general-hooks/ubuntu.py: use attach_media_build (LP: #351781) |
886 | + * bin/apportcheckresume: Use attach_file_if_exists rather than attach_file to |
887 | + avoid spurious error messages about non-existent log files (LP: #351973) |
888 | + |
889 | + [ Martin Pitt ] |
890 | + * debian/local/ubuntu-bug: Drop generic passthrough of apport-{cli,gtk,kde} |
891 | + options since this leads to too much confusion. Instead just support a |
892 | + single argument and check whether it is a pid, a package name, a .crash |
893 | + file, or a program path. This does the right thing when calling it with a |
894 | + .crash file (LP: #347392) and fixes the help output (LP: #344923) Update |
895 | + manpage accordingly. |
896 | + * apport/hookutils.py: Move attach_media_build() to |
897 | + general-hooks/ubuntu.py, since it is Ubuntu specific. |
898 | + * bin/apport-retrace: Fix KeyError crash on bugs with an ExecutablePath |
899 | + which does not exist any more. Close the bug as invalid instead. |
900 | + (LP: #352331) |
901 | + * bin/kernel_oops: Add "kernel-oops" tag. Since both bin/kernel_oops and |
902 | + bin/apportcheckresume use the "kerneloops" bug class, it previously was |
903 | + hard to filter out the bug reports which were real oopses. (LP: #349621) |
904 | + |
905 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 01 Apr 2009 18:10:01 +0200 |
906 | + |
907 | +apport (0.147) jaunty; urgency=low |
908 | + |
909 | + * bin/apportcheckresume: report the pm-suspend.log/pm-hibernate.log |
910 | + from /var/lib. |
911 | + * bin/apportcheckresume: only attempt to attach the stress log if its is |
912 | + present. |
913 | + * bin/apportcheckresume, debian/apport.init: add detection for late |
914 | + resume hangs, those where the user thinks the system was working. |
915 | + (LP: #335323) |
916 | + |
917 | + -- Andy Whitcroft <apw@canonical.com> Mon, 30 Mar 2009 09:47:28 +0200 |
918 | + |
919 | +apport (0.146) jaunty; urgency=low |
920 | + |
921 | + * apport/report.py, _generate_sigsegv_report(): Turn into a class method, so |
922 | + that it can be used by test cases in other modules as well. Also add |
923 | + missing Signal field. |
924 | + * apport/crashdb_impl/launchpad.py: Fully enable operation with |
925 | + staging.launchpad.net. |
926 | + * apport/crashdb_impl/launchpad.py: Add initial test suite, performing data |
927 | + upload, Python and SEGV bug reporting, report download, report updating, |
928 | + tag and duplicate handling. This happens on staging.launchpad.net. |
929 | + * apport/crashdb.py: Add new interface duplicate_of(id) to return the master |
930 | + bug of a duplicate. Also document that close_duplicate() with "None" |
931 | + master bug will un-duplicate the bug. |
932 | + * apport/crashdb_impl/{launchpad,memory}.py: Implement duplicate_of() and |
933 | + add test cases. The Launchpad test case reproduces the |
934 | + "duplicate-of-a-duplicate" regression, which now got fixed in |
935 | + python-launchpad-bugs bzr head. |
936 | + * apport/ui.py, open_url(): Also consider a sesssion as "GNOME" if gconfd-2 |
937 | + is running; some variants such as UNR do not have gnome-panel; this fixes |
938 | + using the preferred browser for them. (LP: #322386) |
939 | + * debian/local/apport-collect: Add new option -p to explicitly specify a |
940 | + (binary) package name instead of guesstimating it from the bug's source |
941 | + package tasks. Document new option in debian/local/apport-collect.1. |
942 | + (LP: #333875) |
943 | + * apport/crashdb.py, duplicate_db_consolidate(): Add logging about removing |
944 | + invalidated bugs from the duplicate database, now that this actually |
945 | + works. |
946 | + * debian/local/ubuntu-bug.1: Update for the possibility to specify a package |
947 | + name or PID without any options. Also document the "ubuntu-bug linux" |
948 | + special case. (LP: #348985) |
949 | + * debian/local/ubuntu-bug.1: Add missing documentation of the case of |
950 | + specifying a path name. |
951 | + * backends/packaging-apt-dpkg.py: When unpacking source trees, try |
952 | + "debian/rules setup" last, since it is the least common variant. |
953 | + * debian/local/ubuntu-fat-chroot: Divert away |
954 | + /usr/lib/xulrunner-1.9.1b3/xulrunner-bin. It is called on debian/rules |
955 | + patch in xulrunner-1.9.1 and hangs eternally in the fakechroots. This is |
956 | + only a temporary kludge, though, until the next xulrunner version lands. |
957 | + * apport/crashdb_impl/launchpad.py: Add test case: Update a bug report which |
958 | + got marked as a duplicate during processing. This reproduces #349407. |
959 | + * apport/crashdb_impl/launchpad.py, update(): Intercept and ignore IOErrors |
960 | + when changing the bug priority. This happens if a bug gets duplicated |
961 | + underneath us. (LP: #349407) |
962 | + * apport/crashdb.py, get_crashdb(): Print syntax errors from parsing |
963 | + conf.d/*.conf to stderr. |
964 | + * apport/crashdb_impl/launchpad.py: Support new CrashDB option "project" |
965 | + which can be set to a LP project name to file bugs against that project |
966 | + instead of the distribution. Add test case for filing crash bug against a |
967 | + project, updating it, duplicating/unduplicating it, and determining fixed |
968 | + version. (LP: #338835) |
969 | + * bin/crash-digger: If apport-retrace exits with 99, consider it a transient |
970 | + error and just stop the retracer, but don't leave the lock file behind. |
971 | + Add appropriate test case to test-crash-digger. |
972 | + * bin/apport-retrace: If apt update fails due to a "hash sum mismatch", exit |
973 | + with a "transient error" code, to stop (but not break) the retracing |
974 | + cycle. |
975 | + |
976 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 27 Mar 2009 17:01:08 +0100 |
977 | + |
978 | +apport (0.145) jaunty; urgency=low |
979 | + |
980 | + * apport/crashdb_impl/launchpad.py: Fix typo in previous upload. |
981 | + * debian/local/apport-collect: Do not crash on |
982 | + launchpadlib.errors.HTTPError, but give a proper error message and point |
983 | + out that this script needs "change anything" privileges. (LP: #338201) |
984 | + * apport_python_hook.py: Fix crash for already existing reports, and make |
985 | + behaviour equivalent to bin/apport: Silently exit for existing unseen |
986 | + crash report, and overwrite existing seen crash report. Add test cases. |
987 | + (LP: #323714) |
988 | + * general-hooks/automatix.py: Refuse to send bug reports when ultamatix is |
989 | + installed. |
990 | + |
991 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 10 Mar 2009 18:45:34 +0100 |
992 | + |
993 | +apport (0.144) jaunty; urgency=low |
994 | + |
995 | + * apport/crashdb_impl/launchpad.py, mark_retrace_failed(): If report is |
996 | + invalid, remove CoreDump.gz and other attachments. |
997 | + * bin/apport-retrace: If we didn't find the ExecutablePath on the system |
998 | + because the package is out of date, don't crash, but close the bug as |
999 | + invalid. |
1000 | + |
1001 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 10 Mar 2009 10:45:56 +0100 |
1002 | + |
1003 | +apport (0.143) jaunty; urgency=low |
1004 | + |
1005 | + * debian/apport.README.Debian: Document how to temporarily and permanently |
1006 | + enable crash interception. |
1007 | + * backends/packaging-apt-dpkg.py, is_distro_package(): Do not consider a |
1008 | + package a native distro one if installed version is "None". This happens |
1009 | + with some PPA packages. (LP: #252734) |
1010 | + * apport/report.py, anonymize(): Move user name anonymization into the |
1011 | + "non-root" case as well; fixes uninitialized variable. (LP: #338847) |
1012 | + |
1013 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 09 Mar 2009 12:16:49 +0100 |
1014 | + |
1015 | +apport (0.142) jaunty; urgency=low |
1016 | + |
1017 | + * apport/report.py: Do not include lsb_release's stderr in the |
1018 | + DistroRelease: output. |
1019 | + * apport/hookutils.py: Fix attach_printing(): |
1020 | + - Correct spelling or "error_log". |
1021 | + - Do not call fgrep with no file names (if /etc/cups/ppd/ is empty), since |
1022 | + that hangs forever. |
1023 | + * apport/report.py, _gen_stacktrace_top(): Fix parsing of stacktraces |
1024 | + with some addresses missing. Add test cases. (LP: #269133) |
1025 | + * apport/ui.py, run_report_bug(): Show details of collected information and |
1026 | + give the user a chance to cancel. Previously, collected data was sent |
1027 | + directly to Launchpad. Nowadays lots of packages have hooks, so we cannot |
1028 | + guarantee any more that bug reports only have non-sensitive information. |
1029 | + (LP: #195514) This also allows the user to cancel if (s)he inadvertedly |
1030 | + clicked on "Report a problem". (LP: #279033) |
1031 | + * apport/ui.py: Fix crash in get_complete_size() for reports that are |
1032 | + constructed on the fly instead of loaded from a file (i. e. for bug |
1033 | + reports). Fixes displaying of report in apport-cli. |
1034 | + * apport/report.py: Slight robustification of test_add_gdb_info_script() |
1035 | + test case. |
1036 | + * debian/local/ubuntu-bug: Fix invocation with "--help". (LP: #305841) |
1037 | + * apport/ui.py, load_report(): Clearer error message if report file does not |
1038 | + exist. (LP: #204198) |
1039 | + * Remove redundant verbiage from test suite docstrings. |
1040 | + * apport/report.py, anonymize(): Fix crash when processing root-owned |
1041 | + reports. (LP: #338033) |
1042 | + * apport/report.py, anonymize(): Do not anonymize single-character user and |
1043 | + host names, since they create an utter mess in bug reports, and also are |
1044 | + very low-sensitive. |
1045 | + * debian/apport.init: Also start apport if force_start=1 is given. This |
1046 | + provides a convenient method of starting apport just for a session without |
1047 | + changing the default file. Add a comment to debian/apport.default about |
1048 | + this possibility. Thanks to Milan for the suggestion and the initial |
1049 | + patch! (LP: #320467) |
1050 | + * backends/packaging-apt-dpkg.py, _get_mirror(): Only consider http:// |
1051 | + mirrors for fetching Contents.gz. (LP: #315797) |
1052 | + |
1053 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 05 Mar 2009 17:01:05 +0100 |
1054 | + |
1055 | +apport (0.141) jaunty; urgency=low |
1056 | + |
1057 | + * apport/hookutils.py: Add cups error log to attach_printing() |
1058 | + |
1059 | + -- Brian Murray <brian@ubuntu.com> Mon, 02 Mar 2009 10:55:53 -0800 |
1060 | + |
1061 | +apport (0.140) jaunty; urgency=low |
1062 | + |
1063 | + * debian/python-{apport,problem-report}.install: Fix site-packages → |
1064 | + *-packages. |
1065 | + * run-tests: Only check for local packaging_impl.py if running local tests. |
1066 | + This unbreaks running tests from /usr/share/apport/testsuite/. |
1067 | + |
1068 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 02 Mar 2009 11:56:59 +0100 |
1069 | + |
1070 | +apport (0.139) jaunty; urgency=low |
1071 | + |
1072 | + * apport/report.py, anonymize(): Do not anonymize "root". (Side |
1073 | + issue in LP #333542) |
1074 | + * debian/rules: Supply --install-layout=deb to setup.py. |
1075 | + * debian/local/apport-collect: Attach new info to |
1076 | + staging.launchpad.net if $APPORT_STAGING is defined. This makes |
1077 | + testing easier. Describe in debian/local/apport-collect.1. |
1078 | + * debian/local/apport-collect: Ignore ValueErrors from |
1079 | + add_package_info(), which happens if the bug has a source package |
1080 | + task which does not have an identically named binary package name. |
1081 | + Slightly ugly, but it's nontrivial to do that in a sensible |
1082 | + manner; let's just fix the crash for now, since the focus of this |
1083 | + tool is to collect information from hooks. (LP: #334823) |
1084 | + * apport/hookutils.py, hal_dump_udi(): Filter out serial numbers. |
1085 | + (Mentioned in LP #107103) |
1086 | + |
1087 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 02 Mar 2009 11:36:18 +0100 |
1088 | + |
1089 | +apport (0.138) jaunty; urgency=low |
1090 | + |
1091 | + * apport/crashdb_impl/launchpad.py: Consider an useful stack trace |
1092 | + sufficient for automatically removing the core dump, it doesn't |
1093 | + need to be perfect. This is in accordance with not setting the |
1094 | + apport-failed-retrace tag for useful, but non-perfect retraces any |
1095 | + more. |
1096 | + * apport/hookutils.py, backends/packaging_rpm.py: Convert usage of |
1097 | + md5 module (which is deprecated in 2.6) to hashlib. |
1098 | + * Replace all instances of using an exception's .message attribute |
1099 | + with str(exception), since message is deprecated in Python 2.6. |
1100 | + * apport/hookutils.py: Add attach_printing(). Thanks to Brian Murray |
1101 | + for the initial patch! (LP: #333582) |
1102 | + |
1103 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 24 Feb 2009 22:24:31 +0100 |
1104 | + |
1105 | +apport (0.137) jaunty; urgency=low |
1106 | + |
1107 | + * Set python-version to all, include symlinks in the package. |
1108 | + |
1109 | + -- Matthias Klose <doko@ubuntu.com> Tue, 24 Feb 2009 21:22:36 +0100 |
1110 | + |
1111 | +apport (0.136) jaunty; urgency=low |
1112 | + |
1113 | + [ Andy Whitcroft ] |
1114 | + * bin/apportcheckresume: remove originator in suspend/hibernate/resume |
1115 | + reporting. This was intended for debugging only and is now redundant. |
1116 | + * bin/apportcheckresume, apport/report.py: when collecting resume failures |
1117 | + in very early boot hal may not be running and we thus unable to obtain |
1118 | + the machine type information. Move title generation to the reporting |
1119 | + engine. |
1120 | + |
1121 | + [ Martin Pitt ] |
1122 | + * debian/local/apport-collect: Add user environment information, too |
1123 | + (LANG, PATH, SHELL). (LP: #332578) |
1124 | + |
1125 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 24 Feb 2009 14:25:21 +0100 |
1126 | + |
1127 | +apport (0.135) jaunty; urgency=low |
1128 | + |
1129 | + * problem_report.py, test_write_mime_text(): Add test cases for |
1130 | + single-line and two-line UTF-8 values, single-line and two-line |
1131 | + Unicode values and a single-line LF-terminated value. Fix handling |
1132 | + of the latter two. |
1133 | + * problem_report.py, test_write(): Add test cases for single-line |
1134 | + and two-line UTF-8 and Unicode values, and fix handling of these |
1135 | + in write(). |
1136 | + * debian/local/apport-collect: Collect package, OS, and user |
1137 | + information as well. (LP: #332578) |
1138 | + * package-hooks/source_apport.py: Robustify by using hookutils, and |
1139 | + avoid stat errors if /var/crash/* does not exist. |
1140 | + * test-hooks: Update dodgy test for uninstalled package, |
1141 | + libdb4.3-tcl is not available in Jaunty any more. |
1142 | + |
1143 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 23 Feb 2009 13:14:24 +0100 |
1144 | + |
1145 | +apport (0.134) jaunty; urgency=low |
1146 | + |
1147 | + * debian/local/apport-collect: Do not collect information for closed |
1148 | + tasks. Thanks for Brian Murray for the initial patch! (LP: #331839) |
1149 | + * apport/crashdb_impl/launchpad.py, download(): Download |
1150 | + DpkgTerminalLog.txt attachment as well. |
1151 | + * apport/report.py: If downloading a nonexisting bug pattern file |
1152 | + name succeeds and returns a HTML snippet with "404 Not Found", |
1153 | + consider this as failure. This repairs falling back to source |
1154 | + package names. (LP: #328751) |
1155 | + * apport/hookutils.py: Replace tabs with spaces. |
1156 | + |
1157 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 20 Feb 2009 11:22:15 +0100 |
1158 | + |
1159 | +apport (0.133) jaunty; urgency=low |
1160 | + |
1161 | + [ Andy Whitcroft ] |
1162 | + * apport/hookutils.py: define and include a machine type from the hardware |
1163 | + information in the report, using HAL information where available. |
1164 | + * bin/apportcheckresume: include the machine type in the suspend/hibernate |
1165 | + report title. They are generally machine specific. |
1166 | + |
1167 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 19 Feb 2009 17:49:03 +0100 |
1168 | + |
1169 | +apport (0.132) jaunty; urgency=low |
1170 | + |
1171 | + [ Martin Pitt ] |
1172 | + * Add debian/local/apport-collect: Download a Launchpad bug report, |
1173 | + get its source package, check if it has apport hooks, and if so, |
1174 | + run and upload them. Add manpage, too. (LP: #124338) |
1175 | + * debian/control: Add Suggests: python-launchpadlib; this is only |
1176 | + needed by apport-collect, thus we don't need to pull that into |
1177 | + every default installation; if it's not installed apport-collect |
1178 | + will detect and point this out. |
1179 | + * debian/control: Add ${misc:Depends} dependencies. |
1180 | + |
1181 | + [ Jonathan Riddell ] |
1182 | + * Set window icon in apport-qt |
1183 | + |
1184 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 19 Feb 2009 13:50:34 +0100 |
1185 | + |
1186 | +apport (0.131) jaunty; urgency=low |
1187 | + |
1188 | + [ Andy Whitcroft ] |
1189 | + * bin/apportcheckresume, bin/kernel_oops, cli/apport-cli, gtk/apport-gtk, |
1190 | + gtk/apport-gtk.glade, qt4/apport-qt: generalised the KernelOops |
1191 | + dialog and handling to allow suspend and hibernate failures present |
1192 | + more accurate reasons for the report. Also commonises all messages |
1193 | + in the three implementations to simplify internationalisation. |
1194 | + |
1195 | + [ Martin Pitt ] |
1196 | + * po/Makefile: Fix merge-po rule to actually work again. |
1197 | + * cli/apport-cli, qt4/apport-qt: Unify string with apport-gtk. |
1198 | + * apport/ui.py: Drop some bogus translatable strings. |
1199 | + * Update German translations. |
1200 | + |
1201 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 16 Feb 2009 19:31:41 +0100 |
1202 | + |
1203 | +apport (0.130) jaunty; urgency=low |
1204 | + |
1205 | + [ Martin Pitt ] |
1206 | + * bin/kernel_crashdump: Don't crash if vmcore.log does not exist. |
1207 | + * crashdb_impl/launchpad.py: Tag bugs with the architecture they are |
1208 | + being reported on. |
1209 | + * bin/crash-digger: Revert catching "database is locked" errors |
1210 | + during consolidation, since it just hides more fundamental errors. |
1211 | + * apport/crashdb_impl/memory.py: Improve docstrings of test suite. |
1212 | + * bin/apport-retrace: Do not try to install -dbgsym packages with |
1213 | + nonmatching versions, unless --unpack-only is used. Thanks to |
1214 | + hggdh for the initial patch! (LP: #309208) |
1215 | + |
1216 | + [ Andy Whitcroft ] |
1217 | + * bin/apportcheckresume: modify the oops title and thereby the launchpad |
1218 | + bug title to say suspend or hibernate. |
1219 | + * bin/apportcheckresume: modify the tags to bin/apportcheckresume: |
1220 | + modify the oops title and thereby the launchpad be resume+suspend or |
1221 | + resume+hibernate as appropriate. |
1222 | + * bin/apportcheckresume: include any non-free modules in the bug title. |
1223 | + |
1224 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 12 Feb 2009 22:09:35 +0100 |
1225 | + |
1226 | +apport (0.129) jaunty; urgency=low |
1227 | + |
1228 | + * bin/apport-retrace: Log broken reports. |
1229 | + * bin/apport-retrace: Do not mark bugs as invalid after they are |
1230 | + already marked as a duplicate, since that does not work in |
1231 | + Launchpad. |
1232 | + * debian/local/ubuntu-fat-chroot: Symlink /target -> /, to work |
1233 | + for crashes which appear in /target during installation. |
1234 | + * bin/apport: Move argv length/usage help before lock check, so that |
1235 | + it works if the user cannot lock /var/crash/.lock. Thanks to Kees |
1236 | + Cook! |
1237 | + * doc/package-hooks.txt: Point out apport.hookutils. |
1238 | + * apport/ui.py: Check environment variable APPORT_REPORT_THIRDPARTY |
1239 | + in addition to the 'thirdparty' configuration file option for |
1240 | + overriding the "genuine distro package" check. Thanks to Oumar |
1241 | + Aziz OUATTARA! |
1242 | + * apport/crashdb_impl/launchpad.py: In third-party mode, report bugs |
1243 | + against Launchpad projects. Thanks to Oumar |
1244 | + Aziz OUATTARA for his branch! (LP: #213454) |
1245 | + * bin/apportcheckresume: Include /var/lib/pm-utils/stress.log, too. |
1246 | + Thanks to Andy Whitcroft for the initial patch, rewrote to use |
1247 | + apport.hookutils. |
1248 | + * apport/crashdb.py, init_duplicate_db(): Run an integrity check and |
1249 | + raise exception if it fails, to avoid running the retracers on a |
1250 | + corrupt duplicate db. Add test case to |
1251 | + apport/crashdb_impl/memory.py. |
1252 | + * bin/crash-digger: Create a backup of the duplicates database right |
1253 | + after initializing it (which verifies integrity). |
1254 | + * dupdb-admin: Add new command "consolidate". |
1255 | + * apport/crashdb_impl/launchpad.py: Request bug lists with batch |
1256 | + size 300, for slight speedup of consolidation. |
1257 | + * apport/crashdb.py, duplicate_db_consolidate(): Warn about a bug |
1258 | + which is not yet fixed, but does not appear in get_unfixed(). In |
1259 | + Launchpad, this means that the bug does not have the |
1260 | + 'apport-crash' tag any more; if there are many, those would be a |
1261 | + huge time/bandwidth waste. |
1262 | + |
1263 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 26 Jan 2009 16:04:16 +0100 |
1264 | + |
1265 | +apport (0.128) jaunty; urgency=low |
1266 | + |
1267 | + * apport/ui.py: Introduce new configuration option "thirdparty" and |
1268 | + ignore the is_distro_package() check if it is set to true. |
1269 | + * bin/apport-retrace: Call Cache.open() after Cache.update(). |
1270 | + * bin/apport-retrace: If downloading a report fails (e. g. the |
1271 | + description was invalidly modified), mark the bug as invalid with |
1272 | + a proper explanation instead of crashing, unless we are in |
1273 | + "stdout" or "output file" mode. |
1274 | + * apport/crashdb_impl/launchpad.py: Apply some heuristics to attempt |
1275 | + recovering broken descriptions as in LP #315728 (intermediate |
1276 | + blank lines, and non-apport data append). |
1277 | + |
1278 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 19 Jan 2009 17:49:55 +0100 |
1279 | + |
1280 | +apport (0.127) jaunty; urgency=low |
1281 | + |
1282 | + * bin/apportcheckresume, debian/apport.init: integrate with pm-utils to |
1283 | + detect suspend/resume failures. Thanks to Steve Conklin and Andy |
1284 | + Whitcroft. LP: #316419. |
1285 | + |
1286 | + -- Steve Langasek <steve.langasek@ubuntu.com> Tue, 13 Jan 2009 12:54:12 -0800 |
1287 | + |
1288 | +apport (0.126) jaunty; urgency=low |
1289 | + |
1290 | + * bin/apport-chroot: If --auth is specified in "login" mode, symlink |
1291 | + the file into /tmp/auth in the fakechroot. This makes it much |
1292 | + easier to interactively debug retracing. |
1293 | + * bin/apport-retrace: Exit with zero for bugs which do not have a |
1294 | + core dump, so that it does not completely stop the retracers. |
1295 | + |
1296 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 09 Jan 2009 22:49:48 +0100 |
1297 | + |
1298 | +apport (0.125) jaunty; urgency=low |
1299 | + |
1300 | + * bin/apport-chroot: Exit with apport-retraces' exit status, to |
1301 | + propagate errors upwards to crash-digger. |
1302 | + * bin/apport-retrace: Do not put outdated -dbgsym comments into the |
1303 | + bug comments. |
1304 | + * Rewrite bin/crash-digger to become much more robust and easier for |
1305 | + retracer maintainers: |
1306 | + - Now designed around cron-based maintenance: start, process all |
1307 | + pending bugs, exit. This makes memory leaks irrelevant, and gets |
1308 | + rid of all the logging, daemonizing, and looping code. |
1309 | + - Adapt stdout/stderr reporting to be suitable for cron and |
1310 | + redirecting stdout to a log file. |
1311 | + - Use lock files to avoid overlapping instances and avoid damaging |
1312 | + bugs with broken retracers after crash-digger failed. |
1313 | + - Handle chroot upgrading, so that this does not need separate |
1314 | + cronjobs any more. |
1315 | + - Drop old -i option, replace with -D/--dupcheck which is a mode |
1316 | + which *only* checks duplicates of Python crashes (no fakechroot |
1317 | + handling). |
1318 | + - Mark bug as retraced after apport-chroot retrace finished |
1319 | + successfully; the process is robust enough now to avoid enless |
1320 | + loops even if retracing fails. |
1321 | + - Adapt test-crash-digger accordingly. |
1322 | + - UbuntuSpec:apport-retracer-maintenance |
1323 | + |
1324 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 09 Jan 2009 12:14:44 +0100 |
1325 | + |
1326 | +apport (0.124) jaunty; urgency=low |
1327 | + |
1328 | + * debian/local/ubuntu-fat-chroot: Divert touch to touch.real and |
1329 | + wrap it into a shell wrapper which ignores failures. Some packages |
1330 | + use "touch -m" which fails with EPERM on directories under |
1331 | + fakechroot. Also disable gconf-schemas and polkit-auth, since they |
1332 | + do not work in fakechroots. |
1333 | + * apport/crashdb_impl/launchpad.py: Allow using staging for testing. |
1334 | + * apport/crashdb.py, mark_retrace_failed(): Add new optional |
1335 | + argument "invalid_msg", intended for crashes which cannot be |
1336 | + retraced properly (e. g. due to outdated packages). Implement this |
1337 | + in apport/crashdb_impl/launchpad.py. |
1338 | + * bin/apport-retrace: If we do not have an usable stack trace, and |
1339 | + encounter outdated package versions in the crash, close the report |
1340 | + as invalid with an appropriate comment. (LP: #308917) |
1341 | + * bin/apport-retrace: Update the apt cache before looking for, and |
1342 | + installing packages. (Part of UbuntuSpec:apport-retracer-maintenance) |
1343 | + * debian/apport.default: Enable by default again for Jaunty. Let the |
1344 | + flood begin! |
1345 | + |
1346 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 08 Jan 2009 14:05:07 +0100 |
1347 | + |
1348 | +apport (0.123) jaunty; urgency=low |
1349 | + |
1350 | + * bin/apport: Do not write the report into the log file if opening |
1351 | + the report file failed; just log the error. |
1352 | + * bin/apport: Remove a previously seen report file, so that the |
1353 | + following creation with O_EXCL actually works. |
1354 | + * apport/report.py, add_proc_info(): Only try to attach |
1355 | + /proc/pid/attr/current if we are root. This works around Python |
1356 | + segfaulting regression when encountering EPERM on read() (see |
1357 | + LP #314065). |
1358 | + * apport/report.py testsuite: Use "isofs" for module license check |
1359 | + testing instead of "usbcore", since the latter is more likely to |
1360 | + get built into the kernel. |
1361 | + * apport/report.py, add_proc_environ(): Use "PATH=(...)" instead of |
1362 | + "PATH: ..." notation, to be consistent with other environment |
1363 | + variables. Unbreaks the apport test suite. |
1364 | + |
1365 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 05 Jan 2009 18:05:38 +0100 |
1366 | + |
1367 | +apport (0.122) jaunty; urgency=low |
1368 | + |
1369 | + * apport/crashdb_impl/launchpad.py: Support extra tags in the |
1370 | + report's "Tags:" field, and set them in the Launchpad bug. |
1371 | + Document this in doc/data-format.tex. Thanks to Steve Conklin for |
1372 | + the patch! |
1373 | + |
1374 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 05 Jan 2009 10:06:49 +0100 |
1375 | + |
1376 | +apport (0.121) jaunty; urgency=low |
1377 | + |
1378 | + * debian/apport.init: Drop long obsolete setting of |
1379 | + /proc/sys/kernel/crashdump-size. |
1380 | + * debian/apport.init: Make restart actually work if the default file was |
1381 | + changed. (LP: #292402) |
1382 | + * apport/report.py, add_proc_environ(): Do not include verbatim $PATH, only |
1383 | + classify it as "default" (does not appear at all then), "custom, |
1384 | + user" (/home or /tmp in $PATH), or "custom, no user". Add appropriate test |
1385 | + case. Update the data format documentation accordingly. (LP: #245263) |
1386 | + |
1387 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 08 Dec 2008 19:37:53 -0800 |
1388 | + |
1389 | +apport (0.120) jaunty; urgency=low |
1390 | + |
1391 | + * man/apport-cli.1: Fix "sytem" typo. (LP: #288977) |
1392 | + * apport/fileutils.py: Add new function get_options() to read |
1393 | + ~/.config/apport/settings. In the future, the apport-ignore.xml file will |
1394 | + move to this directory, too. Based on idea and initial patch from Nikolay |
1395 | + Derkach. |
1396 | + * bin/apport: Check config option "unpackaged", and if it is set to True, |
1397 | + create a crash dump for unpackaged programs, too. Bump apport package |
1398 | + dependency to python-apport for this. |
1399 | + * apport/ui.py: Fix regression introduced in in 0.115 for checking |
1400 | + successful package name determination. |
1401 | + * apport/report.py: Some distro portability fixes in the test suite, thanks |
1402 | + to Nikolay Derkach! |
1403 | + * Add OpenSUSE spec file, init script, and RPM packaging backend. Thanks to |
1404 | + Nikolay Derkach! |
1405 | + * apport_python_hook.py, bin/apport: Create files in a race free way to |
1406 | + avoid symlink attacks. Thanks to Sebastian Kramer <krahmer@novell.com> for |
1407 | + finding them! |
1408 | + * problem_report.py test suite: Create debugging leftover which left /tmp/r |
1409 | + behind. |
1410 | + * apport/crashdb_impl/memory.py: Use example.com, not bug.net, since the |
1411 | + latter actually exists now. |
1412 | + * apport/hookutils.py: Add attach_network(), attach_alsa(), and |
1413 | + attach_hardware(), and add proper docstrings. Thanks to Matt Zimmerman for |
1414 | + the branch! |
1415 | + * source_linux.py hook: Use above tool functions, which greatly simplifies |
1416 | + the hook. |
1417 | + * apport/report.py: Also print exceptions from binary and source package |
1418 | + hooks, not just from common ones. |
1419 | + * apport/report.py, add_hooks_info(): Do not print an error if a source |
1420 | + package hook does not exist. |
1421 | + * apport/hookutils.py, _parse_gconf_schema(): Correctly handle bool values. |
1422 | + |
1423 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 26 Nov 2008 19:24:23 +0100 |
1424 | + |
1425 | +apport (0.119) intrepid; urgency=low |
1426 | + |
1427 | + * debian/apport.default: Disable Apport by default for the final release. |
1428 | + |
1429 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 23 Oct 2008 09:34:41 +0200 |
1430 | + |
1431 | +apport (0.118) intrepid; urgency=low |
1432 | + |
1433 | + * apport/hookutils.py: add attach_gconf() function to add non-default gconf |
1434 | + settings to a report |
1435 | + |
1436 | + -- Matt Zimmerman <mdz@ubuntu.com> Mon, 13 Oct 2008 20:10:33 +0100 |
1437 | + |
1438 | +apport (0.117) intrepid; urgency=low |
1439 | + |
1440 | + * backends/packaging-apt-dpkg.py, is_distro_package(): Fix crash if |
1441 | + apt.Cache()[pkg].origins is None. (LP: #279353) |
1442 | + * bin/apport: Log that we are ignoring SIGABRT, since it is a common cause |
1443 | + of confusion. |
1444 | + * test-apport, create_test_process(): Fix race condition: wait until the |
1445 | + child process has fully execve()ed, to avoid coredumping it while it is |
1446 | + still running as test-apport process. |
1447 | + * apport/crashdb_impl/launchpad.py, update(): Set source package of a bug if |
1448 | + the reporter removed it and the task is against 'Ubuntu'. (LP: #269045) |
1449 | + |
1450 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 07 Oct 2008 16:38:06 +0200 |
1451 | + |
1452 | +apport (0.116) intrepid; urgency=low |
1453 | + |
1454 | + * Update AUTHORS and debian/copyright, Michael and Troy released their |
1455 | + copyright to Canonical. Properly attribute them as authors in the |
1456 | + respective files. |
1457 | + * debian/local/ubuntu-bug: Fix quoting of the command line arguments, so |
1458 | + that several options do not end up as one big argument when being passed |
1459 | + to apport-{cli,gtk,qt}. This also repairs launchpad-integration. |
1460 | + (LP: #260242) |
1461 | + |
1462 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 26 Sep 2008 10:32:45 +0200 |
1463 | + |
1464 | +apport (0.115) intrepid; urgency=low |
1465 | + |
1466 | + [ Matt Zimmerman ] |
1467 | + * Add apport/hookutils.py with some convenience functions for writing hook |
1468 | + scripts (work in progress) |
1469 | + * Extend ubuntu-bug to accept a path as an argument and look up the package |
1470 | + name |
1471 | + * Rename kernel_hook to kernel_crashdump (there are other kernel hooks) |
1472 | + * Change kernel crash report type to KernelCrash |
1473 | + * Fix automatix.py to not crash when automatix isn't installed (LP: #267004) |
1474 | + * Add bin/kernel_oops hook to capture a kernel oops (eg. via kerneloops) |
1475 | + |
1476 | + [ Martin Pitt ] |
1477 | + * Add AUTHORS file for collecting the list of major contributors and |
1478 | + copyright holders. |
1479 | + * apport/report.py: If we do not find a bug pattern file for the binary |
1480 | + package, fall back to looking for one with the source package name. |
1481 | + * run-tests: Provide a better error message if apport/packaging_impl.py does |
1482 | + not exist. |
1483 | + |
1484 | + [ Brian Murray ] |
1485 | + * apport/crashdb_impl/launchpad.py: Add regression-retracer tag to bugs |
1486 | + which seem to be a regression (duplicate, and crash happens in a later |
1487 | + version than the fix). (LP: #271876) |
1488 | + |
1489 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 18 Sep 2008 18:18:03 -0700 |
1490 | + |
1491 | +apport (0.114) intrepid; urgency=low |
1492 | + |
1493 | + [ Fabien Tassin ] |
1494 | + * apport/ui.py: Use preferred browser when it's recognized as a |
1495 | + Mozilla browser (firefox, seamonkey, flock) or Epiphany (LP: #131350) |
1496 | + |
1497 | + [ Oumar Aziz OUATTARA ] |
1498 | + * apport/crashdb.py: Add support for /etc/apport/crashdb.conf.d/*.conf crash |
1499 | + database configuration files. Document it in doc/crashdb-conf.txt. |
1500 | + * apport/ui.py: Support a new field "CrashDB" in apport reports which select |
1501 | + a non-default crash database. Document this in doc/package-hooks.txt. |
1502 | + |
1503 | + [ Martin Pitt ] |
1504 | + * apport/report.py: If a hook crashes with an exception, print it to |
1505 | + stderr, for easier debugging of hooks. |
1506 | + * apport/crashdb_impl/launchpad.py: If PackageArchitecture is 'all', fall |
1507 | + back to looking at Architecture instead of not adding a |
1508 | + needs-$ARCH-retrace tag at all. This prevented signal crashes originating |
1509 | + from e. g. Python packages from being automatically retraced. |
1510 | + |
1511 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 04 Sep 2008 10:51:24 +0200 |
1512 | + |
1513 | +apport (0.113) intrepid; urgency=low |
1514 | + |
1515 | + * apport-qt recommends update-notifier-kde instead of adept-notifier |
1516 | + |
1517 | + -- Anthony Mercatante <tonio@ubuntu.com> Thu, 28 Aug 2008 15:02:20 +0200 |
1518 | + |
1519 | +apport (0.112) intrepid; urgency=low |
1520 | + |
1521 | + * apport/crashdb_impl/launchpad.py: Update attachment handling to current |
1522 | + python-launchpad-bugs API, thanks Markus Korn! |
1523 | + * apport/ui.py: Use gnome-panel as indicator for a running GNOME session; |
1524 | + 'gnome-session' now calls itself x-session-manager, which isn't useful |
1525 | + to tell apart session types. |
1526 | + |
1527 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 07 Aug 2008 17:09:49 +0200 |
1528 | + |
1529 | +apport (0.111) intrepid; urgency=low |
1530 | + |
1531 | + The "(Kernel) OOPS, I dumped it again!" release. |
1532 | + |
1533 | + * apport/ui.py: Fix test_run_report_bug_unpackaged_pid() to work with the |
1534 | + installed run-tests from the package as well. |
1535 | + * apport/crashdb_impl/launchpad.py: Ignore broken LP bug tasks instead of |
1536 | + crashing on them. |
1537 | + * apport/report.py, add_proc_info(): Report the AppArmor or SELinux context |
1538 | + in a new ProcAttrCurrent field, read from /proc/pid/attr/current. |
1539 | + Document it in doc/data-format.tex. The field will not be added if the |
1540 | + proc attribute cannot be read or isn't present. Thanks to Steve Beattie |
1541 | + for the patch and the suggestion! |
1542 | + * debian/local/setup-apport-retracer: Switch to intrepid. |
1543 | + * debian/local/setup-apport-retracer: Fix installation of python-apt. Also |
1544 | + install apt, to avoid library version mismatches to python-apt. |
1545 | + * debian/apport.default: Enable apport by default again, now that we have |
1546 | + working retracers. |
1547 | + * apport/report.py, test_add_gdb_info_script(): Use bash, not dash as test |
1548 | + program for core dumping; stack trace is awkwardly bad with dash, so that |
1549 | + the test case cannot really work any more. |
1550 | + * Add package-hooks/source_linux.py: Package hook for collecting kernel |
1551 | + related information. By Matt Zimmerman, thank you! (LP: #251441) |
1552 | + * debian/local/ubuntu-bug.1: Fix documentation of -p, it specifies the |
1553 | + binary package name, not the source. |
1554 | + * apport/packaging.py: Add get_kernel_package() to return the actual Linux |
1555 | + kernel package name; useful if the user reports a bug against just |
1556 | + "linux". Implement it in backends/packaging-apt-dpkg.py. |
1557 | + * apport/ui.py: "Do what I mean" when filing a bug against "linux" and |
1558 | + report it against the actual kernel package. |
1559 | + * debian/local/ubuntu-bug: If just one argument is given, infer -p/-P from |
1560 | + the type of the argument. |
1561 | + * apport/ui.py: Drop the PackageArchitecture field for the uploaded report |
1562 | + if it is equal to Architecture. Adapt apport/crashdb_impl/launchpad.py to |
1563 | + fall back to Architecture, and mention the change in doc/data-format.tex. |
1564 | + * problem_report.py, write_mime(): Add new "skip_keys" argument to filter |
1565 | + out keys. Add test cases. |
1566 | + * apport/crashdb_impl/launchpad.py: Do not write the "Date:" field on |
1567 | + upload(), and fetch it from the bug metadata in download(). |
1568 | + * apport/crashdb_impl/launchpad.py, download(): Support reading bugs with |
1569 | + the "--- " separator instead of "ProblemType: ". Launchpad doesn't create |
1570 | + bugs that way ATM, but at least we have the reading part implemented now. |
1571 | + * package-hooks/source_linux.py: Drop Uname, ProcVersion, and |
1572 | + RunningKernelVersion fields, since they are all subsumed in the |
1573 | + ProcVersionSignature field. |
1574 | + * apport/ui.py, run_report_bug(): Strip spaces from package argument. |
1575 | + * apport/ui.py, add_hooks_info(): Collect OS info first, then call the |
1576 | + package hooks, so that the linux hook actually has a chance to delete the |
1577 | + Uname field. |
1578 | + * bin/kernel_hook, test-hooks: Throw away the original kernel hook which |
1579 | + we never used (and got superseded by the proper source_linux.py package |
1580 | + hook now). Replace it with the new logic of looking for |
1581 | + /var/crash/vmcore{,.log} and turning that into an apport report. |
1582 | + * debian/apport.init: Call kernel_hook if /var/crash/vmcore exists. |
1583 | + (LP: #241322) |
1584 | + * apport/ui.py: Collect information for "ProblemType: Kernel" as well, so |
1585 | + that we run the package hook. Adapt test suite to cover this. |
1586 | + * debian/control: Bump Standards-Version (no required changes). |
1587 | + * gtk/apport-gtk.glade, qt4/apport-qt: Generalize notification of kernel |
1588 | + crash, since it now happens after a boot, not right after the BUG/OOPS. |
1589 | + But in the future we want to cover both cases. |
1590 | + |
1591 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 05 Aug 2008 18:13:24 +0200 |
1592 | + |
1593 | +apport (0.110) intrepid; urgency=low |
1594 | + |
1595 | + * apport/chroot.py: In the test suite, copy some system binaries/libraries |
1596 | + into a fakechroot and exercise a lot of standard shell commands (cp, ln |
1597 | + -s, rm, rm -r, mkdir, echo, chmod, chown, etc.) with absolute/relative |
1598 | + paths. This reproduces the total breakage of rm'ing, chmod'ing, and |
1599 | + chown'ing absolute paths in hardy fakechroots. |
1600 | + * bin/crash-digger: Intercept exceptions when downloading crash reports for |
1601 | + duplicate checking, so that the retracer does not crash on malformed bug |
1602 | + reports. (LP: #205178) |
1603 | + * apport/packaging.py: Introduce a new function enabled() which reports |
1604 | + whether Apport should create crash reports. Signal crashes are controlled |
1605 | + by /proc/sys/kernel/core_pattern, but we need that to control whether |
1606 | + reports for Python, package, or kernel crashes are generated. |
1607 | + * backends/packaging-apt-dpkg.py: Provide implementation for |
1608 | + PackageInfo.enabled() for Debian/Ubuntu by evaluating /etc/default/apport. |
1609 | + Add various test cases for different configuration files and absent files. |
1610 | + * apport_python_hook.py: Do not create reports if Apport is disabled (in |
1611 | + /etc/default/apport). (LP: #222260) |
1612 | + |
1613 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sat, 17 May 2008 12:44:21 +0200 |
1614 | + |
1615 | +apport (0.109) intrepid; urgency=low |
1616 | + |
1617 | + [ Martin Pitt ] |
1618 | + * debian/local/setup-apport-retracer: Update for some changes in Hardy. |
1619 | + |
1620 | + [ Loic Minier ] |
1621 | + * apport/report.py, add_proc_info(): also strip pathnames starting with |
1622 | + 'cow', 'squashmnt', and 'persistmnt' to allow apport to locate the |
1623 | + executable pathname, additionally to 'rofs' added in 0.75. This fixes |
1624 | + apport for packages installed on the read-write part of the unionfs mounts |
1625 | + and under UME which uses different names for the mount points. Proper fix |
1626 | + is to rewrite the pathnames in the kernel. (LP: #224168) |
1627 | + |
1628 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 23 Apr 2008 14:30:03 +0200 |
1629 | + |
1630 | +apport (0.108) hardy; urgency=low |
1631 | + |
1632 | + [ Martin Pitt ] |
1633 | + * apport-{gtk,qt,cli}: Fix handling of file references added by package |
1634 | + hooks. (LP: #205163) |
1635 | + * backends/packaging_rpm.py: Fix dependency resolution of uname(*) in the |
1636 | + RPM backend. Thanks to Patryk Zawadzki! (LP: #213018) |
1637 | + * backends/packaging_rpm.py: Fix RPM platform parsing, thanks to Patryk |
1638 | + Zawadzki! (LP: #213015) |
1639 | + * po/de.po: Fix typo (missing space). |
1640 | + * debian/apport.default: Disable Apport for the final Hardy release, since |
1641 | + it is less useful in stable releases, and drains a lot of CPU and I/O |
1642 | + power on crashes. Disabling it here instead of in update-notifier/adept is |
1643 | + more discoverable and more centralized. |
1644 | + |
1645 | + [ Daniel Hahler ] |
1646 | + * bin/apport-retrace: catch the same exceptions from Report.load() like |
1647 | + ui.load_report() does (LP: #211899) |
1648 | + * Fix uncaught exceptions in apport itself (LP: #215929): |
1649 | + - apport/REThread.py: check if "sys" exists in the except block of |
1650 | + REThread.run() |
1651 | + - apport_python_hook.py: check if "sys" exists in the finally block of |
1652 | + apport_excepthook |
1653 | + * cli/apport-cli: Fix UnboundLocalError in ui_present_crash, which rendered |
1654 | + apport-cli useless (for reporting crashes) (LP: #216151) |
1655 | + |
1656 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 16 Apr 2008 12:24:32 +0200 |
1657 | + |
1658 | +apport (0.107) hardy; urgency=low |
1659 | + |
1660 | + * cli/apport-cli: Add translator comment for difficult string. (LP: #210948) |
1661 | + * Update German translations. |
1662 | + * po/Make{vars,file}: Remove the --language=python option again, since it |
1663 | + breaks extracting strings from the glade. intltool-update currently does |
1664 | + not seem to have a way to tag a file as "language python", so add an ugly |
1665 | + workaround: Create temporary .py symlinks for gtk/apport-gtk & friends, |
1666 | + and have intltool extract them. |
1667 | + * apport/ui.py: Disallow filing a bug without specifying a package or a PID. |
1668 | + Update debian/local/ubuntu-bug.1 accordingly (apport-cli manpage was |
1669 | + already correct). (LP: #210348) |
1670 | + |
1671 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sun, 06 Apr 2008 11:44:38 -0600 |
1672 | + |
1673 | +apport (0.106) hardy; urgency=low |
1674 | + |
1675 | + [ Martin Pitt ] |
1676 | + * apport/crashdb_impl/launchpad.py: Fix spelling mistake in p-lp-bugs API |
1677 | + (now corrected there). |
1678 | + * apport_python_hook.py: Catch IndexError for invalid sys.argv[0], too. |
1679 | + (LP: #204940) |
1680 | + * apport/ui.py: Add test_run_report_bug_unpackaged_pid() test case which |
1681 | + reports a bug against a pid which belongs to an unpackaged program. This |
1682 | + reproduces LP #203764. |
1683 | + * apport/report.py: Drop add_hooks_info() assertion on nonexisting Package |
1684 | + field, return silently instead. This conforms to the behaviour of the |
1685 | + other add_*_info() functions and avoids nasty error handling. |
1686 | + * apport/ui.py: Generate proper error message when calling with -f -p PID |
1687 | + and PID belongs to an unpackaged program. (LP: #203764). |
1688 | + |
1689 | + [ Sebastien Bacher ] |
1690 | + * po/Makevars: add the --language=python xgettext option so the translations |
1691 | + template is correctly updated on build since cdbs is using intltool-update |
1692 | + directly and not the corresponding makefile target |
1693 | + |
1694 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 01 Apr 2008 16:02:46 +0200 |
1695 | + |
1696 | +apport (0.105) hardy; urgency=low |
1697 | + |
1698 | + * apport/crashdb_impl/launchpad.py: Ignore ValueErrors when subscribing a |
1699 | + team, since these are usually due to the team already being subscribed. |
1700 | + * apport/report.py, anonymize(): Be robust against empty user names and only |
1701 | + anonymize fields which can potentially contain user specific data. |
1702 | + (LP: #195706) |
1703 | + * backends/packaging-apt-dpkg.py, get_architecture(): Return 'unknown' |
1704 | + instead of None if package architecture cannot be determined. |
1705 | + (LP: #198548) |
1706 | + * apport/ui.py, run_crash(): Intercept other IOErrors, too (such as EISDIR) |
1707 | + and print out proper error message instead of crashing. (LP: #201819) |
1708 | + * apport_python_hook.py: If the Python script has mutilated sys.argv so that |
1709 | + even sys.argv[0] does not exist any more, fall back into readlink()ing |
1710 | + /proc/pid/exe and gracefully handle the failure of that, instead of |
1711 | + crashing in the crash handler (ugh). Add test case. (LP: #198183) |
1712 | + |
1713 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 18 Mar 2008 23:04:57 +0100 |
1714 | + |
1715 | +apport (0.104) hardy; urgency=low |
1716 | + |
1717 | + [ Martin Pitt ] |
1718 | + * apport/crashdb_impl/launchpad.py, get_source_version(): re-escape the |
1719 | + package name so that it doesn't stumble over '+' and similar characters. |
1720 | + * apport/ui.py tests: assert that ProcEnviron is also included into bug |
1721 | + reports where we do not have a PID, since having the local information is |
1722 | + interesting and important (and acceptable in terms of personal |
1723 | + information). |
1724 | + * apport/report.py: Split out method add_proc_environ() for getting |
1725 | + ProcEnviron, so that we can call it separately. |
1726 | + * apport/ui.py, run_report_bug(): Add ProcEnviron if we do not have a pid to |
1727 | + file a bug against. This way, bugs filed against packages or distro also |
1728 | + get locale information. (LP: #198514) |
1729 | + * apport/fileutils.py, mark_report_seen(): Do not crash if the file does not |
1730 | + exist any more, because it was removed underneath us. (LP: #199932) |
1731 | + * apport/ui.py, test_collect_info_exepath(): Add a tuple argument and a |
1732 | + CompressedValue to the test report. This reproduces LP #199349. |
1733 | + * apport/report.py, anonymize(): Only work on string values. (LP: #199349) |
1734 | + * apport/ui.py: If a report has a field "Ignore", entirely ignore the report |
1735 | + without even presenting an explanatory error dialog (as |
1736 | + "UnsupportableReason" does). Document this in doc/package-hooks.txt. |
1737 | + (LP: #198863) |
1738 | + * debian/control: Bump Standards-Version (no changes necessary). |
1739 | + * debian/control: Fix wrongly spelt project names (Python and GTK+). Thanks |
1740 | + to lintian's scrutiny. |
1741 | + * gtk/apport-gtk-mime.desktop.in, qt4/apport-qt-mime.desktop.in: Add a main |
1742 | + category. |
1743 | + |
1744 | + [ Kees Cook ] |
1745 | + * apport/report.py: fix module license checking logic (LP: #199927). |
1746 | + - nonfree_modules: being unable to find a module should not mean the |
1747 | + module is non-free. |
1748 | + - test_module_license_evaluation: check modinfo reporting. |
1749 | + * problem_report.py: Skip atime test case if file system is mounted noatime. |
1750 | + |
1751 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 13 Mar 2008 14:01:30 +0100 |
1752 | + |
1753 | +apport (0.103) hardy; urgency=low |
1754 | + |
1755 | + * bin/apport-unpack: Print error messages instead of crashing for problems |
1756 | + like nonexisting file names passed as arguments. (LP: #185273) |
1757 | + * backends/packaging-apt-dpkg.py, is_distro_package(): Explicitly check site |
1758 | + for "ppa", so that we do not automatically file bugs for PPA packages. |
1759 | + This works around Soyuz bug LP #140412 for the time being. |
1760 | + * apport/report.py: Add standard_title() test cases for Python crashes with |
1761 | + a custom message, and a custom message with newlines. The latter |
1762 | + reproduces LP #190947. |
1763 | + * apport/report.py, standard_title(): Do not rely on a fixed position of the |
1764 | + topmost function; use iteration and regular expression matching instead. |
1765 | + (LP: #190947) |
1766 | + * apport/ui.py, parse_argv(): Specify that --pid/-P argument must be an |
1767 | + integer, to avoid exceptions when it's not. (LP: #193494) |
1768 | + * apport/report.py: Use uname -srm, not -a, to hide the hostname. (part of |
1769 | + LP #192786); also use os.uname() instead of calling the system program. |
1770 | + * problem_report.py(): Make write() work for reports with CompressedValues. |
1771 | + Add test case. |
1772 | + * apport/ui.py: Add test case test_run_crash_anonymity() which asserts that |
1773 | + the crash dump does not contain strings which can identify the user, such |
1774 | + as the user name, login name, host name, and current directory. |
1775 | + * apport/report.py: Add method anonymize() which replaces user specific |
1776 | + strings with generic ones. |
1777 | + * apport/ui.py, thread_collect_info(): Call anonymize() on the report. |
1778 | + (LP: #192786) |
1779 | + * bin/apport-retrace: Only update a bug report with new attachments if it is |
1780 | + not a duplicate. (LP: #172792) |
1781 | + * bin/apport-retrace: Print out proper error message instead of an exception |
1782 | + if trying to do write operations to the bug tracker without specifying |
1783 | + a cookie file. (LP: #146423) |
1784 | + |
1785 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 25 Feb 2008 17:47:13 +0100 |
1786 | + |
1787 | +apport (0.102) hardy; urgency=low |
1788 | + |
1789 | + [ Martin Pitt ] |
1790 | + * problem_report.py: Support reading reports with legacy zlib |
1791 | + compression in 'retain compressed values' mode (as used nowadays by |
1792 | + apport when reporting a crash). Add a test case, too. (LP: #129616) |
1793 | + * debian/control, debian/rules: Switch from python-support to |
1794 | + python-central, and use 'nomove' option so that apport works during |
1795 | + upgrades, too. (LP: #121341) |
1796 | + * debian/rules: Use dh_icons instead of dh_iconcache. |
1797 | + * debian/apport.init: Do not stop apport in any runlevel (LSB header). |
1798 | + * apport/ui.py, run_crash(): Catch zlib.error on invalidly compressed core |
1799 | + dumps. (LP: #176977) |
1800 | + * apport/ui.py: Give a meaningful error message instead of crashing if the |
1801 | + package for a crash report is not installed any more. (LP: #149739) |
1802 | + * apport/ui.py: Do not include ProcCmdline in bug reports, since these are |
1803 | + not ack'ed by the user and might contain sensitive data. (LP: #132800) |
1804 | + * apport/ui.py: Add various test cases for crash reports whose packages have |
1805 | + been uninstalled between the crash and the report. This reproduces |
1806 | + LP #186684. |
1807 | + * apport/ui.py, load_report(): Produce proper error message if |
1808 | + executable/interpreter path do not exist any more. (LP: #186684) |
1809 | + * cli/apport-cli: Intercept SIGPIPE when calling sensible-pager, to avoid |
1810 | + crash when quitting it prematurely. (LP: #153872) |
1811 | + * bin/apport-checkreports: Print out a list of program names/packages which |
1812 | + have a pending crash report. (LP: #145117) |
1813 | + * apport/ui.py, run_argv(): Add return code which indicates whether any |
1814 | + report has been processed. |
1815 | + * cli/apport-cli: If no pending crash reports are present, say so and refer |
1816 | + to --help. (LP: #182985) |
1817 | + * apport/ui.py: Waive check for obsolete packages if environment defines |
1818 | + $APPORT_IGNORE_OBSOLETE_PACKAGES. Document this in the apport-cli manpage. |
1819 | + (LP: #148064) |
1820 | + |
1821 | + [ Daniel Hahler ] |
1822 | + * .crash file integration for KDE3 (LP: #177055) |
1823 | + - debian/apport-qt.install: install added files qt4/apport-qt-mime.desktop |
1824 | + and qt4/apport-qt-mimelnk.desktop |
1825 | + * Fixed minor warnings/errors from desktop-file-validate in |
1826 | + gtk/apport-gtk-mime.desktop.in and qt4/apport-qt.desktop.in (LP: #146957) |
1827 | + |
1828 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 06 Feb 2008 12:55:53 +0100 |
1829 | + |
1830 | +apport (0.101) hardy; urgency=low |
1831 | + |
1832 | + * debian/control: Add python-xdg dependency to apport, since apport-cli |
1833 | + needs it. (LP: #177095) |
1834 | + * apport/ui.py: Add test case for reporting a report which has been |
1835 | + preprocessed by apport-retrace, i. e. has a stack trace, but no core dump |
1836 | + any more (reproducing LP #185084). |
1837 | + * apport/ui.py, run_crash(): Do not reject reports which have a stack trace, |
1838 | + but no core dump. (LP: #185084) |
1839 | + * apport/report.py: Fix test_add_gdb_info_load() test case, the temporary |
1840 | + executable was already deleted when gdb ran the second time. |
1841 | + |
1842 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 23 Jan 2008 17:48:06 +0000 |
1843 | + |
1844 | +apport (0.100) hardy; urgency=low |
1845 | + |
1846 | + * bin/crash-digger: Add option --log for logging to a file, and |
1847 | + --pidfile/--stop for daemonization. Add test cases to test-crash-digger. |
1848 | + * bin/apport: Do not re-raise exceptions about failure to create the lock |
1849 | + file, to avoid crashing in the case that another apport instance tries to |
1850 | + lock at exactly the same moment. (LP: #147237) |
1851 | + * apport/report.py testsuite: Check that our methods get along with binary |
1852 | + data which turn into CompressedValue objects after loading them from a |
1853 | + file. This reproduces LP #148305. |
1854 | + * problem_report.py, CompressedValue: Add method splitlines() since we need |
1855 | + it very often. Add test case to test_compressed_values(). (LP: #148305) |
1856 | + * problem_report.py: Add test case to check that update() works and does the |
1857 | + right thing with binary values and overwriting. This confirms that |
1858 | + importing a dictionary works. |
1859 | + * debian/local/setup-apport-retracer: Update for hardy. |
1860 | + * apport/crashdb_impl/launchpad.py: get_source_info() does not work any more |
1861 | + due to HTML changes in Launchpad, and not showing the component any more |
1862 | + on /distro/+source/package. Since we do not actually need component and |
1863 | + release name any more, rename it to get_source_version(), fix the regular |
1864 | + expression to just get the version, and adapt get_fixed_version() |
1865 | + accordingly. |
1866 | + * debian/local/setup-apport-retracer: Update default apt sources to |
1867 | + http://ddebs.ubuntu.com. |
1868 | + * apport/ui.py: Robostify cleanup of forked test processes. |
1869 | + * apport/ui.py: Sleep for 0.5 seconds after creating the test process in the |
1870 | + test suite to give /proc some time to settle down. |
1871 | + * bin/apport: Drop evaluation of CORE_* environment variables and mandate |
1872 | + calling with <pid> <signal> <core ulimit>. Drop the now obsolete |
1873 | + apport/elfcore.py. Adapt test-apport accordingly. |
1874 | + * debian/apport.init, use-local: Now call apport with %p, %s, and %c kernel |
1875 | + macros (since 2.6.24). Drop Edgy support from init script. |
1876 | + |
1877 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 21 Dec 2007 02:18:48 +0100 |
1878 | + |
1879 | +apport (0.99) hardy; urgency=low |
1880 | + |
1881 | + * cli/apport-cli, qt4/apport-qt: Fix typo 'send' -> 'sent'. |
1882 | + (LP: #139288) |
1883 | + * apport_python_hook.py: Add user info, too. Also add check for this to the |
1884 | + test suite. (LP: #145109) |
1885 | + * apport/ui.py, run_crash(): Show a proper UI error message instead of just |
1886 | + crashing with an exception if the crash report is inaccessible for the |
1887 | + invoking user. (LP: #146464) |
1888 | + * apport/crashdb_impl/memory.py: Implement mark_retraced(), |
1889 | + get_unretraced(), and get_dup_unchecked() for completeness, and define |
1890 | + _MemoryCrashDBTest also when not running file as __main__. This makes the |
1891 | + class useful for higher-level test suites. Add test cases for the new |
1892 | + functions. |
1893 | + * apport/crashdb_impl/memory.py: Support 'dummy_data' option which adds a |
1894 | + few dummy crashes by default. This is useful for external test suites |
1895 | + which cannot otherwise pre-fill the in-memory db. Add checks that this |
1896 | + works properly. |
1897 | + * bin/crash-digger: Use self.log() more consistently, and flush stdout in |
1898 | + log(), so that we do not lose logs on output redirection. |
1899 | + * Add test-crash-digger: Initial test suite for bin/crash-digger. |
1900 | + * apport/ui.py, run_crash(): Intercept CRC errors from the info collection |
1901 | + thread, which happens on broken core dumps. (LP: #132212) |
1902 | + * cli/apport-cli, ui_present_package_error(): Fix running of dialog, so that |
1903 | + reporting package problems with apport-cli actually works. (LP: #136369) |
1904 | + * apport/ui.py, run_crash(): Intercept ENOSPC and present a proper error |
1905 | + message. (LP: #145100) |
1906 | + * gtk/apport-gtk.glade: Fix title of upload progress window to comply to |
1907 | + HIG. Thanks, Bruce Cowan. (LP: #144782) |
1908 | + * qt4/apport-qt: Fix Unicode <-> UTF-8 conversion. Thanks, Daniel Hahler! |
1909 | + (LP: #148177) |
1910 | + * apport/ui.py: Only import xdg.DesktopEntry when a .desktop file has been |
1911 | + found in the affected package. This avoids the dependency on servers with |
1912 | + just apport-cli. Thanks, Matthias Gug! (LP: #130013) |
1913 | + * apport/fileutils.py: Do not fail if there are no packages installed which |
1914 | + have one or several .desktop files. Thanks, Matthias Gug! |
1915 | + |
1916 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sun, 28 Oct 2007 18:32:07 -0400 |
1917 | + |
1918 | +apport (0.98) gutsy; urgency=low |
1919 | + |
1920 | + [ Martin Pitt ] |
1921 | + * debian/local/setup-apport-retracer: launchpadBugs -> launchpadbugs |
1922 | + (recently renamed Python package in python-launchpad-bugs). |
1923 | + * apport/crashdb_impl/launchpad.py, test examples: Do not duplicate to bug |
1924 | + #1, that generates a huge amount of spam. Use another test bug. |
1925 | + * apport/crashdb_impl/launchpad.py, download(): Use Bug.description_raw, |
1926 | + since LP mangles spaces in .description. Bump p-lp-bugs dependency. |
1927 | + * apport/crashdb_impl/launchpad.py, close_duplicate(): Explicitly set the |
1928 | + duplicate after removing attachments, since the new LP does not allow any |
1929 | + modification of duplicate bugs. |
1930 | + * bin/crash-digger: Only consolidate the duplicate DB when -i is given (i. |
1931 | + e. usually only on one running instance). |
1932 | + |
1933 | + [ Colin Watson ] |
1934 | + * Use bugs.launchpad.net for +filebug and +bugs requests. (LP: #138090) |
1935 | + |
1936 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 01 Oct 2007 14:35:07 +0200 |
1937 | + |
1938 | +apport (0.97) gutsy; urgency=low |
1939 | + |
1940 | + [Martin Pitt] |
1941 | + * problem_report.py: Coerce CompressedValue.__len__() to return an int to |
1942 | + work on Python 2.4, too. |
1943 | + * debian/local/setup-apport-retracer: Adapt ddeb apt source for the move |
1944 | + from ~pitti to ~ubuntu-archive. |
1945 | + |
1946 | + [Markus Korn] |
1947 | + * port to new python-launchpad-bugs API. |
1948 | + |
1949 | + [Daniel Holbach] |
1950 | + * small fixes to the port. |
1951 | + * debian/control: bumped python-launchpad-bugs Depends to >= 0.2.2. |
1952 | + |
1953 | + -- Daniel Holbach <daniel.holbach@ubuntu.com> Tue, 04 Sep 2007 11:24:28 +0200 |
1954 | + |
1955 | +apport (0.96) gutsy; urgency=low |
1956 | + |
1957 | + * Create man pages for apport-cli, apport-chroot, and dupdb-admin. |
1958 | + * apport/fileutils.py, find_file_package(): Try to resolve symlinks in the |
1959 | + directory path. (LP: #125551) |
1960 | + * apport/crashdb_impl/launchpad.py, debian/local/setup-apport-retracer: Use |
1961 | + packaging.get_system_architecture() (which is dpkg --print-architecture on |
1962 | + Debian/Ubuntu) instead of uname, so that this does the right thing on lpia. |
1963 | + * problem_report.py, write_mime(): Use base64 encoding for gzipped |
1964 | + attachments, to not screw up mail servers. Thanks to Tim Yamin for this |
1965 | + patch! |
1966 | + * apport/crashdb.py: Drop the last argument (-1), since it is the default |
1967 | + anyway and did not yet exist on Python 2.4. |
1968 | + |
1969 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 21 Aug 2007 14:11:48 +0200 |
1970 | + |
1971 | +apport (0.95) gutsy; urgency=low |
1972 | + |
1973 | + * general-hooks/automatix.py: Remove hashbang, it's not an executable |
1974 | + script. |
1975 | + * apport/report.py: Support system-wide blacklisting: |
1976 | + /etc/apport/blacklist.d/. Add test cases. |
1977 | + * Add doc/README.blacklist: Document blacklist.d/, install it there in |
1978 | + setup.py. |
1979 | + * debian/rules: Blacklist wine-preloader, so that we ignore wine crashes |
1980 | + until an appropriate way is found to deal with them. (Point 6 of |
1981 | + apport-better-retracing spec.) |
1982 | + |
1983 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sat, 11 Aug 2007 18:10:54 +0200 |
1984 | + |
1985 | +apport (0.94) gutsy; urgency=low |
1986 | + |
1987 | + * doc/data-format.tex: Some updates to incorporate feedback from Gnome |
1988 | + upstream: |
1989 | + - Do not talk about "Distributions" any more, but "Operating systems". |
1990 | + Gnome is used on non-Linux OSs, too. |
1991 | + - Split "DistroRelease:" field into "OS:" and "OSRelease:". |
1992 | + - Explicitly mention that CoreDump, StackTrace etc. can also contain |
1993 | + minidump output. |
1994 | + - Increase document version to 0.2. |
1995 | + * apport/report.py, obsolete_packages(): Fix crash when apt does not know an |
1996 | + available version of a package. (LP: #128176) |
1997 | + * test-apport: Add check that apport aborts immediately if another apport |
1998 | + instance is already running. Also test that a symlink attack on the lock |
1999 | + file is not possible. |
2000 | + * bin/apport: Abort running several apport instances at the same time, by |
2001 | + lockf()'ing /var/crashes/.lock and aborting on failure. (LP: #119622) |
2002 | + * Add bin/gcc_ice_hook: Script to create an apport report for a gcc ICE |
2003 | + (internal compiler exception). Add test cases to test-hooks, and ship it |
2004 | + in the 'apport' package. (LP: #125551) |
2005 | + * run-tests: In 'local' mode, only explicitly run the apt/dpkg |
2006 | + implementation instead of backends/*, since the RPM ones don't have tests |
2007 | + yet. |
2008 | + * apport/crashdb.py: Add a second optional parameter to upload() to specify |
2009 | + an upload progress callback function. Adapt the declarations in the |
2010 | + Launchpad and Memory implementations, too. |
2011 | + * apport/crashdb_impl/launchpad.py, upload(): Pass upload progress callback |
2012 | + handler to launchpadBugs.storeblob.upload(), which supports this since |
2013 | + version 0.2~39. Bump dependency to it accordingly. |
2014 | + * apport/ui.py, file_report(): Define an upload progress callback handler, |
2015 | + pass it to the crashdb upload(), and feed ui_set_upload_progress() with |
2016 | + some actual data. (LP: #91521) |
2017 | + * problem_report.py: Remove support for reading bz2 compressed binary data. |
2018 | + That was only relevant during edgy's development cycle. |
2019 | + * apport/report.py, test_add_proc_info(): Fix determination of /bin/zgrep |
2020 | + interpreter. |
2021 | + * problem_report.py: Switch encoding of binary values from bare zlib to |
2022 | + proper gzip format, since this is much more useful when reusing the |
2023 | + compressed value. Retain support for zlib-only reports. Add test cases for |
2024 | + both old and new encodings, and adapt the other test cases for the new |
2025 | + format. Update doc/data-format.tex accordingly. |
2026 | + * problem_report.py, write(): Add new permitted 'binary' argument value |
2027 | + 'compressed', which retains gzip compressed binary values instead of |
2028 | + unpacking them transparently. Add test cases. |
2029 | + * problem_report, write_mime(): Eliminate unnecessary usage of StringIO. |
2030 | + * problem_report, write_mime(): Make function work for compressed binary |
2031 | + values. Add test case. |
2032 | + * apport/report.py, add_gdb_info(): Make function work if CoreDump is a |
2033 | + compressed value. |
2034 | + * apport/ui.py: Load crash report with keeping compressed binaries. This |
2035 | + avoids loading the entire uncompressed core dump into memory, and avoids |
2036 | + recompressing it all over again for generating the crash database upload |
2037 | + MIME document. This greatly speeds up crash reporting, too. (LP: #98562) |
2038 | + |
2039 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 31 Jul 2007 21:32:00 +0200 |
2040 | + |
2041 | +apport (0.93) gutsy; urgency=low |
2042 | + |
2043 | + * apport/crashdb.py: Set sqlite connect timeout to two hours, instead of the |
2044 | + default 5 seconds. Previously, one retracer always crashed when the other |
2045 | + was consolidating the database. |
2046 | + * bin/dupdb-admin, command_dump(): Correctly interpret empty version strings |
2047 | + as 'fixed in unknown verrsion', not 'unfixed'. |
2048 | + * apport/crashdb_impl/launchpad.py: Fix typo in bug comment string. |
2049 | + * apport/crashdb_impl/launchpad.py: Add function get_source_info() which |
2050 | + parses out release, version, and component from |
2051 | + https://launchpad.net/$DISTRO/+source/$PACKAGE. |
2052 | + * apport/crashdb_impl/launchpad.py, get_fixed_version(): If a bug is fixed, |
2053 | + return the current version (as approximation of the version where the bug |
2054 | + was fixed), instead of an empty string (which meant 'fixed in unknown |
2055 | + version'). [apport-crash-duplicates spec] |
2056 | + |
2057 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 25 Jul 2007 17:04:27 +0200 |
2058 | + |
2059 | +apport (0.92) gutsy; urgency=low |
2060 | + |
2061 | + * bin/crash-digger: Do not crash if duplicate db is locked when attempting |
2062 | + to consolidate it. This happens often because in the DC we have two |
2063 | + parallel instances (for amd64 and i386). |
2064 | + * Move ubuntu-fat-chroot from bin/ to debian/local/, since it is so heavily |
2065 | + Ubuntu specific. |
2066 | + * debian/local/ubuntu-fat-chroot: Use diversions for the binaries we want to |
2067 | + disable, so that chroot upgrades do not trash the modifications. |
2068 | + * debian/local/setup-apport-retracer: launchpad-crash-digger -> |
2069 | + crash-digger. |
2070 | + * bin/crash-digger: Add option -i/--arch-indep-dupcheck to explicitly enable |
2071 | + duplicate checking of arch-independent crashes like Python exceptions. We |
2072 | + only want to process them on one architecture to avoid scattering the |
2073 | + duplicate database. |
2074 | + * apport/crashdb_impl/launchpad.py, get_unfixed(): Search for 'apport-crash' |
2075 | + tag, not 'apport'. |
2076 | + * bin/apport-unpack: Fix format string in error message. |
2077 | + * apport/ui.py, __init__(): Intercept ImportError, which can happen for |
2078 | + crashes during system upgrades. (LP: #124354) |
2079 | + * Add general-hooks/automatix.py: Refuse to send problem reports if |
2080 | + automatix is installed. |
2081 | + * doc/package-hooks.txt: Do not document UnsupportableReason, since it does |
2082 | + not make sense to set it in package hooks (it is checked before calling |
2083 | + the hooks). Hooks should use UnreportableReason only. |
2084 | + * apport/ui.py, test_run_crash_package(): Check that 'Package' problem |
2085 | + reports collect additional information, too. |
2086 | + * apport/ui.py, collect_info(): Collect additional information for 'Package' |
2087 | + problem reports, too. |
2088 | + * Revive preloadlib/: |
2089 | + - Remove PIPE_CORE #ifdefs and make them the default. We do not need to |
2090 | + support the Edgy kernel patches in this version any more. |
2091 | + - Install signal handler for SIGABRT, too. |
2092 | + - Read core ulimit, pass it to apport in CORE_REAL_RLIM, and set it to |
2093 | + zero for the program, since we do not actually want the kernel to write |
2094 | + core files when we pipe the core dump to apport. |
2095 | + - test-apport: Pass APPORT_REPORT_DIR to the manually called apport |
2096 | + instance in the memory clipping test; otherwise it'll write into |
2097 | + /var/crash/, which we do not consider in library mode. |
2098 | + * apport/crashdb_impl/launchpad.py, __init__(): Only do the "download bug |
2099 | + #2" hack if we actually have an authentication cookie. Thus, do it only on |
2100 | + the retracing servers, not on the client side. (LP: #125142) |
2101 | + * apport/report.py, crash_signature(): Generate a signature for one-line |
2102 | + Python tracebacks, too. This sometimes seems to happen, e. g. LP#124588. |
2103 | + (LP: #125020) |
2104 | + * apport/crashdb_impl/launchpad.py, update(): Set bug importance to Medium |
2105 | + if retracing was successful. (LP: #106379) |
2106 | + |
2107 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 24 Jul 2007 21:50:34 +0200 |
2108 | + |
2109 | +apport (0.91) gutsy; urgency=low |
2110 | + |
2111 | + * bin/apport: Remove code that supported the Edgy kernel way of core dump |
2112 | + passing. Also factorize the CORE_REAL_RLIM evaluation, since it is likely |
2113 | + to change in the near future. |
2114 | + * apport/crashdb_impl/launchpad.py, close_duplicate(): Delete some |
2115 | + attachments, as specified in apport-crash-duplicates spec, and make the |
2116 | + bug public afterwards. |
2117 | + * apport/crashdb_impl/launchpad.py, close_duplicate(): If the master bug is |
2118 | + already duped to yet another bug, mark the bug to that one instead of the |
2119 | + master. |
2120 | + * apport/crashdb.py: Split out duplicate_db_last_consolidation() for getting |
2121 | + the date (or seconds since) the last consolidation, so that we can use it |
2122 | + externally. |
2123 | + * apport/crashdb.py: Add duplicate_db_change_master_id() to change the |
2124 | + master ID of a crash. Add test case to apport/crashdb_impl/memory.py. |
2125 | + * Add bin/dupdb-admin: Initial version of duplicate db CLI app; can dump the |
2126 | + db, display consolidation state, and change master bug IDs for now. Ship |
2127 | + it in apport-retrace. |
2128 | + * apport/crashdb.py, duplicate_db_last_consolidation(): Fix timedelta |
2129 | + seconds calculation to actually take the days into account, too. |
2130 | + * bin/crash-digger: Fix dumping of dup db after consolidation. |
2131 | + * apport/ui.py: |
2132 | + - test_run_report_bug_package(): Add test case for calling the UI in bug |
2133 | + filing mode with an invalid package name. |
2134 | + - run_report_bug(): Do not crash on invalid package name, generate an |
2135 | + error message instead. (LP: #123644) |
2136 | + * apport/fileutils.py, mark_report_seen(): Do not crash if the file has |
2137 | + already been deleted underneath us. (LP: #122347) |
2138 | + * apport/ui.py, run_report_bug(): Do not crash if the target process runs as |
2139 | + a different user. Print a proper error message instead. Add test case |
2140 | + test_run_report_bug_noperm_pid(). (LP: #121121) |
2141 | + * apport/fileutils.py, likely_packaged(): Ignore /var/lib/schroot. Add test |
2142 | + case. (LP: #122859) |
2143 | + * apport/ui.py, open_url(): Intercept weird race condition for os.close() |
2144 | + trying to close an already invalidated fd. (LP: #123180) |
2145 | + |
2146 | + Merge the fedora branch, thanks to Will Woods <wwoods@redhat.com>: |
2147 | + |
2148 | + * Add apport.init.fedora: Fedora specific init script. |
2149 | + * Add apport.spec: RPM build recipe. |
2150 | + * Add backends/packaging_rpm.py: Partial implementation of the packaging |
2151 | + backend for RPM which applies to all RPM-based distros. |
2152 | + * Add backends/packaging_fedora.py: Concrete packaging backend |
2153 | + implementation for Fedora. |
2154 | + * apport/elfcore.py: Classes for parsing general ELF files, and information |
2155 | + from core dumps. |
2156 | + * bin/apport: Fall back to reading signal number and PID directly from the |
2157 | + core file (via elfcore.py) if CORE_SIGNAL and CORE_PID are not defined (i. |
2158 | + e. when running on a non-Ubuntu kernel). |
2159 | + * crashdb.conf: Add stanzas for Fedora and a 'debug' database which uses the |
2160 | + 'memory' crashdb implementation. |
2161 | + |
2162 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sat, 14 Jul 2007 15:08:35 +0200 |
2163 | + |
2164 | +apport (0.90) gutsy; urgency=low |
2165 | + |
2166 | + * apport/ui.py, load_report(): Catch IOError, too. LP: #118827 |
2167 | + * Merge apport-cli package into apport itself. The program itself is just 3 |
2168 | + kB compressed, and it's not worth wasting another 34 kB compressed |
2169 | + changelog for this tiny bit. |
2170 | + * apport/report.py, obsolete_packages(): Use the version comparison from the |
2171 | + packaging system instead of just testing for inequality. This catches zero |
2172 | + epochs. Thanks to Will Woods <wwoods@redhat.com>! |
2173 | + * apport/ui.py: Add option -c/--crash-file to run the UI with a particular |
2174 | + crash file (which can be anywhere) instead of all pending crashes in |
2175 | + /var/crash/. |
2176 | + * Add xdg-mime/apport.xml: XDG MIME type definition for .crash files. |
2177 | + * Add gtk/apport-gtk-mime.desktop.in: Link text/x-apport MIME type to |
2178 | + apport-gtk -c, so that .crash files can be reported with Gnome. |
2179 | + * Add debian/apport.links: Install an icon symlink for the MIME type. |
2180 | + * apport/ui.py: Do not ask the initial "Do you want to report this?" |
2181 | + question when being invoked with --crash-file. |
2182 | + * po/POTFILES.in: Add missing cli/apport-cli. |
2183 | + * po/de.po: Updated for apport-cli. |
2184 | + * cli/apport-cli: Add option for keeping the report file without sending it, |
2185 | + and to display its path. This is for sending the report later, copying |
2186 | + it from a server to a workstation with internet connection, etc. |
2187 | + * apport/crashdb_impl/launchpad.py: Simplify _subscribe_triaging_team(), now |
2188 | + that we do not differ between main and universe policies any more. |
2189 | + * apport/report.py: Support another hook directory |
2190 | + /usr/share/apport/general-hooks/ for scripts which are run for every |
2191 | + problem report. This was requested for adding e. g. AppArmor logs, etc. |
2192 | + Add test cases. |
2193 | + * Add debian/apport.dirs again to ship that hook directory. |
2194 | + * doc/package-hooks.txt: Document the general hooks. |
2195 | + |
2196 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 10 Jul 2007 21:10:19 +0100 |
2197 | + |
2198 | +apport (0.89) gutsy; urgency=low |
2199 | + |
2200 | + Implement private crash bug handling, according to |
2201 | + https://wiki.ubuntu.com/CrashReporting: |
2202 | + |
2203 | + * apport/crashdb_impl/launchpad.py: |
2204 | + - upload(): If we have an Ubuntu bug, mark it as private and only |
2205 | + subscribe 'apport' (the 'Apport retracing service' user). |
2206 | + - Add function _subscribe_triaging_team() which subscribes |
2207 | + ubuntu-crashes-main for source packages in Ubuntu main or restricted, or |
2208 | + ubuntu-crashes-universe for other packages. It does not touch non-Ubuntu |
2209 | + bugs, since these are not marked private by default and are outside of |
2210 | + the scope of this spec. |
2211 | + - update(), _mark_dup_checked(): Call _subscribe_triaging_team(). |
2212 | + - Note: This entire spec is a gross hack, and Ubuntu derivatives do not |
2213 | + benefit from it at all. We have to live with this until LP grows a real |
2214 | + crash database. |
2215 | + - get_distro_release(): Make this function work with private bugs, too, by |
2216 | + using p-lp-bugs' safe_urlopen(). |
2217 | + |
2218 | + Bug fixes: |
2219 | + |
2220 | + * apport/crashdb_impl/launchpad.py: Revert simplification change of 0.85: |
2221 | + BugList returns a set of strings, not integers; due to non-identity they |
2222 | + do not work with the usual set operations. |
2223 | + * apport/crashdb_impl/launchpad.py: Add function get_source_component() to |
2224 | + query Launchpad for the component of a given distribution and source |
2225 | + package. (This will be required for implementing crash-reporting). |
2226 | + * backends/packaging-apt-dpkg.py, _search_contents(): Package list is |
2227 | + actually comma separated, only take the first item. This fixes retracing |
2228 | + of e. g. #124139. |
2229 | + * backends/packaging-apt-dpkg.py, _search_contents(): Fix package name |
2230 | + parsing for non-main components. This fixes retracing of e. g. #124111. |
2231 | + * apport/report.py, _read_maps(): Revert ptrace hack when maps cannot be |
2232 | + read. maps file is now protected based on process ownership, not ptracing. |
2233 | + * apport/crashdb.py, apport/crashdb_impl/launchpad.py, |
2234 | + apport/crashdb_impl/memory.py: Remove official interface |
2235 | + mark_dup_checked(), as it should only be an internally used function. Add |
2236 | + report parameter, since we will need it there in the future. Remove |
2237 | + explicit call from bin/crash-digger and instead change check_duplicate() |
2238 | + to call it on its own. |
2239 | + * apport/crashdb_impl/launchpad.py, download(): Replace dodgy parsing of |
2240 | + fields from the description with proper code, so that multi-line fields |
2241 | + are read correctly, too. |
2242 | + |
2243 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 06 Jul 2007 11:19:22 +0200 |
2244 | + |
2245 | +apport (0.88) gutsy; urgency=low |
2246 | + |
2247 | + * po/de.po: Update. |
2248 | + * backends/packaging-apt-dpkg.py, _search_contents(): Do not check the |
2249 | + return value of zgrep. It usually errors out with 'stdout: broken pipe' |
2250 | + when called with -m1. |
2251 | + * bin/crash-digger: Mark a bug as retraced if DistroRelease: cannot be |
2252 | + determined. Those are bugs apport cannot handle. |
2253 | + * backends/packaging-apt-dpkg.py, get_source_tree(): Call apt-get source |
2254 | + with --assume-yes to not block on VCS confirmations. |
2255 | + * apport/crashdb.py: Add interface mark_retrace_failed(). Implement it in |
2256 | + apport/crashdb_impl/launchpad.py. |
2257 | + * bin/apport-retrace: If retraced report does not have a crash signature, |
2258 | + mark it as failed with above new function. Bump python-apport dependency |
2259 | + for this. |
2260 | + * apport/crashdb_impl/launchpad.py, update(): Delete CoreDump.gz attachment |
2261 | + if the retrace was successful (i. e. if the report has a crash signature). |
2262 | + * apport/ui.py, test_run_crash(): Set the message box title, text, and |
2263 | + severity as assertion message if the run_crash() test fails, so that you |
2264 | + know why it fails. This usually happens if libc6 or another dependency of |
2265 | + the test crash is out of date. |
2266 | + * gtk/apport-gtk.glade: Mark string as translatable. LP: #119621 |
2267 | + |
2268 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 03 Jul 2007 21:38:05 +0200 |
2269 | + |
2270 | +apport (0.87) gutsy; urgency=low |
2271 | + |
2272 | + * apport/report.py: |
2273 | + - test_gen_stacktrace_top(): Add test case for unwinding a Gnome assertion |
2274 | + (g_logv(), g_assert_warning() and similar), see LP #123462. |
2275 | + - _gen_stacktrace_top(): Generalize for unwinding multiple functions and a |
2276 | + set of function names, and add the Gnome assertion ones. |
2277 | + |
2278 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 02 Jul 2007 11:00:44 +0200 |
2279 | + |
2280 | +apport (0.86) gutsy; urgency=low |
2281 | + |
2282 | + * test-apport: Check that apport does not create reports for emtpy core |
2283 | + dumps. |
2284 | + * problem_report.py: Introduce a fourth optional parameter "fail_on_empty" |
2285 | + to file pointer tuples which causes write() to raise an IOError if no data |
2286 | + was read. Add test cases. |
2287 | + * bin/apport: Enforce non-emptyness of CoreDump. |
2288 | + * problem_report.py: Add test case for delayed piping of data passed as file |
2289 | + object pointers. This was supposed to explain the reason for getting bugs |
2290 | + with zero-byte core dumps, but already works correctly. |
2291 | + * apport/report.py, check_ignored(): round the mtime to an int (just like |
2292 | + mark_ignore() does), to not get wrong results on file systems that support |
2293 | + subsecond file timestamps. This fixes running the test suite on the live |
2294 | + CD. |
2295 | + * test-apport: Clarify assertion message if /var/crash is not empty. |
2296 | + |
2297 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 28 Jun 2007 19:14:36 +0200 |
2298 | + |
2299 | +apport (0.85) gutsy; urgency=low |
2300 | + |
2301 | + * apport/crashdb_impl/launchpad.py: BugList.bugs is already a set, simplify |
2302 | + code a bit. |
2303 | + * debian/control: Add dpkg-dev dependency to apport-retrace, for getting |
2304 | + dpkg-source. |
2305 | + * apport/report.py, crash_signature(): Allow ':' and '~' as part of function |
2306 | + names to cover C++. Adapt test case to cover this. |
2307 | + * apport/report.py test suite: Do not assume that /bin/zgrep uses /bin/sh, |
2308 | + it was recently changed to use bash. Directly read the interpreter from |
2309 | + the shebang line. |
2310 | + * bin/apport-chroot, command_upgrade(): Supply -y to 'apt-get upgrade' also |
2311 | + in verbose mode. |
2312 | + * bin/apport-chroot, command_upgrade(): Run 'apt-get clean' before |
2313 | + regenerating the chroot tarball. |
2314 | + * backends/packaging-apt-dpkg.py, get_dependencies(): Fix crash when |
2315 | + encountering a virtual package. LP: #122274 |
2316 | + * apport/report.py, obsolete_packages(): Do not consider virtual packages as |
2317 | + obsolete. |
2318 | + * apport/crashdb_impl/launchpad.py: Do a bogus call to Bug() in the ctor. |
2319 | + This initializes python-launchpad-bugs to use a cookie for the urlopen in |
2320 | + BugList, so that get_unretraced() and get_dup_unchecked() return private |
2321 | + bugs, too. This works around LP #122126. |
2322 | + |
2323 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 25 Jun 2007 16:38:43 +0200 |
2324 | + |
2325 | +apport (0.84) gutsy; urgency=low |
2326 | + |
2327 | + * apport/crashdb.py: Add new abstract methods: |
2328 | + - get_unretraced() and mark_retraced(id) to get a list of crashes that |
2329 | + need to be retraced and chalk them off. |
2330 | + - get_dup_unchecked() and mark_dup_checked() to get a list of crashes that |
2331 | + need to be checked for being a duplicate and chalk them off. This is |
2332 | + aimed at crashes which do not need retracing, such as unhandled Python |
2333 | + exceptions. |
2334 | + * apport/crashdb_impl/launchpad.py: Implement above methods for launchpad |
2335 | + (moving the code from bin/launchpad-crash-digger). |
2336 | + * apport/crashdb_impl/launchpad.py: Set "need-duplicate-check" tag for |
2337 | + Python crashes. |
2338 | + * apport/crashdb_impl/launchpad.py, download(): Fetch Traceback.txt, too, so |
2339 | + that we can do duplicate checking for Python crashes. |
2340 | + * bin/launchpad-crash-digger: Drop Launchpad specific code and replace it |
2341 | + with calls to above new functions. Rename to bin/crash-digger. Also rename |
2342 | + all 'cookie' to 'auth' (as happened with the other applications earlier). |
2343 | + * bin/crash-digger: Do duplicate checking for needs-duplicate-check crash |
2344 | + bugs (such as Python crashes). |
2345 | + * bin/apport-retrace, bin/crash-digger: More language cleanup; we should |
2346 | + stop talking about 'bugs' and use 'crash' consistently. |
2347 | + |
2348 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 14 Jun 2007 19:50:24 +0200 |
2349 | + |
2350 | +apport (0.83) gutsy; urgency=low |
2351 | + |
2352 | + * apport/crashdb.py: Separate abstract from implemented functions. |
2353 | + * apport/crashdb.py, apport/packaging.py, apport/ui.py: Use |
2354 | + NotImplementedError instead of Exception in the abstract methods. |
2355 | + * apport/packaging.py: Add interface compare_versions() for comparing |
2356 | + package version numbers. |
2357 | + * backends/packaging-apt-dpkg.py: Implement compare_versions() using |
2358 | + apt.VersionCompare(), add some test cases. |
2359 | + * apport/report.py: Fix typo: 'none' -> 'None'. |
2360 | + * apport/chroot.py: Do not include /usr/local/lib and /usr/lib in |
2361 | + LD_LIBRARY_PATH, just /lib, so that we still use the libc from outside, |
2362 | + but e. g. libxml2 from inside the chroot. |
2363 | + |
2364 | + https://blueprints.launchpad.net/ubuntu/+spec/apport-crash-duplicates: Merge |
2365 | + crash-dups branch, which implements automatic crash duplicate detection: |
2366 | + |
2367 | + * apport/crashdb.py: Add methods for crash duplicate detection. |
2368 | + * apport/crashdb_impl/memory.py: Change internal data management to track |
2369 | + fixed version and duplicates. |
2370 | + * apport/crashdb_impl/memory.py: Add a test suite for all methods, including |
2371 | + the duplicate detection API of the base CrashDatabase (since it is |
2372 | + much easier to test it here, on an actual implementation). |
2373 | + * debian/pyversions: Bump minimal Python version to 2.5, since this starts |
2374 | + providing the sqlite3 module. |
2375 | + * apport/crashdb_impl/launchpad.py: Implement new methods required for crash |
2376 | + duplicate detection. get_fixed_version() does not approximate version |
2377 | + tracking yet; it just returns '' for fixed bugs (which means 'fixed, but |
2378 | + unknown version'). Bump python-launchpad-bugs dependency for this to |
2379 | + ensure the availability of Bug.mark_duplicate(). |
2380 | + * bin/apport-retrace: Add option --duplicate-db which specifies the path to |
2381 | + the duplicate sqlite database and enables duplicate detection. |
2382 | + * Abin/apport-chroot: Add option --duplicate-db. If a file is given, symlink |
2383 | + it into the chroot and pass --duplicate-db to apport-retrace. |
2384 | + * bin/launchpad-crash-digger: Add --duplicate-db and pass it to |
2385 | + apport-chroot. |
2386 | + * apport/crashdb.py: Track last run of duplicate_db_consolidate() in an |
2387 | + extra table and add a method duplicate_db_needs_consolidation() which |
2388 | + returns True if the last run was more than a given number of seconds ago. |
2389 | + Add test cases to apport/crashdb_impl/memory.py. |
2390 | + * bin/launchpad-crash-digger, fill_pool(): Check whether the duplicate |
2391 | + database needs consolidation (i. e. updating the bug states to the reality |
2392 | + in the bug tracker) and if so, trigger it. |
2393 | + |
2394 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 13 Jun 2007 13:09:57 +0200 |
2395 | + |
2396 | +apport (0.82) gutsy; urgency=low |
2397 | + |
2398 | + * Add bin/ubuntu-fat-chroot: Script to install a set of commonly needed |
2399 | + packages into a minimal Ubuntu chroot (as created by apport-chroot). This |
2400 | + requires some hacking of postinst and /usr/sbin/ files in between the |
2401 | + installation stages and thus deserves a script on its own. |
2402 | + * apport/packaging.py: |
2403 | + - Add "uninstalled" option to get_file_package(). If set to True, this |
2404 | + will do an expensive search of files/packages which are not installed. |
2405 | + - Add interface "set_mirror(URL)" for functions which need to retrieve |
2406 | + packages and data from distribution mirrors. |
2407 | + * backends/packaging-apt-dpkg.py: Implement "uninstalled" option and |
2408 | + "set_mirror(URL)", add test cases. |
2409 | + * bin/apport-retrace: Use "uninstalled" option now to install packages and |
2410 | + corresponding -dbgsyms for uninstalled files mentioned in ProcMaps |
2411 | + (Point 1 of apport-better-retracing spec). Bump python-apport dependency. |
2412 | + * apport/packaging.py: Add interface get_available_version(package). |
2413 | + * backends/packaging-apt-dpkg.py: Implement get_available_version(), add |
2414 | + shallow test case. |
2415 | + * apport/report.py: Add function obsolete_packages() to return packages in |
2416 | + Package: and Depends: which are not up to date. Add test cases. |
2417 | + * apport/ui.py, thread_collect_info(): For crashes, call obsolete_packages() |
2418 | + and set UnreportableReason: if there are any (Point 2 of |
2419 | + apport-better-retracing spec). |
2420 | + * apport/ui.py, thread_collect_info(): call standard_title() and add it to |
2421 | + the report as 'Title' field. This is useful if reporters modify the |
2422 | + default title (per request of Brian Murray, thanks). Add test case. |
2423 | + * apport/ui.py: Fix declaration of the test suite's |
2424 | + ui_set_upload_progress(). Funny that this has never been triggered before. |
2425 | + * apport/report.py, add_gdb_info(): Split out StacktraceTop generation into |
2426 | + separate funtion _gen_stacktrace_top(), so that we can test it separately. |
2427 | + * apport/report.py, _gen_stacktrace_top(): Step back from the crashed |
2428 | + program's own signal handlers, since those are generally not useful for |
2429 | + the purposes of StacktraceTop and only impede duplicate matching |
2430 | + (Point 4 of apport-better-retracing spec). Add various test cases. |
2431 | + * apport/report.py: Add method crash_signature() to calculate an unique |
2432 | + identifier of a signal or Python crash, to be used for duplicate |
2433 | + detection. Add various test cases. |
2434 | + * apport/packaging.py: Add interface get_source_tree() to fetch and unpack a |
2435 | + source package to a given directory, optionally specifying a particular |
2436 | + version. |
2437 | + * backends/packaging-apt-dpkg.py: Implement get_source_tree(). This has a |
2438 | + rather crude 'call apt-get source and guess about directories' |
2439 | + implementation until python-apt learns about doing this directly and more |
2440 | + elegantly (see LP #118788). |
2441 | + * bin/apport-retrace: Add gen_source_stacktrace() and a few helper functions |
2442 | + to construct a field 'StacktraceSource' with the source code around the |
2443 | + affected lines in the stack trace (as available). (Point 5 of |
2444 | + apport-better-retracing spec). |
2445 | + * apport/crashdb_impl/launchpad.py, update(): Attach StacktraceSource to the |
2446 | + bug if it exists. |
2447 | + * apport/crashdb_impl/launchpad.py: Check PackageArchitecture for 'all', to |
2448 | + not set a retracer tag 'need-all-retrace'. |
2449 | + * test-apport: Clarify assertion failure message when an unexpected core |
2450 | + dump is present. |
2451 | + * apport/report.py, get_module_license(): Do not iterate over Popen.stdout, |
2452 | + use communicate() instead. The latter is already fixed to not trip over |
2453 | + SIGINTR. (LP: #118965) |
2454 | + |
2455 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 08 Jun 2007 07:47:04 +0200 |
2456 | + |
2457 | +apport (0.81) gutsy; urgency=low |
2458 | + |
2459 | + * apport/report.py: Remove '[apport]' default bug title prefix. (LP: #94819) |
2460 | + * apport/crashdb_impl/launchpad.py: Tag new bugs with |
2461 | + 'apport-<problemtype>'. This replaces the former '[apport]' prefixing. |
2462 | + * debian/local/setup-apport-retracer: Specify a path in '.' command and |
2463 | + use sh again. Yay for me needing three attempts before actually RTFMing |
2464 | + how '.' works (which is really nasty and strange IMHO). |
2465 | + * bin/apport-chroot: Fix symlinks before repackaging the chroot tarball in |
2466 | + 'install' and 'installdeb' modes. |
2467 | + * debian/local/setup-apport-retracer: Install python-libxml2 and python-apt. |
2468 | + * bin/launchpad-crash-digger: Supply --auth instead of the deprecated |
2469 | + --cookie to apport-chroot. |
2470 | + * bin/apport-chroot: Fix identifier name in command_retrace(). |
2471 | + * debian/local/setup-apport-retracer: Set APPORT_CRASHDB_CONF to the local |
2472 | + crashdb.conf. |
2473 | + * bin/apport-chroot: Unset APPORT_CRASHDB_CONF for login and retrace. |
2474 | + * bin/launchpad-crash-digger: Check the release of a bug and whether we have |
2475 | + a chroot for it before untagging it. This avoids loosing tags for bugs we |
2476 | + do not yet have a working retracer chroot for. |
2477 | + * bin/apport-retrace: Do not abort with an exception if package installation |
2478 | + fails. Give a proper error message instead and point to -u. (LP: #115681) |
2479 | + * apport/crashdb_impl/launchpad.py, update(): Create a temporary directory |
2480 | + and use proper file names for the new attachments. With TemporaryFile(), |
2481 | + attachment file names ended up as '<fdopen>'. (LP: #115347) |
2482 | + * apport/report.py, add_os_info(): Add field 'NonfreeKernelModules' which |
2483 | + lists loaded kernel modules which do not have a FOSS license. This is |
2484 | + particularly helpful for quickly checking for restricted graphics drivers. |
2485 | + (LP: #103239) |
2486 | + * apport_python_hook.py: Move the apport.* imports into the try: block and |
2487 | + move the likely_packaged() test to the top, to avoid importing |
2488 | + apport.report and creating a Report object for non-packaged scripts. This |
2489 | + makes the entire code more efficient and robust against errors in the |
2490 | + apport modules. (LP: #109955) |
2491 | + * apport/report.py, add_gdb_info(): Intercept OSError from gdb invocation |
2492 | + (which might be segfaulting itself) and just do not put any gdb output |
2493 | + into the report. The automatic retracers can try their luck again. |
2494 | + (LP: #112501) |
2495 | + * bin/apport-retrace: Fix handling of packages which are still known to |
2496 | + /var/lib/dpkg/status, but do not have an apt record any more; treat them |
2497 | + like virtual packages and just issue a warning instead of falling over. |
2498 | + (LP: #107474) |
2499 | + * Add doc/data-format.tex: Documentation of the structure, encoding, and |
2500 | + standard keys of the Apport report file format. [apport-for-upstreams |
2501 | + blueprint] |
2502 | + * Add doc/Makefile: Build and clean rules for generating data-format.pdf. |
2503 | + * debian/rules, setup.py: Call doc/Makefile and install the PDF |
2504 | + documentation. Add texlive-latex-recommended build dependency for that. |
2505 | + |
2506 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 24 May 2007 19:39:12 +0200 |
2507 | + |
2508 | +apport (0.80) gutsy; urgency=low |
2509 | + |
2510 | + Collect all Launchpad specific bits in a separate class and provide an |
2511 | + abstract base class. This will greatly help for getting upstream acceptance |
2512 | + and the possibility of automatically forwarding crashes upstream |
2513 | + (apport-for-upstreams specification): |
2514 | + |
2515 | + * Add apport/crashdb.py: Abstract crash database interface. This also offers |
2516 | + a factory function get_crashdb() which reads a configuration file to find |
2517 | + the default crash database to be used. |
2518 | + * Add ./crashdb.conf: Crash database configuration file, for Ubuntu on |
2519 | + Launchpad. Modify setup.py and debian/python-apport.install to ship it in |
2520 | + python-apport. |
2521 | + * Add apport/crashdb_impl/memory.py: Simple in-memory implementation of |
2522 | + crash database interface for testing. |
2523 | + * Add apport/crashdb_impl/launchpad.py: Launchpad implementation of crash |
2524 | + database interface. |
2525 | + * apport/ui.py: Drop LP specific bits and move towards new CrashDatabase |
2526 | + interface. |
2527 | + * apport/ui.py, test suite: Do not overwrite file_report() any more, but |
2528 | + use the memory CrashDatabase. This will test the actual file_report() |
2529 | + implementation and allows the test suite to check the precise value of |
2530 | + opened URLs. |
2531 | + * apport/{report,ui}.py: Move UserInterface.create_crash_bug_title() and its |
2532 | + test cases to Report.standard_title(). It is much more appropriate there |
2533 | + and can be used in the retracer as well. |
2534 | + * bin/apport-retrace: Drop LP specific bits and move to CrashDatabase |
2535 | + interface. Remove the --remove-tag option, we really should not have it |
2536 | + here; remove it from man/apport-retrace.1 as well. |
2537 | + * bin/apport-chroot: Drop --remove-tag option here, too. |
2538 | + * bin/apport-chroot: Drop LP specific bits and move to CrashDatabase |
2539 | + interface. |
2540 | + * bin/launchpad-crash-digger: Remove retracing tag directly instead of |
2541 | + passing --remove-tag to apport-chroot. This is a much cleaner design and |
2542 | + avoids infinitely looping on some weirdly failing retraces. |
2543 | + * debian/control: Bump some python-apport dependencies for the API changes. |
2544 | + |
2545 | + Some debranding: |
2546 | + |
2547 | + * setup.py: Use apport wiki home page for 'url'. |
2548 | + * Remove 'X-Ubuntu-Gettext-Domain' from *.desktop.in, since langpack.mk will |
2549 | + add it automatically now. |
2550 | + * *.desktop.in: Remove 'in Ubuntu' from comment. |
2551 | + * cli/apport-cli, qt4/apport-qt: Generalize window titles. |
2552 | + |
2553 | + Other fixes: |
2554 | + * po/de.po: Update. |
2555 | + * debian/local/setup-apport-retracer: Revert back 'source' to '.' and use |
2556 | + bash instead of sh. POSIX sh does not seem to have a 'source' command. |
2557 | + |
2558 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 21 May 2007 19:25:31 +0200 |
2559 | + |
2560 | +apport (0.79) gutsy; urgency=low |
2561 | + |
2562 | + * debian/local/setup-apport-retracer: Fix '.' bashism, replace it with |
2563 | + 'source'. |
2564 | + * problem_report.py, write_mime(): Drop preamble argument, replace it with |
2565 | + an extra_headers dictionary. This is much easier to evaluate on clients. |
2566 | + * apport/ui.py: Convert to new write_mime() interface from above. This |
2567 | + finally automatically tags bugs with need-$ARCH-retrace. Bump |
2568 | + p-problem-report dependency of python-apport for this. |
2569 | + * apport/report.py: Change example URLs in the testsuite from launchpad to |
2570 | + an artificial ones to avoid the impression that it is LP specific. |
2571 | + * backends/packaging-apt-dpkg.py: Formally make this a subclass of |
2572 | + apport.packaging.PackageInfo. |
2573 | + * debian/control: Use code.lp.net instead of bazaar.lp.net VCS URL. |
2574 | + * bin/kernel_hook: Fix/improve the collected information: |
2575 | + - Read /proc/modules instead of lsmod. |
2576 | + - Fix lspci argument: -n instead of -m. |
2577 | + - Add /proc/cmdline. |
2578 | + * debian/rules: Use langpack.mk for updating the .desktop files. |
2579 | + * Add po/Makevars to specify the domain, to make intltool figure out the |
2580 | + gettext domain automatically. |
2581 | + * bin/kernel_hook, ./test-hooks: Do not rely on /proc/version_signature any |
2582 | + more, it's gone in the gutsy kernel. |
2583 | + |
2584 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 21 May 2007 15:55:10 +0200 |
2585 | + |
2586 | +apport (0.78) gutsy; urgency=low |
2587 | + |
2588 | + * apport/packaging.py, backends/packaging-dpkg.py: Add new interface |
2589 | + is_distro_package(package) which verifies the origin of a given package. |
2590 | + Move the dodgy hack from apport/ui.py to the backend, where it belongs to. |
2591 | + Also add a test case. |
2592 | + * debian/control: Add python-apt dependency to python-apport. |
2593 | + * debian/control: Remove debianutils dependency, it's essential. |
2594 | + * Drop backends/packaging-dpkg.py. It had some hackish usage of python-apt |
2595 | + anyway, since some things just cannot be figured out with dpkg alone. |
2596 | + Since we have to give up on that idea, implement a new clean packaging |
2597 | + backend 'packaging-apt-dpkg.py' which now uses python-apt and dpkg in a |
2598 | + clean way. |
2599 | + * apport/report.py, add_gdb_info(): Fix crash when Stacktrace could not be |
2600 | + created. (LP: #107853) |
2601 | + * ./test-apport: Check that crashes create a core dump (with proper ulimits) |
2602 | + when an unseen crash report exists already. This reproduces LP #105976. |
2603 | + * bin/apport: Create core dump file if aborting because an unseen crash |
2604 | + report already exists. (LP: #105976) |
2605 | + * apport/ui.py: Add a comment for translators. (LP: #104703) |
2606 | + * apport/ui.py, load_report(): Also catch zlib.error on invalid reports. |
2607 | + (LP: #103547) |
2608 | + * apport/report.py: Add method has_useful_stacktrace() to determine whether |
2609 | + the stack trace can be considered useful. The current heuristic is to |
2610 | + consider it useless if it either is shorter than three lines and has any |
2611 | + unknown function, or for longer traces, a minority of known functions. Add |
2612 | + test cases. |
2613 | + * gtk/apport-gtk, qt4/apport-qt, cli/apport-cli: Do not offer 'reduced |
2614 | + report' option if the stack trace is useless. (LP: #87430) Bump the |
2615 | + python-apport dependencies of the frontend packages to ensure that we have |
2616 | + has_useful_stacktrace(). |
2617 | + |
2618 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sat, 5 May 2007 17:53:42 +0200 |
2619 | + |
2620 | +apport (0.77) gutsy; urgency=low |
2621 | + |
2622 | + * apport/report.py: Replace any() call with a list comprehension to work |
2623 | + with Python < 2.5. (LP: #104864) |
2624 | + * apport/report.py: Move the ctypes import to the one place where we |
2625 | + actually need it, and do not entirely fail if they do not exist (such as |
2626 | + in Python 2.4). It is only required for non-default Feisty kernels anyway. |
2627 | + (LP: #107662) |
2628 | + * apport/chroot.py: Fix test suite to work with Python 2.4's tarfile module |
2629 | + output format. |
2630 | + * debian/local/setup-apport-retracer: Generalized some feisty specific |
2631 | + bits, set default release to gutsy. |
2632 | + |
2633 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 23 Apr 2007 12:22:17 +0200 |
2634 | + |
2635 | +apport (0.76) feisty; urgency=low |
2636 | + |
2637 | + * Move python_hook.py out of the apport module to apport_python_hook.py, so |
2638 | + that it does not inflict the expensive import of all apport related |
2639 | + modules to every python program. Adapt module prefixes accordingly. |
2640 | + (LP: #105764) |
2641 | + * setup.py, debian/python-apport.install: Install apport_python_hook.py into |
2642 | + the python-apport binary package. |
2643 | + * apport/ui.py test suite: Unset locale related environment variables so |
2644 | + that the tests which check strings are not invalidated by translations. |
2645 | + |
2646 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 12 Apr 2007 11:47:50 +0200 |
2647 | + |
2648 | +apport (0.75) feisty; urgency=low |
2649 | + |
2650 | + * apport/report.py, add_proc_info(): Chop off /rofs/ prefix from |
2651 | + ExecutablePath, so that crashes work on the live system, too. Arguably a |
2652 | + kernel bug, but probably too hard to fix at this time. (LP: #102909) |
2653 | + * backends/packaging-dpkg.py, get_modified_files(): Ignore empty lines in |
2654 | + broken .md5sums file rather than crashing on them. (LP: #102906) |
2655 | + |
2656 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 4 Apr 2007 21:51:28 +0200 |
2657 | + |
2658 | +apport (0.74) feisty; urgency=low |
2659 | + |
2660 | + * debian/apport-{gtk,qt}.install: Do not install .desktop files for now, |
2661 | + until we get a proper guided bug reporting. |
2662 | + * problem_report.py, write_mime(): Do not re-compress keys which already end |
2663 | + in .gz. Add test cases. |
2664 | + * test-hooks: Add a (dodgy) test case for calling package_hook on an |
2665 | + uninstalled package. After all, this is very likely to happen for |
2666 | + installation errors. This reproduces #97636. |
2667 | + * backends/packaging-dpkg.py, get_source(): Add a similarly dodgy fallback |
2668 | + to apt if the queried package is not installed. This needs to be |
2669 | + generalized and cleaned up later, but now is the time for unintrusive |
2670 | + small patches. (LP: #97636) |
2671 | + * test-apport: Do not fail on non-empty gdb stderr if it only consists of a |
2672 | + single warning (as happens on powerpc). |
2673 | + * apport/report.py, test_check_interpreted(): Run gedit test on an actually |
2674 | + existing file, reproducing the interpreter confusion reported in #102056. |
2675 | + * apport/report.py, _check_interpreted(): Add a whitelist of common |
2676 | + interpreters and check ExecutablePath against it. (LP: #102056) |
2677 | + * apport/ui.py: Ignore SystemError exceptions from apt, which happen on |
2678 | + badly formatted source.list entries. (LP: #98901) |
2679 | + * apport/ui.py: Fix crash on None candiateOrigin from the apt cache object. |
2680 | + (LP: #98961) |
2681 | + * gtk/apport-gtk.glade: Add window titles to progress and details dialogs. |
2682 | + (LP: #97640) |
2683 | + |
2684 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 4 Apr 2007 14:44:08 +0200 |
2685 | + |
2686 | +apport (0.73) feisty; urgency=low |
2687 | + |
2688 | + * problem_report.py, write(): Allow a third optional argument in tuple |
2689 | + values, which specify a maximum file size. Above it, the entire key gets |
2690 | + removed. Add testsuite checks for all boundary cases. |
2691 | + * bin/apport: Limit core dump size to 75% of usable RAM |
2692 | + (MemFree+Cached-Writeback). This should avoid trashing people's boxes hard |
2693 | + on huge core dumps. Bump dependencies on python-problem-report. Create an |
2694 | + expensive, but realistic check for this in test-apport. |
2695 | + (LP: #71560) |
2696 | + * apport/ui.py, run_crash(): If a signal crash report does not have a core |
2697 | + dump, explain that the computer has too little memory for an automatic |
2698 | + analysis/report of the crash. Add test suite check. |
2699 | + |
2700 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 29 Mar 2007 23:38:23 +0200 |
2701 | + |
2702 | +apport (0.72) feisty; urgency=low |
2703 | + |
2704 | + [ Martin Pitt ] |
2705 | + * bin/apport-chroot, command_create(): Install gpgv. |
2706 | + * bin/apport-retrace: Fix error handling in fetch_unpack(). |
2707 | + * Move apport-retrace.1 manpage from package apport to apport-retrace. Bump |
2708 | + Conflicts/Replaces accordingly. |
2709 | + * bin/launchpad-crash-digger, apport/ui.py: Remove the special case |
2710 | + 'powerpc'->'ppc' and use need-powerpc-retrace uniformly. |
2711 | + * debian/control: Add XS-Vcs-Bzr: header. |
2712 | + * apport/ui.py: Fix wrong parameter name in help message. |
2713 | + * Another grammar fix, thanks to Brian Murray! |
2714 | + |
2715 | + [ Michael Hofmann ] |
2716 | + * debian/local/ubuntu-bug: Try to use apport-cli, if we do not have a |
2717 | + $DISPLAY, or neither Gnome nor KDE are running. |
2718 | + * debian/control: Recommend elinks, since it is the only text browser so far |
2719 | + that works with Launchpad (see #59510) |
2720 | + * Add debian/apport-cli.README.Debian: Describe how to integrate |
2721 | + apport-checkreports and apport-cli into .bashrc for crash notification on |
2722 | + servers. |
2723 | + * qt4/apport-qt: Fix undefined symbol in ui_present_package_error(). |
2724 | + (LP: #97282) |
2725 | + |
2726 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 29 Mar 2007 11:41:39 +0200 |
2727 | + |
2728 | +apport (0.71) feisty; urgency=low |
2729 | + |
2730 | + * cli/apport-cli, qt4/apport-qt: Fix bad grammar 'some minutes'. |
2731 | + (LP: #95296) |
2732 | + * problem_report.py, write_mime(): Add optional 'preamble' parameter. Add |
2733 | + test case. |
2734 | + * apport/ui.py, upload_launchpad_blob(): Set need-$ARCH-retrace tag in MIME |
2735 | + preamble. Bump p-problem-report dependency. (LP: #94790) |
2736 | + * bin/apport-retrace: In verbose mode, display the path of currently |
2737 | + extracting deb. |
2738 | + * bin/apport-retrace: Do not fall over errors of dpkg -x (which happens e. |
2739 | + g. on udev, where it cannot unpack /dev, since this is a symlink to the |
2740 | + real /dev). Merely print out a warning about it. |
2741 | + * apport/ui.py, run_report_bug(): Ignore ENOENT from add_proc_info(). This |
2742 | + happens if the user closes the application prematurely, so that /proc/pid |
2743 | + does not exist any more. Add test case. (LP: #95954) |
2744 | + * backends/packaging-dpkg.py, get_modified_files(): Ignore lines in .md5sums |
2745 | + files which contain a NUL byte. This Should Not Happen™, but nevertheless |
2746 | + did. (LP: #96050) |
2747 | + * apport/ui.py, doc/package-hooks.txt: Check for a field |
2748 | + "UnreportableReason: <text>" and display an information box that the |
2749 | + current crash cannot be reported because of <text>. Add test case. |
2750 | + Document the new field. |
2751 | + * apport/ui.py: Check package origin, compare it to DistroRelease:, and |
2752 | + report crash as unreportable if they do not match. This particularly saves |
2753 | + the user from uploading large reports for e. g. opera crashes, and avoids |
2754 | + filing Ubuntu bugs from Debian installations. (LP: #75513) |
2755 | + |
2756 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 26 Mar 2007 18:01:24 +0200 |
2757 | + |
2758 | +apport (0.70) feisty; urgency=low |
2759 | + |
2760 | + [ Martin Pitt ] |
2761 | + * bin/apport-retrace: Add option --remove-tag to remove a Launchpad bug |
2762 | + tag. This is intended for an automatic Malone crash retracing system. |
2763 | + * debian/control: Bump python-launchpad-bugs dependency to ensure that we |
2764 | + have Bug.[gs]et_metadata(). |
2765 | + * man/apport-retrace.1: Add documentation for --confirm and --remove-tag. |
2766 | + * bin/apport-chroot: Add option --remove-tag and pass it to apport-retrace. |
2767 | + * apport/chroot.py, fix_symlinks(): Convert chroot path prefixed absolute |
2768 | + symlinks to relative symlinks to avoid fakechroot's weird handling of |
2769 | + absolute symlinks. |
2770 | + * Add bin/launchpad-crash-digger: Daemon for watching out for |
2771 | + need-$ARCH-retrace tagged Ubuntu bugs in Launchpad and calling |
2772 | + apport-retrace on them. |
2773 | + * bin/apport-retrace: Mangle bug comment with StacktraceTop to not contain |
2774 | + invalid UTF-8, to avoid getting Internal Server Errors from LP. |
2775 | + * debian/local/setup-apport-retracer: Install libc6-i686{,-dbgsym} into an |
2776 | + x86 chroot, to get sane x86 backtraces for crashes in libc. |
2777 | + * debian/local/setup-apport-retracer: |
2778 | + - Unpack and install python-launchpad-bugs locally if the package is not |
2779 | + installed. |
2780 | + - Link launchpad-crash-digger into the retracer's bin/ dir. |
2781 | + * run-tests: Run tests with python's -tt flag to catch whitespace errors. |
2782 | + * Replace tabs with spaces in all Python files. (LP: #93561) |
2783 | + * Remove trailing white space in all Python files. |
2784 | + * apport/report.py, add_proc_info(): Do not regard symlinks to executables |
2785 | + as interpreted scripts any more (such as Debian alternatives). Add test |
2786 | + case. (LP: #94732) |
2787 | + * problem_report.py: Add new method get_new() which returns a set of all |
2788 | + keys which have been added since load() or construction. Add test cases. |
2789 | + * problem_report.py: Add optional parameter only_new to write(), which |
2790 | + writes only the get_new() keys. Add test case. |
2791 | + * apport/ui.py: Remember currently processed report file and update it with |
2792 | + the added information, so that it becomes useful for local evaluation, |
2793 | + too. Bump python-problem-report dependency to ensure write()'s only_new |
2794 | + availability. (LP: #94678) |
2795 | + * apport-chroot: Add forgotten sys.exit(1) after printing the error message |
2796 | + about an invalid chroot specification. |
2797 | + * apport/ui.py, run_crash(): Check for a field "UnsupportableReason: <text>" |
2798 | + and display an information box that the current configuration cannot be |
2799 | + supported because of <text>, instead of processing and reporting the |
2800 | + crash. Add test case for this workflow. With special regards to our |
2801 | + Firefox crash triagers who want to get rid of the hundreds of |
2802 | + flash-related crashes. :) |
2803 | + * apport/report.py, add_hooks_info(): Use execfile() instead of |
2804 | + __import__(), since package names might conflict with module names already |
2805 | + imported into apport's namespace. Also search for hook named after the |
2806 | + source package name (prefixed with 'source_'). Add test cases. |
2807 | + * bin/apport-chroot: When specifying --save for login, only save the tarball |
2808 | + if the exit status is 0. |
2809 | + * bin/apport-chroot, create: Install /usr/sbin/policy-rc.d to disable init |
2810 | + scripts. |
2811 | + * bin/apport-chroot: Fixed command function selection to not abort with |
2812 | + 'unknown command' if the DistroRelease: was unknown. |
2813 | + * bin/apport-retrace: Replace --no-purge with --no-dpkg. With this option, |
2814 | + do not call dpkg --unpack any more, but dpkg -x, to avoid any fchmod() and |
2815 | + other calls which cause problems in fakechroots. |
2816 | + * bin/apport-retrace: Fix ordering of version numbers in warning message. |
2817 | + * doc/package-hooks.txt: Add some examples, document source package hook. |
2818 | + |
2819 | + [ Kees Cook ] |
2820 | + * apport/report.py, add_proc_info(): If reading /proc/pid/maps fails, |
2821 | + ptrace() the target process to make it readable (proposed security |
2822 | + improvement in future kernels). |
2823 | + * bin/apport-retrace: Fix crash for packages unknown to the apt cache. |
2824 | + * apport/report.py, add_gdb_info(): Limit maximum backtrace depth to 2000 to |
2825 | + avoid infinitely looped stacks and gdb crashes. (LP: #94455) |
2826 | + This also caps the maximum size of information that we add to reports. |
2827 | + (LP: #92653) |
2828 | + * bin/apport-retrace: Add option -R/--rebuild-package-info, so that |
2829 | + apport-retrace works on unprocessed crash dumps in /var/crash. |
2830 | + * Some grammar corrections. |
2831 | + * Add package-hooks/source_apport.py: Package hook for apport itself. |
2832 | + Include /var/log/apport.log and the status of files in /var/crash. |
2833 | + |
2834 | + [ Michael Hofmann ] |
2835 | + * Add cli/apport-cli, setup.py, debian/apport-cli.install, debian/control: |
2836 | + Add command line user interface. |
2837 | + * apport/ui.py, format_filesize(): Use MiB and GiB instead of MB and GB; |
2838 | + these are the official units. Adapt test cases. |
2839 | + * apport/ui.py, collect_info()/file_report(): Do not raise an exception on |
2840 | + KeyboardInterrupt in the subthreads. |
2841 | + * apport/ui.py, open_url(): Do not use gtk.MessageDialog(), but |
2842 | + ui_error_message(), and fix error passing so that the message is |
2843 | + displayed in the parent thread. |
2844 | + * apport/ui.py, open_url(): Check that $DISPLAY is set before considering |
2845 | + the KDE/Gnome web browsers. |
2846 | + |
2847 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 26 Mar 2007 09:41:03 +0200 |
2848 | + |
2849 | +apport (0.69) feisty; urgency=low |
2850 | + |
2851 | + * apport-chroot: Add command 'installdeb' to conveniently install a bunch of |
2852 | + .debs into a chroot. |
2853 | + * apport-chroot: Fix 'login' and 'upgrade' commands to not require |
2854 | + specifying a chroot map when giving a chroot tarball path as argument. |
2855 | + * test-apport: Check that core dumps are written for packaged programs as |
2856 | + well, if ulimits want them. (Test for #92029) |
2857 | + * bin/apport: Call write_user_coredump() for packaged program crashes and |
2858 | + SIGABRT as well. (LP: #92029) |
2859 | + |
2860 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 19 Mar 2007 17:37:23 +0100 |
2861 | + |
2862 | +apport (0.68) feisty; urgency=low |
2863 | + |
2864 | + [ Michael Hofmann ] |
2865 | + * qt4/apport-qt: Fix taskbar entry, remove an unused method. |
2866 | + * qt4/error.ui: Fix icon spacing. |
2867 | + |
2868 | + [ Martin Pitt ] |
2869 | + * apport-retrace: Add option --confirm to display the retraced stack traces |
2870 | + and ask for confirmation before uploading them as LP bug attachments. |
2871 | + (LP: #91878) |
2872 | + * apport-chroot: Add option --confirm-attach; if given, call apport-retrace |
2873 | + with --confirm. |
2874 | + |
2875 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 15 Mar 2007 00:05:18 +0100 |
2876 | + |
2877 | +apport (0.67) feisty; urgency=low |
2878 | + |
2879 | + * debian/local/setup-apport-retracer: Add apt sources for restricted, |
2880 | + universe, and multiverse, too. |
2881 | + * po/de.po: Update from Rosetta. |
2882 | + * apport/report.py: Remove undefined call to error_log() in |
2883 | + _command_output(), replace it with raising proper exceptions. |
2884 | + * bin/apport-retrace: Fix 'numer' typo. (LP: #91680) |
2885 | + * test-apport: Check that non-packaged executables generate a core dump on |
2886 | + SIGABRT, too (test case for bug #92029). |
2887 | + * bin/apport: Move check for ignoring SIGABRT below the core dump file |
2888 | + writing for non-packaged binaries. (LP: #92029) |
2889 | + * gtk/apport-gtk.glade: |
2890 | + - Remove titles from the progress windows to comply with Gnome HIG and not |
2891 | + repeat the text content. |
2892 | + - Improve wording a bit. |
2893 | + - LP: #92114 |
2894 | + * gtk/apport-gtk{,.glade}: Fix signal handler name of the Cancel button in |
2895 | + the upload progress dialog, so that it actually works. (LP: #92115) |
2896 | + |
2897 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 14 Mar 2007 17:34:57 +0100 |
2898 | + |
2899 | +apport (0.66) feisty; urgency=low |
2900 | + |
2901 | + * Remove apport/MultipartPostHandler.py, this functionality moved to |
2902 | + python-launchpad-bugs now. Add a dependency to that package. |
2903 | + * apport/ui.py, upload_launchpad_blob(): Use the shiny new |
2904 | + launchpadBugs.storeblob.upload(). |
2905 | + * bin/apport-retrace: Attach retraced stack traces back to the Launchpad bug |
2906 | + report if no other output option is given (This corresponds to the |
2907 | + in-place editing when a report file is specified). Add option --cookie to |
2908 | + specify a Mozilla-style cookie file for the necessary Launchpad |
2909 | + authentication. |
2910 | + * man/apport-retrace.1: Document above apport-retrace changes. |
2911 | + * bin/apport-chroot: Add --cookie option: temporarily symlink cookie into |
2912 | + the chroot and pass it to apport-retrace in retrace mode. |
2913 | + |
2914 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sat, 10 Mar 2007 15:01:57 +0100 |
2915 | + |
2916 | +apport (0.65) feisty; urgency=low |
2917 | + |
2918 | + * debian/local/setup-apport-retracer: |
2919 | + - Replace grep-dctrl with grep call, since grep-dctrl is not installed in |
2920 | + all the DC chroots. |
2921 | + - Do not download apport source from archive.u.c., instead require that |
2922 | + this script lives in the unpacked apport source tree. |
2923 | + * bin/apport-chroot: Use apt-get options -y and --allow-unauthenticated when |
2924 | + installing additional packages. |
2925 | + * bin/apport-chroot: Handle --extra-package for 'upgrade', too, to provide a |
2926 | + simple way of adding a package to an existing chroot tarball. |
2927 | + * debian/local/setup-apport-retracer: Create tarball chroots by default. |
2928 | + It only imposes a negligible overhead, and sharing unpacked directories |
2929 | + with multiple people is just too brittle. |
2930 | + * bin/apport-retrace: Add option --no-purge to not purge unpacked packages |
2931 | + after retracing. This is (only) useful with temporarily unpacked chroots, |
2932 | + since it's only a waste of time there. |
2933 | + * bin/apport-chroot: Call apport-retrace with --no-purge when retracing in a |
2934 | + chroot tarball. |
2935 | + * apport/chroot.py: Add fix_symlinks() method to remove the chroot root |
2936 | + directory prefix from symbolic links; they prevent function of tarball |
2937 | + chroots and moving around directory chroots. Add test case. |
2938 | + * bin/apport: Fix symlinks after creating and upgrading a chroot. |
2939 | + * bin/apport-chroot: Add option --save to update a tarball after logging |
2940 | + in to it. |
2941 | + |
2942 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sat, 10 Mar 2007 21:21:25 +0100 |
2943 | + |
2944 | +apport (0.64) feisty; urgency=low |
2945 | + |
2946 | + * bin/apport-chroot: Add 'login' command. |
2947 | + * bin/apport-chroot: Install apport-retrace into a newly created chroot. |
2948 | + * Add debian/local/setup-apport-retracer: Script to install local versions |
2949 | + of apport, debootstrap, fake{,ch}root libraries, and a feisty apport |
2950 | + fakechroot. This works OOTB on ronne's amd64 and i386 feisty chroots. The |
2951 | + script is not shipped in any package yet, but it's convenient to ship it |
2952 | + in revision control and in the source. |
2953 | + * apport/report.py, _check_interpreted(): When calling an interpreter with a |
2954 | + script name as argument, set ExecutablePath to the script instead of the |
2955 | + interpreter. Add test case. (LP: #88794) |
2956 | + * apport/report.py, search_bug_patterns(): Catch all exceptions from |
2957 | + urlopen(), not just IOError. Sometimes this fails with funnier errors. |
2958 | + (LP: #89589) |
2959 | + * bin/apport-retrace: Give some additional explanation when installing |
2960 | + packages fails. (LP: #89916) |
2961 | + * apport/fileutils.py, get_all_{system_,}reports(): Fix file access race |
2962 | + condition. (LP: #89977) |
2963 | + * bin/apport-retrace: Add option -p/--extra-package to install an additional |
2964 | + package for retracing. May be specified multiple times. Document new |
2965 | + option in man/apport-retrace.1. (LP: #90077) |
2966 | + * bin/apport-chroot: Add a similar option -p/--extra-package and install |
2967 | + those in the 'create' command and simply pass it to apport-retrace in the |
2968 | + 'retrace' command. (LP: #90077) |
2969 | + * bin/apport-chroot: Add a -v/--verbose option. |
2970 | + * bin/apport-retrace: Do not complain about missing ddebs for Arch: all |
2971 | + packages. |
2972 | + |
2973 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 6 Mar 2007 16:20:41 +0100 |
2974 | + |
2975 | +apport (0.63) feisty; urgency=low |
2976 | + |
2977 | + New feature: fakechroot support for apport-retrace |
2978 | + |
2979 | + * bin/apport-retrace: |
2980 | + - Simplify program design and throw away the complicated debug symbol |
2981 | + sandbox generation, along with the -d and -C options. Instead, directly |
2982 | + install the missing packages and ddebs with apt. This makes the tool more |
2983 | + suitable for running in chroots and has often been requested anyway. |
2984 | + - Add option -u/--unpack-only which causes additionally installed packages |
2985 | + to be unpacked without being configured and purged again after |
2986 | + retracing. This allows apport-retrace to work under fakechroot and has |
2987 | + the nice side effect of speeding up package installation (we do not care |
2988 | + about configuration for retracing anyway). |
2989 | + * man/apport-retrace.1: Update description for the new behaviour, drop |
2990 | + documentation of the -d and -C options, and add documentation of -u. |
2991 | + * Add apport/chroot.py: Class for representing and working with chroots; |
2992 | + this uses the fakeroot and fakechroot libraries when being called as |
2993 | + non-root. |
2994 | + * Add bin/apport-chroot: CLI frontend for doing various things with |
2995 | + chroots (including fakeroot/fakechroot support from the Chroot class). For |
2996 | + now, this implements: |
2997 | + - create a chroot (tarball or directory) |
2998 | + - dist-upgrade a particular or all chroots |
2999 | + - apport-retrace a bug or Apport report file |
3000 | + * setup.py: Ship apport-chroot in scripts directory. |
3001 | + * Add a new package apport-retrace which ships apport-retrace and |
3002 | + apport-chroot and carries all the heavier dependencies (binutils, |
3003 | + python-launchpad-bugs, python-apt, etc.). Drop the latter two dependencies |
3004 | + from the apport package. This allows us to install the apport-retrace |
3005 | + package in fakechroots (not possible with apport itself) and avoid |
3006 | + unnecessary dependencies on normal desktop installations. |
3007 | + |
3008 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 5 Mar 2007 11:20:36 +0100 |
3009 | + |
3010 | +apport (0.62) feisty; urgency=low |
3011 | + |
3012 | + * apport/ui.py, collect_info(): Use REThread instead of Thread and raise |
3013 | + exceptions from it, so that errors during info collection actually become |
3014 | + visible. |
3015 | + * apport/report.py, add_proc_info(): Check that ExecutablePath actually |
3016 | + exists, so that invalid values from transient error conditions are ignored |
3017 | + (such as '/usr/bin/gnome-panel\x00\x00\x8b (deleted)'). |
3018 | + * apport/packaging.py: Add interface get_system_architecture() to return the |
3019 | + system architecture in the distro specific notation. This can differ from |
3020 | + get_architecture(package) on multiarch platforms such as amd64. |
3021 | + * backends/packaging-dpkg.py: Implement get_system_architecture() to return |
3022 | + dpkg --print-architecture, add a shallow test case. |
3023 | + * apport/report.py, add_package_info(): Rename key 'Architecture:' to |
3024 | + 'PackageArchitecture:' for clarity. |
3025 | + * apport/report.py, add_os_info(): Add system architecture as |
3026 | + 'Architecture:' field. |
3027 | + * apport/ui.py, create_crash_bug_title(): Append warning about non-native |
3028 | + package if package architecture does not match the system's one. |
3029 | + * All test suites: Remove redundant word 'behaviour' from test descriptions. |
3030 | + * test-hooks: Run tests on installed hooks in /usr/share/apport by default |
3031 | + and add a '--local' switch to test the hooks in the source tree instead. |
3032 | + Use this option in run-tests. |
3033 | + * apport/report.py, test_add_proc_info(): Change the python script test |
3034 | + so that it does not depend on being run in the source tree. |
3035 | + * run-tests: Add a 'local' command line option which runs tests on the files |
3036 | + and modules in the build tree. Run tests on system files/modules by |
3037 | + default. |
3038 | + * setup.py, debian/apport.install: Ship test-hooks, test-apport, and |
3039 | + run-tests in /usr/share/apport/testsuite/, so that the full test suite can |
3040 | + be run in the installed system. |
3041 | + * gtk/apport-gtk.desktop.in: Only show in Gnome and Xfce. |
3042 | + * qt4/apport-qt.desktop.in: Only show in KDE. |
3043 | + |
3044 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 1 Mar 2007 10:43:29 +0100 |
3045 | + |
3046 | +apport (0.61) feisty; urgency=low |
3047 | + |
3048 | + * bin/apport: |
3049 | + - Kernel 2.6.20-9 now sets CORE_REAL_RLIM to -1 instead of not setting it; |
3050 | + handle this case correctly. (LP: #87065) |
3051 | + - Add forgotten multiplication of CORE_REAL_RLIM with 1024, since ulimit |
3052 | + sets kB, not bytes. |
3053 | + |
3054 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 27 Feb 2007 16:06:11 +0100 |
3055 | + |
3056 | +apport (0.60) feisty; urgency=low |
3057 | + |
3058 | + * gtk/apport-gtk.glade: Reintroduce window titles. Since the crash |
3059 | + notifications are like alerts, title have been removed recently to comply |
3060 | + with Gnome HIG standards, but then the user will get 'nameless window' |
3061 | + buttons in the task bar. Let's have the smaller evil then. (LP: #87164) |
3062 | + * apport/packaging.py: Add get_architecture() interface for determining the |
3063 | + architecture of a particular package (which might not match the overall |
3064 | + system architecture on multiarch-capable systems, e. g. an i386 Firefox |
3065 | + package installed on amd64). |
3066 | + * backends/packaging-dpkg.py: Implement get_architecture() and add test |
3067 | + case. |
3068 | + * apport/report.py, add_package_info(): Add Architecture: field. |
3069 | + (LP: #87424) |
3070 | + * apport/ui.py: Already mark report as seen when we load it, not just in the |
3071 | + information collection thread. That way, reports will only be shown once |
3072 | + on systems which have /var/crash mounted noatime, too. (LP: #85809) |
3073 | + * apport/fileutils.py, mark_report_seen(): If os.utime() fails, and opening |
3074 | + the report file for reading does not change the atime (happens with |
3075 | + noatime mount option), don't throw an exception, just delete the report. |
3076 | + (other aspect of LP: #85809) |
3077 | + * qt4/apport-qt: Wrap gettext() into an unicode(str, 'UTF-8') call, |
3078 | + otherwise all non-ASCII unicode strings are broken. (LP: #87757) |
3079 | + |
3080 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 26 Feb 2007 20:55:40 +0100 |
3081 | + |
3082 | +apport (0.59) feisty; urgency=low |
3083 | + |
3084 | + * apport/report.py: Check that interpreter options are discarded in |
3085 | + test_check_interpreted_script(). This replicates bug #87005. |
3086 | + * apport/report.py, _check_interpreted_script(): Filter out interpreter |
3087 | + command line options. This should make the detection of interpreted |
3088 | + scripts more robust. (LP: #87005) |
3089 | + * test-apport, check_crash(): Differ between expecting the program dumping |
3090 | + core and finding a core dump on disk, because this is not equivalent any |
3091 | + more with core pipelining. |
3092 | + * bin/apport: Write core files into a process' cwd if the process' ulimit |
3093 | + requests and permits it and the crashes process is not packaged, so that |
3094 | + developers get happy again. Test this behaviour with various ulimits in |
3095 | + test-apport. |
3096 | + * test-apport: Check that the core file written by apport is valid. This |
3097 | + uncovers kernel bugs like #87065 |
3098 | + * problem_report.py test suite: Use assertAlmostEqual() when comparing stat |
3099 | + times, since they are floats on some systems. |
3100 | + * apport/report.py, add_gdb_info(): |
3101 | + - Remove all the initial gdb output, which gets rid of the duplicated #0 |
3102 | + line. |
3103 | + - Replace some stray tabs with spaces. |
3104 | + - Thanks to Kees Cook for this! |
3105 | + |
3106 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 22 Feb 2007 19:52:52 +0100 |
3107 | + |
3108 | +apport (0.58) feisty; urgency=low |
3109 | + |
3110 | + * qt4/apport-qt.desktop.in move to System menu |
3111 | + |
3112 | + -- Jonathan Riddell <jriddell@ubuntu.com> Tue, 20 Feb 2007 11:35:17 +0000 |
3113 | + |
3114 | +apport (0.57) feisty; urgency=low |
3115 | + |
3116 | + * apport/ui.py: Intercept ENOMEM and fail gracefully; there is little else |
3117 | + we can do at that point, and there is no point in presenting a crash |
3118 | + report for this. (LP: #85155) |
3119 | + * apport/ui.py: Ignore KeyError when deleting the CoreDump field on sending |
3120 | + a reduced report. This Should Not Happen™, but nevertheless did. |
3121 | + (LP: #86083) |
3122 | + * gtk/apport-gtk, qt4/apport-qt: Intercept ImportError for the non-builtin |
3123 | + Python modules. This usually happens for crashes when there is a |
3124 | + dist-upgrade active and some Python packages have not been configured yet. |
3125 | + (LP: #86007) |
3126 | + * apport/ui.py: If the problem report does not apply to a packaged program, |
3127 | + and we have an ExecutablePath, mention it in the error message for easier |
3128 | + debugging. |
3129 | + * apport/python_hook.py: Resolve symbolic links in ExecutablePath. |
3130 | + (LP: #85529) |
3131 | + * apport/ui.py, open_url(): Remove debugging print statement again, now |
3132 | + that we tracked down bug #83974. |
3133 | + |
3134 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 19 Feb 2007 14:40:29 +0100 |
3135 | + |
3136 | +apport (0.56) feisty; urgency=low |
3137 | + |
3138 | + * apport/ui.py, open_url(): When being invoked as root, call gnome-open or |
3139 | + firefox as root through sudo instead of dropping our uid/gid and calling |
3140 | + it normally. The latter does not work for Firefox for some mysterious |
3141 | + reason. Thanks to Mika Fischer for this trick. (LP: #81207) |
3142 | + * Add debian/local/ubuntu-bug.1: Manpage for ubuntu-bug. Add it to |
3143 | + debian/apport.manpages. |
3144 | + * qt4/apport-qt: Add some missing features that are present in the GTK UI: |
3145 | + - Do not show details by default, add a button to show them. |
3146 | + - Add complete/reduced bug report radio buttons. |
3147 | + - Thanks to Michael Hofmann for this! |
3148 | + |
3149 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 15 Feb 2007 14:59:07 +0100 |
3150 | + |
3151 | +apport (0.55) feisty; urgency=low |
3152 | + |
3153 | + * Add debian/local/ubuntu-bug: Check for a running KDE or Gnome session, |
3154 | + availability of apport-gtk and -qt, and open the appropriate GUI in bug |
3155 | + filing mode. This makes it convenient for shell users and is also required |
3156 | + for proper Firefox 'Report a bug...' menu integration (see bug #85041). |
3157 | + * debian/apport.install: Install ubuntu-bug to /usr/bin. |
3158 | + * gtk/apport-gtk: Generously add some gtk.main_iteration() calls to avoid |
3159 | + hanging dialogs, since we do not have a main loop. |
3160 | + * apport/ui.py: Do not silently ignore exceptions while uploading data to |
3161 | + Launchpad, but intercept them and display their message in the error |
3162 | + dialog. (Part of LP: #84992) |
3163 | + * apport/ui.py: Switch from edge.launchpad.net to production launchpad.net, |
3164 | + since the necessary bits are now there. (LP: #84992) |
3165 | + |
3166 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 14 Feb 2007 13:37:52 +0100 |
3167 | + |
3168 | +apport (0.54) feisty; urgency=low |
3169 | + |
3170 | + * bin/apport: Re-enable, now that our kernel has been fixed to pipe complete |
3171 | + core dumps to us. |
3172 | + |
3173 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 13 Feb 2007 09:33:38 +0100 |
3174 | + |
3175 | +apport (0.53) feisty; urgency=low |
3176 | + |
3177 | + * apport/ui.py, open_url(): Remove some accidentally left-over debugging |
3178 | + junk. |
3179 | + * gtk/apport-gtk: Process pending GTK events after hiding the info |
3180 | + collection window to avoid a hanging dead dialog. |
3181 | + * gtk/apport-gtk: Do not count the lines of fields with binary data. This |
3182 | + particularly avoids long delays with huge core dumps. (LP: #81979) |
3183 | + * apport/ui.py, open_url(): Print URL to stdout, so that we can debug the |
3184 | + weirdness in #83974. |
3185 | + |
3186 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 12 Feb 2007 16:57:05 +0100 |
3187 | + |
3188 | +apport (0.52) feisty; urgency=low |
3189 | + |
3190 | + * apport/report.py: Fix hook directory to be |
3191 | + /usr/share/apport/package-hooks/, not /u/s/apport/. |
3192 | + * Add doc/package-hooks.txt: Document per-package hooks, ship in package |
3193 | + apport. |
3194 | + * Add debian/apport.dirs: Ship package-hooks/ directory. |
3195 | + * gtk/apport-gtk, qt4/apport-qt: Fix detection of binary data so that the |
3196 | + CoreDump is not displayed as incomprehensible gibberish any more. |
3197 | + * Add qt4/apport-qt.desktop.in and add it to POTFILES.in. |
3198 | + * bin/apport-retrace: --verbose can now be specified multiple times to |
3199 | + increase verbosity and debug package installation. Also, fix some quoting |
3200 | + bugs. Thanks to Kees Cook for this! |
3201 | + * qt4/apport-qt: Fix restart button handling. (LP: #84202) |
3202 | + * qt4/apport-qt: Do not try to call splitlines() on a report value that is a |
3203 | + file reference; just display the reference instead. (LP: #84196) |
3204 | + * bin/apport: Disable for now, since the current kernel produces cropped |
3205 | + core dumps and thus we get totally useless crash reports |
3206 | + |
3207 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 9 Feb 2007 18:58:08 +0100 |
3208 | + |
3209 | +apport (0.51) feisty; urgency=low |
3210 | + |
3211 | + New feature: Qt4 GUI implementation: |
3212 | + |
3213 | + * Added qt4/: Qt4 implementation of the abstract user interface. Thanks to |
3214 | + Michael Hofmann <mh21@piware.de> for that! |
3215 | + * debian/copyright: Add Michael as copyright holder. |
3216 | + * setup.py, debian/control, debian/apport-qt.install: Packaging bits for |
3217 | + apport-qt. |
3218 | + * Move translations from apport-gtk to apport, since they are shared between |
3219 | + frontends. Add appropriate Conflicts/Replaces (we don't strictly need it |
3220 | + here because we strip them anyway, but we need that for the moving icon |
3221 | + anyway). |
3222 | + * Move icon from apport-gtk to apport, since it is/can be shared between |
3223 | + frontends. |
3224 | + |
3225 | + Improvements: |
3226 | + |
3227 | + * Replaced old apport.png icon stolen from bug-buddy with nice SVG one. |
3228 | + Thanks to Troy Sobotka for this! |
3229 | + * debian/copyright: Add Troy as copyright holder for the icon. |
3230 | + * bin/apport-retrace, man/apport-retrace.1: Document that report can now be |
3231 | + a LP bug number. |
3232 | + |
3233 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 8 Feb 2007 20:01:12 +0100 |
3234 | + |
3235 | +apport (0.50) feisty; urgency=low |
3236 | + |
3237 | + * gtk/apport-gtk.glade: Fix 'prolem' typo. |
3238 | + * bin/apport-retrace: Use python-launchpad-bugs to create a Report object |
3239 | + from a given Launchpad bug number (given as argument instead of the report |
3240 | + file path). Add appropriate p-l-b dependency. |
3241 | + * gtk/apport-gtk: Mark '(binary data)' string as translatable. |
3242 | + |
3243 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 8 Feb 2007 15:15:47 +0100 |
3244 | + |
3245 | +apport (0.49) feisty; urgency=low |
3246 | + |
3247 | + * gtk/apport-gtk.glade: Fix s/send/sent/ typo. Closes: LP#83061 |
3248 | + * apport/ui.py, create_crash_bug_title(): Cope with odd Tracebacks that are |
3249 | + shorter than three lines. Add test case from the bug. Closes: LP#83556 |
3250 | + * apport/python_hook: Do not create a report if the binary is ignored. Add |
3251 | + test case. Closes: LP#83566 |
3252 | + * gtk/apport-gtk: Do not save/alter crash dialog title any more, it's empty |
3253 | + now. |
3254 | + * apport/ui.py, open_url(): Check the user's session for |
3255 | + ksmserver/gnome-session to decide whether to prefer kfmclient or |
3256 | + gnome-open. Also, only call Firefox directly if gconf's prefered browser |
3257 | + is actually Firefox. Closes: LP#82007 |
3258 | + |
3259 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 6 Feb 2007 18:33:15 +0100 |
3260 | + |
3261 | +apport (0.48) feisty; urgency=low |
3262 | + |
3263 | + New feature: Infrastructure for reporting kernel Oopses: |
3264 | + |
3265 | + * Add bin/kernel_hook and ship it in /usr/share/apport. The kernel can call |
3266 | + this on an Oops. Add a test suite for it to test-hooks. |
3267 | + * apport/ui.py: Add support for reporting ProblemType: Kernel reports, and |
3268 | + add test suite for the workflow. |
3269 | + * gtk/apport-gtk{,.glade}: Add implementation for ui_present_kernel_error(). |
3270 | + |
3271 | + Improvements: |
3272 | + |
3273 | + * Merged various apport-retrace improvements from Kees' branch: |
3274 | + - Add various options to override some report fields with local values. |
3275 | + - Add --verbose option and be quiet by default. |
3276 | + - Read ProcMaps for additional library dependencies, to also catch |
3277 | + libraries loaded at runtime (plugins). |
3278 | + - Set correct debug file directory when starting an interactive gdb |
3279 | + session with -g. |
3280 | + * Add gtk/apport-gtk.desktop.in: Desktop file for calling apport-gtk in |
3281 | + 'file a distro bug' mode, to be displayed in gnome-panel's System menu |
3282 | + (see bug-reporting-tool spec). Also add a Makefile to do the |
3283 | + intltool-merge dance, add it to POTFILES.in, and ship it in |
3284 | + debian/apport-gtk.install. |
3285 | + * bin/apport: Call add_os_info(), so that we get architecture information |
3286 | + even for 'naked' reports which didn't go through UI enrichment. |
3287 | + * Add ./test-hooks: Test suite for the various package hooks shipped with |
3288 | + apport. Test the package problem hook for now. |
3289 | + |
3290 | + Bug fixes: |
3291 | + |
3292 | + * debian/control: Add missing python-apt dependency to apport |
3293 | + (apport-retrace needs it). Thanks to Kees Cook for noticing. |
3294 | + * debian/control: Add gdb dependency to python-apport. |
3295 | + * backends/packaging-dpkg.py test suite: Verify that packages returned by |
3296 | + get_dependencies() actually exist. This catches the 'chops off first |
3297 | + letter of package name sometimes' bug. |
3298 | + * backends/packaging-dpkg.py, _init_status(): Add missing space to Depends: |
3299 | + field format in dpkg-query call. This fixes the chopped-off first letters |
3300 | + in the 'Dependencies' report field. |
3301 | + * setup.py: Remove version attribute, we do not update and use it anyway. |
3302 | + * apport/ui.py: Do not crash if Package: specifies a nonexisting package. |
3303 | + Display a proper error message instead. Add test_run_crash_errors() test |
3304 | + case. |
3305 | + * apport/report.py, add_package_info(): Fix crash when the first dependency |
3306 | + is not installed. Closes: LP#82561 |
3307 | + * gtk/apport-gtk.glade: Remove window titles in alert dialogs to comply with |
3308 | + Gnome HIG. Closes: LP#83123 |
3309 | + |
3310 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 5 Feb 2007 12:19:35 +0100 |
3311 | + |
3312 | +apport (0.47) feisty; urgency=low |
3313 | + |
3314 | + * apport/report.py, add_hooks_info(): Only use first part of 'Package:', |
3315 | + there might be a version number and a changed files list which we must not |
3316 | + propagate to the import statement. Closes: LP#82566 |
3317 | + |
3318 | + -- Kees Cook <kees@ubuntu.com> Wed, 31 Jan 2007 15:37:11 -0800 |
3319 | + |
3320 | +apport (0.46) feisty; urgency=low |
3321 | + |
3322 | + * debian/control: Bump dependencies to python-apport due to recent changes |
3323 | + in expected return values in some UI functions. Closes: LP#82267 |
3324 | + * bin/package_hook: Remove erroneous 'import apport.packaging', which |
3325 | + shadows the packaging variable in the apport package. This unbreaks the |
3326 | + package problem hook. Closes: LP#82297 |
3327 | + |
3328 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 31 Jan 2007 07:51:24 +0100 |
3329 | + |
3330 | +apport (0.45) feisty; urgency=low |
3331 | + |
3332 | + New feature: Infrastructure for package install/upgrade failures: |
3333 | + |
3334 | + * Add bin/package_hook: Script for creating a report for a package |
3335 | + installation/upgrade failure. It receives a package name, a number of log |
3336 | + files, and an ErrorMessage: from stdin. This will be called from e.g. |
3337 | + dist-upgrader. |
3338 | + * setup.py, debian/apport.install: Ship package_hook. |
3339 | + * apport/ui.py: If ProblemType is 'Package', call a new function |
3340 | + self.ui_present_package_error() instead of presenting a crash. Add test |
3341 | + suite checks for the package error report workflow. |
3342 | + * apport/ui.py, create_crash_bug_title(): Create default bug title for |
3343 | + package reports. Add various test cases. |
3344 | + * gtk/apport-gtk{,.glade}: GTK implementation of ui_present_package_error(). |
3345 | + |
3346 | + New feature: Maintain a per-binary blacklist to inhibit apport crash reports |
3347 | + until the binary changes. Closes: LP#79408 |
3348 | + |
3349 | + * apport/report.py: Add new Report methods check_ignored() and mark_ignore() |
3350 | + to check for/set ignore list entries. Add test cases. |
3351 | + * apport/ui.py: Add another return value of ui_present_crash() to specify |
3352 | + whether or not to blacklist the current crash's executable. Check workflow |
3353 | + of both responses in the test suite. |
3354 | + * gtk/apport-gtk{,.glade}: Add a blacklist checkbox to the crash |
3355 | + notification dialogs. |
3356 | + * bin/apport: Do nothing if the current crash is blacklisted. |
3357 | + * test-apport: Test blacklisting. |
3358 | + |
3359 | + Bug fixes: |
3360 | + |
3361 | + * gtk/apport-gtk: Fix return code for restarting the application ('reopen' -> |
3362 | + 'restart'). Closes: LP#81422 |
3363 | + * test-apport: Adapt to new core_pattern kernel interface mode: |
3364 | + - Check core_pattern instead of the obsolete crashdump sysctl to determine |
3365 | + whether or not apport is running. |
3366 | + - Give apport max. 10 seconds to complete. The current kernel reaps the |
3367 | + crashed process as soon as writing the core dump to the pipe is |
3368 | + finished, but apport still needs to write the report file. |
3369 | + - Do not EXFAIL the test for crashes in nonwriteable cwd any more, since |
3370 | + it is now supposed to work (we do not write a core dump to the disk any |
3371 | + more). |
3372 | + * run-tests, use-local: Adapt to new core_pattern kernel interface. |
3373 | + * apport: Improve logging of exceptions, include environment variables. |
3374 | + * apport/report.py test suite: Use gdb to generate a test core dump, do not |
3375 | + rely on kill(SIGSEGV) and the kernel to do it (since we now use a pipe in |
3376 | + core_pattern). |
3377 | + * backends/packaging-dpkg.py: Fix return value of get_modified_files() if |
3378 | + dpkg .list file is missing. |
3379 | + * apport/report.py, add_package_info(): Do not produce stray empty lines for |
3380 | + uninstalled alternative dependencies. |
3381 | + * apport/report.py: Fix test_add_gdb_info_script() to not leave behind a |
3382 | + stray gzip process which randomly blocks stdin. Closes: LP#78421 |
3383 | + * backends/packaging-dpkg.py: Do not read the dpkg status in the |
3384 | + constructor, but lazily initialize it when actually calling a query |
3385 | + function. This avoids imposing the dpkg-query overhead for programs that |
3386 | + import the apport package without doing package queries (such as any |
3387 | + Python program under Ubuntu, due to the Python crash hook). |
3388 | + * apport/ui.py, create_crash_bug_title(): |
3389 | + - Do not crash on an empty StacktraceTop. Closes: LP#81677 |
3390 | + - Do not mention an unknown function name ('??') in the bug title; |
3391 | + instead, use the topmost function with a known name, or leave it out |
3392 | + at all. |
3393 | + - Add test cases for these situations. |
3394 | + * apport/report.py, _get_ignore_dom(): Do not throw an error for an empty |
3395 | + ignore list file. |
3396 | + |
3397 | + Code cleanups: |
3398 | + |
3399 | + * apport/report.py test suite: Refactorize generation of test crash program |
3400 | + and core dump generation. |
3401 | + * Consistently use 'in'/'not in' instead of find() for substring searches. |
3402 | + * Changed the packaging backend import, so that its methods can now be |
3403 | + accessed at apport.packaging instead of apport.packging.impl. |
3404 | + |
3405 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sun, 28 Jan 2007 12:34:05 +0100 |
3406 | + |
3407 | +apport (0.44) feisty; urgency=low |
3408 | + |
3409 | + Some more 'Need for Speed' optimizations: |
3410 | + |
3411 | + * backends/packaging-dpkg.py, _check_files_md5(): Also accept a md5sum |
3412 | + string in addition to a md5sum file. |
3413 | + * backends/packaging-dpkg.py, get_modified_files(): Compare package file's |
3414 | + ctime and mtime against the package list file's mtime and only md5sum the |
3415 | + files that are newer. This drastically reduces the amount of md5suming |
3416 | + (usually to zero) and thus speeds up the information collection. |
3417 | + * backends/packaging-dpkg.py: Use a single hackish 'dpkg-query --show *' |
3418 | + as a portable variant of 'cat /var/lib/dpkg/status' to pre-fill the status |
3419 | + cache with all packages instead of calling dpkg -s on every single package |
3420 | + we query. This changes the time for figuring out dependencies and their |
3421 | + versions from 'unbearable for many packages' to 'barely noticeable'. |
3422 | + |
3423 | + New feature: per-package apport hooks to collect additional information: |
3424 | + |
3425 | + * apport/report.py: Add method add_hooks_info() which executes a function |
3426 | + add_info(report) from /usr/share/apport/<package>.py. Also add |
3427 | + appropriate test cases. This provides per-package hooks for apport. |
3428 | + * apport/ui.py: Call add_hooks_info() in the information collection thread. |
3429 | + |
3430 | + Bug fixes: |
3431 | + |
3432 | + * apport/report.py: Add some more test cases for _check_interpreted() for |
3433 | + Python scripts. |
3434 | + * apport/python_hook.py: Check for a correct ExecutablePath in |
3435 | + test_general(). |
3436 | + * apport/python_hook.py: Use fileutils.likely_packaged() instead of |
3437 | + checking for /tmp and home, so that we ignore stuff in /usr/local, too. |
3438 | + Closes: LP#81244 |
3439 | + * apport/python_hook.py: If we figure out an ExecutablePath which is not |
3440 | + actually an executable, do not create a report. This particularly affects |
3441 | + interactive python sessions where sys.argv[0] is empty and thus |
3442 | + ExecutablePath ends up being the current directory. Add test cases. |
3443 | + Closes: LP#81237 |
3444 | + |
3445 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 24 Jan 2007 17:16:04 +0100 |
3446 | + |
3447 | +apport (0.43) feisty; urgency=low |
3448 | + |
3449 | + * apport/ui.py: Add method create_crash_bug_title() to construct a |
3450 | + reasonable standard bug title for crash reports, so that the automatic |
3451 | + duplicate detection actually has a chance to work. Also add test cases for |
3452 | + various signal crashes and an unhandled Python exception. |
3453 | + * apport/ui.py, file_report(): Submit a default bug title for crash reports. |
3454 | + Closes: LP#79657 |
3455 | + |
3456 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 23 Jan 2007 16:26:40 +0100 |
3457 | + |
3458 | +apport (0.42) feisty; urgency=low |
3459 | + |
3460 | + New feature: https://wiki.ubuntu.com/ApportImprovements (kernel interface |
3461 | + change): |
3462 | + |
3463 | + * bin/apport: Support calling without arguments, to support new semantics |
3464 | + agreed in the ApportImprovements spec: macro values (in particular, pid |
3465 | + and signal number) are passed as environment variables. |
3466 | + * preloadlib/libapport.c: Simulate new kernel behaviour described above. |
3467 | + * debian/apport.init: Set the kernel's core_pattern sysctl to pipe to apport |
3468 | + if the edgy-style 'crashdump-helper' sysctl helper does not exist. |
3469 | + |
3470 | + Bug fixes: |
3471 | + |
3472 | + * bin/apport-retrace: Beautify error message when report file is not |
3473 | + accessible. Closes: LP#79568 |
3474 | + * apport/ui.py: Fix crash in the bug pattern search thread if we could |
3475 | + not determine a package name. Closes: LP#77872 |
3476 | + * bin/apport: Only unlink the core dump if it still exists. Closes: LP#80866 |
3477 | + * gtk/apport-gtk.glade: Fix expand/fill attributes so that the expander gets |
3478 | + all the space when resizing the window. Closes: LP#80987 |
3479 | + * problem_report.py, write_mime(): Make sure that multi-line values that go |
3480 | + to the summary are terminated with a newline. |
3481 | + * apport/ui.py: Fix error message invocation for reporting cloakroom upload |
3482 | + failure. |
3483 | + * problem_report.py, write_mime(): Fix off-by-one comparison of the 'inline |
3484 | + text' treshold, so that apport's StacktraceTop field appears in bug |
3485 | + summaries. Also fix a corner case in CR line ending handling. Check both |
3486 | + things in the test suite. |
3487 | + * gtk/apport-gtk: Add missing 'import subprocess.'. Closes: LP#81007 |
3488 | + * debian/control: Bump apport's and apport-gtk's dependency to python-apport |
3489 | + to make sure that apport.ui is available. Closes: LP#81019 |
3490 | + * apport/ui.py: Add missing 'import pwd'. Closes: LP#81033 |
3491 | + |
3492 | + Minor improvements: |
3493 | + |
3494 | + * apport/ui.py: Get the cloakroom ticket number from the |
3495 | + X-Launchpad-Blob-Token HTTP header instead of parsing the resulting page. |
3496 | + |
3497 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 23 Jan 2007 11:27:20 +0100 |
3498 | + |
3499 | +apport (0.41) feisty; urgency=low |
3500 | + |
3501 | + New feature: Use Malone cloakroom for uploading reports. Closes: LP#70919 |
3502 | + |
3503 | + * gtk/apport-gtk.glade: Redesign bug reporting dialog to have a 'Create bug |
3504 | + report' and a 'Cancel' button. Also assign GTK_RESPONSE_* constants to the |
3505 | + dialog buttons. Go back to Glade 2 since Glade 3 still sucks too much. |
3506 | + * gtk/apport-gtk: Adjust workflow for sending report to Malone cloakroom |
3507 | + instead of asking the user to attach the file. Sending is not yet |
3508 | + implemented, though. |
3509 | + * gtk/apport-gtk: Do not show any dialogs any more when filing a bug. |
3510 | + * Add apport/MultipartPostHandler.py: This module provides an urllib2 opener |
3511 | + for uploading file attachments to forms over HTTP POST. This module is |
3512 | + (C) 2006 Will Holcomb <wholcomb@gmail.com> and was taken from |
3513 | + http://odin.himinbi.org/MultipartPostHandler.py. (This is a serious hole |
3514 | + of the Python standard library IMHO.) |
3515 | + * apport/ui.py, file_report(): Upload blob to Malone (edge.launchpad.net for |
3516 | + now), retrieve the ticket, and pass it to +filebug. |
3517 | + |
3518 | + Refactorizations: |
3519 | + |
3520 | + * gtk/apport-gtk: Major refactorization to use modal dialogs and run() |
3521 | + instead of loosely coupled event handlers. |
3522 | + * Add apport/ui.py: Abstract frontend which encapsulates the logic, workflow |
3523 | + and UI independent bits and provides UI hooks for concrete |
3524 | + implementations. This both makes it easy to write more frontends like Qt |
3525 | + or CLI, and also makes the code automatically testable. Add an extensive |
3526 | + testsuite. |
3527 | + * run-tests: Add ui.py testsuite. |
3528 | + * gtk/apport-gtk: Port to ui.py's UserInterface (which means moving 1/3 of |
3529 | + the code into the new ui_*() methods and throwing away the rest). |
3530 | + * Add apport/REThread.py: Enhanced threading.Thread class that can propagate |
3531 | + the return value and uncaught exceptions of run() to the calling thread. |
3532 | + * apport/ui.py: Get rid of thread_check_bugpatterns() and hackish exception |
3533 | + handling, rewrite using REThread. |
3534 | + * apport/ui.py, gtk/apport-gtk: Add progress bar to report upload. It is |
3535 | + indefinite for now, because neither urllib2 nor httplib support upload |
3536 | + progress. |
3537 | + |
3538 | + Bug fixes: |
3539 | + |
3540 | + * gtk/apport-gtk.glade: Merged Gnome HIG fixes from Sebastian Heinlein, |
3541 | + thank you! |
3542 | + * Merge patch from Sebastian Heinlein to properly treat the apport-gtk icon |
3543 | + the dh_iconcache way and make it themeable. Thank you! |
3544 | + * gtk/apport-gtk: Remove periods from primary dialog texts to comply with |
3545 | + Gnome HIG standards. |
3546 | + * backends/packaging-dpkg.py, get_file_package(): Process list files in |
3547 | + chunks of 100, so that we do not exceed the maximum command line length if |
3548 | + there is a large number of packages installed. Closes: LP#64839 |
3549 | + * gtk/apport-gtk: Use pgrep with -u instead of pidof for testing whether the |
3550 | + crashed process is already running again, so that we do not match |
3551 | + processes of other users. Add procps package dependency for this. |
3552 | + * gtk/apport-gtk: Only offer to restart programs that are in the $PATH. E. |
3553 | + g. /usr/lib/firefox/firefox-bin cannot be called directly. |
3554 | + Closes: LP#79623 |
3555 | + * apport/report.py: Disassemble 16 instructions instead of 32 bytes to |
3556 | + become independent of the instruction size. Thanks to Kees Cook for the |
3557 | + patch! |
3558 | + |
3559 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 22 Jan 2007 10:47:33 +0100 |
3560 | + |
3561 | +apport (0.40) feisty; urgency=low |
3562 | + |
3563 | + * debian/control: Add missing python-dev build dependency, which is |
3564 | + apparently required for 2.5 now. |
3565 | + |
3566 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 15 Jan 2007 11:06:20 +0100 |
3567 | + |
3568 | +apport (0.39) feisty; urgency=low |
3569 | + |
3570 | + * Introduce abstract packaging interface and move all dpkg/apt specific bits |
3571 | + to a dpkg implementation of this packaging interface (merge |
3572 | + apport/abstract-pkg branch): |
3573 | + - Add apport/packaging.py: Abstract packaging system query interface. |
3574 | + - Add backends/packaging-dpkg.py: dpkg implementation of abstract |
3575 | + packaging interface. |
3576 | + - run-tests: Run tests of all backends. |
3577 | + - apport/fileutils.py, apport/report.py: Port to packaging.py interface. |
3578 | + - debian/control: Drop python-apport's 'python-apt' dependency since the |
3579 | + backend only uses dpkg now (without measurable performance penalty since |
3580 | + it uses internal caching). |
3581 | + - debian/rules: Install backends/packaging-dpkg.py as our packaging |
3582 | + backend to apport/packaging_impl.py and remove it again on clean. |
3583 | + |
3584 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sat, 13 Jan 2007 15:53:08 +0100 |
3585 | + |
3586 | +apport (0.38) feisty; urgency=low |
3587 | + |
3588 | + * Add ./COPYING: GPL license. |
3589 | + * debian/rules: Build POT file again. |
3590 | + * apport/fileutils.py: Add get_all_system_reports() and |
3591 | + get_new_system_reports() and added test cases. Now the test suite can also |
3592 | + be run as root to be able to actually check their complete behaviour. |
3593 | + Adapt the other tests to get along with running the tests as root. |
3594 | + * bin/apport-checkreports: Add option --system to check for system crash |
3595 | + reports. Closes: LP#62316 |
3596 | + * gtk/apport-gtk: If called through sudo to process system crashes, drop |
3597 | + privileges to the original user in open_url() so that we get the web |
3598 | + browser correctly. (LP#62316) Caveat: The user cannot actually attach the |
3599 | + crash report file directly since it is not accessible to the user; this |
3600 | + will get fixed once Malone is able to link a bug report with uploaded |
3601 | + blobs. |
3602 | + |
3603 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 12 Jan 2007 14:29:44 +0100 |
3604 | + |
3605 | +apport (0.37) feisty; urgency=low |
3606 | + |
3607 | + * problem_report.py: Remove the requirement that values must not contain |
3608 | + empty lines. Add test cases that reading and writing values with empty |
3609 | + lines works, and add a test case that load() properly complains about |
3610 | + empty lines in debcontrol encoding (empty lines in values are encoded with |
3611 | + a single space). Closes: LP#78094 |
3612 | + * apport/report.py test suite: Do not rely on a particular structure of the |
3613 | + 'cat' stacktrace; apparently this is not consistent across architectures. |
3614 | + Instead, compile a segfaulting mini C program, let it dump core, and test |
3615 | + add_gdb_info() on it instead. This also allows us for a more rigid check |
3616 | + of StacktraceTop. |
3617 | + |
3618 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 8 Jan 2007 14:44:08 +0100 |
3619 | + |
3620 | +apport (0.36) feisty; urgency=low |
3621 | + |
3622 | + * gtk/apport-gtk.glade: Restore pulse step of progress bar (this apparently |
3623 | + got destroyed when saving with Glade 3). |
3624 | + * gtk/apport-gtk{,.glade}: Terminate the program properly when closing the |
3625 | + progress dialog instead of exiting with an exception. |
3626 | + * gtk/apport-gtk: Defer opening of the bug reporting window a bit so that |
3627 | + it appears on top of the browser window. Also enable the task bar blinking |
3628 | + for it when it is in the background. |
3629 | + * gtk/apport-gtk.glade: Restore vertical padding of bug report dialog labels |
3630 | + (another Glade 3 transition regression). |
3631 | + * bin/apport-retrace, apport/report.py: Call gdb on InterpreterPath if |
3632 | + present; calling it on a script does not yield anything useful. Add a test |
3633 | + case to report.py. |
3634 | + * debian/apport.init: Use mkdir -p instead of install -d, since install is |
3635 | + not in /bin. Thanks to Kees Cook for catching this. |
3636 | + * debian/control: Add missing python-apport dependency 'python-apt', which |
3637 | + is not caught by ${python:Depends}. |
3638 | + * gtk/apport-gtk: Catch MemoryError when loading a report and display an |
3639 | + error dialog instead of just crashing. Closes: LP#76235 |
3640 | + * gtk/apport-gtk: Properly catch exceptions from the bug pattern check |
3641 | + thread to avoid useless backtraces like in bug #75160. |
3642 | + * gtk/apport-gtk: Catch exceptions from decoding of damaged reports and |
3643 | + display an error message instead of crashing. Closes: LP#77149 |
3644 | + * apport/report.py: Add missing import of 'time' to test suite. |
3645 | + |
3646 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 5 Jan 2007 09:49:01 +0100 |
3647 | + |
3648 | +apport (0.35) feisty; urgency=low |
3649 | + |
3650 | + Optimizations: |
3651 | + |
3652 | + * apport/fileutils.py: Split out heuristics for determining whether a file |
3653 | + belongs to a package to new function likely_packaged() and add test cases. |
3654 | + * bin/apport: Do not use the expensive find_file_package() any more, use |
3655 | + likely_packaged() instead. This will create initial reports in some |
3656 | + corner cases (like custom non-packaged executables in /usr/bin/), but |
3657 | + greatly reduces I/O impact at crash time. We rely on apport-gtk to deal |
3658 | + with reports that do not actually belong to a packaged executable. |
3659 | + * apport/report.py, add_gdb_info(): Call gdb just once and split the output |
3660 | + instead of calling it again for each command. This should significantly |
3661 | + speed up the gdb stage especially for large programs/core dumps. |
3662 | + * Use cStringIO instead of StringIO in modules. |
3663 | + * gtk/apport-gtk: Code cleanup and refactorization: |
3664 | + - Move iteration over crash reports into __main__ to simplify housekeeping |
3665 | + in the ApportGTK class and get rid of some functions. |
3666 | + - Refactor creation of temporary report file. |
3667 | + * gtk/apport-gtk.glade: Split the text in the progress bar dialog so that we |
3668 | + can use it for multiple steps (like uploading data to Malone) while not |
3669 | + breaking translations. |
3670 | + |
3671 | + New feature: Bug reporting tool (https://wiki.ubuntu.com/BugReportingTool) |
3672 | + |
3673 | + * gtk/apport-gtk: Split out crash report initialization to new function |
3674 | + show_crashes() so that we can use the frontend for other purposes like bug |
3675 | + reporting. |
3676 | + * gtk/apport-gtk: Add --file-bug, --package, and --pid options; if given, |
3677 | + create a bug report about the given package instead of viewing crash |
3678 | + reports. |
3679 | + * gtk/apport-gtk{,.glade}: Generalize some strings to not talk about 'crash' |
3680 | + any more, to make them suitable for bug reporting, too. |
3681 | + * gtk/apport-gtk: Support --file-bug without specifying a package or a PID |
3682 | + for filing generic distro bugs. |
3683 | + * problem_report.py: Add new method write_mime() to encode a problem report |
3684 | + in MIME/Multipart RFC 2822 format (i. e. an email with attachments). Short |
3685 | + values are aggregated into the first inline text/plain part, large values, |
3686 | + binary values, and file references get gzip compressed separate |
3687 | + attachments. Also add various test cases. |
3688 | + |
3689 | + Bug/crash information: |
3690 | + |
3691 | + * apport/report.py, add_user_info(): Add list of system groups that the user |
3692 | + belongs to. |
3693 | + * bin/apport: Call add_user_info(), check functionality in test-apport. |
3694 | + * apport/report.py, add_gdb_info(): Add field 'StacktraceTop' with the top |
3695 | + five functions on the stack and no local variables. This reduced 'glimpse' |
3696 | + is suitable for inline display in bug reports and automatic processing |
3697 | + (dup finders, etc). |
3698 | + |
3699 | + Bug fixes: |
3700 | + |
3701 | + * po/Makefile: Add top_srcdir to work with current intltool. |
3702 | + * po/de.po: Unfuzz some strings. |
3703 | + * apport/report.py, add_gdb_info(): Strip away the 'No symbol table info |
3704 | + available' messages from stack traces. |
3705 | + * apport/report.py, test_search_bug_patterns(): Use security.u.c. instead |
3706 | + of archive.u.c., since the latter times out too often. |
3707 | + |
3708 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 3 Jan 2007 16:45:20 +0100 |
3709 | + |
3710 | +apport (0.34) feisty; urgency=low |
3711 | + |
3712 | + * apport/fileutils.py, mark_report_seen(): Do not bail out if os.utime() |
3713 | + fails due to access permissions. This happens if the file does not belong |
3714 | + to the user calling apport-gtk, but is world-readable (such as ubiquity |
3715 | + crash reports). If utime() fails, repeatedly open()/close() the file for |
3716 | + reading until atime != ctime, or the 1.2s timeout is reached. |
3717 | + Closes: LP#72250 |
3718 | + * apport/python_hook.py: Add unit test, call that in run-tests. |
3719 | + * apport/python_hook.py: Chmod the generated report to 0600 to not expose |
3720 | + potentially private data to the world, and to be consistent with other |
3721 | + crash reports. |
3722 | + * apport/fileutils.py: Add check_files_md5() and test cases. |
3723 | + * apport/report.py, add_package_info(): Append list of modified package |
3724 | + files to Package: and Dependencies: value. Closes: LP#70946 |
3725 | + * bin/apport-retrace: Get along with Package:/Dependencies: fields with list |
3726 | + of modified files. |
3727 | + |
3728 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 22 Dec 2006 12:40:55 +0100 |
3729 | + |
3730 | +apport (0.33) feisty; urgency=low |
3731 | + |
3732 | + * debian/rules: Convert to cdbs. This fixes the dh_pysupport invocation |
3733 | + along the way, too. |
3734 | + * gtk/apport-gtk: Rework web browser invocation: Use kfmclient if available, |
3735 | + fall back to firefox-remote, then to webbrowser.open(). Do not call |
3736 | + x-www-browser any more since this would block if no running browser was |
3737 | + open before. |
3738 | + * Drop the apport_utils module (and with it the python-apport-utils |
3739 | + package), it became too much of a dumping ground. The report file handling |
3740 | + functions now live in apport.fileutils, and the debugging information |
3741 | + collectors are now methods of a new 'Report' class (subclass of |
3742 | + ProblemReport) in the new apport.report module. Adjust all programs |
3743 | + accordingly. |
3744 | + * Add debian/python-apport.postinst: Remove old .pyc and .pyo cruft on |
3745 | + upgrades to clean up after our broken dh_pysupport invocation in earlier |
3746 | + versions, so that the new modules are actually used. |
3747 | + * Remove debian/apport.postinst: Those cleanups were only necessary for |
3748 | + intra-edgy upgrades. |
3749 | + |
3750 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 19 Dec 2006 01:15:27 +0100 |
3751 | + |
3752 | +apport (0.32) feisty; urgency=low |
3753 | + |
3754 | + * apport_utils.py: Filter out "no debugging symbols found" warnings from gdb |
3755 | + outputs, and add some tests for this. Thanks to Kees Cook for the patch! |
3756 | + * test-apport: Fix AGENTPATH directory when building the preload library |
3757 | + (recently moved to bin/). |
3758 | + * use-local: Fix path to apport as well (recently moved to bin/). |
3759 | + * apport-retrace: Use ldd on InterpreterPath if present; ldd'ing scripts |
3760 | + will not get us very far. Closes: LP#72201 |
3761 | + |
3762 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 14 Dec 2006 13:42:58 +0100 |
3763 | + |
3764 | +apport (0.31) feisty; urgency=low |
3765 | + |
3766 | + * Move scripts to bin/ in source package. |
3767 | + * Add apport/python_hook.py: Default exception handler for Python, to create |
3768 | + apport reports for unhandled exceptions. Thanks to Robert Collins |
3769 | + <robert@ubuntu.com> for this! Closes: LP#70957 |
3770 | + * Add new package python-apport to ship the new Python package 'apport'. |
3771 | + This includes the python crash hook for now, but in the near future |
3772 | + apport-utils will get redesigned and put into this package, too. |
3773 | + * debian/control: apport now depends on python-apport instead of |
3774 | + python-apport-utils. |
3775 | + * apport_utils.py: Quiesce gdb error messages in test suite. |
3776 | + |
3777 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sat, 25 Nov 2006 12:30:41 +0100 |
3778 | + |
3779 | +apport (0.30) feisty; urgency=low |
3780 | + |
3781 | + * test-apport, use-local: Support both kernel 2.6.17 and 2.6.19 sysctl names |
3782 | + (crashdump-helper vs. crashdump). |
3783 | + * gtk/apport-gtk.glade: Improve dialog title capitalization. |
3784 | + Closes: LP#70652. |
3785 | + * debian/apport.cron.daily: Immediately exit if /var/crash does not exist. |
3786 | + Create /var/crash in debian/apport.init if it does not exist. |
3787 | + Closes: LP#71599 |
3788 | + * Convert all tabs in Python source code files to spaces to comply to PEP 8. |
3789 | + Thanks to Robert Collins for pointing this out. |
3790 | + * apport_utils.py, gtk/apport-gtk: Do not pass None to subprocess arguments |
3791 | + if report belongs to a non-packaged program. Thanks to Robert Collins for |
3792 | + discovering and fixing this! Closes: LP#70942 |
3793 | + * debian/apport.init: Change /var/crash permissions to 1777, so that custom |
3794 | + crash handlers (in Python/Mono/etc.) can put reports there. |
3795 | + |
3796 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sat, 25 Nov 2006 10:44:33 +0100 |
3797 | + |
3798 | +apport (0.29) feisty; urgency=low |
3799 | + |
3800 | + * apport-retrace: Do not crash if a linked library is not a dependency. |
3801 | + Closes: LP#65914 |
3802 | + * apport_utils.py: |
3803 | + - Add test_find_file_package_diversion() selftest to check diversion |
3804 | + handling. |
3805 | + - find_file_package(): Check for and respect diversions. |
3806 | + - Closes: LP#65917 |
3807 | + * debian/apport.init, test-apport, use-local: Adapt to 'crashdump-helper' -> |
3808 | + 'crashdump' sysctl renaming in 2.6.19. |
3809 | + * test-apport: Restore cwd even when failing a test. |
3810 | + * problem_report.py, ProblemReport.write(): Support file-like objects as |
3811 | + argument of file references to support direct reading from pipes. Add test |
3812 | + case test_write_fileobj(). |
3813 | + * apport: Support '-' as core file argument, in which case the core will be |
3814 | + read from stdin. This paves the way for using Linux 2.6.19's 'pipe |
3815 | + core_pattern' feature. Bump python-problem-report dependency to >= 0.29 |
3816 | + for this. |
3817 | + * apport: Confine permissions of log file to root:adm 0640, just in case. |
3818 | + * apport: Temporarily drop real u/gid to target user for the os.access() |
3819 | + tests, so that normal users cannot verify the existence of a given |
3820 | + inaccessible file. Add comprehensive tests to apport_utils' test suite and |
3821 | + test-apport. Thanks to Kees Cook for this patch! |
3822 | + * apport_utils.py, find_file_package(): Terminate fgrep options with '--' to |
3823 | + avoid problems with funny file names. Thanks to Kees Cook for spotting |
3824 | + this! |
3825 | + * test-apport: Automatically detect whether ULIMIT_CORE is nonzero, and |
3826 | + adapt tests accordingly: check that core still exists after invoking |
3827 | + apport, and clean it up. |
3828 | + * apport-retrace: Add new mode -g/--gdb which starts an interactive gdb |
3829 | + session with the report's core dump. Add this to man/apport-retrace.1, too. |
3830 | + * apport-retrace: If -c is given, completely remove the CoreDump field from |
3831 | + the report instead of setting it to 'removed'. |
3832 | + * test-apport: When using 'lib' mode, point APPORT_LOG_FILE to a temporary |
3833 | + file. Print it if the test suite fails. |
3834 | + * test-apport: Fix EXFAILure of the 'core dump works for non-writable cwds' |
3835 | + test case. |
3836 | + * preloadlib: Support -DPIPE_CORE mode which emulates the |
3837 | + pipe-in-core_pattern mode of kernel 2.6.19. |
3838 | + * test-apport: Build preload library with core piping. No more failed test |
3839 | + suite checks in 'lib' mode. |
3840 | + |
3841 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sun, 5 Nov 2006 07:10:30 -0800 |
3842 | + |
3843 | +apport (0.28) edgy; urgency=low |
3844 | + |
3845 | + "No core - ignore!" |
3846 | + |
3847 | + * apport: Do not create a report for crashes which we do not get a core dump |
3848 | + for. The reports are useless and only clutter our bug tracker. |
3849 | + |
3850 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 9 Oct 2006 15:22:32 +0200 |
3851 | + |
3852 | +apport (0.27) edgy; urgency=low |
3853 | + |
3854 | + * apport: Ignore SIGABRT for now; it's usually signalled from abort() or |
3855 | + assertion failures and we only get reports with unusable stack traces for |
3856 | + it (see #61938). |
3857 | + * gtk/apport-gtk: If gnome-open is not available, fall back to x-www-browser |
3858 | + instead of using webbrowser.py, to respect default browser in XFCE. |
3859 | + Closes: LP#64209 |
3860 | + * apport: use os.nice() instead of executing 'renice'. Thanks to Benoit |
3861 | + Boissinot for noticing. |
3862 | + * apport_utils.py, find_file_package(): Lower() both strings in the speedup |
3863 | + heuristics to match e. g. /usr/bin/Xorg -> xserver-xorg. Thanks to Kees |
3864 | + Cook! |
3865 | + * apport_utils.py, report_add_package_info(): Do not crash if we encounter a |
3866 | + 'None' current version, which can happen with uninstalled alternative |
3867 | + dependencies. Thanks to Kees Cook for tracking this down! |
3868 | + |
3869 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 6 Oct 2006 17:15:08 +0200 |
3870 | + |
3871 | +apport (0.26) edgy; urgency=low |
3872 | + |
3873 | + * apport-retrace: Clean up code a bit: |
3874 | + - Move option parsing to separate function. |
3875 | + - Use apport_utils' report_add_gdb_info() instead of duplicating the gdb |
3876 | + code. |
3877 | + * apport_utils.py, report_add_gdb_info(): Add optional parameter 'debugdir' |
3878 | + to specify an alternate debug file symbol root directory. |
3879 | + * apport-retrace: Add option -d/--download-debug to automatically download |
3880 | + available ddebs, create a temporary debug symbol directory from already |
3881 | + installed and downloaded ddebs, and point gdb to use that. Also add option |
3882 | + -C/--cache-dir to specify a permanent ddeb cache directory (by default, a |
3883 | + temporary one is used). Update the manpage accordingly. |
3884 | + * apport-retrace: Make the best out of a report without packaging |
3885 | + information (which can happen if the user does not click on 'report bug' |
3886 | + in apport-gtk). |
3887 | + * apport_utils, report_add_proc_info(): |
3888 | + - Move heuristics for detecting interpreted scripts to a separate function |
3889 | + to be able to provide separate test cases for it. Check a few more |
3890 | + special cases for mono programs. |
3891 | + - Make interpreter heuristics even scarier to detect some more mono corner |
3892 | + cases (like banshee and beagled-helper). Closes: LP#58859 |
3893 | + |
3894 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 4 Oct 2006 19:10:47 +0200 |
3895 | + |
3896 | +apport (0.25) edgy; urgency=low |
3897 | + |
3898 | + * Drop apport-gtk's update-notifier dependency to a Recommends:. |
3899 | + * apport_utils.py, report_add_gdb_info(): Add register dump and disassembly |
3900 | + of the last 32 bytes, they might be useful to see what's going on |
3901 | + sometimes. Thanks to Kees Cook for the idea and the patch. |
3902 | + * test-apport, check_crash(): Verify that a crash does not leave a core file |
3903 | + behind. (Test for LP#62972) |
3904 | + * preloadlib/libapport.c: Do not unlink the core file after calling apport, |
3905 | + but set REMOVE_CORE=1 environment instead. This matches the current |
3906 | + kernel behaviour. |
3907 | + * apport: Register an atexit handler as early as possible for unlinking the |
3908 | + core dump if REMOVE_CORE environment is set. Closes: LP#62972 |
3909 | + * apport: Set nice level 10 instead of 5. Closes: LP#63099 |
3910 | + |
3911 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 2 Oct 2006 14:21:53 +0200 |
3912 | + |
3913 | +apport (0.24) edgy; urgency=low |
3914 | + |
3915 | + The "Need for speed" release -- rrrroarrr! |
3916 | + |
3917 | + * apport: Remove _copy_shrink_corefile(): While this has an enormous impact |
3918 | + on the size of an uncompressed core dump, it only causes a negligible size |
3919 | + reduction of the bzip2'ed core, but it needs a lot of I/O resources for |
3920 | + large core dumps. |
3921 | + * problem_report.py: |
3922 | + - Use zlib instead of bzip2 for compressing the binary data (in |
3923 | + particular, core dumps). This results in slightly bigger files, but speeds |
3924 | + up compression a lot (30 seconds vs. ~2:45 minutes for a Firefox core dump |
3925 | + on my slow iBook). Closes: LP#61538 |
3926 | + - ProblemReport.read(): Support both bzip2 and zlib compression to be able |
3927 | + to read existing reports, too. |
3928 | + - Add/Adapt test cases. |
3929 | + * Move InformationCollector._get_gdb() from apport to apport_utils.py |
3930 | + report_add_gdb_info(), and add a test case for it. |
3931 | + * apport_utils.py, report_add_package_info(): Support calling without a |
3932 | + package name, then it will be figured out from ExecutableName. Extend test |
3933 | + case accordingly. |
3934 | + * test-apport: Do not require apport reports to contain gdb, packaging, and |
3935 | + OS information, since we are going to move them out of apport. |
3936 | + * apport: Do not collect static information. It requires a lot of CPU and |
3937 | + I/O resources and slows down the machine a lot, and it can be added to |
3938 | + the report later in the frontend. This also gets rid of the entire |
3939 | + InformationCollector class, since everything has been moved to |
3940 | + apport_utils.py now. Closes: LP#62542 |
3941 | + * apport: Do not intercept KeyboardInterrupt as unhandled exception (only |
3942 | + useful for command line debugging, though). |
3943 | + * problem_report.py: Add test case for appending new data to an existing |
3944 | + report, fix write() function to not rely on an existing ProblemType key. |
3945 | + * problem_report.py: Add new method ProblemReport.add_to_existing() to |
3946 | + update an already existing problem report with new data. Add test case. |
3947 | + * apport_utils.py, mark_report_seen(): Use os.utime() instead of |
3948 | + open()/read() and a timeout for simpler and faster operation. |
3949 | + * gtk/apport-gtk: |
3950 | + - Collect gdb/packaging/operating system information when the user chooses |
3951 | + to file a bug and update the apport report. |
3952 | + - Change the 'Downloading bug patterns...' progress dialog to 'Collecting |
3953 | + information about the crash...'. |
3954 | + * debian/control: Bumped library dependencies of apport-gtk, added |
3955 | + update-notifer dependency. |
3956 | + |
3957 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 29 Sep 2006 15:47:56 +0200 |
3958 | + |
3959 | +apport (0.23) edgy; urgency=low |
3960 | + |
3961 | + * apport: Reset signal handler to SIG_IGN in the crash signal handler, to |
3962 | + avoid an endless crash/handler loop (noticed during debugging LP#61708). |
3963 | + * debian/apport.init: Do not let the script run with set -e, so that |
3964 | + do_{start,stop} can deliver their return codes for proper evaluation, |
3965 | + instead of immediately existing. Closes: LP#61796 |
3966 | + * test-apport: Check that SIGQUIT does not generate a report. (Check for |
3967 | + bug #62511). |
3968 | + * apport: Ignore SIGQUIT. Closes: LP#62511 |
3969 | + |
3970 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 28 Sep 2006 20:57:38 +0200 |
3971 | + |
3972 | +apport (0.22) edgy; urgency=low |
3973 | + |
3974 | + * apport_utils.py, report_add_proc_info(): Make 'interpreted script' |
3975 | + detection more general to also work for mono programs. |
3976 | + * test-apport: Check that non-packaged scripts do not generate a report. |
3977 | + * apport: Call ic.collect_runtime_information() earlier and drop the local |
3978 | + /proc/pid/exe examination, so that we get proper script detection. This |
3979 | + avoids getting crash reports for non-packaged scripts (see test case |
3980 | + change from above). |
3981 | + * apport: Do not try to chmod the report file if we could not create it and |
3982 | + output to stderr instead (this mainly affects local testing only). |
3983 | + * apport_utils.py, find_file_package(): First grep the package lists whose |
3984 | + names are a substring of the crashed binary name (or vice versa), to |
3985 | + immensely speed up the package name determination in many cases. |
3986 | + * apport: Drop the maximum number of consecutive crashes per executable |
3987 | + from 5 to 2. 5 creates a too bad user experience and creates the |
3988 | + impression that it will never stop. Closes: LP#61078 |
3989 | + |
3990 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 19 Sep 2006 16:16:46 +0200 |
3991 | + |
3992 | +apport (0.21) edgy; urgency=low |
3993 | + |
3994 | + * apport: Keep a partially written report with '000' permissions, and only |
3995 | + chmod it to 0600 when it is fully written. This stops update-notifier from |
3996 | + picking up half-written reports and get activated several times. |
3997 | + Closes: LP#59988 |
3998 | + * apport: Add the executable path to the first line of logging. |
3999 | + * apport: Run the complete code under control of the general exception |
4000 | + fallback handler. |
4001 | + * debian/apport.default: Increase maximum core size to 200 MB, to also catch |
4002 | + Firefox and Evolution core dumps. |
4003 | + * apport_utils.py, find_file_package(): Before searching the dpkg database |
4004 | + (which is expensive), check if the executable path matches a whitelist of |
4005 | + path prefixes. This replaces the weaker blacklist (/tmp and /home) in |
4006 | + apport itself. |
4007 | + * gtk/apport-gtk: Show a progress dialog while checking for bug patterns and |
4008 | + execute report_search_bug_patterns() in a separate thread, so that the UI |
4009 | + is not potentially blocked for a long time. |
4010 | + * apport: Gracefully abort if we cannot readlink /proc/pid/exe, instead of |
4011 | + falling over with an exception. Closes: LP#59993 |
4012 | + * debian/rules: Use 'multiuser' instead of 'defaults' for dh_installinit. |
4013 | + Clean up the unnecessary rc symlinks in postinst and add appropriate |
4014 | + sysv-rc dependency. |
4015 | + |
4016 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 14 Sep 2006 23:16:26 +0200 |
4017 | + |
4018 | +apport (0.20) edgy; urgency=low |
4019 | + |
4020 | + * apport: Renice ourself to priority 5 to not slow down the user's processes |
4021 | + so heavily. |
4022 | + * Add manpages for apport-retrace(1) and apport-unpack(1) and install them |
4023 | + into apport. Closes: LP#58463 |
4024 | + * problem_report.py: Test attaching two files instead of one in the |
4025 | + test_write_file() regression check to assert correct key sorting. |
4026 | + * problem_report.py: Alter write() method to sort binary data to the end of |
4027 | + the report. This makes reports easier to read, and also shows relevant |
4028 | + information more quickly when progressively loading them in a web browser. |
4029 | + Adapt regression tests accordingly. |
4030 | + * Move setting of ExecutablePath from apport's InformationCollector ctor to |
4031 | + apport_utils' report_add_proc_info(), where it belongs to. Check |
4032 | + ExecutablePath in apport_utils' regression tests. |
4033 | + * apport-unpack: Support '-' as report argument to read from stdin. |
4034 | + * apport_utils.py, report_add_proc_info(): |
4035 | + - Apply some heuristics to determine whether the crashed process is an |
4036 | + interpreted script (check if the Name in /proc/pid/status matches |
4037 | + the second /proc/pid/cmdline part, and if that command line argument is |
4038 | + an existing executable file). In the case of an interpreted script, set |
4039 | + ExecutablePath to the script and InterpreterPath to the actually crashed |
4040 | + ELF binary. |
4041 | + - Test this with a shell (/bin/zgrep) and a Python (./apport-unpack) |
4042 | + script in the test suite. |
4043 | + - Closes: LP#58859 |
4044 | + * Add debian/apport.logrotate to add a daily 7-step /var/log/apport |
4045 | + log rotation. |
4046 | + * test-apport: Fix WCOREDUMP() and pidof checks in check_crash(). |
4047 | + * apport: Install a signal handler for all 'crashy' signals, which just logs |
4048 | + the signal and stack info and exits. This should avoid a crashing apport |
4049 | + examining itself, possibly in an endless loop. Closes: LP#58873 |
4050 | + |
4051 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 11 Sep 2006 09:20:18 +0200 |
4052 | + |
4053 | +apport (0.19) edgy; urgency=low |
4054 | + |
4055 | + * apport_utils.py: Add function report_search_bug_patterns(): Try to |
4056 | + download a package specific bug pattern XML file from a given URL base |
4057 | + directory and return the bug URL in case of a match. Also add extensive |
4058 | + test suite check. |
4059 | + * test-apport: Fix help message. |
4060 | + * apport-gtk: Make use of the new report_search_bug_patterns() function and |
4061 | + display appropriate instructions on match. Bump python-apport-utils dependency. |
4062 | + |
4063 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 5 Sep 2006 11:31:17 +0200 |
4064 | + |
4065 | +apport (0.18) edgy; urgency=low |
4066 | + |
4067 | + The "mating dance for ubiquity" release. |
4068 | + |
4069 | + * apport-gtk: |
4070 | + - Use pidof's -x option in the detection whether the program is already |
4071 | + running to correctly handle scripts. |
4072 | + - Do not assume the presence of the ExecutablePath key in reports, but |
4073 | + gracefully fall back to Package. |
4074 | + - If the report specifies an explicit DesktopFile, use that instead of |
4075 | + trying to figure it out. |
4076 | + - Only created reduced report and show the radio buttons if there are |
4077 | + actually removed fields. |
4078 | + - Change tooltip of 'reduced report' radio button to be more generic (do |
4079 | + not refer to the memory dump, but to 'large items', since this is what |
4080 | + apport-gtk currently does). |
4081 | + - Support new field 'BugDisplayMode: file | list (default)'. In 'file' |
4082 | + mode, display the /+filebug page instead of /+bugs and change |
4083 | + instructions accordingly. |
4084 | + - Use the ProcCmdline attibute to restart an application; correctly |
4085 | + parsing of all the desktop file is just not possible at this point. |
4086 | + - Support new field 'RespawnCommand' to use custom respawning command. |
4087 | + * problem_report.py: Add method has_removed_fields() to check whether load() |
4088 | + skipped any fields due to binary=False. Add test suite check. |
4089 | + * apport_utils.py: Fix the quoting in ProcCmdline so that it is fully shell |
4090 | + compatible. |
4091 | + * run-tests: Check if kernel crash dump helper is active, and if so, run |
4092 | + test-apport in kernel mode. |
4093 | + * problem_report.py: Support an optional second argument of file references |
4094 | + which controls whether or not the file contents will be compressed/encoded |
4095 | + (defaults to True for backwards compatibility). Add test suite checks. |
4096 | + |
4097 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 25 Aug 2006 14:01:47 +0200 |
4098 | + |
4099 | +apport (0.17) edgy; urgency=low |
4100 | + |
4101 | + * Move packaging information collection from apport to new function |
4102 | + report_add_package_info() in apport_utils.py, add test suite check. |
4103 | + * Move operating system information collection from apport to new function |
4104 | + report_add_os_info() in apport_utils.py, add test suite check. |
4105 | + * Move /proc information collection from apport to new function |
4106 | + report_add_proc_info() in apport_utils.py, add test suite check, and fix |
4107 | + handling of failed /proc/$$/environ reading. |
4108 | + * preloadlib/libapport.c: Route gcore's stderr to /dev/null to suppress |
4109 | + error messages during the test suite and to become more compatible to the |
4110 | + kernel behaviour. |
4111 | + * Change apport_utils.py to be a public module and ship it in the new |
4112 | + python-apport-utils package, so that other applications like ubiquity can |
4113 | + use it easily. |
4114 | + * po/de.po: Add new translations to make this complete again. |
4115 | + * problem_report.py, apport_utils.py: Prepend UnitTest classes with '_' so |
4116 | + that they do not appear in the help() output. |
4117 | + * apport_utils.py: Add make_report_path(), which constructs the canonical |
4118 | + crash report pathname for a given report. |
4119 | + * Add debian/apport.postinst: Remove /usr/share/apport/apport_utils.pyc when |
4120 | + upgrading from an earlier version, so that the programs in |
4121 | + /usr/share/apport actually use the version from p-apport-utils. |
4122 | + |
4123 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 22 Aug 2006 18:14:00 +0200 |
4124 | + |
4125 | +apport (0.16) edgy; urgency=low |
4126 | + |
4127 | + * test-apport: Check that non-packaged binaries do not generate a report. |
4128 | + * apport_utils.py: Add find_file_package() to find the package a file |
4129 | + belongs to. This uses fgrep /var/lib/dpkg/info/*.list which is much faster |
4130 | + than dpkg -S. Also add test suite check. |
4131 | + * apport: Use find_file_package() instead of direct dpkg -S call and pass |
4132 | + the result to the InformationCollector ctor to avoid grepping the dpkg |
4133 | + lists twice. |
4134 | + * apport: Immediately exit if the executable name starts with /home or /tmp, |
4135 | + to avoid grepping the dpkg database in the common developer case. |
4136 | + * apport: Replace 0-bytes in ProcCmdline with spaces to keep them readable. |
4137 | + * apport-gtk: Offer an alternative small report (without the core dump) for |
4138 | + users with slow internet connection. |
4139 | + |
4140 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 21 Aug 2006 19:34:47 +0200 |
4141 | + |
4142 | +apport (0.15) edgy; urgency=low |
4143 | + |
4144 | + * Add apport-unpack: Script to extract the fields of a problem report into |
4145 | + separate files into a new or empty directory. Mainly useful for extracting |
4146 | + compressed binary data like the core dump. |
4147 | + * test-apport: Check that dumped environment only contains security |
4148 | + insensitive variables. |
4149 | + * apport: Filter out all environment variables but $SHELL, $PATH, and |
4150 | + locale/language related ones. Closes: LP#56846 |
4151 | + * test-apport: Delete test report in the cleanup handler so that the |
4152 | + kernel-mode test can be run multiple times without manual cleanup. |
4153 | + * test-apport: Check for running apport and test executable processes in |
4154 | + check_crash(). |
4155 | + * preloadlib/libapport.c: Improve error checking, some robustification. |
4156 | + * test-apport: If using the preload library, wait a second between the test |
4157 | + process invocations in the flooding test to mitigate a strange race |
4158 | + condition that sometimes causes the signal handler not to be executed. |
4159 | + |
4160 | + -- Martin Pitt <martin.pitt@ubuntu.com> Sun, 20 Aug 2006 16:28:43 +0200 |
4161 | + |
4162 | +apport (0.14) edgy; urgency=low |
4163 | + |
4164 | + * preloadlib/libapport.c: Write core dump into cwd instead of /tmp to act |
4165 | + like the current kernel. |
4166 | + * apport_utils.py: Check APPORT_REPORT_DIR environment variable for an |
4167 | + alternate crash report directory. This is mainly useful for a local test |
4168 | + suite. |
4169 | + * apport: Quiesce the apt module's FutureWarning. |
4170 | + * preloadlib/libapport.c: Re-raise the signal instead of doing exit() so |
4171 | + that the process exits with the same code as it would do without the |
4172 | + library. |
4173 | + * preloadlib/libapport.c: Close stdout for gcore process. |
4174 | + * Add test-apport: Use preloadlib/ and APPORT_REPORT_DIR to create a |
4175 | + sandboxed environment and run various apport functionality tests. Also add |
4176 | + this script to run-tests. |
4177 | + * apport_utils.py, delete_report(): Actually try to unlink the report before |
4178 | + falling back to truncating it to zero bytes. |
4179 | + * preloadlib/libapport.c: Close stderr for apport process. |
4180 | + |
4181 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 18 Aug 2006 15:46:37 +0200 |
4182 | + |
4183 | +apport (0.13) edgy; urgency=low |
4184 | + |
4185 | + * Do not run the test suite on build since on the buildds modifying |
4186 | + file atimes does not work. |
4187 | + |
4188 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 18 Aug 2006 00:59:26 +0200 |
4189 | + |
4190 | +apport (0.12) edgy; urgency=low |
4191 | + |
4192 | + * apport-gtk: Make bug report window resizable when the details are |
4193 | + expanded. Closes: LP#56672 |
4194 | + * apport_utils.py: Add get_recent_crashes() and a test suite check for it. |
4195 | + * apport: If the same binary produced more than 5 crashes in the last 24 |
4196 | + hours, ignore the crash. This is a hideous and pretty ad-hoc band-aid to |
4197 | + avoid flooding users with reports for continuously crashing respawning |
4198 | + processes. Closes: LP#56362 |
4199 | + * apport: Clean up exit codes to only exit with 0 if report was created, and |
4200 | + with 1 otherwise (to become more compatible to proposed future kernel |
4201 | + behaviour, where core dumps are only generated on demand). |
4202 | + * Add run-tests script which calls all available selftests. |
4203 | + * debian/rules: Run run-tests during build to have the package FTBFS on |
4204 | + regressions. Add python build dependency for this (it is already there |
4205 | + implicitly anyway). |
4206 | + |
4207 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 17 Aug 2006 16:06:41 +0200 |
4208 | + |
4209 | +apport (0.11) edgy; urgency=low |
4210 | + |
4211 | + * gtk/apport-gtk.glade: Remove separators from dialogs. Closes: LP#56326 |
4212 | + * apport: |
4213 | + - Move information collection from ctor to two new separate functions |
4214 | + collect_runtime_information() (fast, privileged, crashed process must |
4215 | + exist) and collect_static_information() (slow, unprivileged, crashed |
4216 | + process does not need to exist). This allows a cleaner design. |
4217 | + - Add missing close() call in init_error_log(). |
4218 | + - Do not catch SystemExit in the final catch-all-and-log clause (will |
4219 | + become important once we switch to master/slave processes). |
4220 | + - Clean up handling of temporary files. |
4221 | + - Log successful report creation with file and package name, to ease |
4222 | + debugging. |
4223 | + - transitive_dependencies(): Do not break on pure virtual dependencies |
4224 | + (like perl-api-XXX). |
4225 | + * Add debian/apport.default: Default file to disable apport entirely and to |
4226 | + change the maximum size of kernel created core dumps. |
4227 | + * debian/apport.init: Evaluate new default file. |
4228 | + |
4229 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 16 Aug 2006 17:05:19 +0200 |
4230 | + |
4231 | +apport (0.10) edgy; urgency=low |
4232 | + |
4233 | + * apport-gtk: Show report file size in bug report window. |
4234 | + * apport: Correctly handle relative paths to core dumps (use crashed |
4235 | + process' cwd). |
4236 | + * Fix the GPL URLs in source file's copyright comments. |
4237 | + * debian/apport.cron.daily: Add -mindepth 1 to find commands to avoid |
4238 | + attempting to remove the /var/crash/ directory. Closes: LP#55107 |
4239 | + * problem_report.py: |
4240 | + - Fix precise whitespace handling in continuation lines, add selftest. |
4241 | + - Add selftest for reading a report, modifying fields, and writing it |
4242 | + back. |
4243 | + - Fix writing back binary data, adapt test suite to check it. |
4244 | + - Fixed ProblemReport.load() to clean up old data, added selftest. |
4245 | + - Restructure class to inherit from IterableUserDict and throw away all |
4246 | + the now obsolete dictionary wrapper methods. |
4247 | + * debian/apport.init: Add colon to description to make output less |
4248 | + confusing. |
4249 | + * Add apport-retrace and install it into apport: This tool takes a crash |
4250 | + report and refreshes the stack traces in it. This is particularly useful |
4251 | + if debug symbols are installed now, but haven't been at the time the crash |
4252 | + occured. |
4253 | + |
4254 | + -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 11 Aug 2006 15:40:05 +0200 |
4255 | + |
4256 | +apport (0.9) edgy; urgency=low |
4257 | + |
4258 | + * apport: Call objcopy to throw out READONLY/CODE sections from the core |
4259 | + dump, which drastically reduces its (uncompressed) size (factor 2 to 10). |
4260 | + This has little effect on the bzip2'ed core dump, though. |
4261 | + * apport: |
4262 | + - Support an optional third command line argument which specifies the |
4263 | + location of a core dump. |
4264 | + - If a core dump is given, call gdb on the core dump instead of the |
4265 | + crashed process. We cannot attach to the latter if we are called by the |
4266 | + kernel (since the crashed process is in uninterruptible kernel sleep). |
4267 | + - If no core dump is given, do not attempt to do anything gdb related. |
4268 | + - This matches the future behaviour of the kernel crash dump helper while |
4269 | + remaining compatible to the previous call semantics. |
4270 | + * Add preloadlib/{Makefile,libapport.c}: LD_PRELOADable library which |
4271 | + emulates the future kernel behaviour. This is ONLY for testing and |
4272 | + development purposes. It uses unsafe temporary file handling and thus must |
4273 | + not be used on production boxes! |
4274 | + * Ship preloadlib/* as examples in package 'apport' for people who want to |
4275 | + play with it until the new kernel arrives. |
4276 | + * Add preloadlib/README: Explain how to use the preload library. |
4277 | + |
4278 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 9 Aug 2006 12:12:20 +0200 |
4279 | + |
4280 | +apport (0.8) edgy; urgency=low |
4281 | + |
4282 | + * apport_utils.py: |
4283 | + - Add two new functions seen_report() and mark_report_seen(). |
4284 | + - get_new_reports(): Only return unseen reports, add function |
4285 | + get_all_reports() for the old behaviour. |
4286 | + * gtk/apport-gtk.py: Do not delete reports after notifying about them. This |
4287 | + way, we do not need to add another button to save the report (which is |
4288 | + considered evil UI-wise), but still retain the report for filing and |
4289 | + examining later. |
4290 | + * Replace all usages of '/var/crash' to a new global variable in |
4291 | + apport_utils; this is particularly useful for test suites. |
4292 | + * apport.py: Overwrite old reports if they are seen. |
4293 | + * apport_utils.py: Add a test suite for all exported functions. |
4294 | + |
4295 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 8 Aug 2006 19:29:23 +0200 |
4296 | + |
4297 | +apport (0.7) edgy; urgency=low |
4298 | + |
4299 | + * Add apport_utils.py: Factorize out some common code of apport-gtk, |
4300 | + possible future frontends, and some backend tools. |
4301 | + * Add apport-checkreports: Test if there are new crash reports for the |
4302 | + invoking user. This factorizes out the tests we currently do in |
4303 | + update-notifier and makes them easier to change and keep in sync with |
4304 | + apport itself. Ship the script in the apport package. |
4305 | + |
4306 | + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 8 Aug 2006 17:24:46 +0200 |
4307 | + |
4308 | +apport (0.6) edgy; urgency=low |
4309 | + |
4310 | + * Add missing intltool build dependency to fix FTBFS. |
4311 | + |
4312 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 3 Aug 2006 09:15:42 +0200 |
4313 | + |
4314 | +apport (0.5) edgy; urgency=low |
4315 | + |
4316 | + * apport-gtk: Remove the crash report after it got displayed. |
4317 | + * apport-gtk: Fix exception on startup if no readable crash reports exist. |
4318 | + |
4319 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 2 Aug 2006 23:42:34 +0200 |
4320 | + |
4321 | +apport (0.4) edgy; urgency=low |
4322 | + |
4323 | + * Implement completely new UI according to the design described at |
4324 | + https://wiki.ubuntu.com/CrashReporting. Many thanks to Matthew Paul |
4325 | + Thomas! |
4326 | + * po/Makefile: Fix default target to not just break. Now it builds the .pot |
4327 | + file. |
4328 | + * debian/rules: Build .pot file on package build for automatic Rosetta |
4329 | + import. |
4330 | + * Bring German translations up to date. |
4331 | + * po/Makefile: Supply '--language=python' to intltool-update to properly |
4332 | + extract strings from apport-gtk. |
4333 | + |
4334 | + -- Martin Pitt <martin.pitt@ubuntu.com> Wed, 2 Aug 2006 23:14:58 +0200 |
4335 | + |
4336 | +apport (0.3) edgy; urgency=low |
4337 | + |
4338 | + * debian/rules clean: Also clean po/. |
4339 | + * debian/apport.cron.daily: Clean away empty files everytime. |
4340 | + * apport: Only consider a report as already present if it has a non-zero |
4341 | + size. |
4342 | + * apport: Set proper group for report files instead of 'root'. |
4343 | + * apport-gtk: Ignore 0-sized reports. |
4344 | + * apport-gtk: Add button to remove the current report (by truncating the |
4345 | + file to zero bytes; a user cannot unlink files in /var/crash). |
4346 | + * apport-gtk: Only display reports that the user can actually read. |
4347 | + * problem_report.py: Add 'binary' option to ProblemReport.load() to |
4348 | + optionally skip binary data. |
4349 | + * debian/rules: Clean stale *.pyc files. |
4350 | + * python-gtk: Do not load binary data (core dumps, etc.) to greatly speed up |
4351 | + the GUI. They are just gibberish anyway. |
4352 | + * apport: Switch from apt_pkg to apt, add SourcePackage: to reports. |
4353 | + * apport-gtk: Use source package name for the Malone URL. |
4354 | + * debian/rules: Call setup.py install with --no-compile to not ship *.pyc in |
4355 | + debs. |
4356 | + |
4357 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 31 Jul 2006 13:11:52 +0200 |
4358 | + |
4359 | +apport (0.2) edgy; urgency=low |
4360 | + |
4361 | + * debian/apport.cron.daily: Do not produce error messages if 'find' does not |
4362 | + find any crash reports. |
4363 | + * problem_report.py: Support iterators, add test case. |
4364 | + * apport: Filter out trailing 0-byte from ProcCmdline. |
4365 | + * Add a simple GTK frontend, ship it in new package apport-gtk. |
4366 | + |
4367 | + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 27 Jul 2006 23:52:33 +0200 |
4368 | + |
4369 | +apport (0.1) edgy; urgency=low |
4370 | + |
4371 | + * Initial release. This package implements the client backend part of |
4372 | + https://wiki.ubuntu.com/AutomatedProblemReports. |
4373 | + |
4374 | + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 24 Jul 2006 14:21:10 +0200 |
This branch should merge into the Karmic branch; not the upstream one. It contains things that should not be applied to Lucid.