diff -Nru dkms-2.2.0.3/debian/changelog dkms-2.2.0.3/debian/changelog --- dkms-2.2.0.3/debian/changelog 2012-07-19 20:21:01.000000000 +0000 +++ dkms-2.2.0.3/debian/changelog 2014-01-15 11:57:23.000000000 +0000 @@ -1,3 +1,50 @@ +dkms (2.2.0.3-1.1ubuntu5) trusty; urgency=low + + [ Mario Limonciello ] + * Backport from trunk: Add patch that fixes have_one_kernel for non- + zero return code. (LP: #1261116) + + -- Antonius Riha Fri, 10 Jan 2014 16:50:11 +0100 + +dkms (2.2.0.3-1.1ubuntu4) saucy; urgency=low + + * apport_python3.patch: Fix bug links in header. + * apport_python3.patch: Call package hook through python3, not python. + (LP: #1171344) + + -- Martin Pitt Wed, 29 May 2013 08:31:34 +0200 + +dkms (2.2.0.3-1.1ubuntu3) saucy; urgency=low + + * Add apport_dup_signature.patch: Don't use the whole DKMS build log as + duplicate signature, this is way too long. Just use the first actual + compiler error, together with the package name and version. (LP: #1175785) + + -- Martin Pitt Thu, 02 May 2013 15:39:26 -0700 + +dkms (2.2.0.3-1.1ubuntu2) raring; urgency=low + + * Don't Recommend any linux-headers packages, our installers + all install headers matching your kernel anyway, and this + dependency causes more problems than it solves (LP: #960770) + + -- Adam Conrad Wed, 31 Oct 2012 11:28:52 +0000 + +dkms (2.2.0.3-1.1ubuntu1) quantal-proposed; urgency=low + + * Merge from Debian unstable, remaining changes: + - Add apport_supported_kernel_packages.diff: + Only report bugs about supported kernel versions. + - Add Add-support-for-forcing-modules-installation.patch, backported + from trunk: + Add support to force module installation by adding files to + /usr/share/dkms/modules_to_force_install + - Add apport_python3.patch: Port apport hook to Python 3 and + take care of opening the output file in binary mode + - debian/control: added 'dpkg-dev' and 'debhelper' to Suggests. + + -- Felix Geyer Thu, 26 Jul 2012 11:43:22 +0200 + dkms (2.2.0.3-1.1) unstable; urgency=low * Non-maintainer upload. @@ -6,6 +53,45 @@ -- Andreas Beckmann Thu, 19 Jul 2012 22:20:45 +0200 +dkms (2.2.0.3-1ubuntu5) quantal; urgency=low + + * debian/control: added 'dpkg-dev' and 'debhelper' to Suggests (LP: + #989998) + + -- Aditya Vaidya Wed, 11 Jul 2012 08:28:02 -0400 + +dkms (2.2.0.3-1ubuntu4) quantal; urgency=low + + * 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) + + -- Martin Pitt Thu, 21 Jun 2012 08:52:35 +0200 + +dkms (2.2.0.3-1ubuntu3) precise-proposed; urgency=low + + * Add linux-headers-generic-pae to recommended headers packages so that i386 + installs get the right headers (LP: #986475) + + -- Scott Kitterman Sat, 21 Apr 2012 15:01:27 -0400 + +dkms (2.2.0.3-1ubuntu2) precise; urgency=low + + [ Alberto Milone ] + * Backport from trunk: Add support to force module installation by + adding files to /usr/share/dkms/modules_to_force_install + + -- Mario Limonciello Tue, 03 Apr 2012 18:03:02 -0500 + +dkms (2.2.0.3-1ubuntu1) precise; urgency=low + + * Only report bugs about supported kernel versions. This fixes a regression + introduced in 2.2.0.2-1ubuntu2. (LP: #940285) + - Add apport_supported_kernel_packages.diff: + Check the result of is_distro_package() and fix the check if the kernel + header package is installed at all. + + -- Felix Geyer Fri, 24 Feb 2012 14:08:47 +0100 + dkms (2.2.0.3-1) unstable; urgency=low * [e24a52f] Imported Upstream version 2.2.0.3 diff -Nru dkms-2.2.0.3/debian/control dkms-2.2.0.3/debian/control --- dkms-2.2.0.3/debian/control 2012-07-19 20:21:01.000000000 +0000 +++ dkms-2.2.0.3/debian/control 2014-01-15 11:55:33.000000000 +0000 @@ -1,7 +1,8 @@ Source: dkms Section: kernel Priority: optional -Maintainer: Dynamic Kernel Modules Support Team +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Dynamic Kernel Modules Support Team Uploaders: David Paleino , Mario Limonciello , Giuseppe Iuculano @@ -20,9 +21,8 @@ coreutils (>= 7.4), patch Recommends: fakeroot, - menu | sudo, - linux-headers-686-pae | linux-headers-amd64 | linux-headers-generic | linux-headers, - linux-image + menu | sudo +Suggests: dpkg-dev, debhelper Description: Dynamic Kernel Module Support Framework DKMS is a framework designed to allow individual kernel modules to be upgraded without changing the whole kernel. It is also very easy to rebuild modules as diff -Nru dkms-2.2.0.3/debian/patches/Add-support-for-forcing-modules-installation.patch dkms-2.2.0.3/debian/patches/Add-support-for-forcing-modules-installation.patch --- dkms-2.2.0.3/debian/patches/Add-support-for-forcing-modules-installation.patch 1970-01-01 00:00:00.000000000 +0000 +++ dkms-2.2.0.3/debian/patches/Add-support-for-forcing-modules-installation.patch 2014-01-15 11:55:33.000000000 +0000 @@ -0,0 +1,75 @@ +From d878f6c8e5976091da4975600825f484c813fa54 Mon Sep 17 00:00:00 2001 +From: Alberto Milone +Date: Fri, 23 Mar 2012 15:45:03 +0100 +Subject: [PATCH 1/1] Add support for forcing modules installation with + configuration files + +This allows dkms to force the installation of modules whose names +are listed in the text files in the following directory: + /usr/share/dkms/modules_to_force_install + +Signed-off-by: Alberto Milone +--- + dkms | 32 ++++++++++++++++++++++++++++++++ + 1 files changed, 32 insertions(+), 0 deletions(-) + +diff --git a/dkms b/dkms +index 042acc0..b26af41 100644 +--- a/dkms ++++ b/dkms +@@ -1270,6 +1270,28 @@ build_module() + echo $"DKMS: build completed." + } + ++# Force the installation of a module if this is listed ++# in the files in $forced_modules_dir, if any ++force_installation() ++{ ++ forced_modules_dir="/usr/share/dkms/modules_to_force_install" ++ to_force="" ++ if [ -d $forced_modules_dir ]; then ++ for elem in $forced_modules_dir/*; do ++ if [ -e $elem ]; then ++ to_force="$to_force $(cat $elem)" ++ fi ++ done ++ ++ for elem in $to_force; do ++ if [ "${1}" = "${elem}" ]; then ++ return 0 ++ fi ++ done ++ fi ++ return 1 ++} ++ + # Install a previously built module + # There are huge swaths of code here that special-case for various distros. + # They should be split into their own functions. +@@ -1280,6 +1302,13 @@ install_module() + local base_dir="$dkms_tree/$module/$module_version/$kernelver/$arch" + check_module_args install + ++ # Save the status of $force ++ tmp_force="$force" ++ ++ # If the module is set to be force-installed ++ force_installation $module && echo "Forcing installation of $module" \ ++ && force="true" ++ + # Make sure that kernel exists to install into + [[ -e $install_tree/$kernelver ]] || die 6 \ + $"The directory $install_tree/$kernelver doesn't exist." \ +@@ -1417,6 +1446,9 @@ install_module() + } + echo $"" + echo $"DKMS: install completed." ++ ++ # Restore the status of $force ++ force="$tmp_force" + } + + # List each kernel object that has been installed for a particular module. +-- +1.7.5.4 + diff -Nru dkms-2.2.0.3/debian/patches/apport_dup_signature.patch dkms-2.2.0.3/debian/patches/apport_dup_signature.patch --- dkms-2.2.0.3/debian/patches/apport_dup_signature.patch 1970-01-01 00:00:00.000000000 +0000 +++ dkms-2.2.0.3/debian/patches/apport_dup_signature.patch 2014-01-15 11:55:33.000000000 +0000 @@ -0,0 +1,34 @@ +From c7e7b969a05db19e72f69f3a39aef1c33b5cc5fd Mon Sep 17 00:00:00 2001 +From: Martin Pitt +Date: Thu, 2 May 2013 15:35:45 -0700 +Subject: [PATCH] apport hook: Trim duplicate signature + +Don't use the whole DKMS build log as duplicate signature, this is way too +long. Just use the first actual compiler error, together with the package name +and version. + +https://bugs.launchpad.net/dkms/+bug/1175785 +--- + dkms_apport.py | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +Index: dkms-2.2.0.3/dkms_apport.py +=================================================================== +--- dkms-2.2.0.3.orig/dkms_apport.py 2013-05-02 15:39:01.839557409 -0700 ++++ dkms-2.2.0.3/dkms_apport.py 2013-05-02 15:39:01.835557409 -0700 +@@ -87,12 +87,10 @@ + if 'Segmentation fault' in report['DKMSBuildLog']: + sys.stderr.write('ERROR (dkms apport): There was a segmentation fault when trying to build the module\n') + sys.exit(1) +- dupe_sig = '' + for line in report['DKMSBuildLog'].split('\n'): +- if line.endswith(this_year): +- continue +- dupe_sig += line + '\n' +- report['DuplicateSignature'] = dupe_sig ++ if ': error:' in line: ++ report['DuplicateSignature'] = 'dkms:%s:%s:%s' % (package, version, line.strip()) ++ break + + if options.kernel: + report['DKMSKernelVersion'] = options.kernel diff -Nru dkms-2.2.0.3/debian/patches/apport_python3.patch dkms-2.2.0.3/debian/patches/apport_python3.patch --- dkms-2.2.0.3/debian/patches/apport_python3.patch 1970-01-01 00:00:00.000000000 +0000 +++ dkms-2.2.0.3/debian/patches/apport_python3.patch 2014-01-15 11:55:33.000000000 +0000 @@ -0,0 +1,85 @@ +Description: Port apport hook to Python 3 and take care of opening the output file in binary mode. +Author: Martin Pitt +Bug-Ubuntu: https://launchpad.net/bugs/1008092 +Bug-Ubuntu: https://launchpad.net/bugs/1013171 + +Index: dkms-2.2.0.3/dkms_apport.py +=================================================================== +--- dkms-2.2.0.3.orig/dkms_apport.py 2013-05-29 08:04:46.000000000 +0200 ++++ dkms-2.2.0.3/dkms_apport.py 2013-05-29 08:28:40.000000000 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python3 + # + # Dynamic Kernel Module Support (DKMS) + # Copyright (C) 2009 Dell, Inc. +@@ -36,12 +36,12 @@ + options=optparser.parse_args()[0] + + if not options.module or not options.version: +- print >> sys.stderr, 'ERROR (dkms apport): both -m and -v are required' ++ sys.stderr.write('ERROR (dkms apport): both -m and -v are required\n') + sys.exit(2) + + package=packaging.get_file_package('/usr/src/' + options.module + '-' + options.version) + if package is None: +- print >> sys.stderr, 'ERROR (dkms apport): binary package for %s: %s not found' % (options.module,options.version) ++ sys.stderr.write('ERROR (dkms apport): binary package for %s: %s not found\n' % (options.module,options.version)) + sys.exit(1) + + if options.kernel: +@@ -51,12 +51,12 @@ + supported_kernel = True + try: + supported_kernel = apport.packaging.is_distro_package(kernel_package) +- except ValueError, e: ++ except ValueError as e: + if str(e) == 'package does not exist': + supported_kernel = False + + if not supported_kernel: +- print >> sys.stderr, 'ERROR (dkms apport): kernel package %s is not supported' % (kernel_package) ++ sys.stderr.write('ERROR (dkms apport): kernel package %s is not supported\n' % (kernel_package)) + sys.exit(1) + + make_log=os.path.join('/var','lib','dkms',options.module,options.version,'build','make.log') +@@ -66,7 +66,7 @@ + try: + report['SourcePackage'] = apport.packaging.get_source(package) + except ValueError: +- print >> sys.stderr, 'ERROR (dkms apport): unable to determine source package for %s' % package ++ sys.stderr.write('ERROR (dkms apport): unable to determine source package for %s\n' % package) + sys.exit(3) + try: + version = packaging.get_version(package) +@@ -85,7 +85,7 @@ + if 'DKMSBuildLog' in report: + this_year = str(datetime.today().year) + if 'Segmentation fault' in report['DKMSBuildLog']: +- print >> sys.stderr, 'ERROR (dkms apport): There was a segmentation fault when trying to build the module' ++ sys.stderr.write('ERROR (dkms apport): There was a segmentation fault when trying to build the module\n') + sys.exit(1) + dupe_sig = '' + for line in report['DKMSBuildLog'].split('\n'): +@@ -96,4 +96,5 @@ + + if options.kernel: + report['DKMSKernelVersion'] = options.kernel +-report.write(open(apport.fileutils.make_report_path(report), 'w')) ++with open(apport.fileutils.make_report_path(report), 'wb') as f: ++ report.write(f) +Index: dkms-2.2.0.3/dkms +=================================================================== +--- dkms-2.2.0.3.orig/dkms 2013-05-29 08:04:46.000000000 +0200 ++++ dkms-2.2.0.3/dkms 2013-05-29 08:30:55.406135813 +0200 +@@ -3032,8 +3032,8 @@ + report_build_problem() + { + #If apport is on the system, files a build problem +- if [ -x /usr/share/apport/apport ] && which python>/dev/null; then +- python /usr/share/apport/package-hooks/dkms_packages.py -m $module -v $module_version -k ${kernelver[0]} ++ if [ -x /usr/share/apport/apport ] && which python3 >/dev/null; then ++ python3 /usr/share/apport/package-hooks/dkms_packages.py -m $module -v $module_version -k ${kernelver[0]} + fi + die "$@" + } diff -Nru dkms-2.2.0.3/debian/patches/apport_supported_kernel_packages.diff dkms-2.2.0.3/debian/patches/apport_supported_kernel_packages.diff --- dkms-2.2.0.3/debian/patches/apport_supported_kernel_packages.diff 1970-01-01 00:00:00.000000000 +0000 +++ dkms-2.2.0.3/debian/patches/apport_supported_kernel_packages.diff 2014-01-15 11:55:33.000000000 +0000 @@ -0,0 +1,28 @@ +Description: Check the result of is_distro_package() and fix the check if the + kernel header package is installed at all. +Author: Felix Geyer +Bug-Ubuntu: https://bugs.launchpad.net/bugs/940285 + +--- dkms-2.2.0.3.orig/dkms_apport.py ++++ dkms-2.2.0.3/dkms_apport.py +@@ -48,12 +48,16 @@ if options.kernel: + # TODO: Ubuntu specific + kernel_package = "linux-headers-" + options.kernel + ++ supported_kernel = True + try: +- apport.packaging.is_distro_package(kernel_package) ++ supported_kernel = apport.packaging.is_distro_package(kernel_package) + except ValueError, e: +- if e == 'package does not exist': +- print >> sys.stderr, 'ERROR (dkms apport): kernel package %s is not supported' % (kernel_package) +- sys.exit(1) ++ if str(e) == 'package does not exist': ++ supported_kernel = False ++ ++ if not supported_kernel: ++ print >> sys.stderr, 'ERROR (dkms apport): kernel package %s is not supported' % (kernel_package) ++ sys.exit(1) + + make_log=os.path.join('/var','lib','dkms',options.module,options.version,'build','make.log') + diff -Nru dkms-2.2.0.3/debian/patches/fix_have_one_kernel_for_non-zero_return_code.diff dkms-2.2.0.3/debian/patches/fix_have_one_kernel_for_non-zero_return_code.diff --- dkms-2.2.0.3/debian/patches/fix_have_one_kernel_for_non-zero_return_code.diff 1970-01-01 00:00:00.000000000 +0000 +++ dkms-2.2.0.3/debian/patches/fix_have_one_kernel_for_non-zero_return_code.diff 2014-01-15 11:55:33.000000000 +0000 @@ -0,0 +1,29 @@ +Description: Fixes function have_one_kernel in dkms script for non-zero return code +Author: Mario Limonciello +Origin: upstream +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1261116 + +Index: dkms/dkms +=================================================================== +--- dkms.orig/dkms 2014-01-10 16:33:48.000168000 +0100 ++++ dkms/dkms 2014-01-10 16:44:48.522601051 +0100 +@@ -162,11 +162,14 @@ + + # A little test function for DKMS commands that only work on one kernel. + have_one_kernel() { +- (( ${#kernelver[@]} > 1 )) && \ +- die 4 $"The action $1 does not support multiple kernel version" \ +- $"parameters on the command line." +- [[ $all ]] && die 5 $"The action $1 does not support the --all" \ +- $"parameter." ++ if (( ${#kernelver[@]} != 1 )); then ++ die 4 $"The action $1 does not support multiple kernel version" \ ++ $"parameters on the command line." ++ fi ++ if [[ $all ]]; then ++ die 5 $"The action $1 does not support the --all" \ ++ $"parameter." ++ fi + } + + # Set up the kernelver and arch arrays. You must have a 1:1 correspondence -- diff -Nru dkms-2.2.0.3/debian/patches/series dkms-2.2.0.3/debian/patches/series --- dkms-2.2.0.3/debian/patches/series 2012-07-19 20:21:01.000000000 +0000 +++ dkms-2.2.0.3/debian/patches/series 2014-01-15 11:55:33.000000000 +0000 @@ -1,2 +1,7 @@ 666023.patch 657145.patch +apport_supported_kernel_packages.diff +Add-support-for-forcing-modules-installation.patch +apport_python3.patch +apport_dup_signature.patch +fix_have_one_kernel_for_non-zero_return_code.diff