Qcom yocto update base lock
Skill qualcomm-linux/qcom-linux-skills/skills/qcom-yocto-update-base-lock
Refresh the upstream layer commit pins in meta-qcom's ci/base.lock.yml to the latest commit on each layer's branch and produce a changelog-style commit (one "Relevant changes for <layer>:" section per bumped layer), like commit ddbe6a6a "ci: base.lock: update layers to latest". Use when asked to "update base.lock to latest", "bump the layer hashes/revisions", "update the layers to latest", or "refresh ci/base.lock.yml" in the meta-qcom repo. git-only (no kas); touches only repos already pinned in the lock; commits on a branch and stops before push.From its SKILL.md
npx -y skills add qualcomm-linux/qcom-linux-skills --skill qcom-yocto-update-base-lockAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.7 KB, as published. Nobody here has run it
Update ci/base.lock.yml layer pins to latest
What this does
ci/base.lock.yml pins every external layer meta-qcom depends on to an exact
upstream commit. This skill bumps those pins to the latest commit on each
layer's branch and writes a changelog-style commit, reproducing the format of
commit ddbe6a6a (ci: base.lock: update layers to latest).
The helper script lives in this skill's directory; the commands below write
<skill-dir> for it (e.g. ~/.claude/skills/qcom-yocto-update-base-lock when installed
via install.sh).
Ground rules (do not violate)
- git-only. Do not use
kas. Every repo is known from the lock; resolving withgitis faster and avoidskas dump --lockre-deriving the repo set. - Only touch existing lock entries. The lock set is hand-curated:
meta-qcom-distrois intentionally left floating (not pinned) andmeta-dpdk(defined only inci/dpdk.yml) is intentionally pinned. Never add or remove a repo - only updatecommit:values of repos already in the lock. - Commit, then stop. Create a branch and commit; do not push or open a PR.
Procedure
Run everything from the meta-qcom repo root.
1. Sanity check the starting state
git status --short # expect a clean tree
git rev-parse --abbrev-ref HEAD
If the tree is dirty, ask the user before continuing.
2. Dry run - resolve latest and preview the message
bash <skill-dir>/scripts/bump-base-lock.sh --dry-run
This fetches each pinned layer's branch into a reusable bare-clone cache
(~/.cache/meta-qcom-base-lock/), prints old -> new per layer with a commit
count, and prints the proposed commit message. It writes nothing to the
lock. Review the output:
- The changed layers and their commit counts look plausible.
- Each section's first line equals the new pin (newest commit first).
- Any
WARN:line (e.g. a layer whose old pin was not found upstream because of a force-push) - if present, expect to fix that layer's changelog by hand.
If no layer changed, the script says so and there is nothing to do - report that and stop.
3. Apply the update
bash <skill-dir>/scripts/bump-base-lock.sh
This rewrites ci/base.lock.yml in place (swapping old SHAs for new) and writes
the commit message to ~/.cache/meta-qcom-base-lock/commit-message.txt.
4. Review
git --no-pager diff ci/base.lock.yml
cat ~/.cache/meta-qcom-base-lock/commit-message.txt
Confirm only commit: lines changed (no repos added/removed) and the message
matches the model format: title ci: base.lock: update layers to latest, one
Relevant changes for <layer>: block per changed layer (in lock order, each
line - <short-hash> <subject>), then a Signed-off-by: trailer. Tidy any
omitted/odd changelog by hand if a WARN appeared.
5. Branch + commit (stop before push)
git switch -c "bump-base-lock-$(date +%Y%m%d)"
git add ci/base.lock.yml
git commit -F ~/.cache/meta-qcom-base-lock/commit-message.txt
If an AI agent is driving this skill, append an
Assisted-by: AGENT_NAME:MODEL_VERSION trailer to the message before
committing, per meta-qcom's CONTRIBUTING.md.
Then stop. Report the branch name and the per-layer summary, and remind the user to push and open the PR themselves (do not push).
Notes
- URL and branch for each layer are read from
ci/*.yml(base.yml,qcom-distro.yml,meta-arm.yml,dpdk.yml; default branchmaster, withmeta-ai/meta-qcom-distroonmain). The script derives these dynamically, so new layers or branch changes are picked up automatically as long as the repo is present in the lock. - The bare-clone cache persists between runs, so repeat runs are fast (the first run clones all layers and may take a few minutes).
warning: filtering not recognized by server, ignoringis benign: some servers (e.g.git.yoctoproject.org) don't support partial clone, so those layers full-clone instead. It is not an error.Signed-off-by:is taken fromgit config user.name/user.emailin the repo. Verify it is the identity you want before committing.