/etc/init.csv and /etc/devices.csv become /system/configuration/*.csv (the repo's etc/ moves to system/configuration/, mirroring the runtime tree), /var/log becomes /system/logs, and /mnt/usb becomes /volumes/usb. The kernel VFS gains a carve-out so FAT may serve exactly /system/configuration and /system/logs beneath the initrd-backed /system while /system and /test themselves stay unshadowable; FAT's single /var mount splits into those two rewritten mounts. The kvfs readdir check learns /system's third child and the ramdisk spawn sweep skips the configuration tree. Suite 106/106.
21 lines
780 B
Zig
21 lines
780 B
Zig
//! The "csv" library domain: shared CSV helpers (comment stripping, field
|
|
//! iteration) for the /system/configuration/*.csv config files — the device registry and the
|
|
//! init service list both parse them.
|
|
|
|
const std = @import("std");
|
|
|
|
pub fn build(b: *std.Build) void {
|
|
_ = b.addModule("csv", .{ .root_source_file = b.path("csv.zig") });
|
|
|
|
// Standalone `zig build test` for this domain alone; the root build keeps
|
|
// its aggregate test step.
|
|
const test_step = b.step("test", "Run the csv unit tests");
|
|
const csv_tests = b.addTest(.{
|
|
.root_module = b.createModule(.{
|
|
.root_source_file = b.path("csv.zig"),
|
|
.target = b.resolveTargetQuery(.{}),
|
|
}),
|
|
});
|
|
test_step.dependOn(&b.addRunArtifact(csv_tests).step);
|
|
}
|