quine-linux/installer/anaconda-webui/PROVENANCE.md
Philip Peterson 255042fe8d Vendor anaconda-webui and build it into the installer image
Replaces installing a patched anaconda-webui RPM from the forge's package
registry: installer/anaconda-webui/vendor/ is upstream release 86 verbatim
(see its PROVENANCE.md), and installer/Containerfile builds it with
upstream's own `make install` in a native-platform stage, then copies the
result over stock Fedora anaconda-webui. The produced file set matches
Fedora's anaconda-webui-86-1.fc46 exactly. Edits to the installer UI now
happen in vendor/ and ship on the next `task build-installer-iso`, with no
RPM, registry or CI in between.

Also follows bootc-image-builder's rename of --bootc-installer-payload-ref
to --installer-payload-ref.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 05:56:26 -08:00

2 KiB

Provenance: vendored anaconda-webui source

Origin

  • Upstream project: rhinstaller/anaconda-webui (Anaconda's Cockpit/React web UI, shipped in Fedora as the anaconda-webui package).
  • Pinned release: tag 86, commit cd472cd02dec354bb9df463b8724b16bad27202f ("Show "Installation completed" instead of "Initializing..." after reboot").
  • Date vendored: 2026-09-27.
  • vendor/ is git archive 86 verbatim. Local changes are made directly in vendor/ and show up in this repo's history against that baseline.

Submodules not vendored

Upstream has two git submodules, which git archive leaves out:

  • node_modules -> rhinstaller/node-cache, gitlink 99a26de1065b0c39bad3d11197a37e1a8b0edb99. This is the npm package cache the build needs; upstream's tools/node-modules fetches it by that sha at build time. The sha is recorded as NODE_MODULES_REF in installer/Containerfile, which recreates the gitlink before building.
  • test/reference (pixel-test screenshots): not needed to build.

The build also fetches cockpit's shared pkg/lib at the commit pinned in vendor/Makefile (COCKPIT_REPO_COMMIT). So building needs network access to GitHub; it is not offline-capable.

How it's built and used

installer/Containerfile's anaconda-webui stage runs upstream's own make install (what the Fedora RPM's %install runs) and the final stage copies the result over stock Fedora anaconda-webui, which is still installed for its dependencies. Verified at vendoring time: the produced file set matches Fedora's anaconda-webui-86-1.fc46 file list exactly.

Updating to a new upstream release

  1. Replace vendor/ with git archive <new tag> of upstream, then re-apply local changes (diff vendor/ against the old baseline first to see them).
  2. Update ANACONDA_WEBUI_VERSION and NODE_MODULES_REF in installer/Containerfile (git ls-tree <new tag> node_modules).
  3. Update the tag, commit and date above.