From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7044425888440516608 X-Received: by 2002:a05:600c:3787:: with SMTP id o7mr1209767wmr.110.1640158213853; Tue, 21 Dec 2021 23:30:13 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a5d:522c:: with SMTP id i12ls1548837wra.0.gmail; Tue, 21 Dec 2021 23:30:13 -0800 (PST) X-Google-Smtp-Source: ABdhPJwTaBeHMm+hHjfAVFPQeIB4tZOc98OrdMsPzBTMR1uQYdWULsV4TO+LrWxuv7sgc+xRFvKl X-Received: by 2002:adf:a18b:: with SMTP id u11mr1096363wru.397.1640158212924; Tue, 21 Dec 2021 23:30:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1640158212; cv=none; d=google.com; s=arc-20160816; b=tmeBFEE0WWRMstgVEd8q+fgeiDrUXJqqBPZNL3ogZNRICfby1uCu339h31yNrZnmoA QlLP2s1ycKUrx9ZzmaQ/iH0ikUco7IaxxhVPlZMUVHMwD23hc1QuQ4G11yAcCQ0w/paQ FMeEy6/pvz9R9oeS95gnokFoJEQ3bsgrM3lp5gf+GGRAa5Ykx3wRsChzKOqQpaEOFOFU cgE2qoOYDZksMB8NZ0MIRJhvKFaLNlmCrRuWUVE/b3pG3ZqKrpQ0P4gULjALq6/xC8U7 FW3uwyMbFxgAA+yRb2cSIktJ2SOZvqmWx5xdUQPiDrzzLus8oVcjggxV6pLP5tXpRT08 UhxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from; bh=LeYhEpDt1lbY5lV92xkBxmfPobFEDWzFjOW9FlqNUX0=; b=aRDWmRyN39Eu5WaML5al7xD46rVSE62s8lMOJHj3XCGw6ZSpYFEGdikY9bmywmY0s6 Tk4E/AEQ5G1UCxmRG2qabA1WYEcL/ZK2OU6GEmIehxCub3h+ZimMmz7CNlZ4krH/i0H0 ED/DSmpp2JucYlfW2Z6AHs8UmNWZWKZiQV1fly6V6kezNTF0203OjHwKYvl8RkuKAkEg GAAfSr24wWvyGiRfr6Idm0xCIjf00OicI0K67VhZ8t8GEPv8J4vi/Lr1T6JWrB2HgeDv pjV0GhvPNRTf7FK04INgBs+IYeFLZKp3NVp5SPVsCZDyK25+hOFqZ8GgBTKcRLKwgsNw xQcg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id j203si16296wmj.0.2021.12.21.23.30.12 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 21 Dec 2021 23:30:12 -0800 (PST) Received-SPF: pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Received: from baighyz.m.ilbers.de (host-80-81-17-52.static.customer.m-online.net [80.81.17.52]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 1BM7UBgp005366 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 22 Dec 2021 08:30:12 +0100 From: Uladzimir Bely To: isar-users@googlegroups.com Subject: [PATCH 1/6] linux: Allow to use custom packages for linux headers and image Date: Wed, 22 Dec 2021 08:30:06 +0100 Message-Id: <20211222073011.14368-2-ubely@ilbers.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20211222073011.14368-1-ubely@ilbers.de> References: <20211222073011.14368-1-ubely@ilbers.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED 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-TUID: /eUaO7gLn8UZ Some distros like recent Rasbian version may not provide provide packages named 'linux-image-${KERNEL_NAME}' and 'linux-image-${KERNEL_NAME}' and use some custom namings. This patch adds support of such distro-provided package name for packages containing linux image and linux headers. Signed-off-by: Uladzimir Bely --- RECIPE-API-CHANGELOG.md | 9 +++++++++ meta/classes/image.bbclass | 3 ++- .../linux-module/files/debian/control.tmpl | 4 ++-- meta/recipes-kernel/linux-module/module.inc | 10 ++++++---- meta/recipes-kernel/linux/linux-distro.bb | 4 ++++ 5 files changed, 23 insertions(+), 7 deletions(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 55836258..9524f8a2 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -306,3 +306,12 @@ When using the plugins it is advised to name the partition "/boot" and to exclud The variable is renamed to get closer to OE/Poky variables naming. The old naming will still also work, but with deprecation warning shown. + +### Using custom package name for linux kernel and headers + +Isar assumes that linux kernel is provided by linux-image-${KERNEL_NAME} +package, while headers are provided by linux-image-${KERNEL_NAME} package. +This naming may be different in other distributions like Raspberry Pi OS. + +KERNEL_IMAGE_PKG and KERNEL_HEADERS_PKG variables allow to use custom package +names for kernel/headers. diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index ea493548..b8b17c2c 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -15,7 +15,8 @@ IMAGE_INSTALL ?= "" IMAGE_FSTYPES ?= "${@ d.getVar("IMAGE_TYPE", True) if d.getVar("IMAGE_TYPE", True) else "ext4-img"}" IMAGE_ROOTFS ?= "${WORKDIR}/rootfs" -IMAGE_INSTALL += "${@ ("linux-image-" + d.getVar("KERNEL_NAME", True)) if d.getVar("KERNEL_NAME", True) else ""}" +KERNEL_IMAGE_PKG ??= "${@ ("linux-image-" + d.getVar("KERNEL_NAME", True)) if d.getVar("KERNEL_NAME", True) else ""}" +IMAGE_INSTALL += "${KERNEL_IMAGE_PKG}" # Name of the image including distro&machine names IMAGE_FULLNAME = "${PN}-${DISTRO}-${MACHINE}" diff --git a/meta/recipes-kernel/linux-module/files/debian/control.tmpl b/meta/recipes-kernel/linux-module/files/debian/control.tmpl index 3b3292d9..d3f4dfe9 100644 --- a/meta/recipes-kernel/linux-module/files/debian/control.tmpl +++ b/meta/recipes-kernel/linux-module/files/debian/control.tmpl @@ -2,10 +2,10 @@ Source: ${PN} Section: kernel Priority: optional Standards-Version: 3.9.6 -Build-Depends: linux-headers-${KERNEL_NAME} +Build-Depends: ${KERNEL_HEADERS_PKG} Maintainer: ISAR project Package: ${PN} Architecture: any -Depends: linux-image-${KERNEL_NAME}, kmod +Depends: ${KERNEL_IMAGE_PKG}, kmod Description: ${DESCRIPTION} diff --git a/meta/recipes-kernel/linux-module/module.inc b/meta/recipes-kernel/linux-module/module.inc index 0515621a..fecc5b3c 100644 --- a/meta/recipes-kernel/linux-module/module.inc +++ b/meta/recipes-kernel/linux-module/module.inc @@ -13,7 +13,9 @@ KERNEL_NAME ?= "" PN .= "-${KERNEL_NAME}" -DEPENDS += "linux-headers-${KERNEL_NAME}" +KERNEL_IMAGE_PKG ??= "linux-image-${KERNEL_NAME}" +KERNEL_HEADERS_PKG ??= "linux-headers-${KERNEL_NAME}" +DEPENDS += "${KERNEL_HEADERS_PKG}" SRC_URI += "file://debian/" @@ -23,7 +25,7 @@ inherit dpkg TEMPLATE_FILES = "debian/control.tmpl \ debian/changelog.tmpl" -TEMPLATE_VARS += "KERNEL_NAME" +TEMPLATE_VARS += "KERNEL_IMAGE_PKG KERNEL_HEADERS_PKG" do_prepare_build() { cp -r ${WORKDIR}/debian ${S}/ @@ -35,12 +37,12 @@ do_prepare_build() { dpkg_runbuild_prepend() { # Custom kernels contain the build folder directly. - export KDIR=$(dpkg -L --root=${BUILDCHROOT_DIR} linux-headers-${KERNEL_NAME} | \ + export KDIR=$(dpkg -L --root=${BUILDCHROOT_DIR} ${KERNEL_HEADERS_PKG} | \ grep "/lib/modules/.*/build") if [ -z "$KDIR" ]; then # Debian kernels install that folder indirectly via a dependency. KERNEL_DEP=$(dpkg-query -W -f '${Depends}' --admindir=${BUILDCHROOT_DIR}/var/lib/dpkg \ - linux-headers-${KERNEL_NAME} | sed 's/.*\(linux-headers-[[:graph:]]*\).*/\1/') + ${KERNEL_HEADERS_PKG} | sed 's/.*\(linux-headers-[[:graph:]]*\).*/\1/') export KDIR=$(dpkg -L --root=${BUILDCHROOT_DIR} ${KERNEL_DEP} | \ grep "/lib/modules/.*/build") fi diff --git a/meta/recipes-kernel/linux/linux-distro.bb b/meta/recipes-kernel/linux/linux-distro.bb index 2a248f80..bfc8be9f 100644 --- a/meta/recipes-kernel/linux/linux-distro.bb +++ b/meta/recipes-kernel/linux/linux-distro.bb @@ -10,4 +10,8 @@ python() { for kernel in distro_kernels.split(): d.appendVar('PROVIDES', ' linux-image-' + kernel) d.appendVar('PROVIDES', ' linux-headers-' + kernel) + if d.getVar('KERNEL_IMAGE_PKG', True): + d.appendVar('PROVIDES', ' ' + d.getVar('KERNEL_IMAGE_PKG', True)) + if d.getVar('KERNEL_HEADERS_PKG', True): + d.appendVar('PROVIDES', ' ' + d.getVar('KERNEL_HEADERS_PKG', True)) } -- 2.20.1