From f4fe37478f8fd780a7230caa83dd93fcbe7113bc Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 23 Apr 2025 09:33:25 -0600 Subject: [PATCH] Minor cleanup of fstools --- cookbook | 2 +- mk/config.mk | 5 +++-- mk/disk.mk | 14 +++++++------- mk/fstools.mk | 15 +++++---------- 4 files changed, 16 insertions(+), 20 deletions(-) diff --git a/cookbook b/cookbook index b9b8293a..05908c7e 160000 --- a/cookbook +++ b/cookbook @@ -1 +1 @@ -Subproject commit b9b8293a96b21bafcfff8c655cc3fc9258cfddaa +Subproject commit 05908c7e15723a971bcf4323685ca4aaddded6a1 diff --git a/mk/config.mk b/mk/config.mk index 2cc78b6a..b677b793 100644 --- a/mk/config.mk +++ b/mk/config.mk @@ -84,9 +84,10 @@ else export GNU_TARGET=$(TARGET) endif BUILD=build/$(ARCH)/$(CONFIG_NAME) -INSTALLER=installer/target/release/redox_installer +FSTOOLS_PATH=build/fstools/bin +INSTALLER=$(FSTOOLS_PATH)/redox_installer INSTALLER_OPTS= -LIST_PACKAGES=installer/target/release/list_packages +LIST_PACKAGES=$(FSTOOLS_PATH)/list_packages LIST_PACKAGES_OPTS= ifeq ($(REPO_BINARY),0) INSTALLER_OPTS+=--cookbook=cookbook diff --git a/mk/disk.mk b/mk/disk.mk index 2b24da30..264f4fee 100644 --- a/mk/disk.mk +++ b/mk/disk.mk @@ -1,6 +1,6 @@ # Configuration file with the commands configuration of the Redox image -$(BUILD)/harddrive.img: $(INSTALLER) $(FSTOOLS_TAG) $(REPO_TAG) +$(BUILD)/harddrive.img: $(FSTOOLS_TAG) $(REPO_TAG) mkdir -p $(BUILD) rm -rf $@ $@.partial -$(FUMOUNT) /tmp/redox_installer || true @@ -12,7 +12,7 @@ $(BUILD)/harddrive.img: $(INSTALLER) $(FSTOOLS_TAG) $(REPO_TAG) umask 002 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) $@.partial mv $@.partial $@ -$(BUILD)/livedisk.iso: $(INSTALLER) $(FSTOOLS_TAG) $(REPO_TAG) +$(BUILD)/livedisk.iso: $(FSTOOLS_TAG) $(REPO_TAG) mkdir -p $(BUILD) rm -rf $@ $@.partial -$(FUMOUNT) /tmp/redox_installer || true @@ -24,7 +24,7 @@ $(BUILD)/livedisk.iso: $(INSTALLER) $(FSTOOLS_TAG) $(REPO_TAG) umask 002 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) --live $@.partial mv $@.partial $@ -$(BUILD)/filesystem.img: $(INSTALLER) $(FSTOOLS_TAG) $(REPO_TAG) +$(BUILD)/filesystem.img: $(FSTOOLS_TAG) $(REPO_TAG) mkdir -p $(BUILD) -$(FUMOUNT) $(BUILD)/filesystem/ || true rm -rf $@ $@.partial $(BUILD)/filesystem/ @@ -34,9 +34,9 @@ $(BUILD)/filesystem.img: $(INSTALLER) $(FSTOOLS_TAG) $(REPO_TAG) FILESYSTEM_SIZE=$(shell $(INSTALLER) --filesystem-size -c $(FILESYSTEM_CONFIG)); \ fi && \ truncate -s "$$FILESYSTEM_SIZE"m $@.partial - redoxfs/target/release/redoxfs-mkfs $(REDOXFS_MKFS_FLAGS) $@.partial + $(FSTOOLS_PATH)/redoxfs-mkfs $(REDOXFS_MKFS_FLAGS) $@.partial mkdir -p $(BUILD)/filesystem/ - redoxfs/target/release/redoxfs $@.partial $(BUILD)/filesystem/ + $(FSTOOLS_PATH)/redoxfs $@.partial $(BUILD)/filesystem/ sleep 1 pgrep redoxfs umask 002 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) $(BUILD)/filesystem/ @@ -47,13 +47,13 @@ $(BUILD)/filesystem.img: $(INSTALLER) $(FSTOOLS_TAG) $(REPO_TAG) mount: $(FSTOOLS_TAG) FORCE mkdir -p $(BUILD)/filesystem/ - redoxfs/target/release/redoxfs $(BUILD)/harddrive.img $(BUILD)/filesystem/ + $(FSTOOLS_PATH)/redoxfs $(BUILD)/harddrive.img $(BUILD)/filesystem/ sleep 2 pgrep redoxfs mount_extra: $(FSTOOLS_TAG) FORCE mkdir -p $(BUILD)/filesystem/ - redoxfs/target/release/redoxfs $(BUILD)/extra.img $(BUILD)/filesystem/ + $(FSTOOLS_PATH)/redoxfs $(BUILD)/extra.img $(BUILD)/filesystem/ sleep 2 pgrep redoxfs diff --git a/mk/fstools.mk b/mk/fstools.mk index 31f39f56..e4baa34f 100644 --- a/mk/fstools.mk +++ b/mk/fstools.mk @@ -7,29 +7,24 @@ $(FSTOOLS_TAG): cookbook installer redoxfs $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) $(PODMAN_RUN) $(MAKE) $@ else + rm -rf build/fstools + mkdir -p build/fstools $(HOST_CARGO) build --manifest-path cookbook/Cargo.toml --release - $(HOST_CARGO) build --manifest-path cookbook/docgen/Cargo.toml --release $(HOST_CARGO) build --manifest-path cookbook/pkgar/Cargo.toml --release - $(HOST_CARGO) build --bin list_packages --manifest-path installer/Cargo.toml --release - $(HOST_CARGO) build --manifest-path redoxfs/Cargo.toml --release --bin redoxfs --bin redoxfs-mkfs + $(HOST_CARGO) install --root build/fstools --path installer --bin list_packages --bin redox_installer + $(HOST_CARGO) install --root build/fstools --path redoxfs --bin redoxfs --bin redoxfs-mkfs mkdir -p build touch $@ endif -$(INSTALLER): CC = -$(INSTALLER): TARGET = $(HOST_TARGET) -$(INSTALLER): RUSTUP_TOOLCHAIN = -$(INSTALLER): installer - $(HOST_CARGO) build --bin redox_installer --manifest-path installer/Cargo.toml --release - fstools_clean: FORCE $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) $(PODMAN_RUN) $(MAKE) $@ else $(HOST_CARGO) clean --manifest-path cookbook/Cargo.toml - $(HOST_CARGO) clean --manifest-path cookbook/docgen/Cargo.toml $(HOST_CARGO) clean --manifest-path cookbook/pkgar/Cargo.toml $(HOST_CARGO) clean --manifest-path installer/Cargo.toml $(HOST_CARGO) clean --manifest-path redoxfs/Cargo.toml + rm -rf build/fstools rm -f $(FSTOOLS_TAG) endif