bzr branch
http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
| 
4634.128.13
by Martin Pool
 Fix copyright, vim modeline  | 
1  | 
'''apport package hook for Bazaar'''
 | 
| 
4634.128.12
by Martin Pool
 Add sample apport integration glue  | 
2  | 
|
| 
4634.128.13
by Martin Pool
 Fix copyright, vim modeline  | 
3  | 
# Copyright (c) 2009, 2010 Canonical Ltd.
 | 
4  | 
# Author: Matt Zimmerman <mdz@canonical.com>
 | 
|
5  | 
#         and others
 | 
|
| 
4634.128.12
by Martin Pool
 Add sample apport integration glue  | 
6  | 
|
7  | 
from apport.hookutils import *  | 
|
8  | 
import os  | 
|
9  | 
||
10  | 
bzr_log = os.path.expanduser('~/.bzr.log')  | 
|
11  | 
dot_bzr = os.path.expanduser('~/.bazaar')  | 
|
12  | 
||
13  | 
def _add_log_tail(report):  | 
|
14  | 
    # may have already been added in-process
 | 
|
15  | 
if 'BzrLogTail' in report:  | 
|
16  | 
        return
 | 
|
17  | 
||
18  | 
bzr_log_lines = open(bzr_log).readlines()  | 
|
19  | 
bzr_log_lines.reverse()  | 
|
20  | 
||
21  | 
bzr_log_tail = []  | 
|
22  | 
blanks = 0  | 
|
23  | 
for line in bzr_log_lines:  | 
|
24  | 
if line == '\n':  | 
|
25  | 
blanks += 1  | 
|
26  | 
bzr_log_tail.append(line)  | 
|
27  | 
if blanks >= 2:  | 
|
28  | 
            break
 | 
|
29  | 
||
30  | 
bzr_log_tail.reverse()  | 
|
31  | 
report['BzrLogTail'] = ''.join(bzr_log_tail)  | 
|
32  | 
||
33  | 
||
34  | 
def add_info(report):  | 
|
| 
4797.33.14
by Martin Pool
 Typo fix in apport package hook  | 
35  | 
_add_log_tail(report)  | 
| 
4634.128.12
by Martin Pool
 Add sample apport integration glue  | 
36  | 
if 'BzrPlugins' not in report:  | 
37  | 
        # may already be present in-process
 | 
|
38  | 
report['BzrPlugins'] = command_output(['bzr', 'plugins', '-v'])  | 
|
39  | 
||
40  | 
    # by default assume bzr crashes are upstream bugs; this relies on
 | 
|
41  | 
    # having a bzr entry under /etc/apport/crashdb.conf.d/
 | 
|
42  | 
report['CrashDB'] = 'bzr'  | 
|
43  | 
||
44  | 
    # these may contain some sensitive info (smtp_passwords)
 | 
|
45  | 
    # TODO: strip that out and attach the rest
 | 
|
46  | 
||
47  | 
    #attach_file_if_exists(report,
 | 
|
48  | 
    #	os.path.join(dot_bzr, 'bazaar.conf', 'BzrConfig')
 | 
|
49  | 
    #attach_file_if_exists(report,
 | 
|
50  | 
    #	os.path.join(dot_bzr, 'locations.conf', 'BzrLocations')
 | 
|
51  | 
||
52  | 
||
| 
4634.128.13
by Martin Pool
 Fix copyright, vim modeline  | 
53  | 
# vim: expandtab shiftwidth=4
 |