From patchwork Thu Jul 14 05:02:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 12917305 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E2FDFC433EF for ; Thu, 14 Jul 2022 05:07:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232248AbiGNFHp (ORCPT ); Thu, 14 Jul 2022 01:07:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51736 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232198AbiGNFHT (ORCPT ); Thu, 14 Jul 2022 01:07:19 -0400 Received: from conuserg-07.nifty.com (conuserg-07.nifty.com [210.131.2.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E9CEF1A390; Wed, 13 Jul 2022 22:03:58 -0700 (PDT) Received: from grover.sesame (133-32-177-133.west.xps.vectant.ne.jp [133.32.177.133]) (authenticated) by conuserg-07.nifty.com with ESMTP id 26E52j5D024585; Thu, 14 Jul 2022 14:02:45 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-07.nifty.com 26E52j5D024585 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1657774966; bh=Jr7tDxJGBjHD4R2T6y2BGZyaLDORK8ue4Iw5NULwlPw=; h=From:To:Cc:Subject:Date:From; b=KD4/RiZBeLgrfUJnF4tmVDZ7vhdwFi4kzqb838JEmg77VoHeijXW3pOK+9+U8r3JC 05elbRclIpZuBE/OKG6M3hC12hHI2b2Uhn7iqWQF09u57299NhdR8Su8hcuFILDWO9 lZ/daEKJJPssyU+W1ens3ERZ16LwwENlDNMw0piUc/R5V1rCo+rbbVavwSAbxDYLcB iryf7Qejyzc6K/3K2EZpu6F/mwGDIP8Nac1bJVA1j90PSUBUCtH6Cxe7IkHWkuxw6r dvEKNmMs9/grc5RQcD85BU1PNDSepbmlvzWtC5M/wq1RzBJgXJDN5Z4O1DDDA2bW1M p/MdB1GpqUF5w== X-Nifty-SrcIP: [133.32.177.133] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: Masahiro Yamada , Jason Self , Guo Ren , Michal Marek , Nick Desaulniers , linux-csky@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/4] kbuild: rpm-pkg: fix build error when _arch is undefined Date: Thu, 14 Jul 2022 14:02:40 +0900 Message-Id: <20220714050243.16411-1-masahiroy@kernel.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org Cross-building (bin)rpm-pkg fails on several architectures. For example, 'make ARCH=arm binrpm-pkg' fails like follows: sh ./scripts/package/mkspec prebuilt > ./binkernel.spec rpmbuild --define "_builddir ." --target \ arm -bb ./binkernel.spec Building target platforms: arm Building for target arm warning: line 19: It's not recommended to have unversioned Obsoletes: Obsoletes: kernel-headers Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.0S8t2F + umask 022 + cd . + mkdir -p /home/masahiro/rpmbuild/BUILDROOT/kernel-5.19.0_rc6-19.%{_arch}/boot + make -f ./Makefile image_name + cp arch/arm/boot/zImage /home/masahiro/rpmbuild/BUILDROOT/kernel-5.19.0_rc6-19.%{_arch}/boot/vmlinuz-5.19.0-rc6 + make -f ./Makefile INSTALL_MOD_PATH=/home/masahiro/rpmbuild/BUILDROOT/kernel-5.19.0_rc6-19.%{_arch} modules_install make[3]: *** No rule to make target '/home/masahiro/rpmbuild/BUILDROOT/kernel-5.19.0_rc6-19.arch/arm/crypto/aes-arm-bs.ko{_arch}/lib/modules/5.19.0-rc6/kernel/%', needed by '__modinst'. Stop. make[2]: *** [Makefile:1768: modules_install] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.0S8t2F (%install) By default, 'buildroot' contains %{_arch} (see /usr/lib/rpm/macros). _arch is generally defined in /usr/lib/rpm/platforms/*/macros, where the platform sub-directory is specified by --target= option for cross builds. If the given arch does not exist, %{_arch} is not expanded. In the example above, --target=arm is passed to rpmbuild, but /usr/lib/rpm/platforms/arm-linux/ does not exist. The '%' character in the path confuses GNU make and rpmbuild. The same occurs for such architectures as csky, microblaze, nios2, etc. Define _arch if it has not been defined. Reported-by: Jason Self Signed-off-by: Masahiro Yamada --- scripts/package/mkspec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/package/mkspec b/scripts/package/mkspec index 7c477ca7dc98..8fa7c5b8a1a1 100755 --- a/scripts/package/mkspec +++ b/scripts/package/mkspec @@ -49,6 +49,9 @@ sed -e '/^DEL/d' -e 's/^\t*//' < X-Patchwork-Id: 12917303 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B1817C43334 for ; Thu, 14 Jul 2022 05:07:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229745AbiGNFHn (ORCPT ); Thu, 14 Jul 2022 01:07:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51738 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230435AbiGNFHT (ORCPT ); Thu, 14 Jul 2022 01:07:19 -0400 Received: from conuserg-07.nifty.com (conuserg-07.nifty.com [210.131.2.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CBBD2193D8; Wed, 13 Jul 2022 22:03:55 -0700 (PDT) Received: from grover.sesame (133-32-177-133.west.xps.vectant.ne.jp [133.32.177.133]) (authenticated) by conuserg-07.nifty.com with ESMTP id 26E52j5E024585; Thu, 14 Jul 2022 14:02:46 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-07.nifty.com 26E52j5E024585 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1657774966; bh=gh5qXSnB7guosq/2r/U6NMm7kNaH/f1eCk7aqtUJfk0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=M8JY7j55M1Um364xUI0/jUYbdBs9CQkvcsQsO4BwF5lq3903GLEa3WOkLqkpQk0ol nLoR4RO4qr9HvfB7SN+4aKG8WHVgtRaQHjbPaWwZN8e+gutKEM5b1sT7HiJxJOoKFU hu6ht2cdmx1rYIJUb6/9b3MiNRG8jTNCsRi8MvLuEqmGghhuk8VvpZmb4xyA5R2YGU C1qPJ0HwQlf56R5HPfmPTk/V6tEH5ekps1EQMm4Qadj5D+ikkiWEmgHN0BouFchwyM W/qECXndV55bIfHoyyFLkY8f1sT0QJVXRNuoX5T2KxAw4O4JH5HMwkUnqngJUP7uRh q6PmdDPs6H2/Q== X-Nifty-SrcIP: [133.32.177.133] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: Masahiro Yamada , Michal Marek , Nick Desaulniers , linux-kernel@vger.kernel.org Subject: [PATCH 2/4] kbuild: rpm-pkg: pass 'linux' to --target option of rpmbuild Date: Thu, 14 Jul 2022 14:02:41 +0900 Message-Id: <20220714050243.16411-2-masahiroy@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220714050243.16411-1-masahiroy@kernel.org> References: <20220714050243.16411-1-masahiroy@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org Presumably, _target_os is defined even if the --target flag does not specify it, but it is better to make it explicit. Signed-off-by: Masahiro Yamada --- scripts/Makefile.package | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/Makefile.package b/scripts/Makefile.package index 77b612183c08..5017f6b2da80 100644 --- a/scripts/Makefile.package +++ b/scripts/Makefile.package @@ -56,7 +56,7 @@ rpm-pkg: $(MAKE) clean $(CONFIG_SHELL) $(MKSPEC) >$(objtree)/kernel.spec $(call cmd,src_tar,$(KERNELPATH),kernel.spec) - +rpmbuild $(RPMOPTS) --target $(UTS_MACHINE) -ta $(KERNELPATH).tar.gz \ + +rpmbuild $(RPMOPTS) --target $(UTS_MACHINE)-linux -ta $(KERNELPATH).tar.gz \ --define='_smp_mflags %{nil}' # binrpm-pkg @@ -66,7 +66,7 @@ binrpm-pkg: $(MAKE) -f $(srctree)/Makefile $(CONFIG_SHELL) $(MKSPEC) prebuilt > $(objtree)/binkernel.spec +rpmbuild $(RPMOPTS) --define "_builddir $(objtree)" --target \ - $(UTS_MACHINE) -bb $(objtree)/binkernel.spec + $(UTS_MACHINE)-linux -bb $(objtree)/binkernel.spec PHONY += deb-pkg deb-pkg: From patchwork Thu Jul 14 05:02:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 12917302 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 892ADC433EF for ; Thu, 14 Jul 2022 05:07:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229576AbiGNFHn (ORCPT ); Thu, 14 Jul 2022 01:07:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50980 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229457AbiGNFHR (ORCPT ); Thu, 14 Jul 2022 01:07:17 -0400 Received: from conuserg-07.nifty.com (conuserg-07.nifty.com [210.131.2.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E9D1C186D3; Wed, 13 Jul 2022 22:03:55 -0700 (PDT) Received: from grover.sesame (133-32-177-133.west.xps.vectant.ne.jp [133.32.177.133]) (authenticated) by conuserg-07.nifty.com with ESMTP id 26E52j5F024585; Thu, 14 Jul 2022 14:02:47 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-07.nifty.com 26E52j5F024585 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1657774967; bh=6PBSAGLUCdmVZ4v3fyCX6+8X7AUwDfZAbY+nDDOXwGU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bWnphJpPxxcJ7B2pb/svEFmOdbM6Kq3hFJ0ll56tzJG7AVLXJTlnW1igIrLpxJ0sT 9mo0Da+ECrkG0ei6uag4Pemc8fpWoSvwz82K98BmiAywNutM6Dk2rSDX0a+9q7byGY xSg8qmXJelXZzNe++ceQr2dDbNgznnipZJrueGadS8OtAtsgs//qjl0anSjlNYQtmA F9H+u7/cRZ99qmpyKuvjrXor07d8xAF7raumuVGvZXVwEsldjw2/NJNu60G7lczoH2 Bkmk9CmU8NzN76z3Zun6Gmd/AHLsYNlLQXti4Squ3TVd1HStB1SjW8QUvmC6c0d3Mz 0rkWcK9JY3wRg== X-Nifty-SrcIP: [133.32.177.133] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: Masahiro Yamada , Michal Marek , Nick Desaulniers , linux-kernel@vger.kernel.org Subject: [PATCH 3/4] kbuild: error out if $(KBUILD_EXTMOD) contains % or : Date: Thu, 14 Jul 2022 14:02:42 +0900 Message-Id: <20220714050243.16411-3-masahiroy@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220714050243.16411-1-masahiroy@kernel.org> References: <20220714050243.16411-1-masahiroy@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org If the directory pass given to KBUILD_EXTMOD (or M=) contains % or :, the module fails to build. % is used in pattern rules, and : as the separator of dependencies. Bail out with a clearer error message. Signed-off-by: Masahiro Yamada Reviewed-by: Nicolas Schier --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index faa4880f25f7..ecda62e27553 100644 --- a/Makefile +++ b/Makefile @@ -129,6 +129,9 @@ endif $(if $(word 2, $(KBUILD_EXTMOD)), \ $(error building multiple external modules is not supported)) +$(foreach x, % :, $(if $(findstring $x, $(KBUILD_EXTMOD)), \ + $(error module directory path cannot contain '$x'))) + # Remove trailing slashes ifneq ($(filter %/, $(KBUILD_EXTMOD)),) KBUILD_EXTMOD := $(shell dirname $(KBUILD_EXTMOD).) From patchwork Thu Jul 14 05:02:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 12917304 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3A39BCCA481 for ; Thu, 14 Jul 2022 05:07:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232166AbiGNFHp (ORCPT ); Thu, 14 Jul 2022 01:07:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50986 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232146AbiGNFHT (ORCPT ); Thu, 14 Jul 2022 01:07:19 -0400 Received: from conuserg-07.nifty.com (conuserg-07.nifty.com [210.131.2.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A7AC193C8; Wed, 13 Jul 2022 22:03:55 -0700 (PDT) Received: from grover.sesame (133-32-177-133.west.xps.vectant.ne.jp [133.32.177.133]) (authenticated) by conuserg-07.nifty.com with ESMTP id 26E52j5G024585; Thu, 14 Jul 2022 14:02:47 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-07.nifty.com 26E52j5G024585 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1657774968; bh=HuP/NgE3e2YKnte18ErEap8o8BxYAN/GPsNIuS117tU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=c8SXeNmkDtTGxvqP6WKnZXeI1xQQTknQNh7wb1FLdX53PfZCgnQy8Vwp1JQ4SoHBC PE2eBp+qakFfKE4/TdhoM6rlhy0PEVGna+ulTWicyp/pqWvKYlrHwjDvzqXQvCn856 SInNHSqxMk7xHbZ+rGOe89aOuU9mwcSNmyOW6QFyQHv1EJytm9KU7DPx0n1f+Mp4qY yuc/pwPw3pJ/rAefZIv2yneP+rRs+d8c6alXdsEjKXGLLiIxWfWSjyywRGO3RwYGV0 7/3fCOnlnNZxSUOhd0FFdbY4rOm1k+s2HPdxA5vEB0sHhn/SUuLLNs76Elcfhs+dR2 L9FM3nyWnXmgw== X-Nifty-SrcIP: [133.32.177.133] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: Masahiro Yamada , Michal Marek , Nick Desaulniers , linux-kernel@vger.kernel.org Subject: [PATCH 4/4] kbuild: error out if $(INSTALL_MOD_PATH) contains % or : Date: Thu, 14 Jul 2022 14:02:43 +0900 Message-Id: <20220714050243.16411-4-masahiroy@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220714050243.16411-1-masahiroy@kernel.org> References: <20220714050243.16411-1-masahiroy@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org If the directory pass given to INSTALL_MOD_PATH contains % or :, the module_install fails. % is used in pattern rules, and : as the separator of dependencies. Bail out with a clearer error message. Signed-off-by: Masahiro Yamada Reviewed-by: Nicolas Schier --- scripts/Makefile.modinst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst index 16a02e9237d3..a4c987c23750 100644 --- a/scripts/Makefile.modinst +++ b/scripts/Makefile.modinst @@ -18,6 +18,9 @@ INSTALL_MOD_DIR ?= extra dst := $(MODLIB)/$(INSTALL_MOD_DIR) endif +$(foreach x, % :, $(if $(findstring $x, $(dst)), \ + $(error module installation path cannot contain '$x'))) + suffix-y := suffix-$(CONFIG_MODULE_COMPRESS_GZIP) := .gz suffix-$(CONFIG_MODULE_COMPRESS_XZ) := .xz