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>
44 lines
2 KiB
Markdown
44 lines
2 KiB
Markdown
# Provenance: vendored `anaconda-webui` source
|
|
|
|
## Origin
|
|
|
|
- Upstream project: [`rhinstaller/anaconda-webui`](https://github.com/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`](https://github.com/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.
|