X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=include%2Ffeeds.mk;h=d20cdfe0690e0f2cd36755d7f32efd0f1c22809d;hp=17ce64f83a400fca8639f68476541c5e459b519f;hb=16b950c981c91bcd2dde8bd1c4ed10bf3a6b1763;hpb=a720dd209f8b345cdfa5d2432287520389404445 diff --git a/include/feeds.mk b/include/feeds.mk index 17ce64f83a..d20cdfe069 100644 --- a/include/feeds.mk +++ b/include/feeds.mk @@ -1,23 +1,43 @@ # # Copyright (C) 2014 OpenWrt.org +# Copyright (C) 2016 LEDE Project # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # --include $(TMP_DIR)/.packagefeeds +-include $(TMP_DIR)/.packagesubdirs -FEEDS_AVAILABLE:=$(shell $(SCRIPT_DIR)/feeds list -n) -FEEDS_INSTALLED:=$(patsubst %.index,%,$(notdir $(wildcard $(TOPDIR)/feeds/*.index))) -FEEDS_ENABLED:=$(foreach feed,$(FEEDS_INSTALLED),$(if $(CONFIG_FEED_$(feed)),$(feed))) +FEEDS_INSTALLED:=$(notdir $(wildcard $(TOPDIR)/package/feeds/*)) +FEEDS_AVAILABLE:=$(sort $(FEEDS_INSTALLED) $(shell $(SCRIPT_DIR)/feeds list -n)) -PKG_CONFIG_DEPENDS += \ - CONFIG_PER_FEED_REPO \ - $(foreach feed,$(FEEDS_INSTALLED),CONFIG_FEED_$(feed)) +PACKAGE_SUBDIRS=$(PACKAGE_DIR) +ifneq ($(CONFIG_PER_FEED_REPO),) + PACKAGE_SUBDIRS += $(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/base + PACKAGE_SUBDIRS += $(foreach FEED,$(FEEDS_AVAILABLE),$(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/$(FEED)) +endif + +opkg_package_files = $(wildcard \ + $(foreach dir,$(PACKAGE_SUBDIRS), \ + $(foreach pkg,$(1), $(dir)/$(pkg)_*.ipk))) # 1: package name define FeedPackageDir $(strip $(if $(CONFIG_PER_FEED_REPO), \ - $(abspath $(PACKAGE_DIR)/$(if $(Package/$(1)/feed),$(Package/$(1)/feed),base)), \ + $(if $(Package/$(1)/subdir), \ + $(abspath $(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/$(Package/$(1)/subdir)), \ + $(PACKAGE_DIR)), \ $(PACKAGE_DIR))) endef + +# 1: destination file +define FeedSourcesAppend +( \ + echo 'src/gz %d_core %U/targets/%S/packages'; \ + $(strip $(if $(CONFIG_PER_FEED_REPO), \ + echo 'src/gz %d_base %U/packages/%A/base'; \ + $(foreach feed,$(FEEDS_AVAILABLE), \ + $(if $(CONFIG_FEED_$(feed)), \ + echo '$(if $(filter m,$(CONFIG_FEED_$(feed))),# )src/gz %d_$(feed) %U/packages/%A/$(feed)';)))) \ +) >> $(1) +endef