~mmach/netext73/dkms

« back to all changes in this revision

Viewing changes to debian/patches/0019-add-force-version-override-and-dkms-_version-overrid.patch

  • Committer: mmach
  • Date: 2019-11-07 17:11:15 UTC
  • Revision ID: netbit73@gmail.com-20191107171115-u4kvyorniw2xhvzd
2.8.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
From 008683c31b25dc93cf98187a88db897f86e28d43 Mon Sep 17 00:00:00 2001
2
 
From: Alex Tu <alex.tu@canonical.com>
3
 
Date: Thu, 3 Oct 2019 17:22:22 +0800
4
 
Subject: [PATCH] add --force-version-override and {dkms}_version-override
5
 
 
6
 
when --force-version-override or {dkms}_version-override content be
7
 
found under /usr/share/dkms/modules_to_force_install/{file}, then it
8
 
will skip the code block of version comparing with existed module.
9
 
---
10
 
 dkms | 26 ++++++++++++++++++++++----
11
 
 1 file changed, 22 insertions(+), 4 deletions(-)
12
 
 
13
 
diff --git a/dkms b/dkms
14
 
index 10bfef6..53a224b 100644
15
 
--- a/dkms
16
 
+++ b/dkms
17
 
@@ -135,7 +135,7 @@ show_usage()
18
 
     echo $"  [action]  = { add | remove | build | install | uninstall | match | autoinstall"
19
 
     echo $"               | mkdriverdisk | mktarball | ldtarball | mkrpm | mkkmp | mkdeb | mkbmdeb | status }"
20
 
     echo $"  [options] = [-m module] [-v module-version] [-k kernel-version] [-a arch]"
21
 
-    echo $"              [-d distro] [-c dkms.conf-location] [-q] [--force] [--all]"
22
 
+    echo $"              [-d distro] [-c dkms.conf-location] [-q] [--force] [--force-version-override] [--all]"
23
 
     echo $"              [--templatekernel=kernel] [--directive='cli-directive=cli-value']"
24
 
     echo $"              [--config=kernel-.config-location] [--archive=tarball-location]"
25
 
     echo $"              [--kernelsourcedir=source-location] [--no-prepare-kernel] [--no-initrd]"
26
 
@@ -811,6 +811,11 @@ check_version_sanity()
27
 
     read -a kernels_module < <(find_module "$lib_tree" "${4}")
28
 
     [ -z $kernels_module ] || return 0
29
 
 
30
 
+    if [[ "$force_version_override" == "true" ]]; then
31
 
+        # Skip the following version checking code.
32
 
+        return 0
33
 
+    fi
34
 
+
35
 
     if [[ ${kernels_module[1]} ]]; then
36
 
         warn $"Warning! Cannot do version sanity checking because multiple ${4}$module_suffix" \
37
 
             $"modules were found in kernel $1."
38
 
@@ -1427,6 +1432,10 @@ force_installation()
39
 
 
40
 
         for elem in $to_force; do
41
 
             if [ "${1}" = "${elem}" ]; then
42
 
+                echo "force"
43
 
+                return 0
44
 
+            elif [ "${1}_version-override" = "${elem}" ]; then
45
 
+                echo "version-override"
46
 
                 return 0
47
 
             fi
48
 
         done
49
 
@@ -1448,9 +1457,14 @@ install_module()
50
 
     tmp_force="$force"
51
 
 
52
 
     # If the module is set to be force-installed
53
 
-    force_installation $module && echo "Forcing installation of $module" \
54
 
-        && force="true"
55
 
-
56
 
+    local ret=$(force_installation $module)
57
 
+    if [[ "$ret" == "force" ]];then
58
 
+        force="true"
59
 
+        echo "Forcing installation of $module"
60
 
+    elif [[ "$ret" == "version-override" ]];then
61
 
+        force_version_override="true"
62
 
+        echo "Forcing version override of $module"
63
 
+    fi
64
 
     # Make sure that kernel exists to install into
65
 
     [[ -e $install_tree/$kernelver ]] || die 6 \
66
 
         $"The directory $install_tree/$kernelver doesn't exist." \
67
 
@@ -3582,6 +3596,7 @@ kernel_source_dir=""
68
 
 ksourcedir_fromcli=""
69
 
 action=""
70
 
 force=""
71
 
+force_version_override=""
72
 
 no_prepare_kernel=""
73
 
 no_clean_kernel=""
74
 
 binaries_only=""
75
 
@@ -3665,6 +3680,9 @@ while (($# > 0)); do
76
 
         --force)
77
 
             force="true"
78
 
             ;;
79
 
+        --force-version-override)
80
 
+            force_version_override="true"
81
 
+            ;;
82
 
         --all)
83
 
             all="true"
84
 
             ;;
85
 
2.17.1
86