# See /LICENSE for more information.
#
+include $(INCLUDE_DIR)/feeds.mk
+
# invoke ipkg-build with some default options
IPKG_BUILD:= \
ipkg-build -c -o 0 -g 0
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
ifeq ($(DUMP),)
define BuildTarget/ipkg
- IPKG_$(1):=$(PACKAGE_DIR)/$(1)_$(VERSION)_$(PKGARCH).ipk
+ PDIR_$(1):=$(call FeedPackageDir,$(1))
+ IPKG_$(1):=$$(PDIR_$(1))/$(1)_$(VERSION)_$(PKGARCH).ipk
IDIR_$(1):=$(PKG_BUILD_DIR)/ipkg-$(PKGARCH)/$(1)
KEEP_$(1):=$(strip $(call Package/$(1)/conffiles))
$(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)
$(PKG_INFO_DIR)/$(1).provides: $$(IPKG_$(1))
$$(IPKG_$(1)): $(STAMP_BUILT) $(INCLUDE_DIR)/package-ipkg.mk
- @rm -rf $(PACKAGE_DIR)/$(1)_* $$(IDIR_$(1))
+ @rm -rf $$(PDIR_$(1))/$(1)_* $$(IDIR_$(1))
mkdir -p $(PACKAGE_DIR) $$(IDIR_$(1))/CONTROL $(PKG_INFO_DIR)
$(call Package/$(1)/install,$$(IDIR_$(1)))
-find $$(IDIR_$(1)) -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| $(XARGS) rm -rf
$(if $(PKG_LICENSE), echo "License: $(PKG_LICENSE)"; ) \
$(if $(PKG_LICENSE_FILES), echo "LicenseFiles: $(PKG_LICENSE_FILES)"; ) \
echo "Section: $(SECTION)"; \
+ $(if $(USERID),echo "Require-User: $(USERID)"; ) \
$(if $(filter hold,$(PKG_FLAGS)),echo "Status: unknown hold not-installed"; ) \
$(if $(filter essential,$(PKG_FLAGS)), echo "Essential: yes"; ) \
$(if $(MAINTAINER),echo "Maintainer: $(MAINTAINER)"; ) \
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_NO_SCRIPT}\" = \"1\" ] && exit 0"; \
+ 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) \
)
)
endif
- $(IPKG_BUILD) $$(IDIR_$(1)) $(PACKAGE_DIR)
+ $(INSTALL_DIR) $$(PDIR_$(1))
+ $(IPKG_BUILD) $$(IDIR_$(1)) $$(PDIR_$(1))
@[ -f $$(IPKG_$(1)) ]
$(1)-clean:
- rm -f $(PACKAGE_DIR)/$(1)_*
+ rm -f $$(PDIR_$(1))/$(1)_*
clean: $(1)-clean