diff mbox series

[2/2,F,SRU,L-R-M] UBUNTU: [packaging] add nvidia 418-server and 440-server drivers

Message ID 20200701102457.162864-4-alberto.milone@canonical.com
State New
Headers show
Series Add signed modules for the new NVIDIA -server drivers | expand

Commit Message

Alberto Milone July 1, 2020, 10:24 a.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1881137

Signed-off-by: Alberto Milone <alberto.milone@canonical.com>
---
 debian/control.d/meta-nvidia | 52 ++++++++++++++++++++++++
 debian/control.d/nvidia      | 76 ++++++++++++++++++++++++++++++++++++
 debian/rules                 | 24 ++++++++++--
 3 files changed, 149 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/debian/control.d/meta-nvidia b/debian/control.d/meta-nvidia
index f3f1ba2..35f38f5 100644
--- a/debian/control.d/meta-nvidia
+++ b/debian/control.d/meta-nvidia
@@ -37,6 +37,32 @@  Description: Extra drivers for nvidia-440 for generic${variant:suffix}
  Install extra signed nvidia-440 modules compatible with
  generic${variant:suffix}
 
+Package: linux-modules-nvidia-418-server-generic${variant:suffix}
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Provides: ${dkms:nvidia-418-server-modules}
+Depends:
+ ${misc:Depends},
+ linux-modules-nvidia-418-server-@ABI@-generic (= ${binary:Version}),
+ ${nvk:nvidia-418-server}
+Description: Extra drivers for nvidia-418-server for generic${variant:suffix}
+ Install extra signed nvidia-418-server modules compatible with
+ generic${variant:suffix}
+
+Package: linux-modules-nvidia-440-server-generic${variant:suffix}
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Provides: ${dkms:nvidia-440-server-modules}
+Depends:
+ ${misc:Depends},
+ linux-modules-nvidia-440-server-@ABI@-generic (= ${binary:Version}),
+ ${nvk:nvidia-440-server}
+Description: Extra drivers for nvidia-440-server for generic${variant:suffix}
+ Install extra signed nvidia-440-server modules compatible with
+ generic${variant:suffix}
+
 Package: linux-modules-nvidia-390-lowlatency${variant:suffix}
 Build-Profiles: <!stage1>
 Architecture: amd64
@@ -75,3 +101,29 @@  Depends:
 Description: Extra drivers for nvidia-440 for lowlatency${variant:suffix}
  Install extra signed nvidia-440 modules compatible with
  lowlatency${variant:suffix}
+
+Package: linux-modules-nvidia-418-server-lowlatency${variant:suffix}
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Provides: ${dkms:nvidia-418-server-modules}
+Depends:
+ ${misc:Depends},
+ linux-modules-nvidia-418-server-@ABI@-lowlatency (= ${binary:Version}),
+ ${nvk:nvidia-418-server}
+Description: Extra drivers for nvidia-418-server for lowlatency${variant:suffix}
+ Install extra signed nvidia-418-server modules compatible with
+ lowlatency${variant:suffix}
+
+Package: linux-modules-nvidia-440-server-lowlatency${variant:suffix}
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Provides: ${dkms:nvidia-440-server-modules}
+Depends:
+ ${misc:Depends},
+ linux-modules-nvidia-440-server-@ABI@-lowlatency (= ${binary:Version}),
+ ${nvk:nvidia-440-server}
+Description: Extra drivers for nvidia-440-server for lowlatency${variant:suffix}
+ Install extra signed nvidia-440-server modules compatible with
+ lowlatency${variant:suffix}
diff --git a/debian/control.d/nvidia b/debian/control.d/nvidia
index 7284bfb..c2a012d 100644
--- a/debian/control.d/nvidia
+++ b/debian/control.d/nvidia
@@ -55,6 +55,44 @@  Description: Linux kernel nvidia modules for version @ABI@
  which will ensure that upgrades work correctly, and that supporting packages are
  also installed.
 
