summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-04-06 08:20:38 +0000
committerAlyssa Ross <hi@alyssa.is>2022-04-10 08:10:42 +0000
commita567476380303fe0ccb0c136ad7e9a475ef53b1a (patch)
tree4d51e1ac2e3c9090c25baba773d34b0fbb240d33
parentfdc650659fb7f43ffcb9fbca80998f1d50a190f9 (diff)
downloadspectrum-a567476380303fe0ccb0c136ad7e9a475ef53b1a.tar
spectrum-a567476380303fe0ccb0c136ad7e9a475ef53b1a.tar.gz
spectrum-a567476380303fe0ccb0c136ad7e9a475ef53b1a.tar.bz2
spectrum-a567476380303fe0ccb0c136ad7e9a475ef53b1a.tar.lz
spectrum-a567476380303fe0ccb0c136ad7e9a475ef53b1a.tar.xz
spectrum-a567476380303fe0ccb0c136ad7e9a475ef53b1a.tar.zst
spectrum-a567476380303fe0ccb0c136ad7e9a475ef53b1a.zip
Don't assume /var/empty exists in Makefiles
It apparently doesn't on Ubuntu, and this way we also don't have to
hack around it being missing in the Nix sandbox.

Reported-by: Ville Ilvonen <ville.ilvonen@unikie.com>
Message-Id: <20220406082038.4012718-1-hi@alyssa.is>
-rw-r--r--host/rootfs/Makefile9
-rw-r--r--host/rootfs/default.nix5
-rw-r--r--vm/app/catgirl/Makefile9
-rw-r--r--vm/app/catgirl/default.nix5
-rw-r--r--vm/app/lynx/Makefile9
-rw-r--r--vm/app/lynx/default.nix5
-rw-r--r--vm/sys/net/Makefile9
-rw-r--r--vm/sys/net/default.nix5
8 files changed, 24 insertions, 32 deletions
diff --git a/host/rootfs/Makefile b/host/rootfs/Makefile
index 87bc15e..d78cc4c 100644
--- a/host/rootfs/Makefile
+++ b/host/rootfs/Makefile
@@ -45,15 +45,18 @@ LINKS = bin sbin
 BUILD_FILES = build/etc/mdev/modalias.sh build/etc/s6-rc
 MOUNTPOINTS = dev ext run proc sys
 
-build/rootfs.tar: $(PACKAGES_TAR) $(FILES) $(BUILD_FILES)
+build/empty:
+	mkdir -p $@
+
+build/rootfs.tar: build/empty $(PACKAGES_TAR) $(FILES) $(BUILD_FILES)
 	cp --no-preserve=mode -f $(PACKAGES_TAR) $@
 	tar $(TARFLAGS) --append -f $@ $(FILES) $(LINKS)
 	echo $(BUILD_FILES) | cut -d/ -f2 | \
 	    tar $(TARFLAGS) --append -f $@ -C build -T -
 	for m in $(MOUNTPOINTS); do \
-	    tar $(TARFLAGS) --append -hf $@ --xform="s,.*,$$m," /var/empty ; \
+	    tar $(TARFLAGS) --append -hf $@ --xform="s,.*,$$m," build/empty ; \
 	done
-	tar $(TARFLAGS) --append -hf $@ --xform='s,.*,etc/service,' /var/empty
+	tar $(TARFLAGS) --append -hf $@ --xform='s,.*,etc/service,' build/empty
 
 build/etc/mdev/modules.map: scripts/modprobe/gen_modules.map.awk
 	mkdir -p $$(dirname $@)
