~ubuntu-branches/ubuntu/quantal/dkms/quantal

« back to all changes in this revision

Viewing changes to dkms_apport.py

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2012-06-21 08:52:35 UTC
  • Revision ID: package-import@ubuntu.com-20120621085235-le5kvdqzg10ge7rv
Tags: 2.2.0.3-1ubuntu4
Add apport_python3.patch: Port apport hook to Python 3 (LP: #1013171) and
take care of opening the output file in binary mode (LP: #1008092)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/python
 
1
#!/usr/bin/python3
2
2
#
3
3
#  Dynamic Kernel Module Support (DKMS) <dkms-devel@dell.com>
4
4
#  Copyright (C) 2009 Dell, Inc.
36
36
options=optparser.parse_args()[0]
37
37
 
38
38
if not options.module or not options.version:
39
 
    print >> sys.stderr, 'ERROR (dkms apport): both -m and -v are required'
 
39
    sys.stderr.write('ERROR (dkms apport): both -m and -v are required\n')
40
40
    sys.exit(2)
41
41
 
42
42
package=packaging.get_file_package('/usr/src/' + options.module + '-' + options.version)
43
43
if package is None:
44
 
    print >> sys.stderr, 'ERROR (dkms apport): binary package for %s: %s not found' % (options.module,options.version)
 
44
    sys.stderr.write('ERROR (dkms apport): binary package for %s: %s not found\n' % (options.module,options.version))
45
45
    sys.exit(1)
46
46
 
47
47
if options.kernel:
51
51
    supported_kernel = True
52
52
    try:
53
53
        supported_kernel = apport.packaging.is_distro_package(kernel_package)
54
 
    except ValueError, e:
 
54
    except ValueError as e:
55
55
        if str(e) == 'package does not exist':
56
56
            supported_kernel = False
57
57
 
58
58
    if not supported_kernel:
59
 
        print >> sys.stderr, 'ERROR (dkms apport): kernel package %s is not supported' % (kernel_package)
 
59
        sys.stderr.write('ERROR (dkms apport): kernel package %s is not supported\n' % (kernel_package))
60
60
        sys.exit(1)
61
61
 
62
62
make_log=os.path.join('/var','lib','dkms',options.module,options.version,'build','make.log')
66
66
try:
67
67
    report['SourcePackage'] = apport.packaging.get_source(package)
68
68
except ValueError:
69
 
    print >> sys.stderr, 'ERROR (dkms apport): unable to determine source package for %s' % package
 
69
    sys.stderr.write('ERROR (dkms apport): unable to determine source package for %s\n' % package)
70
70
    sys.exit(3)
71
71
try:
72
72
    version = packaging.get_version(package)
85
85
if 'DKMSBuildLog' in report:
86
86
    this_year = str(datetime.today().year)
87
87
    if 'Segmentation fault' in report['DKMSBuildLog']:
88
 
        print >> sys.stderr, 'ERROR (dkms apport): There was a segmentation fault when trying to build the module'
 
88
        sys.stderr.write('ERROR (dkms apport): There was a segmentation fault when trying to build the module\n')
89
89
        sys.exit(1)
90
90
    dupe_sig = ''
91
91
    for line in report['DKMSBuildLog'].split('\n'):
96
96
 
97
97
if options.kernel:
98
98
    report['DKMSKernelVersion'] = options.kernel
99
 
report.write(open(apport.fileutils.make_report_path(report), 'w'))
 
99
with open(apport.fileutils.make_report_path(report), 'wb') as f:
 
100
    report.write(f)