2e764746e7
5-phase hardening to prevent silent file-layer collisions (the D-Bus regression class): Phase 1: lint-config-paths.sh + make lint-config in depends.mk Phase 2: CollisionTracker in installer (content-hash comparison) Phase 3: installs manifests in recipe.toml + validate-file-ownership.sh Phase 4: validate-init-services.sh + make validate in disk.mk Phase 5: documentation (AGENTS.md, BUILD-SYSTEM-HARDENING-PLAN.md) Both redbear-mini and redbear-full build and validate clean. 66 declared install paths in base, zero conflicts.
34 lines
934 B
Makefile
34 lines
934 B
Makefile
# Configuration file for the build system dependencies
|
|
|
|
# Don't check for dependencies if you will be using Podman
|
|
ifneq ($(PODMAN_BUILD),1)
|
|
# Don't check for dependencies if you will be using Hosted Red Bear OS
|
|
ifneq ($(HOSTED_REDOX),1)
|
|
|
|
# don't check for Rust and Cargo if building on a Nix system
|
|
ifneq ($(NIX_SHELL_BUILD),1)
|
|
ifeq ($(shell which rustup),)
|
|
$(error rustup not found, install from "https://rustup.rs/")
|
|
endif
|
|
endif
|
|
|
|
# don't check for compile tools, used internally when installing fstools on host
|
|
ifneq ($(SKIP_CHECK_TOOLS),1)
|
|
ifeq ($(shell which cbindgen),)
|
|
$(error cbindgen not found, install from crates.io or from your package manager)
|
|
endif
|
|
ifeq ($(shell which nasm),)
|
|
$(error nasm not found, install from your package manager)
|
|
endif
|
|
ifeq ($(shell which just),)
|
|
$(error 'just' not found, install from crates.io or from your package manager)
|
|
endif
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
lint-config:
|
|
@scripts/lint-config-paths.sh
|