system: validate development environment overlay
This commit is contained in:
@@ -34,6 +34,10 @@ Fruix currently has:
|
||||
- `fruix system status`
|
||||
- `fruix system switch`
|
||||
- `fruix system rollback`
|
||||
- a validated separate in-system development environment overlay via:
|
||||
- `/run/current-system/development-profile`
|
||||
- `/run/current-development`
|
||||
- `/usr/local/bin/fruix-development-environment`
|
||||
|
||||
Validated boot modes still are:
|
||||
|
||||
@@ -46,44 +50,37 @@ The validated Phase 18 installation work currently uses:
|
||||
|
||||
## Latest completed achievement
|
||||
|
||||
### 2026-04-04 — Phase 19.3 completed
|
||||
### 2026-04-05 — Phase 20.1 completed
|
||||
|
||||
Fruix now has a validated installed-system operator workflow for switching to a staged candidate generation and rolling back to the recorded previous generation.
|
||||
Fruix now has a validated real-VM path where a booted Fruix-managed FreeBSD system exposes a separate development environment for native base work without collapsing the runtime/development split.
|
||||
|
||||
Highlights:
|
||||
|
||||
- installed systems now ship an in-guest Fruix deployment helper at:
|
||||
- `/usr/local/bin/fruix`
|
||||
- validated in-guest command surface:
|
||||
- `fruix system status`
|
||||
- `fruix system switch /frx/store/...-fruix-system-...`
|
||||
- `fruix system rollback`
|
||||
- switching now records explicit rollback state under:
|
||||
- `/var/lib/fruix/system/rollback`
|
||||
- `/var/lib/fruix/system/rollback-generation`
|
||||
- switching now records explicit rollback GC roots under:
|
||||
- `/frx/var/fruix/gcroots/rollback-system`
|
||||
- the validated installed-system workflow now supports:
|
||||
- stage candidate closure in `/frx/store`
|
||||
- switch to generation 2
|
||||
- reboot into the candidate
|
||||
- rollback to generation 1
|
||||
- reboot into the restored current system
|
||||
- operating-system declarations now support:
|
||||
- `#:development-packages`
|
||||
- system closures can now carry a separate development profile at:
|
||||
- `/run/current-system/development-profile`
|
||||
- `/run/current-development`
|
||||
- opt-in systems now ship an in-guest helper at:
|
||||
- `/usr/local/bin/fruix-development-environment`
|
||||
- the validated Phase 20.1 guest path exposes:
|
||||
- native headers
|
||||
- `usr/share/mk` for `bsd.*.mk`
|
||||
- Clang toolchain commands such as `cc`, `c++`, `ar`, `ranlib`, and `nm`
|
||||
- the validated guest workflow now supports:
|
||||
- `eval "$(/usr/local/bin/fruix-development-environment)"`
|
||||
- direct compilation with the Fruix-provided toolchain
|
||||
- a simple `bsd.prog.mk` build on the running Fruix guest
|
||||
|
||||
Validation:
|
||||
|
||||
- `PASS phase19-installed-system-rollback-qemu`
|
||||
- regression re-checks:
|
||||
- `PASS phase19-generation-layout-qemu`
|
||||
- `PASS phase18-installer-iso`
|
||||
- `PASS phase20-development-environment-xcpng`
|
||||
|
||||
Reports:
|
||||
|
||||
- `docs/system-deployment-workflow.md`
|
||||
- `docs/GUIX_DIFFERENCES.md`
|
||||
- `docs/reports/phase19-deployment-workflow-freebsd.md`
|
||||
- `docs/reports/phase19-generation-layout-freebsd.md`
|
||||
- `docs/reports/phase19-installed-system-rollback-freebsd.md`
|
||||
- `docs/reports/phase20-development-environment-freebsd.md`
|
||||
|
||||
## Recent major milestones
|
||||
|
||||
@@ -109,6 +106,6 @@ Reports:
|
||||
|
||||
Per `docs/PLAN_4.md`, the next planned step is:
|
||||
|
||||
- **Phase 20.1** — validate a Fruix-managed development environment for native FreeBSD base work
|
||||
- **Phase 20.2** — run host-initiated native base builds inside a Fruix-managed environment
|
||||
|
||||
Phase 19.3 is now complete: Fruix validates installed-system generation switching and rollback through the intended operator-facing workflow.
|
||||
Phase 20.1 is now complete: Fruix validates a separate in-system development environment for native FreeBSD base work on the approved real XCP-ng path.
|
||||
|
||||
Reference in New Issue
Block a user