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 <blogic@openwrt.org>

SVN-Revision: 42470
This commit is contained in:
John Crispin
2014-09-11 12:27:49 +00:00
parent 285012d897
commit d6dbc22bbc
3 changed files with 92 additions and 5 deletions

View File

@@ -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) \
)