[PATCH V2 1/2 G] UBUNTU: [packaging] add signed modules for the 418-server and the 440-server flavours

Alberto Milone alberto.milone at canonical.com
Tue Jul 21 12:52:04 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/1881137

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

diff --git a/debian.master/rules.d/amd64.mk b/debian.master/rules.d/amd64.mk
index 0aa3fb18d492..01d6fce9aafc 100644
--- a/debian.master/rules.d/amd64.mk
+++ b/debian.master/rules.d/amd64.mk
@@ -23,3 +23,4 @@ do_tools_common = true
 do_tools_acpidbg = true
 do_zfs		= true
 do_dkms_nvidia  = false
+do_dkms_nvidia_server = true
diff --git a/debian/dkms-versions b/debian/dkms-versions
index 0d82eff8f2ac..e18ab200fd75 100644
--- a/debian/dkms-versions
+++ b/debian/dkms-versions
@@ -2,3 +2,5 @@ zfs-linux 0.8.4-1ubuntu8
 nvidia-graphics-drivers-390 390.138-0ubuntu2
 nvidia-graphics-drivers-435 435.21-0ubuntu8
 nvidia-graphics-drivers-440 440.100-0ubuntu1
+nvidia-graphics-drivers-418-server 0
+nvidia-graphics-drivers-440-server 0
diff --git a/debian/rules b/debian/rules
index f5befc381251..ac2225f35146 100755
--- a/debian/rules
+++ b/debian/rules
@@ -46,6 +46,7 @@ ifneq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH))
 	disable_d_i=true
 	do_zfs=false
 	do_dkms_nvidia=false
+	do_dkms_nvidia_server=false
 endif
 
 # Are any of the kernel signing options enabled.
@@ -79,6 +80,7 @@ ifneq ($(filter autopkgtest,$(DEB_BUILD_PROFILES)),)
 	disable_d_i=true
 	do_zfs=false
 	do_dkms_nvidia=false
+	do_dkms_nvidia_server=false
 endif
 
 # Being used to build a mainline build -- turn off things which do not work.
@@ -88,6 +90,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
@@ -114,9 +117,11 @@ do_any_tools=$(sort $(filter-out false,$(do_linux_tools) $(do_cloud_tools)))
 
 # Versions of dkms packages.
 dkms_zfs_linux_version=$(shell gawk '/^zfs-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)
 
 # Debian Build System targets
 binary: binary-indep binary-arch
diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
index 31bcd5592a21..2d8b3da01fba 100644
--- a/debian/rules.d/2-binary-arch.mk
+++ b/debian/rules.d/2-binary-arch.mk
@@ -406,6 +406,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
+
 ifneq ($(skipdbg),true)
 	# Add .gnu_debuglink sections to each stripped .ko
 	# pointing to unstripped verson
diff --git a/debian/scripts/dkms-build b/debian/scripts/dkms-build
index e6e5e4033c78..3aabf94be492 100755
--- a/debian/scripts/dkms-build
+++ b/debian/scripts/dkms-build
@@ -242,7 +242,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 -n -e 's/-[0-9][0-9]*$/-N/p')
+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 [ -z "$dkms_build" -o ! -e "$dkms_build" ]; then
-- 
2.25.1




More information about the kernel-team mailing list