Removing a Package#
Load when removing a software package from the Dakota image in projectbluefin/dakota.
When NOT to Use#
- Adding a package →
add-package.md - Only updating a version →
update-refs.md - Debugging a broken element →
debugging.md
Quick Start#
There is no just remove-package recipe. Remove packages manually using the checklist below.
Historical path note: packages still live under elements/bluefin/ because
of repo history. Treat that as a path name only — removing software from Dakota
means editing BST elements and dependency stacks, not Containerfile or RPM
metadata.
What to Remove#
| Item | Location |
|---|---|
| Element file | elements/bluefin/<name>.bst (or elements/bluefin/shell-extensions/<name>.bst) |
| Dependency entry | elements/bluefin/deps.bst (or elements/bluefin/gnome-shell-extensions.bst) |
| Static files | files/<name>/ — delete entire directory if package-specific |
| Patches | patches/<name>/ — delete entire directory if package-specific |
| Alias | include/aliases.yml — remove if the URL alias is no longer used by any other element |
| Tracking entry | .github/workflows/track-bst-sources.yml — remove from tracking matrix |
| Renovate entry | .github/renovate.json5 — remove if tracked there |
| Justfile recipes | Remove or update any recipes referencing the package |
Checklist#
# 1. Remove the element file
rm elements/bluefin/<name>.bst # or shell-extensions/<name>.bst
# 2. Remove from dependency stack
# Edit elements/bluefin/deps.bst or gnome-shell-extensions.bst
# 3. Check for dangling references
grep -r "<name>" elements/ .github/workflows/ files/ patches/ Justfile include/
# 4. Remove any remaining files (static assets, patches, aliases)
# See table below
# 5. Validate dependency graph
just validate
# 6. Build image to confirm clean
just build
Lessons Learned#
Grep all four locations before removing — elements/, workflows/, files/, Justfile (2026-06-07)#
A package can be referenced in up to four separate places beyond the element file itself:
elements/bluefin/deps.bst(or gnome-shell-extensions.bst) — dependency stack entry.github/workflows/track-bst-sources.yml— tracking matrix entry.github/renovate.json5— Renovate config entry (if tracked there)files/<name>/— static assets directory
Missing any of these causes a dangling reference. Always run:
grep -r "<name>" elements/ .github/workflows/ files/ patches/ Justfile include/
before opening the PR.
just validate may pass even with a dangling dep entry (2026-06-07)#
If you remove the element file but forget to remove it from deps.bst, just validate
exits successfully (BST resolves deps lazily from the graph — missing elements are only
caught at the bst show --deps all level). Always run just bst show oci/bluefin.bst
(not just just validate) to catch missing element references before committing.