[PATCH 1/1 B-HWE-5.4][SRU] UBUNTU: [packaging] add signed modules for the 418-server and the 440-server flavours

Alberto Milone alberto.milone at canonical.com
Wed Jul 1 15:04:44 UTC 2020


Enable building only on amd64 using the do_dkms_nvidia_server flag.

Also, modify the regular expression in 2-binary-arch.mk, so that
names such as nvidia-440srv are allowed.

BugLink: https://bugs.launchpad.net/bugs/1882093

Signed-off-by: Alberto Milone <alberto.milone at canonical.com>
---
 debian.master/rules.d/amd64.mk  |  1 +
 debian/dkms-versions            |  2 ++
 debian/rules                    | 10 +++++++---
 debian/rules.d/2-binary-arch.mk |  5 +++++
 debian/scripts/dkms-build       |  2 +-
 5 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/debian.master/rules.d/amd64.mk b/debian.master/rules.d/amd64.mk
index daffd0d7a3dc..6515b13314ca 100644
--- a/debian.master/rules.d/amd64.mk
+++ b/debian.master/rules.d/amd64.mk
@@ -23,4 +23,5 @@ do_tools_common = true
 do_tools_acpidbg = true
 do_zfs		= true
 do_dkms_nvidia  = true
+do_dkms_nvidia_server = true
 do_dkms_wireguard = true
diff --git a/debian/dkms-versions b/debian/dkms-versions
index 6e4841390572..e7b1dda01e3f 100644
--- a/debian/dkms-versions
+++ b/debian/dkms-versions
@@ -3,4 +3,6 @@ zfs-linux 0.7.5-1ubuntu16.9
 nvidia-graphics-drivers-390 390.138-0ubuntu0.18.04.1
 nvidia-graphics-drivers-435 435.21-0ubuntu0.18.04.2
 nvidia-graphics-drivers-440 440.100-0ubuntu0.18.04.1
+nvidia-graphics-drivers-418-server 0
+nvidia-graphics-drivers-440-server 0
 wireguard-linux-compat 1.0.20200611-1ubuntu1~18.04.1
diff --git a/debian/rules b/debian/rules
index b517f41a5beb..bebeb4e9f243 100755
--- a/debian/rules
+++ b/debian/rules
@@ -45,6 +45,7 @@ ifneq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH))
 	disable_d_i=true
 	do_zfs=false
 	do_dkms_nvidia=false
+	do_dkms_nvidia_server=false
 	do_dkms_wireguard=false
 endif
 
@@ -78,6 +79,7 @@ ifeq ($(do_mainline_build),true)
 	no_dumpfile=1
 	do_zfs=false
 	do_dkms_nvidia=false
+	do_dkms_nvidia_server=false
 	skipabi=true
 	skipmodule=true
 	skipretpoline=true
@@ -112,9 +114,11 @@ endif
 # Versions of dkms packages.
 dkms_zfs_linux_version=$(shell gawk '/^zfs-linux / { print $$2; }' debian/dkms-versions)
 dkms_spl_linux_version=$(shell gawk '/^spl-linux / { print $$2; }' debian/dkms-versions)
-dkms_nvidia_390_version=$(shell gawk '/^nvidia-graphics-drivers-390/ { print $$2; }' debian/dkms-versions)
-dkms_nvidia_435_version=$(shell gawk '/^nvidia-graphics-drivers-435/ { print $$2; }' debian/dkms-versions)
-dkms_nvidia_440_version=$(shell gawk '/^nvidia-graphics-drivers-440/ { print $$2; }' debian/dkms-versions)
+dkms_nvidia_390_version=$(shell gawk '/^nvidia-graphics-drivers-390 / { print $$2; }' debian/dkms-versions)
+dkms_nvidia_435_version=$(shell gawk '/^nvidia-graphics-drivers-435 / { print $$2; }' debian/dkms-versions)
+dkms_nvidia_440_version=$(shell gawk '/^nvidia-graphics-drivers-440 / { print $$2; }' debian/dkms-versions)
+dkms_nvidia_418_server_version=$(shell gawk '/^nvidia-graphics-drivers-418-server / { print $$2; }' debian/dkms-versions)
+dkms_nvidia_440_server_version=$(shell gawk '/^nvidia-graphics-drivers-440-server / { print $$2; }' debian/dkms-versions)
 dkms_wireguard_version=$(shell gawk '/^wireguard-linux-compat / { print $$2; }' debian/dkms-versions)
 
 # Debian Build System targets
diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
index 62af6bf55f11..b7d88126a3b7 100644
--- a/debian/rules.d/2-binary-arch.mk
+++ b/debian/rules.d/2-binary-arch.mk
@@ -409,6 +409,11 @@ ifeq ($(do_dkms_nvidia),true)
 	$(call build_dkms, $(bldinfo_pkg_name)-$*, $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$*/signatures, nvidia-440, pool/restricted/n/nvidia-graphics-drivers-440/nvidia-kernel-source-440_$(dkms_nvidia_440_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-440/nvidia-dkms-440_$(dkms_nvidia_440_version)_$(arch).deb)
 endif
 
+ifeq ($(do_dkms_nvidia_server),true)
+	$(call build_dkms, $(bldinfo_pkg_name)-$*, $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$*/signatures, nvidia-418srv, pool/restricted/n/nvidia-graphics-drivers-418-server/nvidia-kernel-source-418-server_$(dkms_nvidia_418_server_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-418-server/nvidia-dkms-418-server_$(dkms_nvidia_418_server_version)_$(arch).deb)
+	$(call build_dkms, $(bldinfo_pkg_name)-$*, $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$*/signatures, nvidia-440srv, pool/restricted/n/nvidia-graphics-drivers-440-server/nvidia-kernel-source-440-server_$(dkms_nvidia_440_server_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-440-server/nvidia-dkms-440-server_$(dkms_nvidia_440_server_version)_$(arch).deb)
+endif
+
 	# Build the final ABI information.
 	install -d $(abidir)
 	sed -e 's/^\(.\+\)[[:space:]]\+\(.\+\)[[:space:]]\(.\+\)$$/\3 \2 \1/'	\
diff --git a/debian/scripts/dkms-build b/debian/scripts/dkms-build
index 908f0316e311..55d09d920746 100755
--- a/debian/scripts/dkms-build
+++ b/debian/scripts/dkms-build
@@ -180,7 +180,7 @@ done
 # as squirreled away, and the log in case it is useful.  Finally pass a formed
 # signing command line in case we need to do that.
 dkms_build_specific="$srcdir/$0--$package"
-dkms_build_generic=$(echo "$dkms_build_specific" | sed -e 's/-[0-9][0-9]*$/-N/')
+dkms_build_generic=$(echo "$dkms_build_specific" | sed -n -e 's/-[0-9][0-9]*[a-z]*$/-N/p')
 for dkms_build in "$dkms_build_specific" "$dkms_build_generic"
 do
 	if [ ! -e "$dkms_build" ]; then
-- 
2.25.1




More information about the kernel-team mailing list