From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Sun, 30 Jan 2022 16:51:59 +0100 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1nECUh-000pHT-TB for lore@lore.pengutronix.de; Sun, 30 Jan 2022 16:51:59 +0100 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1nECUh-0000lS-8W; Sun, 30 Jan 2022 16:51:59 +0100 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nECSc-0006Tp-3x; Sun, 30 Jan 2022 16:49:50 +0100 Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1nECSc-00DSC9-33; Sun, 30 Jan 2022 16:49:49 +0100 Received: from mol by dude03.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1nECSa-0002Su-CY; Sun, 30 Jan 2022 16:49:48 +0100 From: Michael Olbrich To: ptxdist@pengutronix.de Date: Sun, 30 Jan 2022 16:49:48 +0100 Message-Id: <20220130154948.9433-1-m.olbrich@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220129070330.2601433-4-michael.riesch@wolfvision.net> References: <20220129070330.2601433-4-michael.riesch@wolfvision.net> MIME-Version: 1.0 Subject: Re: [ptxdist] [APPLIED] scripts: add helper to inject files into a source 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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.ext.pengutronix.de); SAEximRunCond expanded to false Thanks, applied as 3ca92677df5bbde0fb01c396acb0ffc64f26fc2b. Michael [sent from post-receive hook] On Sun, 30 Jan 2022 16:49:48 +0100, Michael Riesch wrote: > Some packages may require certain files that are maintained > or generated outside of their source repository. For example, > binary firmware blobs could be excluded from the sources due > to licensing issues. Add a helper that allows to inject certain > files into the source directory (usually in the prepare stage). > > Signed-off-by: Michael Riesch > Message-Id: <20220129070330.2601433-4-michael.riesch@wolfvision.net> > Signed-off-by: Michael Olbrich > > diff --git a/rules/post/ptxd_make_world_inject.make b/rules/post/ptxd_make_world_inject.make > new file mode 100644 > index 000000000000..b7d28e92f25b > --- /dev/null > +++ b/rules/post/ptxd_make_world_inject.make > @@ -0,0 +1,19 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2021 by Michael Riesch > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +world/inject/env = \ > + $(call world/env, $(1)) \ > + pkg_inject_path="$($(1)_INJECT_PATH)" \ > + pkg_inject_files="$($(1)_INJECT_FILES)" \ > + pkg_source="$($(1)_DIR)" > + > +world/inject = \ > + $(call world/inject/env,$(strip $(1))) \ > + ptxd_make_world_inject > + > +# vim: syntax=make > diff --git a/scripts/lib/ptxd_make_world_inject.sh b/scripts/lib/ptxd_make_world_inject.sh > new file mode 100644 > index 000000000000..fe4eb8363619 > --- /dev/null > +++ b/scripts/lib/ptxd_make_world_inject.sh > @@ -0,0 +1,42 @@ > +#!/bin/bash > +# > +# Copyright (C) 2021 by Michael Riesch > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +ptxd_make_inject() { > + local source target > + > + source="$(echo ${inject_file} | cut -d ":" -f 1)" > + target="${pkg_source}/$(echo ${inject_file} | cut -d ":" -f 2)" > + if [ -z "${target}" ]; then > + target="${source}" > + fi > + > + if [[ "${source}" =~ ^/.* ]]; then > + ptxd_bailout "'${source}' must not be an absolute path!" \ > + "Use _INJECT_PATH to specify the search path." > + fi > + > + if ! ptxd_in_path pkg_inject_path "${source}"; then > + ptxd_bailout "Blob '${source}' not found in '${pkg_inject_path}'." > + fi > + source="${ptxd_reply}" > + > + echo -e "\nInject file $(ptxd_print_path ${source}) into" \ > + "$(ptxd_print_path ${target})..." > + cp ${source} ${target} > +} > +export -f ptxd_make_inject > + > + > +ptxd_make_world_inject() { > + ptxd_make_world_init || return > + > + for inject_file in ${pkg_inject_files}; do > + ptxd_make_inject || return > + done > +} > +export -f ptxd_make_world_inject _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de