BobBuildTool/basement

FeatureRequest: recipe override

Closed this issue · 2 comments

hey,

in the current basement, the gcc version 9 is used. this is a show-stopper for our projects.
we use CUDA for AGX embedded targets. currently cuda 10.2 is supported.
this cuda version is limited to gcc version 8.

https://gist.github.com/ax3l/9489132

the embedded targets are currently limited to ubuntu 18 lts.
so the libc version is older than the one used in basement.
that is also net the best situation.

but i also won't fork everything, just because of one recipe?!

this feature is not necessary so far :D
this one works for me:

scmOverrides:
  - match:
      url: "*gcc*9.2.0*"
    replace:
      url:
        pattern: "9.2.0"
        replacement: "8.4.0"
    set:
      digestSHA256: e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4

TBH, this is feature will most probably never be added to Bob. I absolutely despise this monkey patching approach that was taken by Bitbake to the gold standard. It leads to hard to read projects if people are careful and to absolute maintenance nightmares if people are not very careful.

If you need to patch the recipes then what's wrong with doing that? Maintain a "patch" branch internally with your patches and use it instead. Overriding recipes is nothing else except that the "patch" is not done in git but at runtime.