Yocto has specific versions of dependencies that must be present on the host system. These are available from the either a web download or built from the poky repository. Right now it seems this isn't required, as proper versions seem to be installed through the base distribution package registries. However, to be as pedantic as possible, these build tools should be used.
The web download is the easiest. It can be done with the following snippets...
# [Build tools](https://docs.yoctoproject.org/ref-manual/system-requirements.html#downloading-a-pre-built-buildtools-tarball)
# NOTE Cannot use {.sh,.sh.sha256sum} syntax with wget as dockerfile does some weird encoding
RUN wget https://downloads.yoctoproject.org/releases/yocto/yocto-${YOCTO_VERSION}/buildtools/x86_64-buildtools-nativesdk-standalone-${YOCTO_VERSION}.sh \
&& wget https://downloads.yoctoproject.org/releases/yocto/yocto-${YOCTO_VERSION}/buildtools/x86_64-buildtools-nativesdk-standalone-${YOCTO_VERSION}.sh.sha256sum \
&& sha256sum -c *.sha256sum \
&& bash x86_64-buildtools-nativesdk-standalone-${YOCTO_VERSION}.sh -y \
&& rm x86_64-buildtools-nativesdk-standalone-${YOCTO_VERSION}.*
There are some issues with the web download though...
Older web archives don't support the aarch64 tool set (for example, Zeus)
Older web archives have build host contaminated artifacts (for example, see the md5sum of the Zeus archive)
... therefore, we should build it by source.
The following dockerfile snippet will create the buildtools from source.
There were some issues initially getting this working...
These images could not be built in Github Codespaces, which leads me to believe they may fail when running Github Actions. Github Actions to build and maintain a package registry is higher priority than this issue, which doesn't have a true use-case (yet).
I couldn't figure out how to install by wild-carding the instruction set in a RUN command. Though this is probably a familiarity with Docker issue.
Yocto has specific versions of dependencies that must be present on the host system. These are available from the either a web download or built from the poky repository. Right now it seems this isn't required, as proper versions seem to be installed through the base distribution package registries. However, to be as pedantic as possible, these build tools should be used.
The web download is the easiest. It can be done with the following snippets...
There are some issues with the web download though...
... therefore, we should build it by source.
The following dockerfile snippet will create the buildtools from source.
... it then can be loaded into an image for install later...
There were some issues initially getting this working...
RUN
command. Though this is probably a familiarity with Docker issue.