-
Notifications
You must be signed in to change notification settings - Fork 198
Description
During our build guide review, @ricardosalveti noted that kas users expect to run the build by cloning only one repository and not execute any additional scripts. We wanted to have a discussion on the correct way to build meta-qcom-extras.
Current Workflow:
A kas fragment is hosted in meta-qcom-extras. This file links to the local path where meta-qcom-extras is cloned and sets up the environment variables needed by the layer to compile.
# meta-qcom-extras/ci/extras.yml
header:
version: 14
repos:
meta-qcom-extras:
branch: main
path: /path/to/extras
env:
CUST_ID: '<CUST_ID>'
FWZIP_PATH: <FWZIP_PATH>During build, the meta-qcom-extras kas fragment is populated and used to figure out meta-qcom-extras repo information.
git clone https://github.com/qualcomm-linux/meta-qcom
git clone https://github.com/qualcomm-linux/meta-qcom-extras
# populate meta-qcom-extras kas fragment with FWZIP_PATH & CUST_ID
export FWZIP_PATH="/path/to/local/binaries"
export CUST_ID="<customer-id>"
meta-qcom-extras/setup_extras_config.sh
cp meta-qcom-extras/ci/extras.yml meta-qcom/ci/extras.yml
kas build meta-qcom/ci/qcs9100-ride-sx.yml:meta-qcom/ci/qcom-distro.yml:meta-qcom/ci/extras.ymlProposed Workflow:
The suggestion by @rsalveti was to host the extras.yml kas fragment in meta-qcom.
# meta-qcom/ci/extras.yml
header:
version: 14
repos:
meta-qcom-extras:
url: https://github.com/qualcomm-linux/meta-qcom-extras
branch: main
env:
CUST_ID: '<CUST_ID>'
FWZIP_PATH: <FWZIP_PATH>During builds, the meta-qcom-extras layer can now be automatically synced by kas.
git clone https://github.com/qualcomm-linux/meta-qcom
# we still need some mechanism to expose environment variables required
# by meta-qcom-extras to bitbake.
export FWZIP_PATH="/path/to/local/binaries"
export CUST_ID="<customer-id>"
meta-qcom/setup_extras_config.sh
kas build meta-qcom/ci/qcs9100-ride-sx.yml:meta-qcom/ci/qcom-distro.yml:meta-qcom/ci/extras.ymlOne concern with this approach is that meta-qcom-extras is hosted on GitHub with the development happening in private. However, it will be distributed to customers via Chipcode. So, we would need some mechanism to switch the meta-qcom-extras url for user builds.
Any other insights or suggestions on this problem would be appreciated.