From 5d33eecf7b77f145cd6e4efc665d942e8a084f40 Mon Sep 17 00:00:00 2001
From: Daniel Schulte <trilader@gmail.com>
Date: Mon, 22 Sep 2014 14:54:47 +0200
Subject: [PATCH] =?UTF-8?q?Workaround=20f=C3=BCr=20Timestamp=20Problemem?=
 =?UTF-8?q?=20im=20entpackten=20initrd/rootfs?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Makefile | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile
index 9e53c0a..3fb25d1 100644
--- a/Makefile
+++ b/Makefile
@@ -31,6 +31,7 @@ SQUASHFS_SOURCE=$(CASPER_SOURCE_DIR)/filesystem.squashfs
 ROOTFS=$(WORKSPACE)/$(ARCH)/rootfs
 INITRD=$(WORKSPACE)/$(ARCH)/initrd
 INITRD_TARGET=$(WORKSPACE)/$(ARCH)/initrd.lz
+STATE_DIR=$(WORKSPACE)/$(ARCH)/state
 
 $(info Architecture: $(ARCH) ($(ALTARCH)))
 $(info Workspace: $(WORKSPACE))
@@ -38,7 +39,8 @@ $(info Workspace: $(WORKSPACE))
 workspace : $(WORKSPACE)
 
 $(WORKSPACE) :
-	mkdir -p $(WORKSPACE)
+	mkdir -p "$(WORKSPACE)"
+	mkdir -p "$(STATE_DIR)"
 
 iso_download $(ISO_IMAGE) : | $(WORKSPACE)
 	mkdir -p "$(ISO_IMAGE_DEST)"
@@ -49,38 +51,46 @@ iso_download $(ISO_IMAGE) : | $(WORKSPACE)
 	cd "$(ISO_IMAGE_DEST)" && sha256sum -c SHA256SUMS
 	mv "$(ISO_IMAGE_DEST)/$(ISO_NAME)" "$(ISO_IMAGE)"
 
-iso_content $(INITRD_SOURCE) $(SQUASHFS_SOURCE) : $(ISO_IMAGE)
+iso_content $(STATE_DIR)/iso_exctracted : $(ISO_IMAGE)
 	mkdir -p "$(ISO_CONTENT)"
 	7z x -o"$(ISO_CONTENT)" -aos "$(ISO_IMAGE)"
+	touch "$(STATE_DIR)/iso_exctracted"
 
 iso_clean :
 	$(RM) "$(ISO_IMAGE)"
 	$(RM) -r "$(ISO_IMAGE_DEST)"
+	$(RM) "$(STATE_DIR)/iso_exctracted"
 
 #TODO: generic unsquash/squash with magic make variables ($@ etc.)
-rootfs_unsquash $(ROOTFS) : | $(SQUASHFS_SOURCE)
+rootfs_unsquash $(ROOTFS) : $(STATE_DIR)/iso_exctracted
 	$(RM) -r "$(ROOTFS)"
 	unsquashfs -f -d "$(ROOTFS)" "$(SQUASHFS_SOURCE)"
+	touch "$(STATE_DIR)/rootfs_extracted"
 
-rootfs_prepare : $(ROOTFS)
+rootfs_prepare : $(ROOTFS) : $(STATE_DIR)/rootfs_extracted
 	mkdir -p "$(ROOTFS)/remaster"
 	cp -Lr "$(CURDIR)"/config/copy_to_rootfs_remaster_dir/* "$(ROOTFS)/remaster"
 
 rootfs_clean :
 	$(RM) -r "$(ROOTFS)"
+	$(RM) "$(STATE_DIR)/rootfs_extracted"
 
-initrd_unpack : | $(INITRD_SOURCE)
+initrd_unpack $(STATE_DIR)/initrd_extracted : $(STATE_DIR)/iso_exctracted
 	mkdir -p "$(INITRD)"
 	cd "$(INITRD)" && lzma -d < "$(INITRD_SOURCE)" | cpio -i
+	touch "$(STATE_DIR)/initrd_extracted"
 
 initrd_clean :
 	$(RM) -r "$(INITRD)"
 	$(RM) "$(INITRD_TARGET)"
+	$(RM) "$(STATE_DIR)/initrd_extracted"
+	$(RM) "$(STATE_DIR)/initrd_remastered"
 
-initrd_remaster :
+initrd_remaster $(STATE_DIR)/initrd_remastered : $(STATE_DIR)/initrd_extracted
 	$(CURDIR)/scripts/remaster_initrd.sh "$(CURDIR)" "$(INITRD)"
+	touch "$(STATE_DIR)/initrd_remastered"
 
-initrd_pack :
+initrd_pack $(INITRD_TARGET) : $(STATE_DIR)/initrd_remastered
 	cd "$(INITRD)" && find | cpio -H newc -o | lzma -z > "$(INITRD_TARGET)"
 
 config $(CONFIG_FILE) :
-- 
GitLab