X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Fchunkeey.git;a=blobdiff_plain;f=include%2Ffeeds.mk;h=9637424c5bc249257342cadcb36cdc18113f453e;hp=97b14491f0d538024e17c7f77ac6782698c620db;hb=32a6c252dbcf91c567031ef6175a7d008e492088;hpb=e1258f984ac16f84182e0d4202258d89483bfe0d diff --git a/include/feeds.mk b/include/feeds.mk index 97b14491f0..9637424c5b 100644 --- a/include/feeds.mk +++ b/include/feeds.mk @@ -1,24 +1,48 @@ # # 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)/.packageauxvars -FEEDS_AVAILABLE:=$(shell $(SCRIPT_DIR)/feeds list -n) FEEDS_INSTALLED:=$(notdir $(wildcard $(TOPDIR)/package/feeds/*)) -FEEDS_ENABLED:=$(foreach feed,$(FEEDS_INSTALLED),$(if $(CONFIG_FEED_$(feed)),$(feed))) -FEEDS_DISABLED:=$(filter-out $(FEEDS_ENABLED),$(FEEDS_INSTALLED)) +FEEDS_AVAILABLE:=$(sort $(FEEDS_INSTALLED) $(shell $(SCRIPT_DIR)/feeds list -n 2>/dev/null)) -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 + +# 1: package name +define GetABISuffix +$(if $(filter-out kmod-%,$(1)),$(if $(Package/$(1)/abiversion),$(if $(filter %0 %1 %2 %3 %4 %5 %6 %7 %8 %9,$(1)),-)$(Package/$(1)/abiversion))) +endef