- coreos: everything specific to Fedora CoreOS (virtiofs discovery and
mount, qemu-guest-agent, SSH host key persistence, DNS configuration).
- base: everything else (install-tools, fastfetch, resolv.conf resync,
base images, users and groups).
common.mk now injects both as implicit dependencies: coreos has none,
base depends on coreos and every other project depends on coreos and base.
default-butane-spec.sh skips ignition files whose content duplicates a
previous one: butane rejects duplicate merge entries, which happens with
empty "-examples" ignition files (e.g. coreos-examples and nftables-examples).
The virtiofs tags are now discovered in /run/quadlets/coreos/virtiofs
(seedbox mounts updated accordingly) and the tmpfiles.d file is named
coreos.conf so that make install/uninstall picks it up.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The /dev/vdb -> /var partitioning in cookbooks/base/overlay.bu was merged
into every project's main spec, so it ended up in the production/test
ignition even though the second disk (var.qcow2) only exists in the libvirt
dev/test VM. A real host should not have `base` blindly repartition /dev/vdb.
Move it to local.bu / local.bu.template, which feeds local.ign and is merged
into both fcos-dev.ign and fcos-test.ign but is never part of the shipped
package. This restores partitioning for all VMs while keeping it out of
production.
Also add the overlay-examples.bu merge mechanism to scripts/common.mk (mirror
of the existing overlay.bu merge) for future per-project example overlays, and
whitelist overlay-examples.bu in .gitignore.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
`make fcos-vm` builds build/fcos-dev.ign but never merged the current
project's own *-examples.ign, even though it was listed as a prerequisite
and staged into butane's -d dir. The generated .bu only referenced what
was passed to default-butane-spec.sh, and -examples was appended to the
dependencies but never to $(PROJECT_NAME). Units gated on config that
ships only as an example (e.g. ConditionPathExists) therefore stayed
inactive on a fresh dev VM.
Introduce a SELF variable so the dev spec includes the project's own
examples while the test spec is left unchanged. base is filtered out of
DEPS for its own build, so base-examples is not duplicated.
Fixes#4
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>