From 3caa9395b5c994b945767c8e528a2afdf24df35e Mon Sep 17 00:00:00 2001 From: John Crispin Date: Thu, 11 Sep 2014 12:27:49 +0000 Subject: ipkg: add a default postinst/prerm script the postinst script enables/starts the init.d scripts upon package installation and installs the users required by the package. the prerm script stops and disables the init.d scripts. Signed-off-by: John Crispin git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42470 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- include/package-ipkg.mk | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'include/package-ipkg.mk') diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk index 1caeaa25b6..494444613a 100644 --- a/include/package-ipkg.mk +++ b/include/package-ipkg.mk @@ -16,7 +16,7 @@ IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/opkg define BuildIPKGVariable ifdef Package/$(1)/$(2) $(call shexport,Package/$(1)/$(2)) - $(1)_COMMANDS += var2file "$(call shvar,Package/$(1)/$(2))" $(2); + $(1)_COMMANDS += var2file "$(call shvar,Package/$(1)/$(2))" $(2)$(3); endif endef @@ -117,8 +117,8 @@ ifeq ($(DUMP),) $(eval $(call BuildIPKGVariable,$(1),conffiles)) $(eval $(call BuildIPKGVariable,$(1),preinst)) - $(eval $(call BuildIPKGVariable,$(1),postinst)) - $(eval $(call BuildIPKGVariable,$(1),prerm)) + $(eval $(call BuildIPKGVariable,$(1),postinst,-pkg)) + $(eval $(call BuildIPKGVariable,$(1),prerm,-pkg)) $(eval $(call BuildIPKGVariable,$(1),postrm)) $(STAGING_DIR_ROOT)/stamp/.$(1)_installed: $(STAMP_BUILT) @@ -174,6 +174,17 @@ ifeq ($(DUMP),) echo -n "Description: "; $(SH_FUNC) getvar $(call shvar,Package/$(1)/description) | sed -e 's,^[[:space:]]*, ,g'; \ ) > $$(IDIR_$(1))/CONTROL/control chmod 644 $$(IDIR_$(1))/CONTROL/control + ( \ + echo "#!/bin/sh"; \ + echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ + echo "default_postinst \$$$$0 \$$$$@"; \ + ) > $$(IDIR_$(1))/CONTROL/postinst + ( \ + echo "#!/bin/sh"; \ + echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ + echo "default_prerm \$$$$0 \$$$$@"; \ + ) > $$(IDIR_$(1))/CONTROL/prerm + chmod 0755 $$(IDIR_$(1))/CONTROL/prerm $(SH_FUNC) (cd $$(IDIR_$(1))/CONTROL; \ $($(1)_COMMANDS) \ ) -- cgit v1.2.3