On Fri, Apr 19, 2024 at 11:48:51AM +0200, Alexander Dahl wrote:
> sorry for digging up this old discussion, but I kind of want to use this 
> approach and … see below.
> 
> Am Samstag, 29. Januar 2022, 08:03:28 CEST schrieb Michael Riesch:
> > 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).
> 
> Currently trying to build recent U-Boot for i.MX8 and i.MX9 based boards 
> which 
> require additional firmware.  However I still want to build OOT to keep my 
> source tree clean, especially when building with an external tree (after 
> `ptxdist local-src u-boot $HOME/src/u-boot`).
> 
> Now U-Boot needs those binaries in the build tree, it does not work using 
> this 
> nice inject mechanism putting it in the source tree.
> 
> > 
> > Signed-off-by: Michael Riesch <[email protected]>
> > ---
> > 
> > Notes:
> >     v6:
> >     - replaced 'break' with 'return'
> > 
> >  rules/post/ptxd_make_world_inject.make | 19 ++++++++++++
> >  scripts/lib/ptxd_make_world_inject.sh  | 42 ++++++++++++++++++++++++++
> >  2 files changed, 61 insertions(+)
> >  create mode 100644 rules/post/ptxd_make_world_inject.make
> >  create mode 100644 scripts/lib/ptxd_make_world_inject.sh
> > 
> > diff --git a/rules/post/ptxd_make_world_inject.make
> > b/rules/post/ptxd_make_world_inject.make new file mode 100644
> > index 000000000..b7d28e92f
> > --- /dev/null
> > +++ b/rules/post/ptxd_make_world_inject.make
> > @@ -0,0 +1,19 @@
> > +# -*-makefile-*-
> > +#
> > +# Copyright (C) 2021 by Michael Riesch <[email protected]>
> > +#
> > +# 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)"
> 
> Here <PKG>_DIR is assigned to pkg_source which makes the source dir the 
> target 
> folder.
> 
> Did anyone already think of how to extend this approach to be more flexible 
> for the target folder?  Maybe even without damaging existing use cases?
> 
> Maybe adding a new optional variable <PKG>_INJECT_DEST which defaults to 
> <PKG>_DIR and can be overridden?

Makes sense to me. I would have named it <PKG>_INJECT_DIR but either is
fine with me. And if it's empty, set it to pkg_dir in
ptxd_make_world_inject()

Regards,
Michael

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

Reply via email to