~ubuntu-branches/debian/sid/dkms/sid

« back to all changes in this revision

Viewing changes to dkms_apport.py

  • Committer: Bazaar Package Importer
  • Author(s): Giuseppe Iuculano
  • Date: 2011-07-15 12:56:08 UTC
  • mfrom: (1.1.15 upstream)
  • Revision ID: james.westby@ubuntu.com-20110715125608-75jxdh6ycol331kk
Tags: 2.2.0.1-1
* [18353fe] Imported Upstream version 2.2.0.1
* [2a56b4e] Refreshed and removed patches merged upstream.
* [c552af9] Use linux-headers-686-pae and linux-headers-amd64 in Recommends
  (Closes: #628873)

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
                     action='store', type='string', dest='module')
30
30
optparser.add_option('-v', help="Specify the DKMS version to find the package for",
31
31
                     action='store', type='string', dest='version')
 
32
optparser.add_option('-k', help="Specify the kernel version",
 
33
                     action='store', type='string', dest='kernel')
32
34
options=optparser.parse_args()[0]
33
35
 
34
36
if not options.module or not options.version:
35
 
    print >> sys.stderr, 'ERROR, both -m and -v are required'
 
37
    print >> sys.stderr, 'ERROR (dkms apport): both -m and -v are required'
36
38
    sys.exit(2)
37
39
 
38
40
package=packaging.get_file_package('/usr/src/' + options.module + '-' + options.version)
39
41
if package is None:
40
 
    print >> sys.stderr, 'ERROR: binary package for %s: %s not found' % (options.module,options.version)
 
42
    print >> sys.stderr, 'ERROR (dkms apport): binary package for %s: %s not found' % (options.module,options.version)
41
43
    sys.exit(1)
42
44
 
 
45
if options.kernel:
 
46
    # TODO: Ubuntu specific
 
47
    kernel_package = "linux-headers-" + options.kernel
 
48
 
 
49
    if not apport.packaging.is_distro_package(kernel_package):
 
50
        print >> sys.stderr, 'ERROR (dkms apport): kernel package %s is not supported' % (kernel_package,)
 
51
        sys.exit(1)
 
52
 
43
53
make_log=os.path.join('/var','lib','dkms',options.module,options.version,'build','make.log')
44
54
 
45
55
report = apport.Report('Package')
46
56
report['Package'] = package
47
 
report['SourcePackage'] = apport.packaging.get_source(package)
48
 
report['ErrorMessage'] = "%s kernel module failed to build" % options.module
 
57
try:
 
58
    report['SourcePackage'] = apport.packaging.get_source(package)
 
59
except ValueError:
 
60
    print >> sys.stderr, 'ERROR (dkms apport): unable to determine source package for %s' % package
 
61
    sys.exit(3)
49
62
try:
50
63
    version = packaging.get_version(package)
51
64
except ValueError:
52
 
    version = 'N/A'
 
65
    version = '(not installed)'
53
66
if version is None:
54
 
    version = 'N/A'
 
67
    version = '(not installed)'
 
68
 
 
69
if report['SourcePackage'] == 'fglrx-installer':
 
70
    fglrx_make_log = os.path.join('/var','lib','dkms',options.module,options.version,'build','make.sh.log')
 
71
    attach_file_if_exists(report, fglrx_make_log, 'FglrxBuildLog')
 
72
 
55
73
report['PackageVersion'] = version
 
74
report['Title'] = "%s %s: %s kernel module failed to build" % (package, version, options.module)
56
75
attach_file_if_exists(report, make_log, 'DKMSBuildLog')
 
76
if options.kernel:
 
77
    report['DKMSKernelVersion'] = options.kernel
57
78
report.write(open(apport.fileutils.make_report_path(report), 'w'))
58