From 09eca87a413314141a99c69ee3141b4108f013f1 Mon Sep 17 00:00:00 2001 From: Will Angenent Date: Sun, 2 Apr 2023 11:09:43 +0100 Subject: [PATCH] Fix missing ftruncate on MacOS --- mk/config.mk | 3 +++ mk/disk.mk | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mk/config.mk b/mk/config.mk index fdf99fb..0756ca4 100644 --- a/mk/config.mk +++ b/mk/config.mk @@ -33,6 +33,7 @@ ifeq ($(UNAME),Darwin) VB_AUDIO=coreaudio VBM=/Applications/VirtualBox.app/Contents/MacOS/VBoxManage HOST_TARGET ?= $(HOST_ARCH)-apple-darwin + ALLOC_FILE=truncate -s "$(FILESYSTEM_SIZE)m" else ifeq ($(UNAME),FreeBSD) FUMOUNT=sudo umount export NPROC=sysctl -n hw.ncpu @@ -41,6 +42,7 @@ else ifeq ($(UNAME),FreeBSD) VB_AUDIO=pulse # To check, will probaly be OSS on most setups VBM=VBoxManage HOST_TARGET ?= $(HOST_ARCH)-unknown-freebsd + ALLOC_FILE=fallocate --posix --length "$(FILESYSTEM_SIZE)MiB" else # Detect which version of the fusermount binary is available. ifneq (, $(shell which fusermount3)) @@ -54,6 +56,7 @@ else VB_AUDIO=pulse VBM=VBoxManage HOST_TARGET ?= $(HOST_ARCH)-unknown-linux-gnu + ALLOC_FILE=fallocate --posix --length "$(FILESYSTEM_SIZE)MiB" endif # Automatic variables diff --git a/mk/disk.mk b/mk/disk.mk index f00ca65..9353883 100644 --- a/mk/disk.mk +++ b/mk/disk.mk @@ -2,7 +2,7 @@ $(BUILD)/harddrive.img: $(FSTOOLS_TAG) $(REPO_TAG) mkdir -p $(BUILD) rm -rf $@ $@.partial -$(FUMOUNT) /tmp/redox_installer || true - fallocate --posix --length "$(FILESYSTEM_SIZE)MiB" $@.partial + ${ALLOC_FILE} $@.partial umask 002 && $(INSTALLER) -c $(FILESYSTEM_CONFIG) $@.partial mv $@.partial $@ @@ -10,7 +10,7 @@ $(BUILD)/livedisk.iso: $(FSTOOLS_TAG) $(REPO_TAG) mkdir -p $(BUILD) rm -rf $@ $@.partial -$(FUMOUNT) /tmp/redox_installer || true - fallocate --posix --length "$(FILESYSTEM_SIZE)MiB" $@.partial + ${ALLOC_FILE} $@.partial umask 002 && $(INSTALLER) -c $(FILESYSTEM_CONFIG) --live $@.partial mv $@.partial $@ @@ -19,7 +19,7 @@ $(BUILD)/filesystem.img: $(FSTOOLS_TAG) $(REPO_TAG) -$(FUMOUNT) $(BUILD)/filesystem/ || true rm -rf $@ $@.partial $(BUILD)/filesystem/ -$(FUMOUNT) /tmp/redox_installer || true - fallocate --posix --length "$(FILESYSTEM_SIZE)MiB" $@.partial + ${ALLOC_FILE} $@.partial redoxfs/target/release/redoxfs-mkfs $(REDOXFS_MKFS_FLAGS) $@.partial mkdir -p $(BUILD)/filesystem/ redoxfs/target/release/redoxfs $@.partial $(BUILD)/filesystem/