build: ensure that preinst and postrm are executable (fixes #19372)
authorFelix Fietkau <nbd@openwrt.org>
Tue, 31 Mar 2015 15:13:27 +0000 (15:13 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Tue, 31 Mar 2015 15:13:27 +0000 (15:13 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 45187

include/package-ipkg.mk

index 943b383b6201aa9f926147899e8551883db2c5ab..d370644e98726f32ba063f2705fd4ad0be8b3569 100644 (file)
@@ -16,11 +16,12 @@ IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/opkg
 # 1: package name
 # 2: variable name
 # 3: variable suffix
+# 4: file is a script
 define BuildIPKGVariable
 ifdef Package/$(1)/$(2)
   $$(IPKG_$(1)) : VAR_$(2)$(3)=$$(Package/$(1)/$(2))
   $(call shexport,Package/$(1)/$(2))
-  $(1)_COMMANDS += echo "$$$$$$$$$(call shvar,Package/$(1)/$(2))" > $(2)$(3);
+  $(1)_COMMANDS += echo "$$$$$$$$$(call shvar,Package/$(1)/$(2))" > $(2)$(3); $(if $(4),chmod 0755 $(2)$(3))
 endif
 endef
 
@@ -125,10 +126,10 @@ ifeq ($(DUMP),)
     $(FixupReverseDependencies)
 
     $(eval $(call BuildIPKGVariable,$(1),conffiles))
-    $(eval $(call BuildIPKGVariable,$(1),preinst))
-    $(eval $(call BuildIPKGVariable,$(1),postinst,-pkg))
-    $(eval $(call BuildIPKGVariable,$(1),prerm,-pkg))
-    $(eval $(call BuildIPKGVariable,$(1),postrm))
+    $(eval $(call BuildIPKGVariable,$(1),preinst,,1))
+    $(eval $(call BuildIPKGVariable,$(1),postinst,-pkg,1))
+    $(eval $(call BuildIPKGVariable,$(1),prerm,-pkg,1))
+    $(eval $(call BuildIPKGVariable,$(1),postrm,1))
 
     $(STAGING_DIR_ROOT)/stamp/.$(1)_installed: $(STAMP_BUILT)
        rm -rf $(STAGING_DIR_ROOT)/tmp-$(1)