[arch-commits] Commit in dkms/trunk (01-fix-sign-file-path.patch PKGBUILD)

Sébastien Luttringer seblu at gemini.archlinux.org
Thu Jul 14 13:02:06 UTC 2022


    Date: Thursday, July 14, 2022 @ 13:02:06
  Author: seblu
Revision: 451051

upgpkg: dkms 3.0.5-2

- Fix FS#75212

Added:
  dkms/trunk/01-fix-sign-file-path.patch
Modified:
  dkms/trunk/PKGBUILD

-----------------------------+
 01-fix-sign-file-path.patch |   85 ++++++++++++++++++++++++++++++++++++++++++
 PKGBUILD                    |    8 ++-
 2 files changed, 90 insertions(+), 3 deletions(-)

Added: 01-fix-sign-file-path.patch
===================================================================
--- 01-fix-sign-file-path.patch	                        (rev 0)
+++ 01-fix-sign-file-path.patch	2022-07-14 13:02:06 UTC (rev 451051)
@@ -0,0 +1,85 @@
+From 40a9472eeae0d00f6fb33b5339abc2fc21db0368 Mon Sep 17 00:00:00 2001
+From: Maximiliano Curia <maxy at gnuservers.com.ar>
+Date: Sat, 2 Jul 2022 12:33:53 +0200
+Subject: [PATCH 1/2] Look for sign-file regardless
+
+Fix #229
+---
+ dkms.in | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/dkms.in b/dkms.in
+index ba312c3..d47c343 100644
+--- a/dkms.in
++++ b/dkms.in
+@@ -866,11 +866,12 @@ prepare_signing()
+             ubuntu* )
+                 sign_file="/usr/src/linux-headers-$kernelver/scripts/sign-file"
+                 ;;
+-            fedora* | rhel* | ovm*)
+-                sign_file="/lib/modules/$kernelver/build/scripts/sign-file"
+-                ;;
+             * )
+-                echo "Binary sign-file not found, module won't be signed"
++                if [ -f "/lib/modules/$kernelver/build/scripts/sign-file" ]; then
++                    sign_file="/lib/modules/$kernelver/build/scripts/sign-file"
++                else
++                    echo "Binary sign-file not found, module won't be signed"
++                fi
+                 ;;
+         esac
+     fi
+@@ -912,6 +913,11 @@ prepare_signing()
+             ;;
+         *)
+ 
++            if [ ! "${sign_file}" ]; then
++                do_signing=0
++                return
++            fi
++
+             if [ ! -f $mok_signing_key ] || [ ! -f $mok_certificate ]; then
+                 echo "Certificate or key are missing, generating self signed certificate for MOK..."
+                 openssl req -new -x509 -nodes -days 36500 -subj "/CN=DKMS module signing key" \
+
+From 34bd2326082e44d2cbb6a81a363d4c676540bc72 Mon Sep 17 00:00:00 2001
+From: Maximiliano Curia <maxy at gnuservers.com.ar>
+Date: Sun, 3 Jul 2022 23:26:43 +0200
+Subject: [PATCH 2/2] Delay the file existance check
+
+Use bash internal test to avoid a fork, and replace the string check for
+a executable check.
+
+We also don't need to set do_signing to 0
+---
+ dkms.in | 10 +++-------
+ 1 file changed, 3 insertions(+), 7 deletions(-)
+
+diff --git a/dkms.in b/dkms.in
+index d47c343..be2f717 100644
+--- a/dkms.in
++++ b/dkms.in
+@@ -867,11 +867,7 @@ prepare_signing()
+                 sign_file="/usr/src/linux-headers-$kernelver/scripts/sign-file"
+                 ;;
+             * )
+-                if [ -f "/lib/modules/$kernelver/build/scripts/sign-file" ]; then
+-                    sign_file="/lib/modules/$kernelver/build/scripts/sign-file"
+-                else
+-                    echo "Binary sign-file not found, module won't be signed"
+-                fi
++                sign_file="/lib/modules/$kernelver/build/scripts/sign-file"
+                 ;;
+         esac
+     fi
+@@ -913,8 +909,8 @@ prepare_signing()
+             ;;
+         *)
+ 
+-            if [ ! "${sign_file}" ]; then
+-                do_signing=0
++            if [[ ! -f "${sign_file}" || ! -x "${sign_file}" ]]; then
++                echo "Binary sign-file not found, module won't be signed"
+                 return
+             fi
+ 

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-07-14 12:55:16 UTC (rev 451050)
+++ PKGBUILD	2022-07-14 13:02:06 UTC (rev 451051)
@@ -3,7 +3,7 @@
 
 pkgname=dkms
 pkgver=3.0.5
-pkgrel=1
+pkgrel=2
 pkgdesc='Dynamic Kernel Modules System'
 arch=('any')
 url='https://github.com/dell/dkms'
@@ -20,12 +20,14 @@
         'hook.install'
         'hook.remove'
         'hook.upgrade'
-        'hook.sh')
+        'hook.sh'
+        '01-fix-sign-file-path.patch')
 sha256sums=('SKIP'
             'acdc5b45cc018cea04ee1aec56fd8fc3a2de62cf7bc41acf53b3790872120998'
             '326515cc7d00f93760beb844434ca7442caf7a9424614aa95a8f6d1ab79e15df'
             '4f8dff7716e73a8bba885638f12e3cdc9e87daec1896f75e700b981527e43870'
-            'c1b4a4e2e4e0e0e59ee0887403e79d60b209f3878dbbec6612573f13b90cce01')
+            'c1b4a4e2e4e0e0e59ee0887403e79d60b209f3878dbbec6612573f13b90cce01'
+            'ce83bb1aac6d83dbd3ef73266913e38aa0e55740dc06075d4a40b8eff1079405')
 
 prepare() {
   cd dkms



More information about the arch-commits mailing list