diff --git a/host/rootfs/default.nix b/host/rootfs/default.nix
index cb02445..0bef7ba 100644
--- a/host/rootfs/default.nix
+++ b/host/rootfs/default.nix
@@ -94,11 +94,6 @@ stdenv.mkDerivation {
   MODULES_ORDER = "${kernel}/lib/modules/${kernel.modDirVersion}/modules.order";
   PACKAGES_TAR = packagesTar;
 
-  postPatch = ''
-    mkdir $NIX_BUILD_TOP/empty
-    substituteInPlace Makefile --replace /var/empty $NIX_BUILD_TOP/empty
-  '';
-
   installPhase = ''
     cp build/rootfs.ext4 $out
   '';
diff --git a/vm/app/catgirl/Makefile b/vm/app/catgirl/Makefile
index 5029bb4..3ee5842 100644
--- a/vm/app/catgirl/Makefile
+++ b/vm/app/catgirl/Makefile
@@ -55,15 +55,18 @@ VM_LINKS = bin etc/ssl/certs/ca-certificates.crt
 VM_BUILD_FILES = build/etc/s6-rc
 VM_MOUNTPOINTS = dev run proc sys
 
-build/rootfs.tar: $(PACKAGES_TAR) $(VM_FILES) $(VM_BUILD_FILES)
+build/empty:
+	mkdir -p $@
+
+build/rootfs.tar: build/empty $(PACKAGES_TAR) $(VM_FILES) $(VM_BUILD_FILES)
 	cp --no-preserve=mode -f $(PACKAGES_TAR) $@
 	tar $(TARFLAGS) --append -f $@ $(VM_FILES) $(VM_LINKS)
 	echo $(VM_BUILD_FILES) | cut -d/ -f2 | \
 	    tar $(TARFLAGS) --append -f $@ -C build -T -
 	for m in $(VM_MOUNTPOINTS); do \
-	    tar $(TARFLAGS) --append -hf $@ --xform="s,.*,$$m," /var/empty ; \
+	    tar $(TARFLAGS) --append -hf $@ --xform="s,.*,$$m," build/empty ; \
 	done
-	tar $(TARFLAGS) --append -hf $@ --xform='s,.*,etc/service,' /var/empty
+	tar $(TARFLAGS) --append -hf $@ --xform='s,.*,etc/service,' build/empty
 
 VM_S6_RC_FILES = \
 	etc/s6-rc/catgirl/run \
diff --git a/vm/app/catgirl/default.nix b/vm/app/catgirl/default.nix
index 230da00..bf35d04 100644
--- a/vm/app/catgirl/default.nix
+++ b/vm/app/catgirl/default.nix
@@ -74,11 +74,6 @@ stdenv.mkDerivation {
   PACKAGES_TAR = packagesTar;
   VMLINUX = "${kernel.dev}/vmlinux";
 
-  postPatch = ''
-    mkdir $NIX_BUILD_TOP/empty
-    substituteInPlace Makefile --replace /var/empty $NIX_BUILD_TOP/empty
-  '';
-
   installPhase = ''
     mv build/svc $out
   '';
diff --git a/vm/app/lynx/Makefile b/vm/app/lynx/Makefile
index f449d27..016b1f5 100644
--- a/vm/app/lynx/Makefile
+++ b/vm/app/lynx/Makefile
@@ -55,15 +55,18 @@ VM_LINKS = bin etc/ssl/certs/ca-certificates.crt
 VM_BUILD_FILES = build/etc/s6-rc
 VM_MOUNTPOINTS = dev run proc sys
 
-build/rootfs.tar: $(PACKAGES_TAR) $(VM_FILES) $(VM_BUILD_FILES)
+build/empty:
+	mkdir -p $@
+
+build/rootfs.tar: build/empty $(PACKAGES_TAR) $(VM_FILES) $(VM_BUILD_FILES)
 	cp --no-preserve=mode -f $(PACKAGES_TAR) $@
 	tar $(TARFLAGS) --append -f $@ $(VM_FILES) $(VM_LINKS)
 	echo $(VM_BUILD_FILES) | cut -d/ -f2 | \
 	    tar $(TARFLAGS) --append -f $@ -C build -T -
 	for m in $(VM_MOUNTPOINTS); do \
-	    tar $(TARFLAGS) --append -hf $@ --xform="s,.*,$$m," /var/empty ; \
+	    tar $(TARFLAGS) --append -hf $@ --xform="s,.*,$$m," build/empty ; \
 	done
-	tar $(TARFLAGS) --append -hf $@ --xform='s,.*,etc/service,' /var/empty
+	tar $(TARFLAGS) --append -hf $@ --xform='s,.*,etc/service,' build/empty
 
 VM_S6_RC_FILES = \
 	etc/s6-rc/lynx/run \
diff --git a/vm/app/lynx/default.nix b/vm/app/lynx/default.nix
index f7791d8..b188794 100644
--- a/vm/app/lynx/default.nix
+++ b/vm/app/lynx/default.nix
@@ -74,11 +74,6 @@ stdenv.mkDerivation {
   PACKAGES_TAR = packagesTar;
   VMLINUX = "${kernel.dev}/vmlinux";
 
-  postPatch = ''
-    mkdir $NIX_BUILD_TOP/empty
-    substituteInPlace Makefile --replace /var/empty $NIX_BUILD_TOP/empty
-  '';
-
   installPhase = ''
     mv build/svc $out
   '';
diff --git a/vm/sys/net/Makefile b/vm/sys/net/Makefile
index 642c815..7103c0e 100644
--- a/vm/sys/net/Makefile
+++ b/vm/sys/net/Makefile
@@ -55,15 +55,18 @@ VM_LINKS = bin var/run
 VM_BUILD_FILES = build/etc/s6-rc
 VM_MOUNTPOINTS = dev run proc sys var/lib/connman
 
-build/rootfs.tar: $(PACKAGES_TAR) $(VM_FILES) $(VM_BUILD_FILES)
+build/empty:
+	mkdir -p $@
+
+build/rootfs.tar: build/empty $(PACKAGES_TAR) $(VM_FILES) $(VM_BUILD_FILES)
 	cp --no-preserve=mode -f $(PACKAGES_TAR) $@
 	tar $(TARFLAGS) --append -f $@ $(VM_FILES) $(VM_LINKS)
 	echo $(VM_BUILD_FILES) | cut -d/ -f2 | \
 	    tar $(TARFLAGS) --append -f $@ -C build -T -
 	for m in $(VM_MOUNTPOINTS); do \
-	    tar $(TARFLAGS) --append -hf $@ --xform="s,.*,$$m," /var/empty ; \
+	    tar $(TARFLAGS) --append -hf $@ --xform="s,.*,$$m," build/empty ; \
 	done
-	tar $(TARFLAGS) --append -hf $@ --xform='s,.*,etc/service,' /var/empty
+	tar $(TARFLAGS) --append -hf $@ --xform='s,.*,etc/service,' build/empty
 
 VM_S6_RC_FILES = \
 	etc/s6-rc/connman/dependencies \
diff --git a/vm/sys/net/default.nix b/vm/sys/net/default.nix
index e3bd996..55ae9cb 100644
--- a/vm/sys/net/default.nix
+++ b/vm/sys/net/default.nix
@@ -83,11 +83,6 @@ stdenv.mkDerivation {
   PACKAGES_TAR = packagesTar;
   VMLINUX = "${kernel.dev}/vmlinux";
 
-  postPatch = ''
-    mkdir $NIX_BUILD_TOP/empty
-    substituteInPlace Makefile --replace /var/empty $NIX_BUILD_TOP/empty
-  '';
-
   installPhase = ''
     mv build/svc $out
   '';