+Package: linux-modules-nvidia-418-server-@ABI@-generic
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Priority: optional
+Built-Using: ${linux:BuiltUsing}
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ binutils,
+ linux-image-@ABI@-generic | linux-image-unsigned-@ABI@-generic,
+Description: Linux kernel nvidia modules for version @ABI@
+ This package contains the Linux kernel nvidia modules for version @ABI@.
+ .
+ You likely do not want to install this package directly. Instead, install the
+ one of the linux-modules-nvidia-418-server-generic* meta-packages,
+ which will ensure that upgrades work correctly, and that supporting packages are
+ also installed.
+
+Package: linux-modules-nvidia-440-server-@ABI@-generic
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Priority: optional
+Built-Using: ${linux:BuiltUsing}
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ binutils,
+ linux-image-@ABI@-generic | linux-image-unsigned-@ABI@-generic,
+Description: Linux kernel nvidia modules for version @ABI@
+ This package contains the Linux kernel nvidia modules for version @ABI@.
+ .
+ You likely do not want to install this package directly. Instead, install the
+ one of the linux-modules-nvidia-440-server-generic* meta-packages,
+ which will ensure that upgrades work correctly, and that supporting packages are
+ also installed.
+
 Package: linux-modules-nvidia-390-@ABI@-lowlatency
 Build-Profiles: <!stage1>
 Architecture: amd64
@@ -111,3 +149,41 @@  Description: Linux kernel nvidia modules for version @ABI@
  one of the linux-modules-nvidia-440-lowlatency* meta-packages,
  which will ensure that upgrades work correctly, and that supporting packages are
  also installed.
+
+Package: linux-modules-nvidia-418-server-@ABI@-lowlatency
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Priority: optional
+Built-Using: ${linux:BuiltUsing}
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ binutils,
+ linux-image-@ABI@-lowlatency | linux-image-unsigned-@ABI@-lowlatency,
+Description: Linux kernel nvidia modules for version @ABI@
+ This package contains the Linux kernel nvidia modules for version @ABI@.
+ .
+ You likely do not want to install this package directly. Instead, install the
+ one of the linux-modules-nvidia-418-server-lowlatency* meta-packages,
+ which will ensure that upgrades work correctly, and that supporting packages are
+ also installed.
+
+Package: linux-modules-nvidia-440-server-@ABI@-lowlatency
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Priority: optional
+Built-Using: ${linux:BuiltUsing}
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ binutils,
+ linux-image-@ABI@-lowlatency | linux-image-unsigned-@ABI@-lowlatency,
+Description: Linux kernel nvidia modules for version @ABI@
+ This package contains the Linux kernel nvidia modules for version @ABI@.
+ .
+ You likely do not want to install this package directly. Instead, install the
+ one of the linux-modules-nvidia-440-server-lowlatency* meta-packages,
+ which will ensure that upgrades work correctly, and that supporting packages are
+ also installed.
diff --git a/debian/rules b/debian/rules
index 2dccec5..3940bbf 100755
--- a/debian/rules
+++ b/debian/rules
@@ -13,13 +13,17 @@  src_version = $(shell echo $(src_fullversion) | sed -e 's/+[0-9][0-9]*//')
 src_series = $(shell dpkg-parsechangelog -SDistribution | sed -e 's/-\(security\|updates\|proposed\)$$//')
 src_kernel = $(shell echo "$(src_package)" | sed -e 's/restricted-modules-//')
 
-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)
 
 nvidia_390_upstream_version=$(shell echo "$(dkms_nvidia_390_version)" | cut -d '-' -f 1)
 nvidia_435_upstream_version=$(shell echo "$(dkms_nvidia_435_version)" | cut -d '-' -f 1)
 nvidia_440_upstream_version=$(shell echo "$(dkms_nvidia_440_version)" | cut -d '-' -f 1)
+nvidia_418_server_upstream_version=$(shell echo "$(dkms_nvidia_418_server_version)" | cut -d '-' -f 1)
+nvidia_440_server_upstream_version=$(shell echo "$(dkms_nvidia_440_server_version)" | cut -d '-' -f 1)
 
 # Get variants, assuming primary if debian/variants is not present
 variants = --
