ipkg: add a default postinst/prerm script
[openwrt/svn-archive/archive.git] / include / package-ipkg.mk
index 1caeaa25b63bc4b1be94b0d465a59c2b85c8e2b5..494444613ae66079e883907bfa3520513827482c 100644 (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) \
        )