rootfs.mk: ensure all timestamp are set to SOURCE_DATE_EPOCH
[openwrt/staging/dedeckeh.git] / include / rootfs.mk
index a3a08c2851cd0a377e36284c69e1518e94b694cc..b6775c7e15fb00e935737fd0b801ca7bef6e2a0d 100644 (file)
@@ -1,5 +1,3 @@
-include $(INCLUDE_DIR)/feeds.mk
-
 ifdef CONFIG_USE_MKLIBS
   define mklibs
        rm -rf $(TMP_DIR)/mklibs-progs $(TMP_DIR)/mklibs-out
@@ -63,9 +61,9 @@ ifdef CONFIG_CLEAN_IPKG
 endif
 
 define prepare_rootfs
-       @if [ -d $(TOPDIR)/files ]; then \
-               $(call file_copy,$(TOPDIR)/files/.,$(1)); \
-       fi
+       $(if $(2),@if [ -d '$(2)' ]; then \
+               $(call file_copy,$(2)/.,$(1)); \
+       fi)
        @mkdir -p $(1)/etc/rc.d
        @mkdir -p $(1)/var/lock
        @( \
@@ -80,7 +78,13 @@ define prepare_rootfs
                done; \
                for script in ./etc/init.d/*; do \
                        grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \
-                       IPKG_INSTROOT=$(1) $$(which bash) ./etc/rc.common $$script enable; \
+                       if ! echo " $(3) " | grep -q " $$(basename $$script) "; then \
+                               IPKG_INSTROOT=$(1) $$(which bash) ./etc/rc.common $$script enable; \
+                               echo "Enabling" $$(basename $$script); \
+                       else \
+                               IPKG_INSTROOT=$(1) $$(which bash) ./etc/rc.common $$script disable; \
+                               echo "Disabling" $$(basename $$script); \
+                       fi; \
                done || true \
        )
        $(if $(SOURCE_DATE_EPOCH),sed -i "s/Installed-Time: .*/Installed-Time: $(SOURCE_DATE_EPOCH)/" $(1)/usr/lib/opkg/status)
@@ -92,6 +96,8 @@ define prepare_rootfs
        rm -f $(1)/usr/lib/opkg/lists/*
        rm -f $(1)/usr/lib/opkg/info/*.postinst*
        rm -f $(1)/var/lock/*.lock
+       rm -rf $(1)/boot
        $(call clean_ipkg,$(1))
        $(call mklibs,$(1))
+       $(if $(SOURCE_DATE_EPOCH),find $(1)/ -mindepth 1 -execdir touch -hcd "@$(SOURCE_DATE_EPOCH)" "{}" +)
 endef