From patchwork Tue Dec 3 22:26:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Seth Forshee X-Patchwork-Id: 1203879 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 47SGp06pwTz9sR1; Wed, 4 Dec 2019 09:27:52 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1icGe5-0004oL-3C; Tue, 03 Dec 2019 22:27:49 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1icGds-0004df-K5 for kernel-team@lists.ubuntu.com; Tue, 03 Dec 2019 22:27:36 +0000 Received: from mail-yb1-f198.google.com ([209.85.219.198]) by youngberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1icGdq-0001Lr-6c for kernel-team@lists.ubuntu.com; Tue, 03 Dec 2019 22:27:34 +0000 Received: by mail-yb1-f198.google.com with SMTP id j133so3355511ybc.2 for ; Tue, 03 Dec 2019 14:27:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Gb68KTduEMgh3SW2mNjmj1VbSxo0nXjwAUJZjUFXjRI=; b=QyzM61ySUfylRiE0LWQ1UbjbTRtJFs5UKsAs2m4XRljZz6yM+FIEkHqvEwnfJziB2z aTveCsLdBzKoHZxtvYs9n8hd2nEdCKFpUF0zzZXyZdHK5IuUsXbx1p50KfM+Zqs4vvSp SKXPDEm7s+It5INGon+hO0BaaObqH9gBKI0EeGsDTeEnp5lDHXBar1zeLeHGZ6WmBB2O wLlPMv+qZWFVBY1KMyQt74EVWaNvfYb7Wo2pnIPStSYjtk3YBjLRZ432YGep6xl92/qS kspz28k22y7/hL/9fUUbgJ4N9LgaiFwY1bVliUl1+wr9v+ko1ChkPD9ksP661TEvTzUl b73g== X-Gm-Message-State: APjAAAWx/c1oGLaaC7o1wmSvK5ssFKfBfJeQ5ZnnkUqs8VzSQ/rQ78AB sfkR2YmxRltPEmMkuOrndUzbp9EJ4Sz5GmexeanCl7Z6b4hDjLcsT1wf6RPk3G4fivh8z0WNT/S G1c+Joye52oBeVTzLjO7bmhhA7n8ooqsBqfCA3o/34w== X-Received: by 2002:a25:378e:: with SMTP id e136mr105128yba.499.1575412052750; Tue, 03 Dec 2019 14:27:32 -0800 (PST) X-Google-Smtp-Source: APXvYqwYsNfWdXlTUWn2H/0KH7+ZiAC5UD/yXPgIjnz0jWjsAUQmOY0ATd79EhvKycKt5+aQTmwpYw== X-Received: by 2002:a25:378e:: with SMTP id e136mr105114yba.499.1575412052166; Tue, 03 Dec 2019 14:27:32 -0800 (PST) Received: from localhost ([136.37.150.243]) by smtp.gmail.com with ESMTPSA id 199sm2153687ywn.52.2019.12.03.14.27.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Dec 2019 14:27:31 -0800 (PST) From: Seth Forshee To: kernel-team@lists.ubuntu.com Subject: [REVIEW 3/6][linux-restricted-modules] UBUNTU: [Debian] Split control.stub out into component parts Date: Tue, 3 Dec 2019 16:26:54 -0600 Message-Id: <20191203222657.1152249-21-seth.forshee@canonical.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191203222657.1152249-1-seth.forshee@canonical.com> References: <20191203222657.1152249-1-seth.forshee@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" In preparation for variant support, split up debian/control.stub into more granular control file fragments. Signed-off-by: Seth Forshee --- debian/control.common | 19 +++ debian/control.d/meta-nvidia | 31 +++++ debian/control.d/nvidia | 55 ++++++++ debian/control.d/transitionals-nvidia-430 | 13 ++ debian/control.d/transitionals-oem | 15 +++ debian/control.d/transitionals-oem-osp1 | 15 +++ debian/control.stub | 153 ---------------------- debian/rules | 22 +++- 8 files changed, 164 insertions(+), 159 deletions(-) create mode 100644 debian/control.common create mode 100644 debian/control.d/meta-nvidia create mode 100644 debian/control.d/nvidia create mode 100644 debian/control.d/transitionals-nvidia-430 create mode 100644 debian/control.d/transitionals-oem create mode 100644 debian/control.d/transitionals-oem-osp1 delete mode 100644 debian/control.stub diff --git a/debian/control.common b/debian/control.common new file mode 100644 index 000000000000..e93b8c2dba89 --- /dev/null +++ b/debian/control.common @@ -0,0 +1,19 @@ +Source: LRM_SOURCE +Section: utils +Priority: optional +Maintainer: Canonical Kernel Team +Build-Depends: + debhelper (>= 9), + lsb-release, + python3, + python3-apt, + cpio, + dkms, + wget, + gawk, + linux-headers-ABI-generic (>= VERSION), + linux-buildinfo-ABI-generic (>= VERSION), + linux-headers-ABI-lowlatency (>= VERSION), + linux-buildinfo-ABI-lowlatency (>= VERSION), +Standards-Version: 3.9.4 +Vcs-Git: git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux-restricted-modules/+git/@SERIES@ diff --git a/debian/control.d/meta-nvidia b/debian/control.d/meta-nvidia new file mode 100644 index 000000000000..d090f08fcebf --- /dev/null +++ b/debian/control.d/meta-nvidia @@ -0,0 +1,31 @@ +Package: linux-modules-nvidia-390-generic +Build-Profiles: +Architecture: amd64 +Section: kernel +Depends: ${misc:Depends}, linux-modules-nvidia-390-ABI-generic (= ${binary:Version}) +Description: Extra drivers for nvidia-390 for the generic flavour + Install extra signed nvidia-390 modules compatible with the generic flavour. + +Package: linux-modules-nvidia-390-lowlatency +Build-Profiles: +Architecture: amd64 +Section: kernel +Depends: ${misc:Depends}, linux-modules-nvidia-390-ABI-lowlatency (= ${binary:Version}) +Description: Extra drivers for nvidia-390 for the lowlatency flavour + Install extra signed nvidia-390 modules compatible with the lowlatency flavour. + +Package: linux-modules-nvidia-440-generic +Build-Profiles: +Architecture: amd64 +Section: kernel +Depends: ${misc:Depends}, linux-modules-nvidia-440-ABI-generic (= ${binary:Version}) +Description: Extra drivers for nvidia-440 for the generic flavour + Install extra signed nvidia-440 modules compatible with the generic flavour. + +Package: linux-modules-nvidia-440-lowlatency +Build-Profiles: +Architecture: amd64 +Section: kernel +Depends: ${misc:Depends}, linux-modules-nvidia-440-ABI-lowlatency (= ${binary:Version}) +Description: Extra drivers for nvidia-440 for the lowlatency flavour + Install extra signed nvidia-440 modules compatible with the lowlatency flavour. diff --git a/debian/control.d/nvidia b/debian/control.d/nvidia new file mode 100644 index 000000000000..875e09ea8f87 --- /dev/null +++ b/debian/control.d/nvidia @@ -0,0 +1,55 @@ +Package: linux-modules-nvidia-390-ABI-generic +Build-Profiles: +Architecture: amd64 +Section: kernel +Priority: optional +Built-Using: ${linux:BuiltUsing} +Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-generic | linux-image-unsigned-ABI-generic, nvidia-kernel-common-390 +Description: Linux kernel nvidia modules for version ABI + This package contains the Linux kernel nvidia modules for version ABI. + . + You likely do not want to install this package directly. Instead, install the + linux-image-nvidia-FLAVOUR meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-modules-nvidia-390-ABI-lowlatency +Build-Profiles: +Architecture: amd64 +Section: kernel +Priority: optional +Built-Using: ${linux:BuiltUsing} +Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-lowlatency | linux-image-unsigned-ABI-lowlatency, nvidia-kernel-common-390 +Description: Linux kernel nvidia modules for version ABI + This package contains the Linux kernel nvidia modules for version ABI. + . + You likely do not want to install this package directly. Instead, install the + linux-image-nvidia-FLAVOUR meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-modules-nvidia-440-ABI-generic +Build-Profiles: +Architecture: amd64 +Section: kernel +Priority: optional +Built-Using: ${linux:BuiltUsing} +Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-generic | linux-image-unsigned-ABI-generic, nvidia-kernel-common-440 +Description: Linux kernel nvidia modules for version ABI + This package contains the Linux kernel nvidia modules for version ABI. + . + You likely do not want to install this package directly. Instead, install the + linux-image-nvidia-FLAVOUR meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-modules-nvidia-440-ABI-lowlatency +Build-Profiles: +Architecture: amd64 +Section: kernel +Priority: optional +Built-Using: ${linux:BuiltUsing} +Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-lowlatency | linux-image-unsigned-ABI-lowlatency, nvidia-kernel-common-440 +Description: Linux kernel nvidia modules for version ABI + This package contains the Linux kernel nvidia modules for version ABI. + . + You likely do not want to install this package directly. Instead, install the + linux-image-nvidia-FLAVOUR meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. diff --git a/debian/control.d/transitionals-nvidia-430 b/debian/control.d/transitionals-nvidia-430 new file mode 100644 index 000000000000..6f73305f4bd3 --- /dev/null +++ b/debian/control.d/transitionals-nvidia-430 @@ -0,0 +1,13 @@ +Package: linux-modules-nvidia-430-generic +Architecture: amd64 +Section: oldlibs +Depends: linux-modules-nvidia-440-generic +Description: Extra drivers for nvidia-430 for the generic flavour (dummy transitional package) + Transitional package for upgrades of -430 to -440. + +Package: linux-modules-nvidia-430-lowlatency +Architecture: amd64 +Section: oldlibs +Depends: linux-modules-nvidia-440-lowlatency +Description: Extra drivers for nvidia-430 for the generic flavour (dummy transitional package) + Transitional package for upgrades of -430 to -440. diff --git a/debian/control.d/transitionals-oem b/debian/control.d/transitionals-oem new file mode 100644 index 000000000000..ceef586052cf --- /dev/null +++ b/debian/control.d/transitionals-oem @@ -0,0 +1,15 @@ +Package: linux-modules-nvidia-390-oem +Architecture: amd64 +Section: oldlibs +Priority: optional +Depends: linux-modules-nvidia-390-generic +Description: Extra drivers for nvidia-390 for the generic flavour (dummy transitional package) + Transitional package for upgrades from linux-oem to generic + +Package: linux-modules-nvidia-418-oem +Architecture: amd64 +Section: oldlibs +Priority: optional +Depends: linux-modules-nvidia-440-generic +Description: Extra drivers for nvidia-418 for the generic flavour (dummy transitional package) + Transitional package for upgrades from linux-oem to generic diff --git a/debian/control.d/transitionals-oem-osp1 b/debian/control.d/transitionals-oem-osp1 new file mode 100644 index 000000000000..ec090fe4d767 --- /dev/null +++ b/debian/control.d/transitionals-oem-osp1 @@ -0,0 +1,15 @@ +Package: linux-modules-nvidia-390-oem-osp1 +Architecture: amd64 +Section: oldlibs +Priority: optional +Depends: linux-modules-nvidia-390-generic +Description: Extra drivers for nvidia-390 for the generic flavour (dummy transitional package) + Transitional package for upgrades from linux-oem-osp1 to generic + +Package: linux-modules-nvidia-418-oem-osp1 +Architecture: amd64 +Section: oldlibs +Priority: optional +Depends: linux-modules-nvidia-440-generic +Description: Extra drivers for nvidia-418 for the generic flavour (dummy transitional package) + Transitional package for upgrades from linux-oem-osp1 to generic diff --git a/debian/control.stub b/debian/control.stub deleted file mode 100644 index b8f26eb6d409..000000000000 --- a/debian/control.stub +++ /dev/null @@ -1,153 +0,0 @@ -Source: LRM_SOURCE -Section: utils -Priority: optional -Maintainer: Canonical Kernel Team -Build-Depends: - debhelper (>= 9), - lsb-release, - python3, - python3-apt, - cpio, - dkms, - wget, - gawk, - linux-headers-ABI-generic (>= VERSION), - linux-buildinfo-ABI-generic (>= VERSION), - linux-headers-ABI-lowlatency (>= VERSION), - linux-buildinfo-ABI-lowlatency (>= VERSION), -Standards-Version: 3.9.4 -Vcs-Git: git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux-restricted-modules/+git/@SERIES@ - -Package: linux-modules-nvidia-390-ABI-generic -Build-Profiles: -Architecture: amd64 -Section: kernel -Priority: optional -Built-Using: ${linux:BuiltUsing} -Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-generic | linux-image-unsigned-ABI-generic, nvidia-kernel-common-390 -Description: Linux kernel nvidia modules for version ABI - This package contains the Linux kernel nvidia modules for version ABI. - . - You likely do not want to install this package directly. Instead, install the - linux-image-nvidia-FLAVOUR meta-package, which will ensure that upgrades work - correctly, and that supporting packages are also installed. - -Package: linux-modules-nvidia-390-ABI-lowlatency -Build-Profiles: -Architecture: amd64 -Section: kernel -Priority: optional -Built-Using: ${linux:BuiltUsing} -Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-lowlatency | linux-image-unsigned-ABI-lowlatency, nvidia-kernel-common-390 -Description: Linux kernel nvidia modules for version ABI - This package contains the Linux kernel nvidia modules for version ABI. - . - You likely do not want to install this package directly. Instead, install the - linux-image-nvidia-FLAVOUR meta-package, which will ensure that upgrades work - correctly, and that supporting packages are also installed. - -Package: linux-modules-nvidia-390-generic -Build-Profiles: -Architecture: amd64 -Section: kernel -Depends: ${misc:Depends}, linux-modules-nvidia-390-ABI-generic (= ${binary:Version}) -Description: Extra drivers for nvidia-390 for the generic flavour - Install extra signed nvidia-390 modules compatible with the generic flavour. - -Package: linux-modules-nvidia-390-lowlatency -Build-Profiles: -Architecture: amd64 -Section: kernel -Depends: ${misc:Depends}, linux-modules-nvidia-390-ABI-lowlatency (= ${binary:Version}) -Description: Extra drivers for nvidia-390 for the lowlatency flavour - Install extra signed nvidia-390 modules compatible with the lowlatency flavour. - -Package: linux-modules-nvidia-440-ABI-generic -Build-Profiles: -Architecture: amd64 -Section: kernel -Priority: optional -Built-Using: ${linux:BuiltUsing} -Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-generic | linux-image-unsigned-ABI-generic, nvidia-kernel-common-440 -Description: Linux kernel nvidia modules for version ABI - This package contains the Linux kernel nvidia modules for version ABI. - . - You likely do not want to install this package directly. Instead, install the - linux-image-nvidia-FLAVOUR meta-package, which will ensure that upgrades work - correctly, and that supporting packages are also installed. - -Package: linux-modules-nvidia-440-ABI-lowlatency -Build-Profiles: -Architecture: amd64 -Section: kernel -Priority: optional -Built-Using: ${linux:BuiltUsing} -Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-lowlatency | linux-image-unsigned-ABI-lowlatency, nvidia-kernel-common-440 -Description: Linux kernel nvidia modules for version ABI - This package contains the Linux kernel nvidia modules for version ABI. - . - You likely do not want to install this package directly. Instead, install the - linux-image-nvidia-FLAVOUR meta-package, which will ensure that upgrades work - correctly, and that supporting packages are also installed. - -Package: linux-modules-nvidia-440-generic -Build-Profiles: -Architecture: amd64 -Section: kernel -Depends: ${misc:Depends}, linux-modules-nvidia-440-ABI-generic (= ${binary:Version}) -Description: Extra drivers for nvidia-440 for the generic flavour - Install extra signed nvidia-440 modules compatible with the generic flavour. - -Package: linux-modules-nvidia-440-lowlatency -Build-Profiles: -Architecture: amd64 -Section: kernel -Depends: ${misc:Depends}, linux-modules-nvidia-440-ABI-lowlatency (= ${binary:Version}) -Description: Extra drivers for nvidia-440 for the lowlatency flavour - Install extra signed nvidia-440 modules compatible with the lowlatency flavour. - -Package: linux-modules-nvidia-430-generic -Architecture: amd64 -Section: oldlibs -Depends: linux-modules-nvidia-440-generic -Description: Extra drivers for nvidia-430 for the generic flavour (dummy transitional package) - Transitional package for upgrades of -430 to -440. - -Package: linux-modules-nvidia-430-lowlatency -Architecture: amd64 -Section: oldlibs -Depends: linux-modules-nvidia-440-lowlatency -Description: Extra drivers for nvidia-430 for the generic flavour (dummy transitional package) - Transitional package for upgrades of -430 to -440. - -Package: linux-modules-nvidia-390-oem -Architecture: amd64 -Section: oldlibs -Priority: optional -Depends: linux-modules-nvidia-390-generic -Description: Extra drivers for nvidia-390 for the generic flavour (dummy transitional package) - Transitional package for upgrades from linux-oem to generic - -Package: linux-modules-nvidia-390-oem-osp1 -Architecture: amd64 -Section: oldlibs -Priority: optional -Depends: linux-modules-nvidia-390-generic -Description: Extra drivers for nvidia-390 for the generic flavour (dummy transitional package) - Transitional package for upgrades from linux-oem-osp1 to generic - -Package: linux-modules-nvidia-418-oem -Architecture: amd64 -Section: oldlibs -Priority: optional -Depends: linux-modules-nvidia-440-generic -Description: Extra drivers for nvidia-418 for the generic flavour (dummy transitional package) - Transitional package for upgrades from linux-oem to generic - -Package: linux-modules-nvidia-418-oem-osp1 -Architecture: amd64 -Section: oldlibs -Priority: optional -Depends: linux-modules-nvidia-440-generic -Description: Extra drivers for nvidia-418 for the generic flavour (dummy transitional package) - Transitional package for upgrades from linux-oem-osp1 to generic diff --git a/debian/rules b/debian/rules index 84a306ef10b2..1e611e68ece8 100755 --- a/debian/rules +++ b/debian/rules @@ -17,17 +17,27 @@ series = $(shell dpkg-parsechangelog | sed -ne 's/^Distribution: *//p' | sed -e dkms_nvidia_390_version=$(shell gawk '/^nvidia-graphics-drivers-390/ { print $$2; }' debian/dkms-versions) dkms_nvidia_440_version=$(shell gawk '/^nvidia-graphics-drivers-440/ { print $$2; }' debian/dkms-versions) +control_files := debian/control.common +control_files += $(filter-out $(primary_control_files),$(shell LC_ALL=C ls -d debian/control.d/*)) + test: echo "$(src_fullversion) $(src_version)" # We build our control file. This has to be done before dh runs otherwise # we have no binary files and we will not run the appropriate targets. -pre-clean: - sed debian/control \ - -e 's/LRM_SOURCE/$(src_package)/g' \ - -e "s/ABI/$(src_abi)/g" \ - -e "s/VERSION/$(src_version)/g" \ - -e "s/@SERIES@/$(series)/g" +pre-clean: $(control_files) + rm -f debian/control.tmp + for i in $^; do \ + sed \ + -e 's/LRM_SOURCE/$(src_package)/g' \ + -e "s/ABI/$(src_abi)/g" \ + -e "s/VERSION/$(src_version)/g" \ + -e "s/@SERIES@/$(series)/g" \ + $$i >>debian/control.tmp; \ + echo "" >>debian/control.tmp; \ + done + rm -f $@ + mv debian/control.tmp debian/control rm -rf ./$(src_version) UNSIGNED SIGNED rm -f debian/linux-modules-*.install \ debian/linux-modules-*.preinst \