From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 24 Apr 2024 16:31:29 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1rzdej-00Ez3D-0i for lore@lore.pengutronix.de; Wed, 24 Apr 2024 16:31:29 +0200 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1rzdei-0005WH-Sy; Wed, 24 Apr 2024 16:31:28 +0200 Received: from mail.thorsis.com ([217.92.40.78]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rzdeW-0005BG-8a for ptxdist@pengutronix.de; Wed, 24 Apr 2024 16:31:17 +0200 Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id BE11914874D9; Wed, 24 Apr 2024 16:31:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thorsis.com; s=dkim; t=1713969075; h=from:subject:date:message-id:to:cc:mime-version: content-transfer-encoding:in-reply-to:references; bh=uHZyX4AOOW7NNIeSwUP+6Ay2Z1dBPlrSSb4qWDqF+kg=; b=Yv21qY+imTw23DCiQMWDDC2IZ2Ogi1TCE/dvo0jvrc9xCyOHiQX759hllvfdO5UvrkwMnn Gd6zNBCnPt+paBvkpqnx2/cmraFXOjUzxEWjbaWEwmfw9uNhFBrpD+gv8g6cqnTJpXYXiG Yc7K5Zuuug6Y/Yd4AYgYMIkRaMPsXM4w6PV2hZrCXnqQycLVk3C9QoEFJ6XHzByPu/jKyp HGOloyyrPmlKyEFR5kKTbjyh3oOLD1nSfzJCUcnhzJ0BjPEiOfhC4Z1ftwlRQsvLhBpZ9O 91Mw0/p9eDye42EAgTx809xipGjy0i5P+YaTqj9V4TVL2bBbet+TwipV0BZGsQ== From: Alexander Dahl To: ptxdist@pengutronix.de Date: Wed, 24 Apr 2024 16:31:09 +0200 Message-Id: <20240424143109.277373-5-ada@thorsis.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240424143109.277373-1-ada@thorsis.com> References: <20240424143109.277373-1-ada@thorsis.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Last-TLS-Session-Version: TLSv1.3 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-2.9 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Subject: [ptxdist] [PATCH 4/4] ptxd_make_world_inject: Introduce separate destination directory X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: Michael Riesch Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false Setting the optional _INJECT_DEST now allows to give a different target for putting the binary blobs into. When building out-of-tree some bootloaders like U-Boot expect injected files in the build dir, not in the source dir. Backwards compatibility is ensured, the source dir is still the default, the new inject dest is optional and in case set it overwrites the default. For using this in u-boot package, on top of the things already done to use the inject mechanism in general, add this line to 'rules/u-boot.make' for example: U_BOOT_INJECT_DEST := $(U_BOOT_BUILD_DIR) Signed-off-by: Alexander Dahl --- rules/post/ptxd_make_world_inject.make | 3 ++- scripts/lib/ptxd_make_world_inject.sh | 22 ++++++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/rules/post/ptxd_make_world_inject.make b/rules/post/ptxd_make_world_inject.make index eabcdd052..509d480ba 100644 --- a/rules/post/ptxd_make_world_inject.make +++ b/rules/post/ptxd_make_world_inject.make @@ -9,7 +9,8 @@ world/inject/env = \ $(call world/env, $(1)) \ pkg_inject_path="$(call ptx/escape,$($(1)_INJECT_PATH))" \ - pkg_inject_files="$(call ptx/escape,$($(1)_INJECT_FILES))" + pkg_inject_files="$(call ptx/escape,$($(1)_INJECT_FILES))" \ + pkg_inject_dest="$(call ptx/escape,$($(1)_INJECT_DEST))" world/inject = \ $(call world/inject/env,$(strip $(1))) \ diff --git a/scripts/lib/ptxd_make_world_inject.sh b/scripts/lib/ptxd_make_world_inject.sh index b74e464c6..90bd8b684 100644 --- a/scripts/lib/ptxd_make_world_inject.sh +++ b/scripts/lib/ptxd_make_world_inject.sh @@ -7,10 +7,15 @@ # ptxd_make_inject() { - local source target + local dest source target + + dest="${pkg_dir}" + if [ -n "${pkg_inject_dest}" ]; then + dest="${pkg_inject_dest}" + fi source="$(echo ${inject_file} | cut -d ":" -f 1)" - target="${pkg_dir}/$(echo ${inject_file} | cut -d ":" -f 2)" + target="${dest}/$(echo ${inject_file} | cut -d ":" -f 2)" if [[ "${source}" =~ ^/.* ]]; then ptxd_bailout "'${source}' must not be an absolute path!" \ @@ -32,8 +37,17 @@ export -f ptxd_make_inject ptxd_make_world_inject() { ptxd_make_world_init || return - if [ -z "${pkg_dir}" ]; then - ptxd_bailout "_DIR empty, no destination to inject to." + if [ -z "${pkg_inject_dest}" ] && [ -z "${pkg_dir}" ]; then + ptxd_bailout "No destination to inject to." \ + "Set either _DIR or _INJECT_DEST to have a valid destination!" + fi + + if [ -n "${pkg_inject_dest}" ]; then + if [ "${pkg_build_dir}" = "${pkg_inject_dest}" ] && [ "${pkg_build_oot}" = "YES" ]; then + ptxd_warning "_INJECT_DEST is set to _BUILD_DIR and _BUILD_OOT is set to 'YES'." \ + "If you called world/inject before world/prepare your files will be removed after injecting." + fi + mkdir -p -- "${pkg_inject_dest}" fi for inject_file in ${pkg_inject_files}; do -- 2.39.2