diff mbox series

[3/8,B,SRU,L-R-M] UBUNTU: [packaging] add nvidia 418-server and 440-server drivers

Message ID 20200529143751.2218526-2-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:37 p.m. UTC
Build the two new drivers for amd64 and ppc64el.
---
 debian/control.stub  | 92 +++++++++++++++++++++++++++++++++++++++++++-
 debian/dkms-versions |  2 +
 debian/rules         | 23 +++++++++--
 3 files changed, 112 insertions(+), 5 deletions(-)
diff mbox series

Patch

diff --git a/debian/control.stub b/debian/control.stub
index 963bab2..91a2aa2 100644
--- a/debian/control.stub
+++ b/debian/control.stub
@@ -13,8 +13,8 @@  Build-Depends:
  gawk,
  linux-headers-ABI-generic (>= VERSION),
  linux-buildinfo-ABI-generic (>= VERSION),
- linux-headers-ABI-lowlatency (>= VERSION),
- linux-buildinfo-ABI-lowlatency (>= VERSION),
+ linux-headers-ABI-lowlatency (>= VERSION) [!ppc64el],
+ 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/bionic
 
@@ -149,3 +149,91 @@  Section: kernel
 Depends: ${misc:Depends}, linux-modules-nvidia-440-ABI-lowlatency (= ${binary:Version})
 Description: Extra drivers for nvidia-440 for the lowlatency flavour
  Install extra signed nvidia-440 modules compatible with the lowlatency flavour.
+
+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
+ linux-image-nvidia-FLAVOUR meta-package, 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
+ linux-image-nvidia-FLAVOUR meta-package, which will ensure that upgrades work
+ correctly, and that supporting packages are also installed.
+
+Package: linux-modules-nvidia-418-server-generic
+Build-Profiles: <!stage1>
+Architecture: amd64 ppc64el
+Section: kernel
+Depends: ${misc:Depends}, linux-modules-nvidia-418-server-ABI-generic (= ${binary:Version})
+Description: Extra drivers for nvidia-418-server for the generic flavour
+ Install extra signed nvidia-418-server modules compatible with the generic flavour.
+
+Package: linux-modules-nvidia-418-server-lowlatency
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Depends: ${misc:Depends}, linux-modules-nvidia-418-server-ABI-lowlatency (= ${binary:Version})
+Description: Extra drivers for nvidia-418-server for the lowlatency flavour
+ Install extra signed nvidia-418-server modules compatible with the lowlatency flavour.
+
+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
+ linux-image-nvidia-FLAVOUR meta-package, 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
+ linux-image-nvidia-FLAVOUR meta-package, which will ensure that upgrades work
+ correctly, and that supporting packages are also installed.
+
+Package: linux-modules-nvidia-440-server-generic
+Build-Profiles: <!stage1>
+Architecture: amd64 ppc64el
+Section: kernel
+Depends: ${misc:Depends}, linux-modules-nvidia-440-server-ABI-generic (= ${binary:Version})
+Description: Extra drivers for nvidia-440-server for the generic flavour
+ Install extra signed nvidia-440-server modules compatible with the generic flavour.
+
+Package: linux-modules-nvidia-440-server-lowlatency
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Depends: ${misc:Depends}, linux-modules-nvidia-440-server-ABI-lowlatency (= ${binary:Version})
+Description: Extra drivers for nvidia-440-server for the lowlatency flavour
+ Install extra signed nvidia-440-server modules compatible with the lowlatency flavour.
diff --git a/debian/dkms-versions b/debian/dkms-versions
index c830a65..67b57f3 100644
--- a/debian/dkms-versions
+++ b/debian/dkms-versions
@@ -3,3 +3,5 @@  zfs-linux 0.7.5-1ubuntu16.8
 nvidia-graphics-drivers-390 390.132-0ubuntu0.18.04.1
 nvidia-graphics-drivers-435 435.21-0ubuntu0.18.04.2
 nvidia-graphics-drivers-440 440.59-0ubuntu0.18.04.1
+nvidia-graphics-drivers-418-server 0
+nvidia-graphics-drivers-440-server 0
diff --git a/debian/rules b/debian/rules
index 7e16d56..6552b42 100755
--- a/debian/rules
+++ b/debian/rules
@@ -13,9 +13,11 @@  src_fullversion = $(shell LC_ALL=C dpkg-parsechangelog | grep ^Version: | cut -d
 src_abi = $(shell echo "$(src_fullversion)" | sed -ne 's/\([0-9]*\.[0-9]*\.[0-9]*\-[0-9]*\)\..*/\1/p')
 src_version = $(shell echo $(src_fullversion) | sed -e 's/+[0-9][0-9]*//')
 
-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)
 
 test:
 	echo "$(src_fullversion) $(src_version)"
@@ -87,6 +89,8 @@  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)
@@ -101,6 +105,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)