diff mbox series

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

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

Commit Message

Alberto Milone May 29, 2020, 2:34 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1881137

Signed-off-by: Alberto Milone <alberto.milone@canonical.com>
---
 debian/control.common        |  4 +-
 debian/control.d/meta-nvidia | 48 ++++++++++++++++++++++
 debian/control.d/nvidia      | 80 ++++++++++++++++++++++++++++++++++++
 debian/rules                 | 24 +++++++++--
 4 files changed, 151 insertions(+), 5 deletions(-)
diff mbox series

Patch

diff --git a/debian/control.common b/debian/control.common
index f877453..cbc4c04 100644
--- a/debian/control.common
+++ b/debian/control.common
@@ -12,8 +12,8 @@  Build-Depends:
  curl,
  gawk,
  linux-headers-@ABI@-generic (>= @VERSION@),
- linux-headers-@ABI@-lowlatency (>= @VERSION@),
+ linux-headers-@ABI@-lowlatency (>= @VERSION@) [!ppc64el],
  linux-buildinfo-@ABI@-generic (>= @VERSION@),
- linux-buildinfo-@ABI@-lowlatency (>= @VERSION@),
+ linux-buildinfo-@ABI@-lowlatency (>= @VERSION@) [!ppc64el],
 Standards-Version: 3.9.4
 Vcs-Git: git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux-restricted-modules/+git/@SERIES@
diff --git a/debian/control.d/meta-nvidia b/debian/control.d/meta-nvidia
index ad59f18..253ef9c 100644
--- a/debian/control.d/meta-nvidia
+++ b/debian/control.d/meta-nvidia
@@ -34,6 +34,30 @@  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 ppc64el
+Section: kernel
+Provides: ${dkms:nvidia-418-server-modules}
+Depends:
+ ${misc:Depends},
+ linux-modules-nvidia-418-server-@ABI@-generic (= ${binary:Version})
+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 ppc64el
+Section: kernel
+Provides: ${dkms:nvidia-440-server-modules}
+Depends:
+ ${misc:Depends},
+ linux-modules-nvidia-440-server-@ABI@-generic (= ${binary:Version})
+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
@@ -69,3 +93,27 @@  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})
+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})
+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 c99ab02..1a1b75c 100644
--- a/debian/control.d/nvidia
+++ b/debian/control.d/nvidia
@@ -58,6 +58,46 @@  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 ppc64el
+Section: kernel
+Priority: optional
+Built-Using: ${linux:BuiltUsing}
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ binutils,
+ linux-image-@ABI@-generic | linux-image-unsigned-@ABI@-generic,
+ nvidia-kernel-common-418-server,
+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 ppc64el
+Section: kernel
+Priority: optional
+Built-Using: ${linux:BuiltUsing}
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ binutils,
+ linux-image-@ABI@-generic | linux-image-unsigned-@ABI@-generic,
+ nvidia-kernel-common-440-server,
+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
@@ -117,3 +157,43 @@  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,
+ nvidia-kernel-common-418-server,
+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,
+ nvidia-kernel-common-440-server,
+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 c6a6fc4..d809de3 100755
--- a/debian/rules
+++ b/debian/rules
@@ -13,9 +13,11 @@  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)
 
 # Get variants, assuming primary if debian/variants is not present
 variants = --
@@ -125,6 +127,7 @@  flavours=$(patsubst /usr/lib/linux/$(src_abi)-%,nvidia-%,$(signatures))
 nvidia-%:
 	rm -rf $(dkms_dir)/build $(dkms_dir)/source
 	mkdir -p $(dkms_dir)/build $(dkms_dir)/source
+ifeq ($(arch),amd64)
 	install -d debian/linux-modules-nvidia-390-$(src_abi)-$*
 	install -d debian/linux-modules-nvidia-390-$(src_abi)-$*/usr/lib/linux/triggers
 	$(call build_dkms, $(src_abi)-$*, linux-modules-nvidia-390-$(src_abi)-$*, $(CURDIR)/debian/linux-modules-nvidia-390-$(src_abi)-$*/lib/modules/$(src_abi)-$*/kernel, "", nvidia-390, pool/restricted/n/nvidia-graphics-drivers-390/nvidia-kernel-source-390_$(dkms_nvidia_390_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-390/nvidia-dkms-390_$(dkms_nvidia_390_version)_$(arch).deb)
@@ -139,6 +142,19 @@  nvidia-%:
 	install -d debian/linux-modules-nvidia-440-$(src_abi)-$*/usr/lib/linux/triggers
 	$(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)
+endif
+
+ifneq (,$(filter $(arch),amd64 ppc64el))
+	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)
+endif
 
 prepare-dkms:
 	mkdir -p $(dkms_dir)
@@ -154,6 +170,8 @@  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))"
 
 override_dh_gencontrol:
 	dh_gencontrol -- $(gencontrol_flags)