IDIR_$(1):=$(PKG_BUILD_DIR)/ipkg-$(PKGARCH)/$(1)
ADIR_$(1):=$(PKG_BUILD_DIR)/apk-$(PKGARCH)/$(1)
KEEP_$(1):=$(strip $(call Package/$(1)/conffiles))
- APK_SCRIPTS_$(1):=\
- --script "post-install:$$(ADIR_$(1))/post-install" \
- --script "pre-deinstall:$$(ADIR_$(1))/pre-deinstall"
+ APK_SCRIPTS_$(1):=
+
+ ifdef Package/$(1)/preinst
+ APK_SCRIPTS_$(1)+=--script "pre-install:$$(ADIR_$(1))/preinst"
+ endif
+ APK_SCRIPTS_$(1)+=--script "post-install:$$(ADIR_$(1))/post-install"
+
+ ifdef Package/$(1)/preinst
+ APK_SCRIPTS_$(1)+=--script "pre-upgrade:$$(ADIR_$(1))/pre-upgrade"
+ endif
+ APK_SCRIPTS_$(1)+=--script "post-upgrade:$$(ADIR_$(1))/post-upgrade"
+
+ APK_SCRIPTS_$(1)+=--script "pre-deinstall:$$(ADIR_$(1))/pre-deinstall"
ifdef Package/$(1)/postrm
- APK_SCRIPTS_$(1)+=--script "post-deinstall:$$(ADIR_$(1))/postrm"
+ APK_SCRIPTS_$(1)+=--script "post-deinstall:$$(ADIR_$(1))/postrm"
endif
TARGET_VARIANT:=$$(if $(ALL_VARIANTS),$$(if $$(VARIANT),$$(filter-out *,$$(VARIANT)),$(firstword $(ALL_VARIANTS))))
[ ! -f $$(ADIR_$(1))/postinst-pkg ] || sed -z 's/^\s*#!/#!/' "$$(ADIR_$(1))/postinst-pkg"; \
) > $$(ADIR_$(1))/post-install;
+ ifdef Package/$(1)/preinst
+ ( \
+ echo "#!/bin/sh"; \
+ echo 'export PKG_UPGRADE=1'; \
+ [ ! -f $$(ADIR_$(1))/preinst ] || sed -z 's/^\s*#!/#!/' "$$(ADIR_$(1))/preinst"; \
+ ) > $$(ADIR_$(1))/pre-upgrade;
+ endif
+
+ ( \
+ echo "#!/bin/sh"; \
+ echo 'export PKG_UPGRADE=1'; \
+ [ ! -f $$(ADIR_$(1))/post-install ] || sed -z 's/^\s*#!/#!/' "$$(ADIR_$(1))/post-install"; \
+ ) > $$(ADIR_$(1))/post-upgrade;
+
( \
echo "#!/bin/sh"; \
echo "[ -s "\$$$${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; \