summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-03-31 15:13:27 +0000
committerFelix Fietkau <nbd@openwrt.org>2015-03-31 15:13:27 +0000
commit640318e62090821c1778dc9e3dfc5608bdcd7f0b (patch)
tree8d990e1487f590e88d97ddf94cd321e4d9994e30
parentad9f61d3bbc20dfb9556f7c2ad346f73159b81b5 (diff)
downloadmaster-31e0f0ae-640318e62090821c1778dc9e3dfc5608bdcd7f0b.tar.gz
master-31e0f0ae-640318e62090821c1778dc9e3dfc5608bdcd7f0b.tar.bz2
master-31e0f0ae-640318e62090821c1778dc9e3dfc5608bdcd7f0b.zip
build: ensure that preinst and postrm are executable (fixes #19372)
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45187
-rw-r--r--include/package-ipkg.mk11
1 files changed, 6 insertions, 5 deletions
diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk
index 943b383b62..d370644e98 100644
--- a/include/package-ipkg.mk
+++ b/include/package-ipkg.mk
@@ -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)