From patchwork Fri May 13 13:46:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: You-Sheng Yang X-Patchwork-Id: 1630755 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) 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 bilbo.ozlabs.org (Postfix) with ESMTPS id 4L091c3cSCz9sFs for ; Fri, 13 May 2022 23:47:15 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1npVdM-00085s-21; Fri, 13 May 2022 13:47:08 +0000 Received: from mail-pj1-f50.google.com ([209.85.216.50]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1npVdJ-00083C-Gu for kernel-team@lists.ubuntu.com; Fri, 13 May 2022 13:47:05 +0000 Received: by mail-pj1-f50.google.com with SMTP id cx11-20020a17090afd8b00b001d9fe5965b3so10864559pjb.3 for ; Fri, 13 May 2022 06:47:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=exYvWOl0udNAramxl2G9h3JPvtixfkYJFAWKk7ywpZQ=; b=zv7HfawwA/VHtP0ZFZ1VgoOyf2ltgqiS4t8VS2NpisfXVLolnxx0IwwsLuI+KDTFVq PUGuIfkwsKMbGEeMuXJBm11R0zurphVZkg4ua4zooXxohHlkfeODJoFfc1CLCnJ3kuow UsZ1gLnIZzTPQY9refIb97wIH4LVXl+oWsXNcwr1mIYAQB8J8oc7pMotae3CUXEFxpds laRbQ8SWkqAfgJVkNQDSHn/sZNIZZXP8hjZNoOg44XB5MOQRbJTDkLVBO8eroIWgeTx2 fm7XqCMvkHGOTA/6umCjzrXy5OG+HV9HmVAlJtrFW6+4I3bhHWipkMORTnJdFx2hmFdC I0bA== X-Gm-Message-State: AOAM532qOSiQ8P+yyGEqI+4ca+yCwFnpqxDRKd+47TkY6sMTKo6+oKqv rNUk6Xouv0xYzUc2q8AzmPDMJwhyUBQ= X-Google-Smtp-Source: ABdhPJw9vhrZfW7ITgIRsmsyLEWl7iWmfxDXvkPDDSsAEVRsUXacgVjVOvt4ch2LBzGS0wWPzJCVYg== X-Received: by 2002:a17:90b:4b83:b0:1dc:4cc8:16d9 with SMTP id lr3-20020a17090b4b8300b001dc4cc816d9mr5117210pjb.4.1652449623137; Fri, 13 May 2022 06:47:03 -0700 (PDT) Received: from yewun.. (114-40-193-56.dynamic-ip.hinet.net. [114.40.193.56]) by smtp.gmail.com with ESMTPSA id j15-20020a170903024f00b0015eee3ab203sm1939781plh.49.2022.05.13.06.47.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 May 2022 06:47:02 -0700 (PDT) From: You-Sheng Yang To: kernel-team@lists.ubuntu.com Subject: [PATCH v4 1/2][SRU][Jammy/Unstable] UBUNTU: [Packaging] support standalone dkms module builds Date: Fri, 13 May 2022 21:46:54 +0800 Message-Id: <20220513134659.757783-2-vicamo.yang@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220513134659.757783-1-vicamo.yang@canonical.com> References: <20220513134659.757783-1-vicamo.yang@canonical.com> MIME-Version: 1.0 Received-SPF: pass client-ip=209.85.216.50; envelope-from=vicamo@gmail.com; helo=mail-pj1-f50.google.com 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" From: "You-Sheng Yang (vicamo)" BugLink: https://bugs.launchpad.net/bugs/1969434 Signed-off-by: You-Sheng Yang (vicamo) --- debian/control.d/generic | 2 +- debian/control.dkms | 10 ++++++ debian/rules | 69 +++++++++++++++++++++++++++++++++++++--- 3 files changed, 75 insertions(+), 6 deletions(-) create mode 100644 debian/control.dkms diff --git a/debian/control.d/generic b/debian/control.d/generic index 016f763a..8d6db34d 100644 --- a/debian/control.d/generic +++ b/debian/control.d/generic @@ -9,7 +9,7 @@ Description: Generic Linux kernel headers Package: linux-image-generic${variant:suffix} Architecture: amd64 armhf arm64 powerpc ppc64el s390x Section: kernel -Provides: ${dkms:zfs-modules} ${dkms:virtualbox-guest-modules} ${dkms:wireguard-linux-compat-modules} +Provides: ${dkms:v4l2loopback-modules} ${dkms:zfs-modules} ${dkms:virtualbox-guest-modules} ${dkms:wireguard-linux-compat-modules} Depends: ${misc:Depends}, linux-image-${kernel-abi-version}-generic, linux-modules-extra-${kernel-abi-version}-generic [amd64 arm64 powerpc ppc64el s390x], linux-firmware [amd64 armhf arm64 ppc64el], intel-microcode [amd64], amd64-microcode [amd64] Recommends: thermald [amd64] Description: Generic Linux kernel image diff --git a/debian/control.dkms b/debian/control.dkms new file mode 100644 index 00000000..304af7b9 --- /dev/null +++ b/debian/control.dkms @@ -0,0 +1,10 @@ + +Package: linux-modules-MODULE-FLAVOUR${variant:suffix} +Architecture: ARCH +Section: kernel +Provides: ${dkms:MODULE-modules} +Depends: + ${misc:Depends}, + linux-modules-MODULE-${kernel-abi-version}-FLAVOUR, +Description: Extra drivers for MODULE for the FLAVOUR flavour + Install extra signed MODULE modules compatible with the FLAVOUR flavour. diff --git a/debian/rules b/debian/rules index 789df4c0..5b1fd421 100755 --- a/debian/rules +++ b/debian/rules @@ -7,6 +7,11 @@ # Copyright (c) 2004 Jens Schmalzing # +include /usr/share/dpkg/architecture.mk + +# Used when you need to 'escape' a comma. +comma = , + SERIES=$(shell dpkg-parsechangelog -SDistribution | sed -e 's/-\(security\|updates\|proposed\)$$//') SOURCE=$(shell dpkg-parsechangelog -SSource) KERNEL_SOURCE=$(shell echo "$(SOURCE)" | sed -e 's/-meta//') @@ -26,10 +31,11 @@ endif control_files := debian/control.common # control files only wanted for the primary variant primary_control_files := $(shell LC_ALL=C ls -d debian/control.d/primary debian/control.d/transitionals-* 2>/dev/null) +dkms_control_files := ifneq ($(filter --,$(variants)),) control_files += $(primary_control_files) endif -control_files += $(filter-out $(primary_control_files),$(shell LC_ALL=C ls -d debian/control.d/*)) +control_files += $(filter-out $(primary_control_files) $(wildcard debian/control.d/dkms-*),$(shell LC_ALL=C ls -d debian/control.d/*)) SHELL := sh -e @@ -38,13 +44,57 @@ clean: debian/control dh_testroot dh_clean -# Versions of dkms packages. -dkms_zfs_linux_version=$(shell gawk '/^zfs-linux/ { print $$2; }' debian/dkms-versions) +# DKMS +all_dkms_modules = +$(foreach _line,$(shell gawk '{ OFS = "!"; $$1 = $$1; print }' debian/dkms-versions), \ + $(eval _params = $(subst !, ,$(_line))) \ + $(eval _deb_pkgname = $(firstword $(_params))) \ + $(eval _deb_version = $(word 2,$(_params))) \ + $(if $(filter modulename=%,$(_params)), \ + $(eval _m = $(word 2,$(subst =, ,$(filter modulename=%,$(_params))))) \ + , \ + $(info modulename for $(_deb_pkgname) not specified in dkms-versions. Assume $(_deb_pkgname).) \ + $(eval _m = $(_deb_pkgname)) \ + ) \ + $(eval all_dkms_modules += $(_m)) \ + $(eval dkms_$(_m)_version = $(_deb_version)) \ + $(if $(filter arch=%,$(_params)), \ + $(eval dkms_$(_m)_archs = $(patsubst arch=%,%,$(filter arch=%,$(_params)))) \ + , \ + $(eval dkms_$(_m)_archs = any) \ + ) \ + $(eval dkms_$(_m)_rprovides = $(patsubst rprovides=%,%,$(filter rprovides=%,$(_params)))) \ + $(eval dkms_$(_m)_type = $(word 1,$(patsubst type=%,%,$(filter type=%,$(_params))) built-in)) \ + $(eval all_$(dkms_$(_m)_type)_dkms_modules += $(_m)) \ + $(if $(filter standalone,$(dkms_$(_m)_type)), \ + $(eval dkms_$(_m)_rprovides += $(_m)-prebuilt-kernel) \ + $(eval dkms_control_files += debian/control.d/dkms-$(_m)) \ + ) \ +) dkms_virtualbox_version=$(KERNEL_ABI_VERSION) dkms_wireguard_version=$(shell /sbin/modinfo -F version /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko) +debian/control.d/dkms-%: module = $(patsubst debian/control.d/dkms-%,%,$@) +debian/control.d/dkms-%: module_archs = $(dkms_$(patsubst debian/control.d/dkms-%,%,$@)_archs) +debian/control.d/dkms-%: debian/control.dkms + for cf in $(filter-out debian/control.common $(primary_control_files),$(control_files)); do \ + flavour=$$(basename $$cf); \ + flavour_archs=$$(gawk "/^Package: linux-image-$${flavour}\\\$$/ { getline; \$$1=\"\"; print; }" $$cf); \ + available_archs=$${flavour_archs}; \ + if ! test "$(module_archs)" = "any"; then \ + available_archs=$$(echo "$${flavour_archs} $(module_archs)" | tr " " "\n" | sort | uniq -d); \ + test -n "$${available_archs}" || continue; \ + fi; \ + cat debian/control.dkms | sed \ + -e "s/MODULE/$(module)/g" \ + -e "s/ARCH/$${available_archs}/g" \ + -e "s/FLAVOUR/$${flavour}/g"; \ + done >$@.tmp + rm -f $@ + mv $@.tmp $@ + debian/control: tp_key=test:provides\(-full\|-image\|-headers\|-modules-extra\) -debian/control: $(control_files) +debian/control: $(control_files) $(dkms_control_files) for i in $^; do \ if grep -q "{variant:" $$i; then \ variant_first='yes'; \ @@ -75,7 +125,16 @@ debian/control: $(control_files) gencontrol_flags = -Vkernel-version=$(KERNEL_VERSION) gencontrol_flags += -Vkernel-abi-version=$(KERNEL_ABI_VERSION) -gencontrol_flags += -Vdkms:zfs-modules="zfs-modules (= $(dkms_zfs_linux_version))," +gencontrol_flags += \ + $(foreach _m,$(all_dkms_modules), \ + $(if $(filter $(DEB_HOST_ARCH),$(subst any,$(DEB_HOST_ARCH),$(dkms_$(_m)_archs))), \ + $(if $(filter standalone,$(dkms_$(_m)_type)), \ + -Vdkms:$(_m)-modules="$(foreach _p,$(dkms_$(_m)_rprovides),$(_p) (= $(dkms_$(_m)_version))$(comma) )" \ + , \ + -Vdkms:$(_m)-modules="$(foreach _p,$(filter %-modules,$(dkms_$(_m)_rprovides)),$(_p) (= $(dkms_$(_m)_version))$(comma) )" \ + ) \ + ) \ + ) gencontrol_flags += -Vdkms:virtualbox-guest-modules="virtualbox-guest-modules (= $(dkms_virtualbox_version))," gencontrol_flags += -Vdkms:wireguard-linux-compat-modules="wireguard-modules (= $(dkms_wireguard_version))," From patchwork Fri May 13 13:46:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: You-Sheng Yang X-Patchwork-Id: 1630759 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) 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 bilbo.ozlabs.org (Postfix) with ESMTPS id 4L091q5gz5z9sFs for ; Fri, 13 May 2022 23:47:27 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1npVdX-0008En-GY; Fri, 13 May 2022 13:47:19 +0000 Received: from mail-pf1-f174.google.com ([209.85.210.174]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1npVdN-00085o-Vj for kernel-team@lists.ubuntu.com; Fri, 13 May 2022 13:47:10 +0000 Received: by mail-pf1-f174.google.com with SMTP id d25so7724931pfo.10 for ; Fri, 13 May 2022 06:47:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=fqRr+3c49QOx5yW0aGOHK40tBPOlt46EZi1P/ni8bzM=; b=qktH4Tkt2tT8qHq6JEzAtdluEDg9SGWW5mSZAXYV/XcfDNLEOR3k7BPs3wMU/nHuK2 JNST0yYR0O+LkxSpIcJMdJcbpXwIORX01Se9LH+LZiGKa4ObfrIItbf/mPsaS2PsbHiw 8RXbIGiAhw0rEDilg96A5uAXuj92SOBqFMBI0y2nK+pNppNpGAQcQ+FgeYsqRPO/uCVY 4MUc9kDlRrkW6kBmsxazz2uPMrRmXDnR3dQrHKzX7xyI4fOQAho/3kT4765sGSDaMoXX Pl200pRw79i2zv0WHaGYsg+82CkMuGXoZmySPdjz1j/fcJWpVBpX/49bj4Jn9Lp1sbJq pvfQ== X-Gm-Message-State: AOAM531FN8CnGblyYabTFl67GS47xEXKTProCwR+UzD013YJIb39cQYz K7pRf1DWoWn0K8U2xJz9VQNPFDzB9FQ= X-Google-Smtp-Source: ABdhPJytaxRgn7Vjg1ug6XrzXIbYR0YaJ6Cww01ztVH3er+MTzlPFpCO/dpjLtxyitebPLFvjhYpeg== X-Received: by 2002:aa7:9d0d:0:b0:50d:4fcc:7cb1 with SMTP id k13-20020aa79d0d000000b0050d4fcc7cb1mr4837335pfp.41.1652449626712; Fri, 13 May 2022 06:47:06 -0700 (PDT) Received: from yewun.. (114-40-193-56.dynamic-ip.hinet.net. [114.40.193.56]) by smtp.gmail.com with ESMTPSA id j15-20020a170903024f00b0015eee3ab203sm1939781plh.49.2022.05.13.06.47.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 May 2022 06:47:06 -0700 (PDT) From: You-Sheng Yang To: kernel-team@lists.ubuntu.com Subject: [PATCH v4 2/2][SRU][Unstable] UBUNTU: [Packaging] resync debian/dkms-versions from main package Date: Fri, 13 May 2022 21:46:57 +0800 Message-Id: <20220513134659.757783-5-vicamo.yang@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220513134659.757783-1-vicamo.yang@canonical.com> References: <20220513134659.757783-1-vicamo.yang@canonical.com> MIME-Version: 1.0 Received-SPF: pass client-ip=209.85.210.174; envelope-from=vicamo@gmail.com; helo=mail-pf1-f174.google.com 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" From: "You-Sheng Yang (vicamo)" BugLink: http://bugs.launchpad.net/bugs/1786013 Signed-off-by: You-Sheng Yang (vicamo) --- debian/dkms-versions | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/dkms-versions b/debian/dkms-versions index 82fbade1..543c0a01 100644 --- a/debian/dkms-versions +++ b/debian/dkms-versions @@ -1,2 +1,3 @@ -v4l2loopback 0.12.5-1ubuntu5 -zfs-linux 2.1.4-0ubuntu0.1 +backport-iwlwifi-dkms 9858-0ubuntu4 modulename=iwlwifi debpath=pool/universe/b/%package%/backport-iwlwifi-dkms_%version%_all.deb arch=amd64 rprovides=iwlwifi-modules rprovides=backport-iwlwifi-dkms type=standalone +v4l2loopback 0.12.5-1ubuntu6 modulename=v4l2loopback debpath=pool/universe/v/%package%/v4l2loopback-dkms_%version%_all.deb arch=amd64 rprovides=v4l2loopback-modules rprovides=v4l2loopback-dkms +zfs-linux 2.1.4-0ubuntu1 modulename=zfs debpath=pool/universe/z/%package%/zfs-dkms_%version%_all.deb arch=amd64 arch=arm64 arch=ppc64el arch=s390x rprovides=spl-modules rprovides=spl-dkms rprovides=zfs-modules rprovides=zfs-dkms