[REVIEW 3/6][linux-restricted-modules] UBUNTU: [Debian] Split control.stub out into component parts
Seth Forshee
seth.forshee at canonical.com
Tue Dec 3 22:26:54 UTC 2019
In preparation for variant support, split up debian/control.stub
into more granular control file fragments.
Signed-off-by: Seth Forshee <seth.forshee at canonical.com>
---
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 <kernel-team at lists.ubuntu.com>
+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: <!stage1>
+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: <!stage1>
+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: <!stage1>
+Architecture: amd64
+Section: kernel
+Depends: ${misc:Depends}, linux-modules-nvidia-440-ABI-generic (= ${binary:Version})
+Description: Extra drivers for nvidia-440 for the generic flavour
+ Install extra signed nvidia-440 modules compatible with the generic flavour.
+
+Package: linux-modules-nvidia-440-lowlatency
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Depends: ${misc:Depends}, linux-modules-nvidia-440-ABI-lowlatency (= ${binary:Version})
+Description: Extra drivers for nvidia-440 for the lowlatency flavour
+ Install extra signed nvidia-440 modules compatible with the lowlatency flavour.
diff --git a/debian/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: <!stage1>
+Architecture: amd64
+Section: kernel
+Priority: optional
+Built-Using: ${linux:BuiltUsing}
+Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-generic | linux-image-unsigned-ABI-generic, nvidia-kernel-common-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: <!stage1>
+Architecture: amd64
+Section: kernel
+Priority: optional
+Built-Using: ${linux:BuiltUsing}
+Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-lowlatency | linux-image-unsigned-ABI-lowlatency, nvidia-kernel-common-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: <!stage1>
+Architecture: amd64
+Section: kernel
+Priority: optional
+Built-Using: ${linux:BuiltUsing}
+Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-generic | linux-image-unsigned-ABI-generic, nvidia-kernel-common-440
+Description: Linux kernel nvidia modules for version ABI
+ This package contains the Linux kernel nvidia modules for version ABI.
+ .
+ You likely do not want to install this package directly. Instead, install the
+ linux-image-nvidia-FLAVOUR meta-package, which will ensure that upgrades work
+ correctly, and that supporting packages are also installed.
+
+Package: linux-modules-nvidia-440-ABI-lowlatency
+Build-Profiles: <!stage1>
+Architecture: amd64
+Section: kernel
+Priority: optional
+Built-Using: ${linux:BuiltUsing}
+Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-lowlatency | linux-image-unsigned-ABI-lowlatency, nvidia-kernel-common-440
+Description: Linux kernel nvidia modules for version ABI
+ This package contains the Linux kernel nvidia modules for version ABI.
+ .
+ You likely do not want to install this package directly. Instead, install the
+ linux-image-nvidia-FLAVOUR meta-package, which will ensure that upgrades work
+ correctly, and that supporting packages are also installed.
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 <kernel-team at lists.ubuntu.com>
-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: <!stage1>
-Architecture: amd64
-Section: kernel
-Priority: optional
-Built-Using: ${linux:BuiltUsing}
-Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-generic | linux-image-unsigned-ABI-generic, nvidia-kernel-common-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: <!stage1>
-Architecture: amd64
-Section: kernel
-Priority: optional
-Built-Using: ${linux:BuiltUsing}
-Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-lowlatency | linux-image-unsigned-ABI-lowlatency, nvidia-kernel-common-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: <!stage1>
-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: <!stage1>
-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: <!stage1>
-Architecture: amd64
-Section: kernel
-Priority: optional
-Built-Using: ${linux:BuiltUsing}
-Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-generic | linux-image-unsigned-ABI-generic, nvidia-kernel-common-440
-Description: Linux kernel nvidia modules for version ABI
- This package contains the Linux kernel nvidia modules for version ABI.
- .
- You likely do not want to install this package directly. Instead, install the
- linux-image-nvidia-FLAVOUR meta-package, which will ensure that upgrades work
- correctly, and that supporting packages are also installed.
-
-Package: linux-modules-nvidia-440-ABI-lowlatency
-Build-Profiles: <!stage1>
-Architecture: amd64
-Section: kernel
-Priority: optional
-Built-Using: ${linux:BuiltUsing}
-Depends: ${misc:Depends}, ${shlibs:Depends}, binutils, linux-image-ABI-lowlatency | linux-image-unsigned-ABI-lowlatency, nvidia-kernel-common-440
-Description: Linux kernel nvidia modules for version ABI
- This package contains the Linux kernel nvidia modules for version ABI.
- .
- You likely do not want to install this package directly. Instead, install the
- linux-image-nvidia-FLAVOUR meta-package, which will ensure that upgrades work
- correctly, and that supporting packages are also installed.
-
-Package: linux-modules-nvidia-440-generic
-Build-Profiles: <!stage1>
-Architecture: amd64
-Section: kernel
-Depends: ${misc:Depends}, linux-modules-nvidia-440-ABI-generic (= ${binary:Version})
-Description: Extra drivers for nvidia-440 for the generic flavour
- Install extra signed nvidia-440 modules compatible with the generic flavour.
-
-Package: linux-modules-nvidia-440-lowlatency
-Build-Profiles: <!stage1>
-Architecture: amd64
-Section: kernel
-Depends: ${misc:Depends}, linux-modules-nvidia-440-ABI-lowlatency (= ${binary:Version})
-Description: Extra drivers for nvidia-440 for the lowlatency flavour
- Install extra signed nvidia-440 modules compatible with the lowlatency flavour.
-
-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.stub >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 \
--
2.24.0
More information about the kernel-team
mailing list