From patchwork Wed Dec 6 11:33:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 3221 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 06 Dec 2023 12:33:32 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-qv1-f56.google.com (mail-qv1-f56.google.com [209.85.219.56]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 3B6BXU1S024212 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 6 Dec 2023 12:33:31 +0100 Received: by mail-qv1-f56.google.com with SMTP id 6a1803df08f44-67aa6dd4e71sf35742766d6.0 for ; Wed, 06 Dec 2023 03:33:31 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701862405; cv=pass; d=google.com; s=arc-20160816; b=hrKTt7yXu3gyKlryitChll0qfZMV2V1wmXoiuY4PHWXiI8W/UMmZCp2snzmNhBYi20 emhLZ4PPQLvq9XSAHz0x+Q4KbqtfvYBeqH/xuW+bO7Rh8CB17d29stO3NmqnwC1p5/gt 8shLVCJwJGtF+ALPSIe9WE2qw9ND/s5buc8Y60h0jZTDRHmT3VdUoCYWeTR9XqZvcfHQ fZ5PEHV8lgl/lM86uf3f9/BoY+PyhgFycmTa7X1KK1Ee3EYMzRxV8TXKPsukZp1kdiD2 sbHl0YWC8UQx72F5s1vMmvG/qai/kM3vbSpUXtkEnj9MC1lOotKPdUrpLxswleT8tAGc Fp9A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=U9UISgchpVlQ4CJEldbj0e9mgoqoA8vTleSCX+P3MsA=; fh=2vPEtVRFZgJExMSCfX53nKBFsjiPYp/60rbGy5S5Mwo=; b=Em3NGl7xH85AQ4z5PM25km3/bGNwM9qK1gry55LTIUWJSicP39LGnE5d33iq4G4rMh JPXfmwCFRmYc43GuhiSkBKJys8fvHz3ydRBusUFIYQQGVdpBN3HkdhyCDqWA9pzD5EF3 fIjd1vMHlLUCEAPN5zUwC4+4dBNqt3GJxo94BAgTrYaIJshD+AEtKRg47/qTUzNovohN 6KDQYXHGGpvFj790bsgofa7AV5zAFgl3kYbtGMIHpFRPYQRU6KkxR0aJGZI33XnXbHqx yr7djzMPrqgRhLpsfPrvTLXmORE9s3STluBvDKpKfoqGf5p04pVnur9EVEg9pGiqT6Gl QOrQ== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=bt4MAd0h; spf=pass (google.com: domain of fm-1321639-20231206113322890ee0009f64053388-jwki9z@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1321639-20231206113322890ee0009f64053388-JWKi9z@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1701862405; x=1702467205; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=U9UISgchpVlQ4CJEldbj0e9mgoqoA8vTleSCX+P3MsA=; b=k8uVen6CGW6LKihug/4M6mC+d0bsUv9kxcWvxQ+TSgjLm+6FJQZPwgJ73QTdoEpLVL /0+A2b2tQmHAI+xt9PxJaqcuxJA0XMqUzpxsE5qQ3mNr8IBp9I66jTcZknMTOiSuz7ql h3WHZEWimLNFxz7L/SpAKdZmhEAxH66CHmDdHJV2onnNkKOwIiYA8sExXL+NAltdEZDk AoqJohKojV8/wgiKrH1+EKOt7htirI0mjdFG0t3NYNKRwI0fUgGQDkfvW/1kieJOH1sk PeU3BOU3Lwrgnvcf10hn87e4PoNcsF91xaTHIH40wDgzz2XEQgaF8TM3gR99MdH8uJDP F1Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701862405; x=1702467205; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=U9UISgchpVlQ4CJEldbj0e9mgoqoA8vTleSCX+P3MsA=; b=u9Uzvc7YFPerXWRYNIxqu7tGxkFeTEOGtRT1v+0j410vy6wA8TEbb7RjJafiKhT13+ YK/LGuIlhh52OqZr5JtDoLjiiAYizvrEPKLowBaAQnwPPLkJaqYNpNSTtq826eU9iM9r HGtD8ORwW1M0pFpWNtj8ZUQ+52m7cAzd8e67VNSdMYLJF8gAcC6Nya2Axo1JOZ1qOm6+ JD3hfldpynvRE7e5B8gCQdWY2T/+721l0iGST1h57GAV+y6LpTJHc/wg+Y43IvlyLObj QvK/aRVySe7PdHt6+riLvR4hzeZT5AOzQKm0C2ZJXjG1dO1IJsOOfdN8ftuolfXU6M2u 7K4g== X-Gm-Message-State: AOJu0YxKMA18MQslxPkLeoEU9GDF1rzArEqrAc4hHpzCmgQ76X03pyVI LXUEnoAyuxSxuVdcRdTClnY= X-Google-Smtp-Source: AGHT+IGAGw6/g9O6QfFYoRkg234cgRa7bCcQcSmLdE6BPx8QW08R0ydiRdPn4f+Bi02uFNeKQjvRVw== X-Received: by 2002:ad4:444f:0:b0:67a:a721:ec24 with SMTP id l15-20020ad4444f000000b0067aa721ec24mr627260qvt.104.1701862405210; Wed, 06 Dec 2023 03:33:25 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:ad4:548a:0:b0:67a:a4db:90b4 with SMTP id pv10-20020ad4548a000000b0067aa4db90b4ls846000qvb.1.-pod-prod-08-us; Wed, 06 Dec 2023 03:33:24 -0800 (PST) X-Received: by 2002:ad4:4052:0:b0:67a:3506:afdf with SMTP id r18-20020ad44052000000b0067a3506afdfmr701514qvp.61.1701862404254; Wed, 06 Dec 2023 03:33:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701862404; cv=none; d=google.com; s=arc-20160816; b=SBa4f5/0ZMxgWa7+SaLpRYsYdj8MZAm6KrKbmNOxlUleO/82YTfKTDFu8GV5WewayW JwXzNf9g5PgfOKcyoZR0kBD+1BKkXfTXpRfNg4ZGAzJWMuWvZeM3bPb0HEUp80j7ikCc xGI5T2Bj1cMMIXE3zwh1clPo0RvsbHJvxIeprmdNlpVgy5wKY9F/8DwR4+3Hx0Kn5cmg +dFlrMz+RlpEYLp6ipnhIq51RUT/tWq5U1rhuQeQZ8myTORMBUC7XX1aFS7V04u9iwUK 9TfG1M3pX8uRbB96ZHTnm1MKC3uvPaquIClG0GYjpw6pLiBW5fXmnsrjjlJNSrZIT7I3 y1zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:message-id:date :subject:cc:to:from:dkim-signature; bh=hN1dTAurpppqyehmnkKTa5Xf8pULf1RtJLMxGi/q5Ow=; fh=2vPEtVRFZgJExMSCfX53nKBFsjiPYp/60rbGy5S5Mwo=; b=P3WcDJLsq9xj0GRSAIc0DhUYlmIhhznNjFXR/zr9uJythXm4mmgRP77SUKrWbsduzi a8okshuxx+GG4rnzlLVK1JizAR8ToVuahG++5Yip3pkvlj2y4FJ6EWaBY/2DnGyxHPpz Qn8aeAj+PJUAFM7eJi58IalZpd4+nkrTfbPVqQ079s0TaHCSbfjmZBRVCNVncfFynK40 jkg89ve/oVwYWCdOhmHm+wEfUAMlMYYVVxU2cSVpXBgR6TTMhhA/vodNd8nvQLBLMnY9 V6SPSpDhz/eHdqR4MihC3XnyzI+LLxr3KyTDeJDZSL17ArqOsybZsRkQ5ood0XylPMxr sCcA== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=bt4MAd0h; spf=pass (google.com: domain of fm-1321639-20231206113322890ee0009f64053388-jwki9z@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1321639-20231206113322890ee0009f64053388-JWKi9z@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net. [185.136.64.228]) by gmr-mx.google.com with ESMTPS id gy1-20020a056214242100b0067abbc1779bsi838181qvb.4.2023.12.06.03.33.24 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 06 Dec 2023 03:33:24 -0800 (PST) Received-SPF: pass (google.com: domain of fm-1321639-20231206113322890ee0009f64053388-jwki9z@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) client-ip=185.136.64.228; Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 20231206113322890ee0009f64053388 for ; Wed, 06 Dec 2023 12:33:23 +0100 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, Felix Moessbauer Subject: [PATCH 1/1] add support for non-default modules dir in linux-module Date: Wed, 6 Dec 2023 19:33:12 +0800 Message-Id: <20231206113312.93461-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1321639:519-21489:flowmailer X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=bt4MAd0h; spf=pass (google.com: domain of fm-1321639-20231206113322890ee0009f64053388-jwki9z@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1321639-20231206113322890ee0009f64053388-JWKi9z@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= When building a custom kernel module, the `KBuild` file might be located in a subdirectory. To support this use-case, set `MODULE_DIR=$(PWD)/subdir` in the module build recipe. Previously some sed replacements of the generated rules file where needed to support this, in case the modules dir referenced files in parent directories. Signed-off-by: Felix Moessbauer --- RECIPE-API-CHANGELOG.md | 6 ++++++ meta/recipes-kernel/linux-module/files/debian/rules.tmpl | 6 +++--- meta/recipes-kernel/linux-module/module.inc | 3 +++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 9d1fa540..bea12871 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -560,3 +560,9 @@ Default value is '-I' which sets filter to: Use `IMAGER_INSTALL:wic` instead of `WIC_IMAGER_INSTALL`. The latter is still supported, but a warning is issued when it is used. Future versions will drop `WIC_IMAGER_INSTALL` completely. + +### Add MODULE_DIR to decouple sources dir from modules dir in custom-module + +When building a custom kernel module, the `KBuild` file might be located in +a subdirectory. To support this use-case, set `MODULE_DIR=$(PWD)/subdir` in +the module build recipe. diff --git a/meta/recipes-kernel/linux-module/files/debian/rules.tmpl b/meta/recipes-kernel/linux-module/files/debian/rules.tmpl index 7d950e38..bc4e09cb 100755 --- a/meta/recipes-kernel/linux-module/files/debian/rules.tmpl +++ b/meta/recipes-kernel/linux-module/files/debian/rules.tmpl @@ -46,16 +46,16 @@ KDIR := $(shell dpkg -L $(KERNEL_DEP) | grep "/lib/modules/.*/build") endif override_dh_auto_clean: - $(MAKE) -C $(KDIR) M=$(PWD) clean + $(MAKE) -C $(KDIR) M=${MODULE_DIR} clean override_dh_auto_build: - $(MAKE) -C $(KDIR) M=$(PWD) $(PARALLEL_MAKE) modules + $(MAKE) -C $(KDIR) M=${MODULE_DIR} $(PARALLEL_MAKE) modules ifneq ($(filter pkg.sign,$(DEB_BUILD_PROFILES)),) find . -name "*.ko" -print -exec $(KDIR)/scripts/sign-file ${SIGNATURE_HASHFN} ${SIGNATURE_KEYFILE} ${SIGNATURE_CERTFILE} {} \; endif override_dh_auto_install: - $(MAKE) -C $(KDIR) M=$(PWD) INSTALL_MOD_PATH=$(PWD)/debian/${PN} modules_install + $(MAKE) -C $(KDIR) M=${MODULE_DIR} INSTALL_MOD_PATH=$(PWD)/debian/${PN} modules_install %: CFLAGS= LDFLAGS= dh $@ diff --git a/meta/recipes-kernel/linux-module/module.inc b/meta/recipes-kernel/linux-module/module.inc index 333c66bc..269da6ae 100644 --- a/meta/recipes-kernel/linux-module/module.inc +++ b/meta/recipes-kernel/linux-module/module.inc @@ -10,6 +10,8 @@ FILESPATH:append := ":${FILE_DIRNAME}/files" DESCRIPTION ?= "Custom kernel module ${PN}" KERNEL_NAME ?= "" +# directory with KBuild file (M=${MODULE_DIR}) +MODULE_DIR ?= "$(PWD)" PN .= "-${KERNEL_NAME}" @@ -36,6 +38,7 @@ TEMPLATE_VARS += " \ KERNEL_TYPE \ KERNEL_IMAGE_PKG \ KERNEL_HEADERS_PKG \ + MODULE_DIR \ DEBIAN_BUILD_DEPENDS \ SIGNATURE_KEYFILE \ SIGNATURE_CERTFILE \