include/feeds.mk: always add available feeds to PACKAGE_SUBDIRS
[oweals/openwrt.git] / include / feeds.mk
1 #
2 # Copyright (C) 2014 OpenWrt.org
3 # Copyright (C) 2016 LEDE Project
4 #
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
7 #
8
9 -include $(TMP_DIR)/.packagesubdirs
10
11 FEEDS_INSTALLED:=$(notdir $(wildcard $(TOPDIR)/package/feeds/*))
12 FEEDS_AVAILABLE:=$(sort $(FEEDS_INSTALLED) $(shell $(SCRIPT_DIR)/feeds list -n))
13 FEEDS_ENABLED:=$(foreach feed,$(FEEDS_AVAILABLE),$(if $(CONFIG_FEED_$(feed)),$(feed)))
14 FEEDS_DISABLED:=$(filter-out $(FEEDS_ENABLED),$(FEEDS_AVAILABLE))
15
16 PACKAGE_SUBDIRS=$(PACKAGE_DIR)
17 ifneq ($(CONFIG_PER_FEED_REPO),)
18   PACKAGE_SUBDIRS += $(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/base
19   PACKAGE_SUBDIRS += $(foreach FEED,$(FEEDS_AVAILABLE),$(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/$(FEED))
20 endif
21
22 opkg_package_files = $(wildcard \
23         $(foreach dir,$(PACKAGE_SUBDIRS), \
24           $(foreach pkg,$(1), $(dir)/$(pkg)_*.ipk)))
25
26 # 1: package name
27 define FeedPackageDir
28 $(strip $(if $(CONFIG_PER_FEED_REPO), \
29   $(if $(Package/$(1)/subdir), \
30     $(abspath $(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/$(Package/$(1)/subdir)), \
31     $(PACKAGE_DIR)), \
32   $(PACKAGE_DIR)))
33 endef
34
35 # 1: destination file
36 define FeedSourcesAppend
37 ( \
38   echo "src/gz %d_core %U/targets/%S/packages"; \
39   $(strip $(if $(CONFIG_PER_FEED_REPO), \
40         $(foreach feed,base $(FEEDS_ENABLED),echo "src/gz %d_$(feed) %U/packages/%A/$(feed)";) \
41         $(if $(CONFIG_PER_FEED_REPO_ADD_DISABLED), \
42                 $(foreach feed,$(FEEDS_DISABLED),echo "$(if $(CONFIG_PER_FEED_REPO_ADD_COMMENTED),# )src/gz %d_$(feed) %U/packages/%A/$(feed)";)))) \
43 ) >> $(1)
44 endef