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 |
