ACK: [SRU][Bionic][PATCH 1/1] UBUNTU: [Packaging] NVIDIA -- add support for the 435 and the 440 series
Kleber Souza
kleber.souza at canonical.com
Tue Mar 10 14:25:26 UTC 2020
On 24.02.20 17:00, alberto.milone at canonical.com wrote:
> From: Alberto Milone <alberto.milone at canonical.com>
>
> Add support for multiple NVIDIA releases in the linux-restricted-modules.
>
> BugLink: https://bugs.launchpad.net/bugs/1854485
>
> Signed-off-by: Alberto Milone <alberto.milone at canonical.com>
LGTM.
Acked-by: Kleber Sacilotto de Souza <kleber.souza at canonical.com>
> ---
> debian/control.stub | 88 +++++++++++++++++++++++++++++
> debian/dkms-versions | 2 +
> debian/rules | 23 ++++++--
> debian/templates/nvidia.postinst.in | 2 +-
> debian/templates/nvidia.prerm.in | 2 +-
> 5 files changed, 110 insertions(+), 7 deletions(-)
>
> diff --git a/debian/control.stub b/debian/control.stub
> index fd27e47..f7db625 100644
> --- a/debian/control.stub
> +++ b/debian/control.stub
> @@ -61,3 +61,91 @@ Section: kernel
> Depends: ${misc:Depends}, linux-modules-nvidia-390-ABI-lowlatency (= ${binary:Version})
> Description: Extra drivers for nvidia-390 for the lowlatency flavour
> Install extra signed nvidia-390 modules compatible with the lowlatency flavour.
> +
> +Package: linux-modules-nvidia-435-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, nvidia-kernel-common-435
> +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-435-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-435
> +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-435-generic
> +Build-Profiles: <!stage1>
> +Architecture: amd64
> +Section: kernel
> +Depends: ${misc:Depends}, linux-modules-nvidia-435-ABI-generic (= ${binary:Version})
> +Description: Extra drivers for nvidia-435 for the generic flavour
> + Install extra signed nvidia-435 modules compatible with the generic flavour.
> +
> +Package: linux-modules-nvidia-435-lowlatency
> +Build-Profiles: <!stage1>
> +Architecture: amd64
> +Section: kernel
> +Depends: ${misc:Depends}, linux-modules-nvidia-435-ABI-lowlatency (= ${binary:Version})
> +Description: Extra drivers for nvidia-435 for the lowlatency flavour
> + Install extra signed nvidia-435 modules compatible with the lowlatency flavour.
> +
> +Package: linux-modules-nvidia-440-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, nvidia-kernel-common-440
> +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-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
> +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-generic
> +Build-Profiles: <!stage1>
> +Architecture: amd64
> +Section: kernel
> +Depends: ${misc:Depends}, linux-modules-nvidia-440-ABI-generic (= ${binary:Version})
> +Description: Extra drivers for nvidia-440 for the generic flavour
> + Install extra signed nvidia-440 modules compatible with the generic flavour.
> +
> +Package: linux-modules-nvidia-440-lowlatency
> +Build-Profiles: <!stage1>
> +Architecture: amd64
> +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.
> diff --git a/debian/dkms-versions b/debian/dkms-versions
> index 274a3bb..44e43c1 100644
> --- a/debian/dkms-versions
> +++ b/debian/dkms-versions
> @@ -1,3 +1,5 @@
> spl-linux 0.7.5-1ubuntu2
> zfs-linux 0.7.5-1ubuntu16.7
> nvidia-graphics-drivers-390 390.116-0ubuntu0.18.04.3
> +nvidia-graphics-drivers-435 0
> +nvidia-graphics-drivers-440 0
> diff --git a/debian/rules b/debian/rules
> index 0468f1b..61f6af2 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -13,7 +13,9 @@ 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_version=$(shell gawk '/^nvidia-graphics-drivers-/ { 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)
>
> test:
> echo "$(src_fullversion) $(src_version)"
> @@ -57,7 +59,7 @@ endef
> dkms_dir=$(call dkms_dir_prefix,$(CURDIR))
>
> define build_dkms =
> - $(SHELL) debian/scripts/dkms-build $(dkms_dir) $(1) --lrm $(2) $(3) $(4) $(5)
> + $(SHELL) debian/scripts/dkms-build $(dkms_dir) $(1) --lrm $(2) $(3) $(4) $(5) $(6)
> endef
>
> ifeq ($(arch),ppc64el)
> @@ -67,13 +69,14 @@ instfile=vmlinuz
> endif
>
> define install_control =
> - for which in $(4); \
> + for which in $(5); \
> do \
> template="debian/templates/$(3).$$which.in"; \
> script="debian/$(1).$$which"; \
> sed -e 's/@abiname@/$(src_abi)/g' \
> -e 's/@localversion@/-$(2)/g' \
> -e 's/@image-stem@/$(instfile)/g' \
> + -e 's/@nvidia-ver@/$(4)/g' \
> <"$$template" >"$$script"; \
> done
> endef
> @@ -86,8 +89,18 @@ nvidia-%:
> mkdir -p $(dkms_dir)/build $(dkms_dir)/source
> 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_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-390/nvidia-dkms-390_$(dkms_nvidia_version)_$(arch).deb)
> - $(call install_control,linux-modules-nvidia-390-$(src_abi)-$*,$*,nvidia,postinst postrm prerm config templates)
> + $(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)
> + $(call install_control,linux-modules-nvidia-390-$(src_abi)-$*,$*,nvidia,390,postinst postrm prerm config templates)
> +
> + install -d debian/linux-modules-nvidia-435-$(src_abi)-$*
> + install -d debian/linux-modules-nvidia-435-$(src_abi)-$*/usr/lib/linux/triggers
> + $(call build_dkms, $(src_abi)-$*, linux-modules-nvidia-435-$(src_abi)-$*, $(CURDIR)/debian/linux-modules-nvidia-435-$(src_abi)-$*/lib/modules/$(src_abi)-$*/kernel, nvidia-435, pool/restricted/n/nvidia-graphics-drivers-435/nvidia-kernel-source-435_$(dkms_nvidia_435_version)_$(arch).deb pool/restricted/n/nvidia-graphics-drivers-435/nvidia-dkms-435_$(dkms_nvidia_435_version)_$(arch).deb)
> + $(call install_control,linux-modules-nvidia-435-$(src_abi)-$*,$*,nvidia,435,postinst postrm prerm config templates)
> +
> + install -d debian/linux-modules-nvidia-440-$(src_abi)-$*
> + 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)
>
> prepare-dkms:
> mkdir -p $(dkms_dir)
> diff --git a/debian/templates/nvidia.postinst.in b/debian/templates/nvidia.postinst.in
> index 5564487..607d72a 100755
> --- a/debian/templates/nvidia.postinst.in
> +++ b/debian/templates/nvidia.postinst.in
> @@ -4,7 +4,7 @@ set -e
> version=@abiname@@localversion@
> image_path=/boot/@image-stem at -$version
>
> -bits=/lib/modules/$version/kernel/nvidia-390/bits
> +bits=/lib/modules/$version/kernel/nvidia- at nvidia-ver@/bits
>
> if [ "$1" != configure ]; then
> exit 0
> diff --git a/debian/templates/nvidia.prerm.in b/debian/templates/nvidia.prerm.in
> index 2855651..f8b8e3e 100755
> --- a/debian/templates/nvidia.prerm.in
> +++ b/debian/templates/nvidia.prerm.in
> @@ -3,7 +3,7 @@ set -e
>
> version=@abiname@@localversion@
>
> -bits=/lib/modules/$version/kernel/nvidia-390/bits
> +bits=/lib/modules/$version/kernel/nvidia- at nvidia-ver@/bits
>
> if [ "$1" != remove ]; then
> exit 0
> --
> 2.20.1
>
>
More information about the kernel-team
mailing list