@@ -144,6 +148,16 @@  nvidia-%:
 	$(call build_dkms, $(src_abi)-$*, linux-modules-nvidia-440-$(src_abi)-$*, $(CURDIR)/debian/linux-modules-nvidia-440-$(src_abi)-$*/lib/modules/$(src_abi)-$*/kernel, "", 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)
 	$(call install_control,linux-modules-nvidia-440-$(src_abi)-$*,$*,nvidia,440,postinst postrm prerm config templates)
 
+	install -d debian/linux-modules-nvidia-418-server-$(src_abi)-$*
+	install -d debian/linux-modules-nvidia-418-server-$(src_abi)-$*/usr/lib/linux/triggers
+	$(call build_dkms, $(src_abi)-$*, linux-modules-nvidia-418-server-$(src_abi)-$*, $(CURDIR)/debian/linux-modules-nvidia-418-server-$(src_abi)-$*/lib/modules/$(src_abi)-$*/kernel, "", 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 install_control,linux-modules-nvidia-418-server-$(src_abi)-$*,$*,nvidia,418srv,postinst postrm prerm config templates)
+
+	install -d debian/linux-modules-nvidia-440-server-$(src_abi)-$*
+	install -d debian/linux-modules-nvidia-440-server-$(src_abi)-$*/usr/lib/linux/triggers
+	$(call build_dkms, $(src_abi)-$*, linux-modules-nvidia-440-server-$(src_abi)-$*, $(CURDIR)/debian/linux-modules-nvidia-440-server-$(src_abi)-$*/lib/modules/$(src_abi)-$*/kernel, "", 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)
+	$(call install_control,linux-modules-nvidia-440-server-$(src_abi)-$*,$*,nvidia,440srv,postinst postrm prerm config templates)
+
 prepare-dkms:
 	mkdir -p $(dkms_dir)
 	ln -s /usr/src $(dkms_dir)/headers
@@ -158,10 +172,14 @@  gencontrol_flags :=
 gencontrol_flags += -Vdkms:nvidia-390-modules="nvidia-dkms-390 (= $(dkms_nvidia_390_version))"
 gencontrol_flags += -Vdkms:nvidia-435-modules="nvidia-dkms-435 (= $(dkms_nvidia_435_version))"
 gencontrol_flags += -Vdkms:nvidia-440-modules="nvidia-dkms-440 (= $(dkms_nvidia_440_version))"
+gencontrol_flags += -Vdkms:nvidia-418-server-modules="nvidia-dkms-418-server (= $(dkms_nvidia_418_server_version))"
+gencontrol_flags += -Vdkms:nvidia-440-server-modules="nvidia-dkms-440-server (= $(dkms_nvidia_440_server_version))"
 
 gencontrol_flags += -Vnvk:nvidia-390="nvidia-kernel-common-390 (<= $(nvidia_390_upstream_version)-1), nvidia-kernel-common-390 (>= $(nvidia_390_upstream_version))"
 gencontrol_flags += -Vnvk:nvidia-435="nvidia-kernel-common-435 (<= $(nvidia_435_upstream_version)-1), nvidia-kernel-common-435 (>= $(nvidia_435_upstream_version))"
 gencontrol_flags += -Vnvk:nvidia-440="nvidia-kernel-common-440 (<= $(nvidia_440_upstream_version)-1), nvidia-kernel-common-440 (>= $(nvidia_440_upstream_version))"
+gencontrol_flags += -Vnvk:nvidia-418-server="nvidia-kernel-common-418-server (<= $(nvidia_418_server_upstream_version)-1), nvidia-kernel-common-418-server (>= $(nvidia_418_server_upstream_version))"
+gencontrol_flags += -Vnvk:nvidia-440-server="nvidia-kernel-common-440-server (<= $(nvidia_440_server_upstream_version)-1), nvidia-kernel-common-440-server (>= $(nvidia_440_server_upstream_version))"
 
 override_dh_gencontrol:
 	dh_gencontrol -- $(gencontrol_flags)