This is the configuration needed to create rpm-ostree based variants of Fedora. Each variant is described in a YAML treefile which is then used by rpm-ostree to compose an ostree commit with the package requested.
In the Fedora infrastructure, this happens via pungi with Lorax (templates).
Instructions to perform a local build of Silverblue:
# Clone the config git clone https://pagure.io/workstation-ostree-config && cd workstation-ostree-config # Prepare directories mkdir -p repo cache ostree --repo=repo init --mode=archive # Build (compose) the variant of your choice sudo rpm-ostree compose tree --repo=repo --cachedir=cache fedora-silverblue.yaml # Update summary file ostree summary --repo=repo --update
Instructions to test the resulting build:
simple-http-server --index --ip 192.168.122.1 --port 8000
# Add an ostree remote sudo ostree remote add testremote http://192.168.122.1:8000/repo --no-gpg-verify # Pin the currently deployed (and probably working) version sudo ostree admin pin 0 # List refs from variant remote sudo ostree remote refs testremote # Switch to your variant sudo rpm-ostree rebase testremote:fedora/rawhide/x86_64/silverblue # Reboot and test!
Follow those steps during the Fedora branch process in Fedora:
Make a PR similar to ansible#1318 in fedora-infra/ansible.
sed -i "s/40/41/g" *.repo *.yaml comps-sync.py mv fedora-40.repo fedora-41.repo mv fedora-40-updates.repo fedora-41-updates.repo sed -i "s/41/42/g" README.md sed -i "s/40/41/g" README.md
rm fedora-rawhide.repo sed -i "/- fedora-rawhide/d" *.yaml sed -i "/# - fedora-40/- fedora-40/" *.yaml
Building and testing instructions:
For some background, see:
Note also this repo obsoletes https://pagure.io/atomic-ws