[OpenWrt-Devel] [PATCH 4/4] include/feeds.mk: rework generation of opkg distfeeds.conf

Matthias Schiffer mschiffer at universe-factory.net
Mon Jul 9 18:31:24 EDT 2018


Allow enabling/commenting/disabling each feed individually by using a
tristate config symbol.

Signed-off-by: Matthias Schiffer <mschiffer at universe-factory.net>
---
 include/feeds.mk                   | 11 +++++------
 package/base-files/Makefile        |  2 --
 package/base-files/image-config.in | 14 --------------
 scripts/feeds                      |  5 +++--
 4 files changed, 8 insertions(+), 24 deletions(-)

diff --git a/include/feeds.mk b/include/feeds.mk
index c9ffa95a368a..3e0801e656bf 100644
--- a/include/feeds.mk
+++ b/include/feeds.mk
@@ -10,8 +10,6 @@
 
 FEEDS_INSTALLED:=$(notdir $(wildcard $(TOPDIR)/package/feeds/*))
 FEEDS_AVAILABLE:=$(sort $(FEEDS_INSTALLED) $(shell $(SCRIPT_DIR)/feeds list -n))
-FEEDS_ENABLED:=$(foreach feed,$(FEEDS_AVAILABLE),$(if $(CONFIG_FEED_$(feed)),$(feed)))
-FEEDS_DISABLED:=$(filter-out $(FEEDS_ENABLED),$(FEEDS_AVAILABLE))
 
 PACKAGE_SUBDIRS=$(PACKAGE_DIR)
 ifneq ($(CONFIG_PER_FEED_REPO),)
@@ -35,10 +33,11 @@ endef
 # 1: destination file
 define FeedSourcesAppend
 ( \
-  echo "src/gz %d_core %U/targets/%S/packages"; \
+  echo 'src/gz %d_core %U/targets/%S/packages'; \
+  echo 'src/gz %d_base %U/packages/%A/base'; \
   $(strip $(if $(CONFIG_PER_FEED_REPO), \
-	$(foreach feed,base $(FEEDS_ENABLED),echo "src/gz %d_$(feed) %U/packages/%A/$(feed)";) \
-	$(if $(CONFIG_PER_FEED_REPO_ADD_DISABLED), \
-		$(foreach feed,$(FEEDS_DISABLED),echo "$(if $(CONFIG_PER_FEED_REPO_ADD_COMMENTED),# )src/gz %d_$(feed) %U/packages/%A/$(feed)";)))) \
+	$(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
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index a4ceb5cb36fa..b58843163fd4 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -25,8 +25,6 @@ PKG_CONFIG_DEPENDS += \
 	CONFIG_NAND_SUPPORT \
 	CONFIG_CLEAN_IPKG \
 	CONFIG_PER_FEED_REPO \
-	CONFIG_PER_FEED_REPO_ADD_DISABLED \
-	CONFIG_PER_FEED_REPO_ADD_COMMENTED \
 	$(foreach feed,$(FEEDS_AVAILABLE),CONFIG_FEED_$(feed))
 
 include $(INCLUDE_DIR)/package.mk
diff --git a/package/base-files/image-config.in b/package/base-files/image-config.in
index ffa12cd3ecc4..cf2cfd1d4e49 100644
--- a/package/base-files/image-config.in
+++ b/package/base-files/image-config.in
@@ -274,18 +274,4 @@ menuconfig PER_FEED_REPO
 		If set, a separate repository is generated within bin/*/packages/
 		for the core packages and each enabled feed.
 
-	config PER_FEED_REPO_ADD_DISABLED
-		bool "Add available but not enabled feeds to opkg.conf"
-		default y
-		depends on PER_FEED_REPO
-		help
-		  Add not installed or disabled feeds from feeds.conf to opkg.conf.
-
-	config PER_FEED_REPO_ADD_COMMENTED
-		bool "Comment out not enabled feeds"
-		default !BUILDBOT
-		depends on PER_FEED_REPO && PER_FEED_REPO_ADD_DISABLED
-		help
-		  Add not enabled feeds as commented out source lines to opkg.conf.
-
 source "tmp/.config-feeds.in"
diff --git a/scripts/feeds b/scripts/feeds
index b29e1d5c353d..304ef6cbafd1 100755
--- a/scripts/feeds
+++ b/scripts/feeds
@@ -824,11 +824,12 @@ sub feed_config() {
 		my $installed = (-f "feeds/$feed->[1].index");
 
 		printf "\tconfig FEED_%s\n", $feed->[1];
-		printf "\t\tbool \"Enable feed %s\"\n", $feed->[1];
+		printf "\t\ttristate \"Enable feed %s\"\n", $feed->[1];
 		printf "\t\tdepends on PER_FEED_REPO\n";
 		printf "\t\tdefault y\n" if $installed;
 		printf "\t\thelp\n";
-		printf "\t\t Enable the \\\"%s\\\" feed at %s.\n", $feed->[1], $feed->[2][0];
+		printf "\t\t Enable the \\\"%s\\\" feed in opkg distfeeds.conf.\n", $feed->[1];
+		printf "\t\t Say M to add the feed commented out.\n";
 		printf "\n";
 	}
 
-- 
2.18.0


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list