X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/752d6b39f1c17a8142995f5a31a2814a2e187be6..dc4af187bd321c58b293aeff57215fd123801821:/include/package-ipkg.mk?ds=inline diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk index b71fce42a..16378a0f0 100644 --- a/include/package-ipkg.mk +++ b/include/package-ipkg.mk @@ -5,32 +5,36 @@ # See /LICENSE for more information. # +# where to build (and put) .ipk packages +IPKG:= \ + IPKG_TMP=$(TMP_DIR)/ipkg \ + IPKG_INSTROOT=$(TARGET_DIR) \ + IPKG_CONF_DIR=$(STAGING_DIR)/etc \ + IPKG_OFFLINE_ROOT=$(TARGET_DIR) \ + $(SCRIPT_DIR)/ipkg -force-defaults -force-depends + +# invoke ipkg-build with some default options +IPKG_BUILD:= \ + ipkg-build -c -o 0 -g 0 + define BuildIPKGVariable $(call shexport,Package/$(1)/$(2)) $(1)_COMMANDS += var2file "$(call shvar,Package/$(1)/$(2))" $(2); endef ifeq ($(DUMP),) - define BuildIPKG + define BuildTarget/ipkg IPKG_$(1):=$(PACKAGE_DIR)/$(1)_$(VERSION)_$(PKGARCH).ipk IDIR_$(1):=$(PKG_BUILD_DIR)/ipkg/$(1) INFO_$(1):=$(IPKG_STATE_DIR)/info/$(1).list ifdef Package/$(1)/install - ifneq ($(CONFIG_PACKAGE_$(1)),) + ifneq ($(CONFIG_PACKAGE_$(1))$(SDK)$(DEVELOPER),) compile: $$(IPKG_$(1)) ifeq ($(CONFIG_PACKAGE_$(1)),y) install: $$(INFO_$(1)) endif - - ifneq ($(MAKECMDGOALS),prereq) - ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p -x ipkg -x ipkg-install '$$(IPKG_$(1))' '$(PKG_BUILD_DIR)'),$$(IPKG_$(1))) - $(PKG_BUILD_DIR)/.built: package-rebuild - $$(info Rebuilding $(subst $(TOPDIR)/,,$$(IPKG_$(1)))) - endif - endif - else compile: $(1)-disabled $(1)-disabled: @@ -56,6 +60,7 @@ ifeq ($(DUMP),) DEPENDS=$$$${DEPENDS:+$$$$DEPENDS, }$$$${depend##+}; \ done; \ echo "Depends: $$$$DEPENDS"; \ + echo "Provides: $(PROVIDES)"; \ echo "Source: $(SOURCE)"; \ echo "Section: $(SECTION)"; \ echo "Priority: $(PRIORITY)"; \ @@ -68,12 +73,10 @@ ifeq ($(DUMP),) $($(1)_COMMANDS) \ ) - $$(IPKG_$(1)): $(PKG_BUILD_DIR)/.built $$(IDIR_$(1))/CONTROL/control + $$(IPKG_$(1)): $(STAGING_DIR)/etc/ipkg.conf $(PKG_BUILD_DIR)/.built $$(IDIR_$(1))/CONTROL/control $(call Package/$(1)/install,$$(IDIR_$(1))) mkdir -p $(PACKAGE_DIR) - -find $$(IDIR_$(1)) -name CVS | xargs rm -rf - -find $$(IDIR_$(1)) -name .svn | xargs rm -rf - -find $$(IDIR_$(1)) -name '.#*' | xargs rm -f + -find $$(IDIR_$(1)) -name 'CVS' -o -name '.svn' -o -name '.#*' | $(XARGS) rm -rf $(RSTRIP) $$(IDIR_$(1)) $(IPKG_BUILD) $$(IDIR_$(1)) $(PACKAGE_DIR) @[ -f $$(IPKG_$(1)) ] || false @@ -86,11 +89,14 @@ ifeq ($(DUMP),) clean: $(1)-clean - $(PKG_BUILD_DIR)/.version-$(1)_$(VERSION)_$(PKGARCH): $(PKG_BUILD_DIR)/.prepared + $(PKG_BUILD_DIR)/.version-$(1)_$(VERSION)_$(PKGARCH): $(STAMP_PREPARED) -@rm -f $(PKG_BUILD_DIR)/.version-$(1)_* 2>/dev/null @touch $$@ + endef - $$(eval $$(call Build/DefaultTargets,$(1))) + $(STAGING_DIR)/etc/ipkg.conf: + mkdir -p $(STAGING_DIR)/etc + echo "dest root /" > $(STAGING_DIR)/etc/ipkg.conf + echo "option offline_root $(TARGET_DIR)" >> $(STAGING_DIR)/etc/ipkg.conf - endef endif