diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/changelog linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/changelog --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/changelog 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/changelog 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1,26 @@ +linux-restricted-generate-azure-cvm (5.4.0-1104.110+cvm1) focal; urgency=medium + + * Master version: 5.4.0-1104.110+cvm1 + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/2023.01.30) + + * Miscellaneous Ubuntu changes + - debian/tracking-bug -- update from master + + -- Tim Gardner Thu, 23 Feb 2023 13:31:50 -0700 + +linux-restricted-generate-azure-cvm (5.4.0-1103.109+cvm1) focal; urgency=medium + + * Master version: 5.4.0-1103.109+cvm1 + + * LRMv7: Enable the open NVIDIA kernel modules (LP: #1988836) + - [Packaging] convert to direct ancillaries + - [Packaging] convert to v7.1 autogen form + - [Packaging] convert to v7.2 autogen form + + * Miscellaneous Ubuntu changes + - debian/tracking-bug -- update from master + + -- Marcelo Henrique Cerri Fri, 10 Feb 2023 12:49:39 -0300 + diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/compat linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/compat --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/compat 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/compat 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1 @@ +9 diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/control.common linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/control.common --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/control.common 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/control.common 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1,17 @@ +Source: @SRCPKGNAME@ +Section: utils +Priority: optional +Maintainer: Canonical Kernel Team +Build-Depends: + debhelper (>= 9), +Build-Depends-Arch: + cpio, + curl, + dkms, + gawk, + @BUILD-INTERLOCK@ + lsb-release, + python3, + python3-apt, +Standards-Version: 3.9.4 +Vcs-Git: git://git.launchpad.net/~canonical-kernel/ubuntu/+source/linux-restricted-modules-azure/+git/@SERIES@ -b azure-cvm diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/copyright linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/copyright --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/copyright 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/copyright 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1,253 @@ +Format: //www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Comment: + This package is Built-Using: the referenced nvidia-graphics-drivers-* + packages. The source code for which is under the NVIDIA-graphics-drivers + License, reproduced below. + +Files: scripts/* +Copyright: linux-kernel + +Files: * +Copyright: 2018-2019 Canonical Ltd +License: GPL-2.0+ + +License: linux-kernel + This package exists to recreate the nvidia package builds performed in + the main kernel package, and package up the build artifacts along with + the signatures generated in the primary build. The source is as per the + source for the main kernel package. + . + This is the Ubuntu prepackaged version of the Linux kernel. + Linux was written by Linus Torvalds + and others. + . + This package was put together by the Ubuntu Kernel Team, from + sources retrieved from upstream linux git. + The sources may be found at most Linux ftp sites, including + ftp://ftp.kernel.org/pub/linux/kernel/ + . + This package is currently maintained by the + Ubuntu Kernel Team + . + Linux is copyrighted by Linus Torvalds and others. + . + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 dated June, 1991. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + . + On Ubuntu Linux systems, the complete text of the GNU General + Public License v2 can be found in `/usr/share/common-licenses/GPL-2'. + +License: GPL-2.0+ + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see + . + On Debian systems, the complete text of the GNU General Public + License version 2 can be found in "/usr/share/common-licenses/GPL-2". + +License: NVIDIA-graphics-drivers + License For Customer Use of NVIDIA Software + . + . + IMPORTANT NOTICE -- READ CAREFULLY: This License For Customer Use of + NVIDIA Software ("LICENSE") is the agreement which governs use of + the software of NVIDIA Corporation and its subsidiaries ("NVIDIA") + downloadable herefrom, including computer software and associated + printed materials ("SOFTWARE"). By downloading, installing, copying, + or otherwise using the SOFTWARE, you agree to be bound by the terms + of this LICENSE. If you do not agree to the terms of this LICENSE, + do not download the SOFTWARE. + . + RECITALS + . + Use of NVIDIA's products requires three elements: the SOFTWARE, the + hardware on a graphics controller board, and a personal computer. The + SOFTWARE is protected by copyright laws and international copyright + treaties, as well as other intellectual property laws and treaties. + The SOFTWARE is not sold, and instead is only licensed for use, + strictly in accordance with this document. The hardware is protected + by various patents, and is sold, but this agreement does not cover + that sale, since it may not necessarily be sold as a package with + the SOFTWARE. This agreement sets forth the terms and conditions + of the SOFTWARE LICENSE only. + . + 1. DEFINITIONS + . + 1.1 Customer. Customer means the entity or individual that + downloads the SOFTWARE. + . + 2. GRANT OF LICENSE + . + 2.1 Rights and Limitations of Grant. NVIDIA hereby grants Customer + the following non-exclusive, non-transferable right to use the + SOFTWARE, with the following limitations: + . + 2.1.1 Rights. Customer may install and use multiple copies of the + SOFTWARE on a shared computer or concurrently on different computers, + and make multiple back-up copies of the SOFTWARE, solely for Customer's + use within Customer's Enterprise. "Enterprise" shall mean individual use + by Customer or any legal entity (such as a corporation or university) + and the subsidiaries it owns by more than fifty percent (50%). + . + 2.1.2 Linux/FreeBSD Exception. Notwithstanding the foregoing terms + of Section 2.1.1, SOFTWARE designed exclusively for use on the Linux or + FreeBSD operating systems, or other operating systems derived from the + source code to these operating systems, may be copied and redistributed, + provided that the binary files thereof are not modified in any way + (except for unzipping of compressed files). + . + 2.1.3 Limitations. + . + No Reverse Engineering. Customer may not reverse engineer, + decompile, or disassemble the SOFTWARE, nor attempt in any other + manner to obtain the source code. + . + No Separation of Components. The SOFTWARE is licensed as a + single product. Its component parts may not be separated for use + on more than one computer, nor otherwise used separately from the + other parts. + . + No Rental. Customer may not rent or lease the SOFTWARE to someone + else. + . + 3. TERMINATION + . + This LICENSE will automatically terminate if Customer fails to + comply with any of the terms and conditions hereof. In such event, + Customer must destroy all copies of the SOFTWARE and all of its + component parts. + . + Defensive Suspension. If Customer commences or participates in any legal + proceeding against NVIDIA, then NVIDIA may, in its sole discretion, + suspend or terminate all license grants and any other rights provided + under this LICENSE during the pendency of such legal proceedings. + . + 4. COPYRIGHT + . + All title and copyrights in and to the SOFTWARE (including but + not limited to all images, photographs, animations, video, audio, + music, text, and other information incorporated into the SOFTWARE), + the accompanying printed materials, and any copies of the SOFTWARE, + are owned by NVIDIA, or its suppliers. The SOFTWARE is protected + by copyright laws and international treaty provisions. Accordingly, + Customer is required to treat the SOFTWARE like any other copyrighted + material, except as otherwise allowed pursuant to this LICENSE + and that it may make one copy of the SOFTWARE solely for backup or + archive purposes. + . + 5. APPLICABLE LAW + . + This agreement shall be deemed to have been made in, and shall be + construed pursuant to, the laws of the State of California. + . + 6. DISCLAIMER OF WARRANTIES AND LIMITATION ON LIABILITY + . + 6.1 No Warranties. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE + LAW, THE SOFTWARE IS PROVIDED "AS IS" AND NVIDIA AND ITS SUPPLIERS + DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT + NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE. + . + 6.2 No Liability for Consequential Damages. TO THE MAXIMUM + EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL NVIDIA OR + ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR + CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, + DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS + OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT + OF THE USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF NVIDIA HAS + BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + . + 6.3 Specific Use. SOFTWARE is licensed only for use with NVIDIA products. + Customer's use of NVIDIA products with any other firmware is at its own + risk and may cause an NVIDIA product to become non-compliant with certain + of its certification markings. + . + 7. MISCELLANEOUS + . + The United Nations Convention on Contracts for the International + Sale of Goods is specifically disclaimed. If any provision of this + LICENSE is inconsistent with, or cannot be fully enforced under, + the law, such provision will be construed as limited to the extent + necessary to be consistent with and fully enforceable under the law. + This agreement is the final, complete and exclusive agreement between + the parties relating to the subject matter hereof, and supersedes + all prior or contemporaneous understandings and agreements relating + to such subject matter, whether oral or written. Customer agrees + that it will not ship, transfer or export the SOFTWARE into any + country, or use the SOFTWARE in any manner, prohibited by the + United States Bureau of Export Administration or any export laws, + restrictions or regulations. This LICENSE may only be modified in + writing signed by an authorized officer of NVIDIA. +Comment: + First a note from the README file + . + Q: Why does NVIDIA not provide rpms anymore? + . + A: Not every Linux distribution uses rpm, and NVIDIA wanted a single + solution that would work across all Linux distributions. As indicated + in the NVIDIA Software License, Linux distributions are welcome to + repackage and redistribute the NVIDIA Linux driver in whatever package + format they wish. + . + Furthermore, an email from NVIDIA: + . + Greetings, Randall! Comments below: + . + On 30 Jul 2003, Randall Donald wrote: + . + > To whom it may concern, + > + > My name is Randall Donald and I am the maintainer for the Debian + > downloader packages nvidia-glx-src and nvidia-kernel-src. + > As stated in your license and the README file + > ( "As indicated in the NVIDIA Software License, Linux distributions + > are welcome to repackage and redistribute the NVIDIA Linux driver in + > whatever package format they wish." ) + > I wish to include packages containing the Linux driver files in the + > Debian archive. I'd like to know if it is legally permitted to + > distribute binary kernel modules compiled from the NVIDIA kernel module + > source and Debian kernel headers. + . + This is fine; thanks for asking. + . + > I am also wondering if the "No Separation of Components" clause + > ( No Separation of Components. The SOFTWARE is licensed as a + > single product. Its component parts may not be separated for use + > on more than one computer, nor otherwise used separately from the + > other parts.) + > applies to splitting the glx driver and kernel module source into + > multiple binary packages. + . + This is also fine. I believe this section of the license was + intended to prevent users from doing things like using our Windows + control panel with a competitor's display driver (that's not actually + possible, but you get the idea...). In the case of separating the + driver into a glx package and a kernel package (like we used to + do ourselves), this is simply a packaging issue; of course users + will use the packages together when they install. + . + Please feel free to redistribute the NVIDIA graphics driver. + . + Thank you for doing this for the NVIDIA+Debian community! + . + - Andy + diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/dkms-versions linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/dkms-versions --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/dkms-versions 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/dkms-versions 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1,11 @@ +nvidia-graphics-drivers-390 390.157-0ubuntu0.20.04.1 arch=amd64 +nvidia-graphics-drivers-470 470.161.03-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-465 transition=nvidia-graphics-drivers-460 transition=nvidia-graphics-drivers-455 transition=nvidia-graphics-drivers-450 transition=nvidia-graphics-drivers-440 transition=nvidia-graphics-drivers-435 +nvidia-graphics-drivers-510 510.108.03-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-495 +nvidia-graphics-drivers-515 515.86.01-0ubuntu0.20.04.1 arch=amd64 +nvidia-graphics-drivers-525 525.85.05-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-520 +nvidia-graphics-drivers-525 525.85.05-0ubuntu0.20.04.1 arch=amd64 variant=open +nvidia-graphics-drivers-418-server 418.226.00-0ubuntu0.20.04.2 arch=amd64 +nvidia-graphics-drivers-450-server 450.216.04-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-440-server +nvidia-graphics-drivers-470-server 470.161.03-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-460-server +nvidia-graphics-drivers-515-server 515.86.01-0ubuntu0.20.04.3 arch=amd64 transition=nvidia-graphics-drivers-510-server +nvidia-graphics-drivers-525-server 525.85.12-0ubuntu0.20.04.1 arch=amd64 diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/package.config linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/package.config --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/package.config 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/package.config 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1,2 @@ +build azure-cvm amd64 +option desktop diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/rules linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/rules --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/rules 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/rules 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1,8 @@ +#! /usr/bin/make -f + +clean: + ./debian/scripts/generate-rules + $(MAKE) -f debian/rules.gen clean + +%: + $(MAKE) -f debian/rules.gen $@ diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/rules.in linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/rules.in --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/rules.in 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/rules.in 2023-02-10 14:54:40.000000000 +0000 @@ -0,0 +1,26 @@ +##export DH_VERBOSE := 1 + +arch = $(shell dpkg-architecture -qDEB_HOST_ARCH) + +test:: + echo "$(src_version) $(src_main_version)" + +clean:: + rm -rf rm -rf $(dkms_dir) + rm -f debian/scripts/fix-filenames + dh_clean + +%: + dh $@ + +custom_top=debian/custom +custom_dir=$(custom_top)/$(src_version) +custom_tar=$(src_package)_$(src_version)_$(arch).tar.gz +custom-upload: + install -d $(custom_dir)/control + { echo "tarball"; echo "signed-only"; } >$(custom_dir)/control/options + cd $(custom_top) && tar czvf ../../../$(custom_tar) . + dpkg-distaddfile $(custom_tar) raw-signing - + +override_dh_auto_install: nvidia-$(arch) custom-upload + dh_install diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/scripts/generate-rules linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/scripts/generate-rules --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/scripts/generate-rules 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/scripts/generate-rules 2023-02-10 14:54:40.000000000 +0000 @@ -0,0 +1,184 @@ +#!/bin/bash +set -e + +validate_unique() +{ + [ "$#" = "2" ] + local duplicates=$(echo $2 | tr " " "\n" | sort | uniq -d) + if [ "$duplicates" ]; then + echo "EE: duplicate values in $1" 1>&2 + exit 1 + fi +} + +# Pick out relevant version and package information including our predecessor +# packages: linux -> linux-restricted-modules-signatures -> linux-restricted-modules +src_package=$(LC_ALL=C dpkg-parsechangelog -SSource) +src_version=$(LC_ALL=C dpkg-parsechangelog -SVersion) +src_abi=$(echo "${src_version}" | sed -ne 's/\([0-9]*\.[0-9]*\.[0-9]*\-[0-9]*\)\..*/\1/p') +src_series=$(LC_ALL=C dpkg-parsechangelog -SDistribution | sed -e 's/-\(security\|updates\|proposed\)$//') + +# linux/5.8.0-41.46 +src_main_package=$(echo "${src_package}" | sed -e 's/-restricted-generate//') +src_main_version=$(echo ${src_version} | sed -e 's/+[0-9][0-9\.]*$//') + +# linux-restricted-generate/5.8.0-41.46[+1] + +# linux-restricted-signatures/5.8.0-41.46[+1] + +# linux-restricted-modules/5.8.0-41.46[+1] +src_lrm_package=$(echo "${src_package}" | sed -e 's/-restricted-generate/-restricted-modules/') +src_lrm_version=${src_version} + +cat - "debian/rules.in" >"debian/rules.gen" <"debian/control.interlock-up" + +nvidia_desktop= +nvidia_server= +nvidia_ignore= +while read command arg +do + case "$command" in + option) ;; + suppress) nvidia_ignore="$nvidia_ignore $arg"; continue ;; + *) continue ;; + esac + + case "$arg" in + desktop) nvidia_desktop=y ;; + server) nvidia_server=y ;; + esac +done <"debian/package.config" + +build_archs= +while read command flavour archs +do + case "$command" in + build) ;; + *) continue ;; + esac + + validate_unique "archs" "$archs" + for arch in $archs + do + case " $build_archs " in + *\ $arch\ *) ;; + *) build_archs="$build_archs $arch" ;; + esac + done + + while read package version extra + do + case "$package" in + nvidia-graphics-drivers-*-server) + [ -z "$nvidia_server" ] && continue + ;; + nvidia-graphics-drivers-*) + [ -z "$nvidia_desktop" ] && continue + ;; + *) continue ;; + esac + case " $nvidia_ignore " in + *\ $package\ *) continue ;; + esac + + case " $extra " in + *\ signonly\ *) continue ;; + esac + + # If package specifies arch= keys, only build it on + # the intersection of kernel flavour arches & the + # package arches, otherwise build for all kernel + # flavour arches. + pkg_archs= + variant= + for cmd in $extra + do + case "$cmd" in + arch=*) pkg_archs="$pkg_archs ${cmd#arch=}" ;; + variant=*) variant="-${cmd#variant=}" ;; + esac + done + # No package arches set, build for everything + if [ -z "$pkg_archs" ]; then + pkg_archs=$archs + else + # Package arches set, build for intersection + validate_unique "pkg_archs" "$pkg_archs" + pkg_archs=$(sort <(echo $archs | tr " " "\n") <(echo $pkg_archs | tr " " "\n") | uniq -d | tr "\n" " ") + # No intersection, skip + if [ -z "$pkg_archs" ]; then + continue + fi + fi + + targets=$(echo "$pkg_archs" | sed -e 's/\>"debian/control.interlock-up" <= ${src_lrm_version}) [${pkg_archs}], +EOL + + # debian/rules.gen + # XXX: BUILD should help us here. + if [ "$variant" = "-open" ]; then + cat - >>"debian/rules.gen" <>"debian/rules.gen" <"debian/control" + +rm -f "debian/control.interlock-up" diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/source/format linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/source/format --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/source/format 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/source/format 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1 @@ +3.0 (native) diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/source/options linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/source/options --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/source/options 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-generate-azure-cvm/debian/source/options 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1,6 @@ +# force "dpkg-source -I -i" behavior +diff-ignore +tar-ignore +tar-ignore debian/control.d +tar-ignore debian/rules.gen +tar-ignore debian/control.interlock-up diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/changelog linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/changelog --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/changelog 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/changelog 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1,26 @@ +linux-restricted-signatures-azure-cvm (5.4.0-1104.110+cvm1) focal; urgency=medium + + * Master version: 5.4.0-1104.110+cvm1 + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/2023.01.30) + + * Miscellaneous Ubuntu changes + - debian/tracking-bug -- update from master + + -- Tim Gardner Thu, 23 Feb 2023 13:31:50 -0700 + +linux-restricted-signatures-azure-cvm (5.4.0-1103.109+cvm1) focal; urgency=medium + + * Master version: 5.4.0-1103.109+cvm1 + + * LRMv7: Enable the open NVIDIA kernel modules (LP: #1988836) + - [Packaging] convert to direct ancillaries + - [Packaging] convert to v7.1 autogen form + - [Packaging] convert to v7.2 autogen form + + * Miscellaneous Ubuntu changes + - debian/tracking-bug -- update from master + + -- Marcelo Henrique Cerri Fri, 10 Feb 2023 12:49:39 -0300 + diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/compat linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/compat --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/compat 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/compat 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1 @@ +9 diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/control.common linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/control.common --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/control.common 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/control.common 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1,17 @@ +Source: @SRCPKGNAME@ +Section: utils +Priority: optional +Maintainer: Canonical Kernel Team +Build-Depends: + debhelper (>= 9), +Build-Depends-Arch: + cpio, + curl, + dkms, + gawk, + @BUILD-INTERLOCK@ + lsb-release, + python3, + python3-apt, +Standards-Version: 3.9.4 +Vcs-Git: git://git.launchpad.net/~canonical-kernel/ubuntu/+source/linux-restricted-modules-azure/+git/@SERIES@ -b azure-cvm diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/copyright linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/copyright --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/copyright 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/copyright 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1,253 @@ +Format: //www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Comment: + This package is Built-Using: the referenced nvidia-graphics-drivers-* + packages. The source code for which is under the NVIDIA-graphics-drivers + License, reproduced below. + +Files: scripts/* +Copyright: linux-kernel + +Files: * +Copyright: 2018-2019 Canonical Ltd +License: GPL-2.0+ + +License: linux-kernel + This package exists to recreate the nvidia package builds performed in + the main kernel package, and package up the build artifacts along with + the signatures generated in the primary build. The source is as per the + source for the main kernel package. + . + This is the Ubuntu prepackaged version of the Linux kernel. + Linux was written by Linus Torvalds + and others. + . + This package was put together by the Ubuntu Kernel Team, from + sources retrieved from upstream linux git. + The sources may be found at most Linux ftp sites, including + ftp://ftp.kernel.org/pub/linux/kernel/ + . + This package is currently maintained by the + Ubuntu Kernel Team + . + Linux is copyrighted by Linus Torvalds and others. + . + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 dated June, 1991. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + . + On Ubuntu Linux systems, the complete text of the GNU General + Public License v2 can be found in `/usr/share/common-licenses/GPL-2'. + +License: GPL-2.0+ + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see + . + On Debian systems, the complete text of the GNU General Public + License version 2 can be found in "/usr/share/common-licenses/GPL-2". + +License: NVIDIA-graphics-drivers + License For Customer Use of NVIDIA Software + . + . + IMPORTANT NOTICE -- READ CAREFULLY: This License For Customer Use of + NVIDIA Software ("LICENSE") is the agreement which governs use of + the software of NVIDIA Corporation and its subsidiaries ("NVIDIA") + downloadable herefrom, including computer software and associated + printed materials ("SOFTWARE"). By downloading, installing, copying, + or otherwise using the SOFTWARE, you agree to be bound by the terms + of this LICENSE. If you do not agree to the terms of this LICENSE, + do not download the SOFTWARE. + . + RECITALS + . + Use of NVIDIA's products requires three elements: the SOFTWARE, the + hardware on a graphics controller board, and a personal computer. The + SOFTWARE is protected by copyright laws and international copyright + treaties, as well as other intellectual property laws and treaties. + The SOFTWARE is not sold, and instead is only licensed for use, + strictly in accordance with this document. The hardware is protected + by various patents, and is sold, but this agreement does not cover + that sale, since it may not necessarily be sold as a package with + the SOFTWARE. This agreement sets forth the terms and conditions + of the SOFTWARE LICENSE only. + . + 1. DEFINITIONS + . + 1.1 Customer. Customer means the entity or individual that + downloads the SOFTWARE. + . + 2. GRANT OF LICENSE + . + 2.1 Rights and Limitations of Grant. NVIDIA hereby grants Customer + the following non-exclusive, non-transferable right to use the + SOFTWARE, with the following limitations: + . + 2.1.1 Rights. Customer may install and use multiple copies of the + SOFTWARE on a shared computer or concurrently on different computers, + and make multiple back-up copies of the SOFTWARE, solely for Customer's + use within Customer's Enterprise. "Enterprise" shall mean individual use + by Customer or any legal entity (such as a corporation or university) + and the subsidiaries it owns by more than fifty percent (50%). + . + 2.1.2 Linux/FreeBSD Exception. Notwithstanding the foregoing terms + of Section 2.1.1, SOFTWARE designed exclusively for use on the Linux or + FreeBSD operating systems, or other operating systems derived from the + source code to these operating systems, may be copied and redistributed, + provided that the binary files thereof are not modified in any way + (except for unzipping of compressed files). + . + 2.1.3 Limitations. + . + No Reverse Engineering. Customer may not reverse engineer, + decompile, or disassemble the SOFTWARE, nor attempt in any other + manner to obtain the source code. + . + No Separation of Components. The SOFTWARE is licensed as a + single product. Its component parts may not be separated for use + on more than one computer, nor otherwise used separately from the + other parts. + . + No Rental. Customer may not rent or lease the SOFTWARE to someone + else. + . + 3. TERMINATION + . + This LICENSE will automatically terminate if Customer fails to + comply with any of the terms and conditions hereof. In such event, + Customer must destroy all copies of the SOFTWARE and all of its + component parts. + . + Defensive Suspension. If Customer commences or participates in any legal + proceeding against NVIDIA, then NVIDIA may, in its sole discretion, + suspend or terminate all license grants and any other rights provided + under this LICENSE during the pendency of such legal proceedings. + . + 4. COPYRIGHT + . + All title and copyrights in and to the SOFTWARE (including but + not limited to all images, photographs, animations, video, audio, + music, text, and other information incorporated into the SOFTWARE), + the accompanying printed materials, and any copies of the SOFTWARE, + are owned by NVIDIA, or its suppliers. The SOFTWARE is protected + by copyright laws and international treaty provisions. Accordingly, + Customer is required to treat the SOFTWARE like any other copyrighted + material, except as otherwise allowed pursuant to this LICENSE + and that it may make one copy of the SOFTWARE solely for backup or + archive purposes. + . + 5. APPLICABLE LAW + . + This agreement shall be deemed to have been made in, and shall be + construed pursuant to, the laws of the State of California. + . + 6. DISCLAIMER OF WARRANTIES AND LIMITATION ON LIABILITY + . + 6.1 No Warranties. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE + LAW, THE SOFTWARE IS PROVIDED "AS IS" AND NVIDIA AND ITS SUPPLIERS + DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT + NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE. + . + 6.2 No Liability for Consequential Damages. TO THE MAXIMUM + EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL NVIDIA OR + ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR + CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, + DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS + OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT + OF THE USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF NVIDIA HAS + BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + . + 6.3 Specific Use. SOFTWARE is licensed only for use with NVIDIA products. + Customer's use of NVIDIA products with any other firmware is at its own + risk and may cause an NVIDIA product to become non-compliant with certain + of its certification markings. + . + 7. MISCELLANEOUS + . + The United Nations Convention on Contracts for the International + Sale of Goods is specifically disclaimed. If any provision of this + LICENSE is inconsistent with, or cannot be fully enforced under, + the law, such provision will be construed as limited to the extent + necessary to be consistent with and fully enforceable under the law. + This agreement is the final, complete and exclusive agreement between + the parties relating to the subject matter hereof, and supersedes + all prior or contemporaneous understandings and agreements relating + to such subject matter, whether oral or written. Customer agrees + that it will not ship, transfer or export the SOFTWARE into any + country, or use the SOFTWARE in any manner, prohibited by the + United States Bureau of Export Administration or any export laws, + restrictions or regulations. This LICENSE may only be modified in + writing signed by an authorized officer of NVIDIA. +Comment: + First a note from the README file + . + Q: Why does NVIDIA not provide rpms anymore? + . + A: Not every Linux distribution uses rpm, and NVIDIA wanted a single + solution that would work across all Linux distributions. As indicated + in the NVIDIA Software License, Linux distributions are welcome to + repackage and redistribute the NVIDIA Linux driver in whatever package + format they wish. + . + Furthermore, an email from NVIDIA: + . + Greetings, Randall! Comments below: + . + On 30 Jul 2003, Randall Donald wrote: + . + > To whom it may concern, + > + > My name is Randall Donald and I am the maintainer for the Debian + > downloader packages nvidia-glx-src and nvidia-kernel-src. + > As stated in your license and the README file + > ( "As indicated in the NVIDIA Software License, Linux distributions + > are welcome to repackage and redistribute the NVIDIA Linux driver in + > whatever package format they wish." ) + > I wish to include packages containing the Linux driver files in the + > Debian archive. I'd like to know if it is legally permitted to + > distribute binary kernel modules compiled from the NVIDIA kernel module + > source and Debian kernel headers. + . + This is fine; thanks for asking. + . + > I am also wondering if the "No Separation of Components" clause + > ( No Separation of Components. The SOFTWARE is licensed as a + > single product. Its component parts may not be separated for use + > on more than one computer, nor otherwise used separately from the + > other parts.) + > applies to splitting the glx driver and kernel module source into + > multiple binary packages. + . + This is also fine. I believe this section of the license was + intended to prevent users from doing things like using our Windows + control panel with a competitor's display driver (that's not actually + possible, but you get the idea...). In the case of separating the + driver into a glx package and a kernel package (like we used to + do ourselves), this is simply a packaging issue; of course users + will use the packages together when they install. + . + Please feel free to redistribute the NVIDIA graphics driver. + . + Thank you for doing this for the NVIDIA+Debian community! + . + - Andy + diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/dkms-versions linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/dkms-versions --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/dkms-versions 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/dkms-versions 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1,11 @@ +nvidia-graphics-drivers-390 390.157-0ubuntu0.20.04.1 arch=amd64 +nvidia-graphics-drivers-470 470.161.03-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-465 transition=nvidia-graphics-drivers-460 transition=nvidia-graphics-drivers-455 transition=nvidia-graphics-drivers-450 transition=nvidia-graphics-drivers-440 transition=nvidia-graphics-drivers-435 +nvidia-graphics-drivers-510 510.108.03-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-495 +nvidia-graphics-drivers-515 515.86.01-0ubuntu0.20.04.1 arch=amd64 +nvidia-graphics-drivers-525 525.85.05-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-520 +nvidia-graphics-drivers-525 525.85.05-0ubuntu0.20.04.1 arch=amd64 variant=open +nvidia-graphics-drivers-418-server 418.226.00-0ubuntu0.20.04.2 arch=amd64 +nvidia-graphics-drivers-450-server 450.216.04-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-440-server +nvidia-graphics-drivers-470-server 470.161.03-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-460-server +nvidia-graphics-drivers-515-server 515.86.01-0ubuntu0.20.04.3 arch=amd64 transition=nvidia-graphics-drivers-510-server +nvidia-graphics-drivers-525-server 525.85.12-0ubuntu0.20.04.1 arch=amd64 diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/package.config linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/package.config --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/package.config 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/package.config 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1,2 @@ +build azure-cvm amd64 +option desktop diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/rules linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/rules --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/rules 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/rules 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1,8 @@ +#! /usr/bin/make -f + +clean: + ./debian/scripts/generate-rules + $(MAKE) -f debian/rules.gen clean + +%: + $(MAKE) -f debian/rules.gen $@ diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/rules.in linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/rules.in --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/rules.in 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/rules.in 2023-02-10 14:54:40.000000000 +0000 @@ -0,0 +1,30 @@ +##export DH_VERBOSE := 1 + +arch = $(shell dpkg-architecture -qDEB_HOST_ARCH) + +%: + dh $@ + +override_dh_auto_build: + ./download-signed "$(src_genr_package)" "$(src_genr_version)" "$(src_genr_package)" + +override_dh_auto_install: nvidia-$(arch) + dh_install + +override_dh_gencontrol: + dh_gencontrol -- $(gencontrol_flags) + +gencontrol_flags := + +define install_control = + 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 diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/scripts/generate-rules linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/scripts/generate-rules --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/scripts/generate-rules 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/scripts/generate-rules 2023-02-10 14:54:40.000000000 +0000 @@ -0,0 +1,256 @@ +#!/bin/bash +set -e + +validate_unique() +{ + [ "$#" = "2" ] + local duplicates=$(echo $2 | tr " " "\n" | sort | uniq -d) + if [ "$duplicates" ]; then + echo "EE: duplicate values in $1" 1>&2 + exit 1 + fi +} + +# Pick out relevant version and package information including our predecessor +# packages: linux-restricted-generate -> linux-restricted-signatures -> linux-restricted-modules +src_package=$(LC_ALL=C dpkg-parsechangelog -SSource) +src_version=$(LC_ALL=C dpkg-parsechangelog -SVersion) +src_abi=$(echo "${src_version}" | sed -ne 's/\([0-9]*\.[0-9]*\.[0-9]*\-[0-9]*\)\..*/\1/p') +src_series=$(LC_ALL=C dpkg-parsechangelog -SDistribution | sed -e 's/-\(security\|updates\|proposed\)$//') + +# linux/5.8.0-41.46 +src_main_package=$(echo "${src_package}" | sed -e 's/-restricted-signature//') +src_main_version=$(echo ${src_version} | sed -e 's/+[0-9][0-9\.]*$//') + +# linux-restricted-generate/5.8.0-41.46[+1] +src_genr_package=$(echo "${src_package}" | sed -e 's/-restricted-signatures/-restricted-generate/') +src_genr_version=${src_version} + +# linux-restricted-signatures/5.8.0-41.46[+1] + +# linux-restricted-modules/5.8.0-41.46[+1] +src_lrm_package=$(echo "${src_package}" | sed -e 's/-restricted-signatures/-restricted-modules/') +src_lrm_version=${src_version} + +cat - "debian/rules.in" >"debian/rules.gen" <"debian/control.interlock-up" + +build_archs= +while read command flavour archs +do + case "$command" in + build) ;; + *) continue ;; + esac + + for arch in $archs + do + case " $build_archs " in + *\ $arch\ *) ;; + *) build_archs="$buildarchs $arch" ;; + esac + done +done <"debian/package.config" + +while read command flavour archs +do + case "$command" in + build) ;; + *) continue ;; + esac + + validate_unique "archs" "$archs" + targets=$(echo "$archs" | sed -e 's/\>"debian/rules.gen" <>debian/linux-signatures-nvidia-${src_abi}-${flavour}.install; \\ + done +EOL + + cat - >>"debian/control.signatures" < +Architecture: ${archs} +Section: kernel +Priority: optional +Depends: linux-image-${src_abi}-${flavour} | linux-image-unsigned-${src_abi}-${flavour}, +Built-Using: \${linux:BuiltUsing} +Description: Linux kernel signatures for nvidia modules for version ${src_abi}-${flavour} + This package contains the Linux kernel signatures nvidia modules for + version ${src_abi}-${flavour}. + . + You likely do not want to install this package directly. +EOL +done <"debian/package.config" + +nvidia_desktop= +nvidia_server= +nvidia_ignore= +while read command arg +do + case "$command" in + option) ;; + suppress) nvidia_ignore="$nvidia_ignore $arg"; continue ;; + *) continue ;; + esac + + case "$arg" in + desktop) nvidia_desktop=y ;; + server) nvidia_server=y ;; + esac +done <"debian/package.config" + +: >"debian/control.open" +while read command flavour archs +do + case "$command" in + build) ;; + *) continue ;; + esac + + validate_unique "archs" "$archs" + + while read package version extra + do + case "$package" in + nvidia-graphics-drivers-*-server) + [ -z "$nvidia_server" ] && continue + ;; + nvidia-graphics-drivers-*) + [ -z "$nvidia_desktop" ] && continue + ;; + *) continue ;; + esac + case " $nvidia_ignore " in + *\ $package\ *) continue ;; + esac + + case " $extra " in + *\ signonly\ *) continue ;; + esac + + # If package specifies arch= keys, only build it on + # the intersection of kernel flavour arches & the + # package arches, otherwise build for all kernel + # flavour arches. + pkg_archs= + variant= + for cmd in $extra + do + case "$cmd" in + arch=*) pkg_archs="$pkg_archs ${cmd#arch=}" ;; + variant=*) variant="-${cmd#variant=}" ;; + esac + done + + if [ "$variant" != "-open" ]; then + continue + fi + + # No package arches set, build for everything + if [ -z "$pkg_archs" ]; then + pkg_archs=$archs + else + # Package arches set, build for intersection + validate_unique "pkg_archs" "$pkg_archs" + pkg_archs=$(sort <(echo $archs | tr " " "\n") <(echo $pkg_archs | tr " " "\n") | uniq -d | tr "\n" " ") + # No intersection, skip + if [ -z "$pkg_archs" ]; then + continue + fi + fi + + targets=$(echo "$pkg_archs" | sed -e 's/\>"debian/control.interlock-up" <= ${src_lrm_version}) [${pkg_archs}], +EOL + + # debian/rules.gen + cat - >>"debian/rules.gen" <= \$(nvidia_${suffix_under}_upstream_version))" +test:: + @echo $package $version $suffix_minus $suffix_under $suffix_short $targets +$targets:: + install -d debian/linux-modules-nvidia-${suffix_minus}-\$(src_abi)-${flavour} + install -d debian/linux-modules-nvidia-${suffix_minus}-\$(src_abi)-${flavour}/usr/lib/linux/triggers + \$(call install_control,linux-modules-nvidia-${suffix_minus}-\$(src_abi)-${flavour},${flavour},open,${suffix_short},postinst postrm); \\ + stream="${src_genr_version}/${src_abi}-${flavour}/open/nvidia-${suffix_minus}"; \\ + nvidia=\$\$(basename "\$\$stream"); \\ + install -d debian/linux-modules-nvidia-${suffix_minus}-\$(src_abi)-${flavour}/lib/modules/kernel/\$\$nvidia; \\ + for sig in \$\$stream/*.ko.sig; \\ + do \\ + ko=\$\$(basename "\$\$sig" ".sig"); \\ + cat "/lib/modules/${src_abi}-${flavour}/kernel/\$\$nvidia/\$\$ko" "\$\$sig" >"\$\$stream/\$\$ko"; \\ + echo "\$\$stream/\$\$ko /lib/modules/${src_abi}-${flavour}/kernel/\$\$nvidia" >>debian/linux-modules-nvidia-${suffix_minus}-${src_abi}-${flavour}.install; \\ + done +EOL + + # debian/control.d/nvidia + cat - >>"debian/control.open" < +Architecture: ${pkg_archs} +Section: kernel +Priority: optional +Built-Using: \${dkms:nvidia-${suffix_minus}-modules} +Depends: + \${misc:Depends}, + \${shlibs:Depends}, + linux-image-${src_abi}-${flavour} | linux-image-unsigned-${src_abi}-${flavour}, + \${nvk:nvidia-${suffix_minus}}, +Description: Linux kernel nvidia modules for version ${src_abi} + This package pulls together the Linux kernel nvidia modules for + version ${src_abi} with the appropriate signatures. + . + You likely do not want to install this package directly. Instead, install the + one of the linux-modules-nvidia-${suffix_minus}-${flavour}* meta-packages, + which will ensure that upgrades work correctly, and that supporting packages are + also installed. +EOL + + done <"debian/dkms-versions" +done <"debian/package.config" + +cat "debian/control.common" "debian/control.signatures" "debian/control.open" | sed \ + -e "/@BUILD-INTERLOCK@/{" \ + -e " r debian/control.interlock-up" \ + -e " d" \ + -e " }" \ + -e "s/@SRCPKGNAME@/${src_package}/g" \ + -e "s/@ABI@/${src_abi}/g" \ + -e "s/@SERIES@/${src_series}/g" \ + >"debian/control" + +rm -f "debian/control.interlock-up" "debian/control.signatures" "debian/control.open" diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/source/format linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/source/format --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/source/format 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/source/format 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1 @@ +3.0 (native) diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/source/options linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/source/options --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/source/options 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/source/options 2023-02-23 20:31:50.000000000 +0000 @@ -0,0 +1,6 @@ +# force "dpkg-source -I -i" behavior +diff-ignore +tar-ignore +tar-ignore debian/control.d +tar-ignore debian/rules.gen +tar-ignore debian/control.interlock-up diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/templates/open.postinst.in linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/templates/open.postinst.in --- linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/templates/open.postinst.in 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/ancillary/linux-restricted-signatures-azure-cvm/debian/templates/open.postinst.in 2023-02-10 14:54:40.000000000 +0000 @@ -0,0 +1,20 @@ +#!/bin/sh +set -e + +version=@abiname@@localversion@ +image_path=/boot/@image-stem@-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod -a -F /boot/System.map-$version $version || true +if [ -d /etc/kernel/postinst.d ]; then + cat - >/usr/lib/linux/triggers/$version </dev/null || true +# +# See the commentary on extra.postrm.in for why this is disabled. +# +#if [ -d /etc/kernel/postinst.d ]; then +# # We want to behave as if linux-image (without us) was installed, therefore +# # we do not want the postinst support to know we are being removed, claim +# # this is an installation event. +# cat - >/usr/lib/linux/triggers/$version < Thu, 23 Feb 2023 13:31:50 -0700 + +linux-restricted-modules-azure-cvm (5.4.0-1103.109+cvm1) focal; urgency=medium + + * Master version: 5.4.0-1103.109+cvm1 + + * LRMv7: Enable the open NVIDIA kernel modules (LP: #1988836) + - [Packaging] convert to direct ancillaries + - [Packaging] convert to v7.1 autogen form + - [Packaging] convert to v7.2 autogen form + + * Miscellaneous Ubuntu changes + - debian/tracking-bug -- update from master + + -- Marcelo Henrique Cerri Fri, 10 Feb 2023 12:49:39 -0300 + linux-restricted-modules-azure-cvm (5.4.0-1102.108+cvm1) focal; urgency=medium * Master version: 5.4.0-1102.108+cvm1 diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/control linux-restricted-modules-azure-cvm-5.4.0/debian/control --- linux-restricted-modules-azure-cvm-5.4.0/debian/control 2023-01-19 22:11:18.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/control 2023-02-23 20:31:50.000000000 +0000 @@ -9,7 +9,7 @@ curl, dkms, gawk, - linux-headers-5.4.0-1102-azure-cvm (>= 5.4.0-1102.108+cvm1) [amd64], + linux-headers-5.4.0-1104-azure-cvm (>= 5.4.0-1104.110+cvm1) [amd64], lsb-release, python3, python3-apt, @@ -18,123 +18,135 @@ Package: linux-modules-nvidia-390-azure-cvm Build-Profiles: -Architecture: amd64 +Architecture: amd64 Section: kernel Provides: ${dkms:nvidia-390-modules}, nvidia-prebuilt-kernel Depends: ${misc:Depends}, - linux-modules-nvidia-390-5.4.0-1102-azure-cvm (= ${binary:Version}), + linux-modules-nvidia-390-5.4.0-1104-azure-cvm (= ${binary:Version}), ${nvk:nvidia-390}, Description: Extra drivers for nvidia-390 for the azure-cvm flavour Install extra signed nvidia-390 modules compatible with the azure-cvm flavour. Package: linux-modules-nvidia-470-azure-cvm Build-Profiles: -Architecture: amd64 +Architecture: amd64 Section: kernel Provides: ${dkms:nvidia-470-modules}, nvidia-prebuilt-kernel Depends: ${misc:Depends}, - linux-modules-nvidia-470-5.4.0-1102-azure-cvm (= ${binary:Version}), + linux-modules-nvidia-470-5.4.0-1104-azure-cvm (= ${binary:Version}), ${nvk:nvidia-470}, Description: Extra drivers for nvidia-470 for the azure-cvm flavour Install extra signed nvidia-470 modules compatible with the azure-cvm flavour. Package: linux-modules-nvidia-510-azure-cvm Build-Profiles: -Architecture: amd64 +Architecture: amd64 Section: kernel Provides: ${dkms:nvidia-510-modules}, nvidia-prebuilt-kernel Depends: ${misc:Depends}, - linux-modules-nvidia-510-5.4.0-1102-azure-cvm (= ${binary:Version}), + linux-modules-nvidia-510-5.4.0-1104-azure-cvm (= ${binary:Version}), ${nvk:nvidia-510}, Description: Extra drivers for nvidia-510 for the azure-cvm flavour Install extra signed nvidia-510 modules compatible with the azure-cvm flavour. Package: linux-modules-nvidia-515-azure-cvm Build-Profiles: -Architecture: amd64 +Architecture: amd64 Section: kernel Provides: ${dkms:nvidia-515-modules}, nvidia-prebuilt-kernel Depends: ${misc:Depends}, - linux-modules-nvidia-515-5.4.0-1102-azure-cvm (= ${binary:Version}), + linux-modules-nvidia-515-5.4.0-1104-azure-cvm (= ${binary:Version}), ${nvk:nvidia-515}, Description: Extra drivers for nvidia-515 for the azure-cvm flavour Install extra signed nvidia-515 modules compatible with the azure-cvm flavour. Package: linux-modules-nvidia-525-azure-cvm Build-Profiles: -Architecture: amd64 +Architecture: amd64 Section: kernel Provides: ${dkms:nvidia-525-modules}, nvidia-prebuilt-kernel Depends: ${misc:Depends}, - linux-modules-nvidia-525-5.4.0-1102-azure-cvm (= ${binary:Version}), + linux-modules-nvidia-525-5.4.0-1104-azure-cvm (= ${binary:Version}), ${nvk:nvidia-525}, Description: Extra drivers for nvidia-525 for the azure-cvm flavour Install extra signed nvidia-525 modules compatible with the azure-cvm flavour. +Package: linux-modules-nvidia-525-open-azure-cvm +Build-Profiles: +Architecture: amd64 +Section: kernel +Provides: ${dkms:nvidia-525-open-modules}, nvidia-prebuilt-kernel +Depends: + ${misc:Depends}, + linux-modules-nvidia-525-open-5.4.0-1104-azure-cvm (= ${binary:Version}), + ${nvk:nvidia-525-open}, +Description: Extra drivers for nvidia-525-open for the azure-cvm flavour + Install extra signed nvidia-525-open modules compatible with the azure-cvm flavour. + Package: linux-modules-nvidia-465-azure-cvm -Architecture: amd64 +Architecture: amd64 Section: oldlibs Depends: linux-modules-nvidia-470-azure-cvm Description: Extra drivers for nvidia-465 for the azure-cvm flavour (dummy transitional package) Transitional package for upgrades of -465 to -470. Package: linux-modules-nvidia-460-azure-cvm -Architecture: amd64 +Architecture: amd64 Section: oldlibs Depends: linux-modules-nvidia-470-azure-cvm Description: Extra drivers for nvidia-460 for the azure-cvm flavour (dummy transitional package) Transitional package for upgrades of -460 to -470. Package: linux-modules-nvidia-455-azure-cvm -Architecture: amd64 +Architecture: amd64 Section: oldlibs Depends: linux-modules-nvidia-470-azure-cvm Description: Extra drivers for nvidia-455 for the azure-cvm flavour (dummy transitional package) Transitional package for upgrades of -455 to -470. Package: linux-modules-nvidia-450-azure-cvm -Architecture: amd64 +Architecture: amd64 Section: oldlibs Depends: linux-modules-nvidia-470-azure-cvm Description: Extra drivers for nvidia-450 for the azure-cvm flavour (dummy transitional package) Transitional package for upgrades of -450 to -470. Package: linux-modules-nvidia-440-azure-cvm -Architecture: amd64 +Architecture: amd64 Section: oldlibs Depends: linux-modules-nvidia-470-azure-cvm Description: Extra drivers for nvidia-440 for the azure-cvm flavour (dummy transitional package) Transitional package for upgrades of -440 to -470. Package: linux-modules-nvidia-435-azure-cvm -Architecture: amd64 +Architecture: amd64 Section: oldlibs Depends: linux-modules-nvidia-470-azure-cvm Description: Extra drivers for nvidia-435 for the azure-cvm flavour (dummy transitional package) Transitional package for upgrades of -435 to -470. Package: linux-modules-nvidia-495-azure-cvm -Architecture: amd64 +Architecture: amd64 Section: oldlibs Depends: linux-modules-nvidia-510-azure-cvm Description: Extra drivers for nvidia-495 for the azure-cvm flavour (dummy transitional package) Transitional package for upgrades of -495 to -510. Package: linux-modules-nvidia-520-azure-cvm -Architecture: amd64 +Architecture: amd64 Section: oldlibs Depends: linux-modules-nvidia-525-azure-cvm Description: Extra drivers for nvidia-520 for the azure-cvm flavour (dummy transitional package) Transitional package for upgrades of -520 to -525. -Package: linux-objects-nvidia-390-5.4.0-1102-azure-cvm +Package: linux-objects-nvidia-390-5.4.0-1104-azure-cvm Build-Profiles: -Architecture: amd64 +Architecture: amd64 Section: kernel Priority: optional Built-Using: ${linux:BuiltUsing} @@ -142,39 +154,39 @@ ${misc:Depends}, ${shlibs:Depends}, binutils, -Description: Linux kernel nvidia modules for version 5.4.0-1102 (objects) - This package contains the Linux kernel nvidia modules for version 5.4.0-1102. +Description: Linux kernel nvidia modules for version 5.4.0-1104 (objects) + This package contains the Linux kernel nvidia modules for version 5.4.0-1104. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-390-azure-cvm* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. -Package: linux-modules-nvidia-390-5.4.0-1102-azure-cvm +Package: linux-modules-nvidia-390-5.4.0-1104-azure-cvm Build-Profiles: -Architecture: amd64 +Architecture: amd64 Section: kernel Priority: optional Built-Using: ${linux:BuiltUsing} Depends: ${misc:Depends}, ${shlibs:Depends}, - linux-image-5.4.0-1102-azure-cvm | linux-image-unsigned-5.4.0-1102-azure-cvm, - linux-signatures-nvidia-5.4.0-1102-azure-cvm (= 5.4.0-1102.108+cvm1), - linux-objects-nvidia-390-5.4.0-1102-azure-cvm (= ${binary:Version}), + linux-image-5.4.0-1104-azure-cvm | linux-image-unsigned-5.4.0-1104-azure-cvm, + linux-signatures-nvidia-5.4.0-1104-azure-cvm (= 5.4.0-1104.110+cvm1), + linux-objects-nvidia-390-5.4.0-1104-azure-cvm (= ${binary:Version}), ${nvk:nvidia-390}, -Description: Linux kernel nvidia modules for version 5.4.0-1102 +Description: Linux kernel nvidia modules for version 5.4.0-1104 This package pulls together the Linux kernel nvidia modules for - version 5.4.0-1102 with the appropriate signatures. + version 5.4.0-1104 with the appropriate signatures. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-390-azure-cvm* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. -Package: linux-objects-nvidia-470-5.4.0-1102-azure-cvm +Package: linux-objects-nvidia-470-5.4.0-1104-azure-cvm Build-Profiles: -Architecture: amd64 +Architecture: amd64 Section: kernel Priority: optional Built-Using: ${linux:BuiltUsing} @@ -182,39 +194,39 @@ ${misc:Depends}, ${shlibs:Depends}, binutils, -Description: Linux kernel nvidia modules for version 5.4.0-1102 (objects) - This package contains the Linux kernel nvidia modules for version 5.4.0-1102. +Description: Linux kernel nvidia modules for version 5.4.0-1104 (objects) + This package contains the Linux kernel nvidia modules for version 5.4.0-1104. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-470-azure-cvm* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. -Package: linux-modules-nvidia-470-5.4.0-1102-azure-cvm +Package: linux-modules-nvidia-470-5.4.0-1104-azure-cvm Build-Profiles: -Architecture: amd64 +Architecture: amd64 Section: kernel Priority: optional Built-Using: ${linux:BuiltUsing} Depends: ${misc:Depends}, ${shlibs:Depends}, - linux-image-5.4.0-1102-azure-cvm | linux-image-unsigned-5.4.0-1102-azure-cvm, - linux-signatures-nvidia-5.4.0-1102-azure-cvm (= 5.4.0-1102.108+cvm1), - linux-objects-nvidia-470-5.4.0-1102-azure-cvm (= ${binary:Version}), + linux-image-5.4.0-1104-azure-cvm | linux-image-unsigned-5.4.0-1104-azure-cvm, + linux-signatures-nvidia-5.4.0-1104-azure-cvm (= 5.4.0-1104.110+cvm1), + linux-objects-nvidia-470-5.4.0-1104-azure-cvm (= ${binary:Version}), ${nvk:nvidia-470}, -Description: Linux kernel nvidia modules for version 5.4.0-1102 +Description: Linux kernel nvidia modules for version 5.4.0-1104 This package pulls together the Linux kernel nvidia modules for - version 5.4.0-1102 with the appropriate signatures. + version 5.4.0-1104 with the appropriate signatures. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-470-azure-cvm* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. -Package: linux-objects-nvidia-510-5.4.0-1102-azure-cvm +Package: linux-objects-nvidia-510-5.4.0-1104-azure-cvm Build-Profiles: -Architecture: amd64 +Architecture: amd64 Section: kernel Priority: optional Built-Using: ${linux:BuiltUsing} @@ -222,39 +234,39 @@ ${misc:Depends}, ${shlibs:Depends}, binutils, -Description: Linux kernel nvidia modules for version 5.4.0-1102 (objects) - This package contains the Linux kernel nvidia modules for version 5.4.0-1102. +Description: Linux kernel nvidia modules for version 5.4.0-1104 (objects) + This package contains the Linux kernel nvidia modules for version 5.4.0-1104. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-510-azure-cvm* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. -Package: linux-modules-nvidia-510-5.4.0-1102-azure-cvm +Package: linux-modules-nvidia-510-5.4.0-1104-azure-cvm Build-Profiles: -Architecture: amd64 +Architecture: amd64 Section: kernel Priority: optional Built-Using: ${linux:BuiltUsing} Depends: ${misc:Depends}, ${shlibs:Depends}, - linux-image-5.4.0-1102-azure-cvm | linux-image-unsigned-5.4.0-1102-azure-cvm, - linux-signatures-nvidia-5.4.0-1102-azure-cvm (= 5.4.0-1102.108+cvm1), - linux-objects-nvidia-510-5.4.0-1102-azure-cvm (= ${binary:Version}), + linux-image-5.4.0-1104-azure-cvm | linux-image-unsigned-5.4.0-1104-azure-cvm, + linux-signatures-nvidia-5.4.0-1104-azure-cvm (= 5.4.0-1104.110+cvm1), + linux-objects-nvidia-510-5.4.0-1104-azure-cvm (= ${binary:Version}), ${nvk:nvidia-510}, -Description: Linux kernel nvidia modules for version 5.4.0-1102 +Description: Linux kernel nvidia modules for version 5.4.0-1104 This package pulls together the Linux kernel nvidia modules for - version 5.4.0-1102 with the appropriate signatures. + version 5.4.0-1104 with the appropriate signatures. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-510-azure-cvm* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. -Package: linux-objects-nvidia-515-5.4.0-1102-azure-cvm +Package: linux-objects-nvidia-515-5.4.0-1104-azure-cvm Build-Profiles: -Architecture: amd64 +Architecture: amd64 Section: kernel Priority: optional Built-Using: ${linux:BuiltUsing} @@ -262,39 +274,39 @@ ${misc:Depends}, ${shlibs:Depends}, binutils, -Description: Linux kernel nvidia modules for version 5.4.0-1102 (objects) - This package contains the Linux kernel nvidia modules for version 5.4.0-1102. +Description: Linux kernel nvidia modules for version 5.4.0-1104 (objects) + This package contains the Linux kernel nvidia modules for version 5.4.0-1104. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-515-azure-cvm* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. -Package: linux-modules-nvidia-515-5.4.0-1102-azure-cvm +Package: linux-modules-nvidia-515-5.4.0-1104-azure-cvm Build-Profiles: -Architecture: amd64 +Architecture: amd64 Section: kernel Priority: optional Built-Using: ${linux:BuiltUsing} Depends: ${misc:Depends}, ${shlibs:Depends}, - linux-image-5.4.0-1102-azure-cvm | linux-image-unsigned-5.4.0-1102-azure-cvm, - linux-signatures-nvidia-5.4.0-1102-azure-cvm (= 5.4.0-1102.108+cvm1), - linux-objects-nvidia-515-5.4.0-1102-azure-cvm (= ${binary:Version}), + linux-image-5.4.0-1104-azure-cvm | linux-image-unsigned-5.4.0-1104-azure-cvm, + linux-signatures-nvidia-5.4.0-1104-azure-cvm (= 5.4.0-1104.110+cvm1), + linux-objects-nvidia-515-5.4.0-1104-azure-cvm (= ${binary:Version}), ${nvk:nvidia-515}, -Description: Linux kernel nvidia modules for version 5.4.0-1102 +Description: Linux kernel nvidia modules for version 5.4.0-1104 This package pulls together the Linux kernel nvidia modules for - version 5.4.0-1102 with the appropriate signatures. + version 5.4.0-1104 with the appropriate signatures. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-515-azure-cvm* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. -Package: linux-objects-nvidia-525-5.4.0-1102-azure-cvm +Package: linux-objects-nvidia-525-5.4.0-1104-azure-cvm Build-Profiles: -Architecture: amd64 +Architecture: amd64 Section: kernel Priority: optional Built-Using: ${linux:BuiltUsing} @@ -302,32 +314,50 @@ ${misc:Depends}, ${shlibs:Depends}, binutils, -Description: Linux kernel nvidia modules for version 5.4.0-1102 (objects) - This package contains the Linux kernel nvidia modules for version 5.4.0-1102. +Description: Linux kernel nvidia modules for version 5.4.0-1104 (objects) + This package contains the Linux kernel nvidia modules for version 5.4.0-1104. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-525-azure-cvm* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. -Package: linux-modules-nvidia-525-5.4.0-1102-azure-cvm +Package: linux-modules-nvidia-525-5.4.0-1104-azure-cvm Build-Profiles: -Architecture: amd64 +Architecture: amd64 Section: kernel Priority: optional Built-Using: ${linux:BuiltUsing} Depends: ${misc:Depends}, ${shlibs:Depends}, - linux-image-5.4.0-1102-azure-cvm | linux-image-unsigned-5.4.0-1102-azure-cvm, - linux-signatures-nvidia-5.4.0-1102-azure-cvm (= 5.4.0-1102.108+cvm1), - linux-objects-nvidia-525-5.4.0-1102-azure-cvm (= ${binary:Version}), + linux-image-5.4.0-1104-azure-cvm | linux-image-unsigned-5.4.0-1104-azure-cvm, + linux-signatures-nvidia-5.4.0-1104-azure-cvm (= 5.4.0-1104.110+cvm1), + linux-objects-nvidia-525-5.4.0-1104-azure-cvm (= ${binary:Version}), ${nvk:nvidia-525}, -Description: Linux kernel nvidia modules for version 5.4.0-1102 +Description: Linux kernel nvidia modules for version 5.4.0-1104 This package pulls together the Linux kernel nvidia modules for - version 5.4.0-1102 with the appropriate signatures. + version 5.4.0-1104 with the appropriate signatures. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-525-azure-cvm* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. + +Package: linux-objects-nvidia-525-open-5.4.0-1104-azure-cvm +Build-Profiles: +Architecture: amd64 +Section: kernel +Priority: optional +Built-Using: ${linux:BuiltUsing} +Depends: + ${misc:Depends}, + ${shlibs:Depends}, + binutils, +Description: Linux kernel nvidia modules for version 5.4.0-1104 (objects) + This package contains the Linux kernel nvidia modules for version 5.4.0-1104. + . + You likely do not want to install this package directly. Instead, install the + one of the linux-modules-nvidia-525-open-azure-cvm* meta-packages, + which will ensure that upgrades work correctly, and that supporting packages are + also installed. diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/dkms-versions linux-restricted-modules-azure-cvm-5.4.0/debian/dkms-versions --- linux-restricted-modules-azure-cvm-5.4.0/debian/dkms-versions 2023-01-19 22:11:18.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/dkms-versions 2023-02-23 20:31:49.000000000 +0000 @@ -2,9 +2,10 @@ nvidia-graphics-drivers-470 470.161.03-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-465 transition=nvidia-graphics-drivers-460 transition=nvidia-graphics-drivers-455 transition=nvidia-graphics-drivers-450 transition=nvidia-graphics-drivers-440 transition=nvidia-graphics-drivers-435 nvidia-graphics-drivers-510 510.108.03-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-495 nvidia-graphics-drivers-515 515.86.01-0ubuntu0.20.04.1 arch=amd64 -nvidia-graphics-drivers-525 525.78.01-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-520 +nvidia-graphics-drivers-525 525.85.05-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-520 +nvidia-graphics-drivers-525 525.85.05-0ubuntu0.20.04.1 arch=amd64 variant=open nvidia-graphics-drivers-418-server 418.226.00-0ubuntu0.20.04.2 arch=amd64 nvidia-graphics-drivers-450-server 450.216.04-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-440-server nvidia-graphics-drivers-470-server 470.161.03-0ubuntu0.20.04.1 arch=amd64 transition=nvidia-graphics-drivers-460-server -nvidia-graphics-drivers-515-server 515.86.01-0ubuntu0.20.04.2 arch=amd64 transition=nvidia-graphics-drivers-510-server -nvidia-graphics-drivers-525-server 525.60.13-0ubuntu0.20.04.1 arch=amd64 +nvidia-graphics-drivers-515-server 515.86.01-0ubuntu0.20.04.3 arch=amd64 transition=nvidia-graphics-drivers-510-server +nvidia-graphics-drivers-525-server 525.85.12-0ubuntu0.20.04.1 arch=amd64 diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/lrm-version linux-restricted-modules-azure-cvm-5.4.0/debian/lrm-version --- linux-restricted-modules-azure-cvm-5.4.0/debian/lrm-version 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/lrm-version 2023-02-10 14:54:40.000000000 +0000 @@ -0,0 +1 @@ +7.2 1988836 diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/rules linux-restricted-modules-azure-cvm-5.4.0/debian/rules --- linux-restricted-modules-azure-cvm-5.4.0/debian/rules 2021-12-13 20:44:26.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/rules 2023-02-10 14:54:40.000000000 +0000 @@ -1,7 +1,7 @@ #! /usr/bin/make -f clean: - ./debian/scripts/gen-rules + ./debian/scripts/generate-rules $(MAKE) -f debian/rules.gen clean %: diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/rules.in linux-restricted-modules-azure-cvm-5.4.0/debian/rules.in --- linux-restricted-modules-azure-cvm-5.4.0/debian/rules.in 2021-12-13 20:44:47.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/rules.in 2023-02-10 14:54:40.000000000 +0000 @@ -67,6 +67,8 @@ clean:: pre-clean rm -f debian/scripts/fix-filenames rm -rf $(dkms_dir) + ./debian/scripts/parameterise-ancillaries $(src_genr_package) $(src_sigs_package) + dh_clean %: dh $@ diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/rules.lrg linux-restricted-modules-azure-cvm-5.4.0/debian/rules.lrg --- linux-restricted-modules-azure-cvm-5.4.0/debian/rules.lrg 2021-12-13 20:44:47.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/rules.lrg 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -##export DH_VERBOSE := 1 - -arch = $(shell dpkg-architecture -qDEB_HOST_ARCH) - -test:: - echo "$(src_version) $(src_main_version)" - -debian/scripts/fix-filenames: debian/scripts/fix-filenames.c - $(CC) -o $@ $^ - -clean:: - rm -rf rm -rf $(dkms_dir) - rm -f debian/scripts/fix-filenames - -%: - dh $@ - -custom_top=debian/custom -custom_dir=$(custom_top)/$(src_version) -custom_tar=$(src_package)_$(src_version)_$(arch).tar.gz -custom-upload: - install -d $(custom_dir)/control - { echo "tarball"; echo "signed-only"; } >$(custom_dir)/control/options - cd $(custom_top) && tar czvf ../../../$(custom_tar) . - dpkg-distaddfile $(custom_tar) raw-signing - - -override_dh_prep: debian/scripts/fix-filenames - dh_prep - -override_dh_auto_install: nvidia-$(arch) custom-upload - dh_install diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/rules.lrs linux-restricted-modules-azure-cvm-5.4.0/debian/rules.lrs --- linux-restricted-modules-azure-cvm-5.4.0/debian/rules.lrs 2021-12-13 20:44:47.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/rules.lrs 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -##export DH_VERBOSE := 1 - -arch = $(shell dpkg-architecture -qDEB_HOST_ARCH) - -%: - dh $@ - -override_dh_auto_build: - ./download-signed "$(src_genr_package)" "$(src_genr_version)" "$(src_genr_package)" - -override_dh_auto_install: nvidia-$(arch) - dh_install diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/scripts/generate-rules linux-restricted-modules-azure-cvm-5.4.0/debian/scripts/generate-rules --- linux-restricted-modules-azure-cvm-5.4.0/debian/scripts/generate-rules 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/scripts/generate-rules 2023-02-10 14:54:40.000000000 +0000 @@ -0,0 +1,281 @@ +#!/bin/bash +set -e + +validate_unique() +{ + [ "$#" = "2" ] + local duplicates=$(echo $2 | tr " " "\n" | sort | uniq -d) + if [ "$duplicates" ]; then + echo "EE: duplicate values in $1" 1>&2 + exit 1 + fi +} + +# Pick out relevant version and package information including our predecessor +# packages: linux -> linux-restricted-modules-signatures -> linux-restricted-modules +src_package=$(LC_ALL=C dpkg-parsechangelog -SSource) +src_version=$(LC_ALL=C dpkg-parsechangelog -SVersion) +src_abi=$(echo "${src_version}" | sed -ne 's/\([0-9]*\.[0-9]*\.[0-9]*\-[0-9]*\)\..*/\1/p') +src_series=$(LC_ALL=C dpkg-parsechangelog -SDistribution | sed -e 's/-\(security\|updates\|proposed\)$//') + +# linux/5.8.0-41.46 +src_main_package=$(echo "${src_package}" | sed -e 's/-restricted-modules//') +src_main_version=$(echo ${src_version} | sed -e 's/+[0-9][0-9\.]*$//') + +# linux-restricted-generate/5.8.0-41.46[+1] +src_genr_package=$(echo "${src_package}" | sed -e 's/-restricted-modules/-restricted-generate/') +src_genr_version=${src_version} + +# linux-restricted-signatures/5.8.0-41.46[+1] +src_sigs_package=$(echo "${src_package}" | sed -e 's/-restricted-modules/-restricted-signatures/') +src_sigs_version=${src_version} + +# linux-restricted-modules/5.8.0-41.46[+1] + +mkdir -p "debian/control.d" +: >"debian/control.interlock-up" +: >"debian/control.d/meta-nvidia" +: >"debian/control.d/nvidia" +: >"debian/control.d/migrate-nvidia" +: >"debian/control.d/transitionals-local" +: >"debian/control.d/signatures" + +cat - "debian/rules.in" >"debian/rules.gen" <>"debian/control.interlock-up" <= @VERSION@) [${archs}], +EOL + + while read package version extra + do + case "$package" in + nvidia-graphics-drivers-*-server) + [ -z "$nvidia_server" ] && continue + ;; + nvidia-graphics-drivers-*) + [ -z "$nvidia_desktop" ] && continue + ;; + *) continue ;; + esac + case " $nvidia_ignore " in + *\ $package\ *) continue ;; + esac + + case " $extra " in + *\ signonly\ *) continue ;; + esac + + # If package specifies arch= keys, only build it on + # the intersection of kernel flavour arches & the + # package arches, otherwise build for all kernel + # flavour arches. + pkg_archs= + variant= + for cmd in $extra + do + case "$cmd" in + arch=*) pkg_archs="$pkg_archs ${cmd#arch=}" ;; + variant=*) variant="-${cmd#variant=}" ;; + esac + done + # No package arches set, build for everything + if [ -z "$pkg_archs" ]; then + pkg_archs=$archs + else + # Package arches set, build for intersection + validate_unique "pkg_archs" "$pkg_archs" + pkg_archs=$(sort <(echo $archs | tr " " "\n") <(echo $pkg_archs | tr " " "\n") | uniq -d | tr "\n" " ") + # No intersection, skip + if [ -z "$pkg_archs" ]; then + continue + fi + fi + + targets=$(echo "$pkg_archs" | sed -e 's/\>"debian/rules.gen" <= \$(nvidia_${suffix_under}_upstream_version))" +test:: + @echo $package $version $suffix_minus $suffix_under $suffix_short $targets +$targets:: + rm -rf \$(dkms_dir)/build \$(dkms_dir)/source + mkdir -p \$(dkms_dir)/build \$(dkms_dir)/source +EOL + if [ "$variant" != "-open" ]; then + cat - >>"debian/rules.gen" <>"debian/rules.gen" <>"debian/control.d/meta-nvidia" < +Architecture: ${pkg_archs} +Section: kernel +Provides: \${dkms:nvidia-${suffix_minus}-modules}, nvidia-prebuilt-kernel +Depends: + \${misc:Depends}, + linux-modules-nvidia-${suffix_minus}-${src_abi}-${flavour} (= \${binary:Version}), + \${nvk:nvidia-${suffix_minus}}, +Description: Extra drivers for nvidia-${suffix_minus} for the ${flavour}\${variant:suffix} flavour + Install extra signed nvidia-${suffix_minus} modules compatible with the ${flavour}\${variant:suffix} flavour. +EOL + + # debian/control.d/nvidia + cat - >>"debian/control.d/nvidia" < +Architecture: ${pkg_archs} +Section: kernel +Priority: optional +Built-Using: \${linux:BuiltUsing} +Depends: + \${misc:Depends}, + \${shlibs:Depends}, + binutils, +Description: Linux kernel nvidia modules for version ${src_abi} (objects) + This package contains the Linux kernel nvidia modules for version ${src_abi}. + . + You likely do not want to install this package directly. Instead, install the + one of the linux-modules-nvidia-${suffix_minus}-${flavour}* meta-packages, + which will ensure that upgrades work correctly, and that supporting packages are + also installed. +EOL + # debian/control.d/nvidia + if [ "$variant" != "-open" ]; then + cat - >>"debian/control.d/nvidia" < +Architecture: ${pkg_archs} +Section: kernel +Priority: optional +Built-Using: \${linux:BuiltUsing} +Depends: + \${misc:Depends}, + \${shlibs:Depends}, + linux-image-${src_abi}-${flavour} | linux-image-unsigned-${src_abi}-${flavour}, + linux-signatures-nvidia-${src_abi}-${flavour} (= ${src_sigs_version}), + linux-objects-nvidia-${suffix_minus}-${src_abi}-${flavour} (= \${binary:Version}), + \${nvk:nvidia-${suffix_minus}}, +Description: Linux kernel nvidia modules for version ${src_abi} + This package pulls together the Linux kernel nvidia modules for + version ${src_abi} with the appropriate signatures. + . + You likely do not want to install this package directly. Instead, install the + one of the linux-modules-nvidia-${suffix_minus}-${flavour}* meta-packages, + which will ensure that upgrades work correctly, and that supporting packages are + also installed. +EOL + fi + + # debian/control.d/migrate-nvidia + for cmd in $extra + do + case "$cmd" in + transition=*) + from="${cmd#transition=}" + from_minus=$(echo "$from" | sed -e 's/nvidia-graphics-drivers-//') + echo "II: general transition $from -> $package ($from_minus -> $suffix_minus) $pkg_archs" + cat - >>"debian/control.d/migrate-nvidia" < linux-modules-nvidia-$to $archs" + cat - >>"debian/control.d/transitionals-local" < linux-restricted-modules-signatures -> linux-restricted-modules -src_package=$(LC_ALL=C dpkg-parsechangelog -SSource) -src_version=$(LC_ALL=C dpkg-parsechangelog -SVersion) -src_abi=$(echo "${src_version}" | sed -ne 's/\([0-9]*\.[0-9]*\.[0-9]*\-[0-9]*\)\..*/\1/p') -src_series=$(LC_ALL=C dpkg-parsechangelog -SDistribution | sed -e 's/-\(security\|updates\|proposed\)$//') - -# linux/5.8.0-41.46 -src_main_package=$(echo "${src_package}" | sed -e 's/-restricted-generate//') -src_main_version=$(echo ${src_version} | sed -e 's/+[0-9][0-9\.]*$//') - -# linux-restricted-generate/5.8.0-41.46[+1] - -# linux-restricted-signatures/5.8.0-41.46[+1] - -# linux-restricted-modules/5.8.0-41.46[+1] -src_lrm_package=$(echo "${src_package}" | sed -e 's/-restricted-generate/-restricted-modules/') -src_lrm_version=${src_version} - -cat - "debian/rules.lrg" >"debian/rules.gen" <"debian/control.interlock-up" - -nvidia_desktop= -nvidia_server= -nvidia_ignore= -while read command arg -do - case "$command" in - option) ;; - suppress) nvidia_ignore="$nvidia_ignore $arg"; continue ;; - *) continue ;; - esac - - case "$arg" in - desktop) nvidia_desktop=y ;; - server) nvidia_server=y ;; - esac -done <"debian/package.config" - -build_archs= -while read command flavour archs -do - case "$command" in - build) ;; - *) continue ;; - esac - - for arch in $archs - do - case " $build_archs " in - *\ $arch\ *) ;; - *) build_archs="$build_archs $arch" ;; - esac - done - - targets=$(echo "$archs" | sed -e 's/\>"debian/control.interlock-up" <= ${src_lrm_version}) [${archs}], -EOL - - # debian/rules.gen - # XXX: BUILD should help us here. - cat - >>"debian/rules.gen" <"debian/control" - -rm -f "debian/control.interlock-up" diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/scripts/gen-rules.lrm linux-restricted-modules-azure-cvm-5.4.0/debian/scripts/gen-rules.lrm --- linux-restricted-modules-azure-cvm-5.4.0/debian/scripts/gen-rules.lrm 2021-12-13 20:44:47.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/scripts/gen-rules.lrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,227 +0,0 @@ -#!/bin/bash - -# Pick out relevant version and package information including our predecessor -# packages: linux -> linux-restricted-modules-signatures -> linux-restricted-modules -src_package=$(LC_ALL=C dpkg-parsechangelog -SSource) -src_version=$(LC_ALL=C dpkg-parsechangelog -SVersion) -src_abi=$(echo "${src_version}" | sed -ne 's/\([0-9]*\.[0-9]*\.[0-9]*\-[0-9]*\)\..*/\1/p') -src_series=$(LC_ALL=C dpkg-parsechangelog -SDistribution | sed -e 's/-\(security\|updates\|proposed\)$//') - -# linux/5.8.0-41.46 -src_main_package=$(echo "${src_package}" | sed -e 's/-restricted-modules//') -src_main_version=$(echo ${src_version} | sed -e 's/+[0-9][0-9\.]*$//') - -# linux-restricted-generate/5.8.0-41.46[+1] - -# linux-restricted-signatures/5.8.0-41.46[+1] -src_sigs_package=$(echo "${src_package}" | sed -e 's/-restricted-modules/-restricted-signatures/') -src_sigs_version=${src_version} - -# linux-restricted-modules/5.8.0-41.46[+1] - -mkdir -p "debian/control.d" -: >"debian/control.interlock-up" -: >"debian/control.d/meta-nvidia" -: >"debian/control.d/nvidia" -: >"debian/control.d/migrate-nvidia" -: >"debian/control.d/transitionals-local" -: >"debian/control.d/signatures" - -cat - "debian/rules.in" >"debian/rules.gen" <>"debian/control.interlock-up" <= @VERSION@) [${archs}], -EOL - - while read package version extra - do - case "$package" in - nvidia-graphics-drivers-*-server) - [ -z "$nvidia_server" ] && continue - ;; - nvidia-graphics-drivers-*) - [ -z "$nvidia_desktop" ] && continue - ;; - *) continue ;; - esac - case " $nvidia_ignore " in - *\ $package\ *) continue ;; - esac - - case " $extra " in - *\ signonly\ *) continue ;; - esac - - suffix_minus=$(echo "$package" | sed -e 's/nvidia-graphics-drivers-//') - suffix_under=$(echo "$suffix_minus" | sed -e 's/-/_/g') - suffix_short=$(echo "$suffix_minus" | sed -e 's/-server/srv/g') - - echo "II: build $package for $flavour $archs" - - # debian/rules.gen - cat - >>"debian/rules.gen" <= \$(nvidia_${suffix_under}_upstream_version))" -test:: - @echo $package $version $suffix_minus $suffix_under $suffix_short $targets -$targets:: - rm -rf \$(dkms_dir)/build \$(dkms_dir)/source - mkdir -p \$(dkms_dir)/build \$(dkms_dir)/source - install -d debian/linux-modules-nvidia-${suffix_minus}-\$(src_abi)-${flavour} - install -d debian/linux-modules-nvidia-${suffix_minus}-\$(src_abi)-${flavour}/usr/lib/linux/triggers - \$(call install_control,linux-modules-nvidia-${suffix_minus}-\$(src_abi)-${flavour},${flavour},nvidia,${suffix_short},postinst postrm prerm config templates) - install -d debian/linux-objects-nvidia-${suffix_minus}-\$(src_abi)-${flavour} - \$(call build_dkms, \$(src_abi)-${flavour}, linux-objects-nvidia-${suffix_minus}-\$(src_abi)-${flavour}, \$(CURDIR)/debian/linux-objects-nvidia-${suffix_minus}-\$(src_abi)-${flavour}/lib/modules/\$(src_abi)-${flavour}/kernel, "", nvidia-${suffix_short}, pool/restricted/n/nvidia-graphics-drivers-${suffix_minus}/nvidia-kernel-source-${suffix_minus}_\$(dkms_nvidia_${suffix_under}_version)_\$(arch).deb pool/restricted/n/nvidia-graphics-drivers-${suffix_minus}/nvidia-dkms-${suffix_minus}_\$(dkms_nvidia_${suffix_under}_version)_\$(arch).deb) -EOL - - # debian/control.d/meta-nvidia - cat - >>"debian/control.d/meta-nvidia" < -Architecture: ${archs} -Section: kernel -Provides: \${dkms:nvidia-${suffix_minus}-modules}, nvidia-prebuilt-kernel -Depends: - \${misc:Depends}, - linux-modules-nvidia-${suffix_minus}-${src_abi}-${flavour} (= \${binary:Version}), - \${nvk:nvidia-${suffix_minus}}, -Description: Extra drivers for nvidia-${suffix_minus} for the ${flavour}\${variant:suffix} flavour - Install extra signed nvidia-${suffix_minus} modules compatible with the ${flavour}\${variant:suffix} flavour. -EOL - - # debian/control.d/nvidia - cat - >>"debian/control.d/nvidia" < -Architecture: ${archs} -Section: kernel -Priority: optional -Built-Using: \${linux:BuiltUsing} -Depends: - \${misc:Depends}, - \${shlibs:Depends}, - binutils, -Description: Linux kernel nvidia modules for version ${src_abi} (objects) - This package contains the Linux kernel nvidia modules for version ${src_abi}. - . - You likely do not want to install this package directly. Instead, install the - one of the linux-modules-nvidia-${suffix_minus}-${flavour}* meta-packages, - which will ensure that upgrades work correctly, and that supporting packages are - also installed. - -Package: linux-modules-nvidia-${suffix_minus}-${src_abi}-${flavour} -Build-Profiles: -Architecture: ${archs} -Section: kernel -Priority: optional -Built-Using: \${linux:BuiltUsing} -Depends: - \${misc:Depends}, - \${shlibs:Depends}, - linux-image-${src_abi}-${flavour} | linux-image-unsigned-${src_abi}-${flavour}, - linux-signatures-nvidia-${src_abi}-${flavour} (= ${src_sigs_version}), - linux-objects-nvidia-${suffix_minus}-${src_abi}-${flavour} (= \${binary:Version}), - \${nvk:nvidia-${suffix_minus}}, -Description: Linux kernel nvidia modules for version ${src_abi} - This package pulls together the Linux kernel nvidia modules for - version ${src_abi} with the appropriate signatures. - . - You likely do not want to install this package directly. Instead, install the - one of the linux-modules-nvidia-${suffix_minus}-${flavour}* meta-packages, - which will ensure that upgrades work correctly, and that supporting packages are - also installed. -EOL - # debian/control.d/migrate-nvidia - for cmd in $extra - do - case "$cmd" in - transition=*) - from="${cmd#transition=}" - from_minus=$(echo "$from" | sed -e 's/nvidia-graphics-drivers-//') - echo "II: general transition $from -> $package ($from_minus -> $suffix_minus)" - cat - >>"debian/control.d/migrate-nvidia" < linux-modules-nvidia-$to" - cat - >>"debian/control.d/transitionals-local" < linux-restricted-signatures -> linux-restricted-modules -src_package=$(LC_ALL=C dpkg-parsechangelog -SSource) -src_version=$(LC_ALL=C dpkg-parsechangelog -SVersion) -src_abi=$(echo "${src_version}" | sed -ne 's/\([0-9]*\.[0-9]*\.[0-9]*\-[0-9]*\)\..*/\1/p') -src_series=$(LC_ALL=C dpkg-parsechangelog -SDistribution | sed -e 's/-\(security\|updates\|proposed\)$//') - -# linux/5.8.0-41.46 -src_main_package=$(echo "${src_package}" | sed -e 's/-restricted-signature//') -src_main_version=$(echo ${src_version} | sed -e 's/+[0-9][0-9\.]*$//') - -# linux-restricted-generate/5.8.0-41.46[+1] -src_genr_package=$(echo "${src_package}" | sed -e 's/-restricted-signatures/-restricted-generate/') -src_genr_version=${src_version} - -# linux-restricted-signatures/5.8.0-41.46[+1] - -# linux-restricted-modules/5.8.0-41.46[+1] - -cat - "debian/rules.lrs" >"debian/rules.gen" <"debian/control.interlock-up" - -build_archs= -while read command flavour archs -do - case "$command" in - build) ;; - *) continue ;; - esac - - for arch in $archs - do - case " $build_archs " in - *\ $arch\ *) ;; - *) build_archs="$buildarchs $arch" ;; - esac - done -done <"debian/package.config" - -while read command flavour archs -do - case "$command" in - build) ;; - *) continue ;; - esac - - targets=$(echo "$archs" | sed -e 's/\>"debian/rules.gen" <>debian/linux-signatures-nvidia-${src_abi}-${flavour}.install; \ - done -EOL - - cat - >>"debian/control.signatures" < -Architecture: ${archs} -Section: kernel -Priority: optional -Depends: linux-image-${src_abi}-${flavour} | linux-image-unsigned-${src_abi}-${flavour}, -Built-Using: \${linux:BuiltUsing} -Description: Linux kernel signatures for nvidia modules for version ${src_abi}-${flavour} - This package contains the Linux kernel signatures nvidia modules for - version ${src_abi}-${flavour}. - . - You likely do not want to install this package directly. -EOL -done <"debian/package.config" - -cat "debian/control.common" "debian/control.signatures" | sed \ - -e "/@BUILD-INTERLOCK@/{" \ - -e " r debian/control.interlock-up" \ - -e " d" \ - -e " }" \ - -e "s/@SRCPKGNAME@/${src_package}/g" \ - -e "s/@ABI@/${src_abi}/g" \ - -e "s/@SERIES@/${src_series}/g" \ - >"debian/control" - -rm -f "debian/control.interlock-up" "debian/control.signatures" diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/scripts/parameterise-ancillaries linux-restricted-modules-azure-cvm-5.4.0/debian/scripts/parameterise-ancillaries --- linux-restricted-modules-azure-cvm-5.4.0/debian/scripts/parameterise-ancillaries 1970-01-01 00:00:00.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/scripts/parameterise-ancillaries 2023-02-10 14:54:40.000000000 +0000 @@ -0,0 +1,54 @@ +#!/usr/bin/python3 + +import os +import sys +import json +from shutil import copy +from textwrap import dedent, indent + + +def build_changelog(outd, source_name): + # Convert debian/changelog: fix the package name in the first stanza. + in_changelog = os.path.join("debian", "changelog") + out_changelog = os.path.join(outd, "debian", "changelog") + with open(in_changelog) as ifd, open(out_changelog, "w") as ofd: + first = True + stanza = 0 + for line in ifd: + if line[0] not in (" ", "\n"): + stanza += 1 + first = True + if stanza == 3: + break + if first: + bits = line.split() + bits[0] = source_name + print(" ".join(bits), file=ofd) + first = False + else: + print(line, end="", file=ofd) + +# Build one of the ancillaries. +def build_ancillary(package): + outd = os.path.join("debian", "ancillary", package) + + os.makedirs(os.path.join(outd, "debian"), exist_ok=True) + build_changelog(outd, package) + for file in ( + os.path.join("debian", "rules"), + os.path.join("debian", "compat"), + os.path.join("debian", "control.common"), + os.path.join("debian", "copyright"), + os.path.join("debian", "source", "format"), + os.path.join("debian", "source", "options"), + os.path.join("debian", "dkms-versions"), + os.path.join("debian", "package.config"), + ): + os.makedirs(os.path.dirname(os.path.join(outd, file)), exist_ok=True) + copy(file, os.path.join(outd, file)) + + +(gen_pkg, sig_pkg) = sys.argv[1:] + +build_ancillary(gen_pkg) +build_ancillary(sig_pkg) diff -Nru linux-restricted-modules-azure-cvm-5.4.0/debian/tracking-bug linux-restricted-modules-azure-cvm-5.4.0/debian/tracking-bug --- linux-restricted-modules-azure-cvm-5.4.0/debian/tracking-bug 2023-01-19 22:06:20.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/debian/tracking-bug 2023-02-23 20:26:19.000000000 +0000 @@ -1 +1 @@ -2001814 2023.01.02-1 +2004357 2023.01.30-1 diff -Nru linux-restricted-modules-azure-cvm-5.4.0/download-signed linux-restricted-modules-azure-cvm-5.4.0/download-signed --- linux-restricted-modules-azure-cvm-5.4.0/download-signed 2021-12-13 20:44:47.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/download-signed 1970-01-01 00:00:00.000000000 +0000 @@ -1,183 +0,0 @@ -#! /usr/bin/python3 - -import hashlib -import argparse -import os -import re -import sys -import tarfile -from urllib import request -from urllib.error import HTTPError -from urllib.parse import ( - urlparse, - urlunparse, - ) - -import apt - -# package_name: package containing the objects we signed -# package_version: package version containing the objects we signed -# src_package: source package name in dists -# signed_type: 'signed' or 'uefi' schema in the url - -parser = argparse.ArgumentParser() -parser.add_argument( - "package_name", - help="package containining the objects we signed") -parser.add_argument( - "package_version", - help="package version containing the objects we signed, or 'current'") -parser.add_argument( - "src_package", - help="source package name in dists") -parser.add_argument( - "signed_type", - nargs='?', - default='signed', - help="subdirectory type in the url, 'signed' or 'uefi'") -args = parser.parse_args() - - -class SignedDownloader: - """Download a block of signed information from dists. - - Find a block of signed information as published in dists/*/signed - and download the contents. Use the contained checksum files to - identify the members and to validate them once downloaded. - """ - - def __init__(self, package_name, package_version, src_package, signed_type='signed'): - self.package_name = package_name - self.package_version = package_version - self.src_package = src_package - - # Find the package in the available archive repositories. Use a _binary_ - # package name and version to locate the appropriate archive. Then use the - # URI there to look for and find the appropriate binary. - cache = apt.Cache() - - self.package = None - if self.package_version == "current": - self.package = cache[package_name].candidate - else: - for version in cache[package_name].versions: - if version.version == self.package_version: - self.package = version - break - - if not self.package: - raise KeyError("{0}: package version not found".format(self.package_name)) - - origin = self.package.origins[0] - pool_parsed = urlparse(self.package.uri) - self.package_dir = "%s/%s/%s/%s-%s/%s/" % ( - origin.archive, 'main', signed_type, - self.src_package, self.package.architecture, self.package_version) - - # Prepare the master url stem and pull out any username/password. If present - # replace the default opener with one which offers that password. - dists_parsed_master = list(pool_parsed) - if '@' in dists_parsed_master[1]: - (username_password, host) = pool_parsed[1].split('@', 1) - (username, password) = username_password.split(':', 1) - - dists_parsed_master[1] = host - - # Work out the authentication domain. - domain_parsed = [ dists_parsed_master[0], dists_parsed_master[1], '/', None, None, None ] - auth_uri = urlunparse(domain_parsed) - - # create a password manager - password_mgr = request.HTTPPasswordMgrWithDefaultRealm() - - # Add the username and password. - # If we knew the realm, we could use it instead of None. - password_mgr.add_password(None, auth_uri, username, password) - - handler = request.HTTPBasicAuthHandler(password_mgr) - - # create "opener" (OpenerDirector instance) - opener = request.build_opener(handler) - - # Now all calls to urllib.request.urlopen use our opener. - request.install_opener(opener) - - self.dists_parsed = dists_parsed_master - - def download_one(self, member, filename, hash_factory=None): - directory = os.path.dirname(filename) - if not os.path.exists(directory): - os.makedirs(directory) - - dists_parsed = list(self.dists_parsed) - dists_parsed[2] = re.sub(r"/pool/.*", "/dists/" + self.package_dir + \ - member, dists_parsed[2]) - dists_uri = urlunparse(dists_parsed) - - print("Downloading %s ... " % dists_uri, end='') - sys.stdout.flush() - try: - with request.urlopen(dists_uri) as dists, open(filename, "wb") as out: - hashobj = None - if hash_factory: - hashobj = hash_factory() - for chunk in iter(lambda: dists.read(256 * 1024), b''): - if hashobj: - hashobj.update(chunk) - out.write(chunk) - checksum = True - if hashobj: - checksum = hashobj.hexdigest() - except HTTPError as e: - if e.code == 404: - print("not found") - else: - raise - else: - print("found") - return checksum - return None - - def download(self, base): - """Download an entire signed result from dists.""" - - # Download the checksums and use that to download the contents. - sums = 'SHA256SUMS' - sums_local = os.path.join(base, self.package_version, sums) - if not self.download_one(sums, sums_local): - print('download-signed: {0}: not found'.format(sums)) - sys.exit(1) - - # Read the checksum file and download the files it mentions. - here = os.path.abspath(base) - with open(sums_local) as sfd: - for line in sfd: - line = line.strip() - (checksum_expected, member) = (line[0:64], line[66:]) - filename = os.path.abspath(os.path.join(base, self.package_version, member)) - if not filename.startswith(here): - print('download-signed: {0}: member outside output directory'.format(member)) - sys.exit(1) - - # Download and checksum this member. - checksum_actual = self.download_one(member, filename, hashlib.sha256) - if checksum_expected != checksum_actual: - print('download-signed: {0}: member checksum invalid'.format(member)) - sys.exit(1) - - # If this is a tarball result then extract it. - here = os.path.abspath(os.path.join(base, self.package_version)) - tarball_filename = os.path.join(base, self.package_version, 'signed.tar.gz') - if os.path.exists(tarball_filename): - with tarfile.open(tarball_filename) as tarball: - for tarinfo in tarball: - if not filename.startswith(here): - print('download-signed: {0}: tarball member outside output directory'.format(member)) - sys.exit(1) - for tarinfo in tarball: - print('Extracting {0} ...'.format(tarinfo.name)) - tarball.extract(tarinfo, base) - - -downloader = SignedDownloader(**vars(args)) -downloader.download('.') diff -Nru linux-restricted-modules-azure-cvm-5.4.0/update-version linux-restricted-modules-azure-cvm-5.4.0/update-version --- linux-restricted-modules-azure-cvm-5.4.0/update-version 2022-11-17 14:26:05.000000000 +0000 +++ linux-restricted-modules-azure-cvm-5.4.0/update-version 2023-02-10 14:54:40.000000000 +0000 @@ -78,7 +78,7 @@ # Update things from the primary package. if [ "$no_update" = 'false' ]; then update_file "$master_dir/$branch/tracking-bug" "debian/tracking-bug" - "$here/update-dkms-versions" + "$here/update-dkms-versions" || exit 1 for master_file in \ debian/scripts/misc/git-ubuntu-log \ debian/scripts/dkms-build \