build: write ABI_VERSION file when staging the package
authorFelix Fietkau <nbd@nbd.name>
Wed, 18 Jan 2017 14:28:36 +0000 (15:28 +0100)
committerFelix Fietkau <nbd@nbd.name>
Wed, 18 Jan 2017 22:57:08 +0000 (23:57 +0100)
The make target does not rewrite the file if the contents didn't
change. This causes make to always consider the target old.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
include/package-ipkg.mk

index 8727b4e..c56aeaa 100644 (file)
@@ -107,9 +107,6 @@ ifeq ($(DUMP),)
       ifneq ($(CONFIG_PACKAGE_$(1))$(DEVELOPER),)
         IPKGS += $(1)
         .compile: $$(IPKG_$(1)) $(PKG_INFO_DIR)/$(1).provides $(STAGING_DIR_ROOT)/stamp/.$(1)_installed
-        ifneq ($(ABI_VERSION),)
-        .compile: $(PKG_INFO_DIR)/$(1).version
-        endif
       else
         $(if $(CONFIG_PACKAGE_$(1)),$$(info WARNING: skipping $(1) -- package not selected))
       endif
@@ -144,16 +141,13 @@ ifeq ($(DUMP),)
     $(STAGING_DIR_ROOT)/stamp/.$(1)_installed: $(STAMP_BUILT)
        rm -rf $(STAGING_DIR_ROOT)/tmp-$(1)
        mkdir -p $(STAGING_DIR_ROOT)/stamp $(STAGING_DIR_ROOT)/tmp-$(1)
+       $(if $(ABI_VERSION),echo '$(ABI_VERSION)' | cmp -s - $$@ || echo '$(ABI_VERSION)' > $$@)
        $(call Package/$(1)/install,$(STAGING_DIR_ROOT)/tmp-$(1))
        $(call Package/$(1)/install_lib,$(STAGING_DIR_ROOT)/tmp-$(1))
        $(call locked,$(CP) $(STAGING_DIR_ROOT)/tmp-$(1)/. $(STAGING_DIR_ROOT)/,root-copy)
        rm -rf $(STAGING_DIR_ROOT)/tmp-$(1)
        touch $$@
 
-    $(PKG_INFO_DIR)/$(1).version: $$(IPKG_$(1))
-       echo '$(ABI_VERSION)' | cmp -s - $$@ || \
-               echo '$(ABI_VERSION)' > $$@
-
     Package/$(1)/DEPENDS := $$(call mergelist,$$(filter-out @%,$$(IDEPEND_$(1))))
     ifneq ($$(EXTRA_DEPENDS),)
       Package/$(1)/DEPENDS := $$(EXTRA_DEPENDS)$$(if $$(Package/$(1)/DEPENDS),$$(comma) $$(Package/$(1)/DEPENDS))