download.mk: improve download tarball reproducibility
[openwrt/openwrt.git] / include / image-legacy.mk
index 9ace98fbe57e7047a0b231251c3d7be2cc66442c..edbee4c831841db7b54722c4a5cc730e38440bf5 100644 (file)
@@ -41,10 +41,19 @@ define LegacyDevice/Check
   _TARGET := $$(if $$(_PROFILE_SET),legacy-images,install-disabled)
   $$(if $$(_PROFILE_SET),install: legacy-images-make)
   ifndef IB
-    $$(if $$(_PROFILE_SET),mkfs_prepare: legacy-images-prepare-make)
+    $$(if $$(_PROFILE_SET),kernel_prepare: legacy-images-prepare-make)
   endif
 endef
 
+ifdef TARGET_PER_DEVICE_ROOTFS
+  define Image/Build/Profile/Filesystem
+       cp $(KDIR)/root.$(2)+pkg=$(3) $(KDIR)/root.$(2)
+       $(call Image/Build/Profile,$(1),$(2))
+  endef
+else
+  Image/Build/Profile/Filesystem = $(Image/Build/Profile)
+endif
+
 define LegacyDevice/Build
   $$(_TARGET): legacy-image-$(1)
   $$(_TARGET_PREPARE): legacy-image-prepare-$(1)
@@ -53,10 +62,21 @@ define LegacyDevice/Build
   legacy-image-prepare-$(1):
        $$(call Image/Prepare/Profile,$(1))
 
+  ifndef IB
+    ifdef CONFIG_TARGET_PER_DEVICE_ROOTFS
+      ROOTFS/$(1) := $(foreach fs,$(TARGET_FILESYSTEMS), \
+        $(KDIR)/root.$(fs)$$(strip $(if $(CONFIG_TARGET_PER_DEVICE_ROOTFS),+pkg=$$(ROOTFS_ID/$(1)))) \
+      )
+
+      $$(ROOTFS/$(1)): target-dir-$$(ROOTFS_ID/$(1))
+      legacy-images-make: $$(if $$(_PROFILE_SET),$$(ROOTFS/$(1)))
+    endif
+  endif
+
   legacy-image-$(1):
        $$(call Image/BuildKernel/Profile,$(1))
        $(foreach fs,$(TARGET_FILESYSTEMS),
-               $$(call Image/Build/Profile,$(1),$(fs))
+               $$(call Image/Build/Profile/Filesystem,$(1),$(fs),$$(ROOTFS_ID/$(1)))
        )
 
 endef
@@ -70,5 +90,3 @@ define LegacyDevice
   $(call LegacyDevice/$(if $(DUMP),Dump,Build),$(1))
 
 endef
-
-