Following items needs to be installed on your host
- curl
- python3
- python packages (run
pip3 install --user -r dev-requirements.txt
in this directory)
- add
RUBYGEMS_AUTOGEN_TESTS = "1"
to your local.conf - generate the recipe by running
ruby-gen <path to meta-rubygems>/recipes-rubygems <gemname>
- build the recipes
bitbake ruby-<gemname> ruby-<gemname>-native
- add the new recipes to
packagegroups-rubygems/packagegroup-rubygems.bb
In case you want to generate gem recipes for a different ruby version than the one on master use
ruby-gen <path to meta-rubygems>/recipes-rubygems --rubyversion=<rubyversion> <gemname>
In case you want to generate gem recipes for a specific gem version use
ruby-gen <path to meta-rubygems>/recipes-rubygems --gemversion=<gemversion> <gemname>
- run
bitbake core-image-minimal-rubygems
- run
bitbake core-image-minimal-rubygems -c testimage
It is advised to test your changes locally using a minimal docker container
docker pull privkweihmann/yocto-sca-minimal:2004
docker run -it -v <your tmp dir>/:/opt/build/build-ruby -v <your layer dir>:/opt/build/layer privkweihmann/yocto-sca-minimal
from within the docker run
# for glibc
export TEMPLATECONF=/opt/build/layer/meta-rubygems/conf/variant/rubygems-arm64-glibc
cd /opt/build
source layer/poky/oe-init-build-env build-ruby/
bitbake core-image-minimal-rubygems -c testimage
- open a pull request on github
on opening a pull request
- your changes will be build and tested against all supported variants
- a few automated checks will be performed
all pipelines need to pass before your change can be merged