Browse Source

feeds: use common macro "FeedSourcesAppend" to populate opkg configurations

This introduces a common macro to assemble the correct url templates to
avoid code duplication and have the feed config handling in a central place.

Signed-off-by: Jo-Philipp Wich <[email protected]>

SVN-Revision: 45799
Jo-Philipp Wich 10 năm trước cách đây
mục cha
commit
3c5357d6ef
3 tập tin đã thay đổi với 16 bổ sung24 xóa
  1. 13 0
      include/feeds.mk
  2. 1 12
      package/system/opkg/Makefile
  3. 2 12
      target/imagebuilder/Makefile

+ 13 - 0
include/feeds.mk

@@ -24,3 +24,16 @@ $(strip $(if $(CONFIG_PER_FEED_REPO), \
   $(abspath $(PACKAGE_DIR)/$(if $(Package/$(1)/feed),$(Package/$(1)/feed),base)), \
   $(PACKAGE_DIR)))
 endef
+
+# 1: destination file
+define FeedSourcesAppend
+( \
+  $(strip $(if $(CONFIG_PER_FEED_REPO), \
+	$(foreach feed,base $(FEEDS_ENABLED),echo "src/gz %n_$(feed) %U/$(feed)";) \
+	$(if $(CONFIG_PER_FEED_REPO_ADD_DISABLED), \
+		$(foreach feed,$(FEEDS_DISABLED),echo "$(if $(CONFIG_PER_FEED_REPO_ADD_COMMENTED),# )src/gz %n_$(feed) %U/$(feed)";)) \
+  , \
+	echo "src/gz %n %U"; \
+  )) \
+) >> $(1)
+endef

+ 1 - 12
package/system/opkg/Makefile

@@ -115,18 +115,7 @@ define Package/opkg/Default/install
   ifneq ($(CONFIG_SIGNED_PACKAGES),)
 	echo "option check_signature 1" >> $(1)/etc/opkg.conf
   endif
-  ifeq ($(CONFIG_PER_FEED_REPO),)
-	echo "src/gz %n %U" >> $(1)/etc/opkg.conf
-  else
-	for d in base $(FEEDS_ENABLED); do \
-		echo "src/gz %n_$$$$d %U/$$$$d" >> $(1)/etc/opkg.conf; \
-	done
-    ifneq ($(CONFIG_PER_FEED_REPO_ADD_DISABLED),)
-	for d in $(FEEDS_DISABLED); do \
-		echo "$(if $(CONFIG_PER_FEED_REPO_ADD_COMMENTED),# )src/gz %n_$$$$d %U/$$$$d" >> $(1)/etc/opkg.conf; \
-	done
-    endif
-  endif
+	$(call FeedSourcesAppend,$(1)/etc/opkg.conf)
 	$(VERSION_SED) $(1)/etc/opkg.conf
 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/opkg-cl $(1)/bin/opkg
 endef

+ 2 - 12
target/imagebuilder/Makefile

@@ -37,20 +37,10 @@ $(BIN_DIR)/$(IB_NAME).tar.bz2: clean
 
 ifeq ($(CONFIG_IB_STANDALONE),)
 	echo '## Remote package repositories' >> $(PKG_BUILD_DIR)/repositories.conf
-  ifeq ($(CONFIG_PER_FEED_REPO),)
-	echo "src/gz %n %U" >> $(PKG_BUILD_DIR)/repositories.conf
-  else
-	for d in base $(FEEDS_ENABLED); do \
-		echo "src/gz %n_$$d %U/$$d" >> $(PKG_BUILD_DIR)/repositories.conf; \
-	done
-    ifneq ($(CONFIG_PER_FEED_REPO_ADD_DISABLED),)
-	for d in $(FEEDS_DISABLED); do \
-		echo "$(if $(CONFIG_PER_FEED_REPO_ADD_COMMENTED),# )src/gz %n_$$d %U/$$d" >> $(PKG_BUILD_DIR)/repositories.conf; \
-	done
-    endif
-  endif
+	$(call FeedSourcesAppend,$(PKG_BUILD_DIR)/repositories.conf)
 endif
 
+	echo ''                                                        >> $(PKG_BUILD_DIR)/repositories.conf
 	echo '## This is the local package repository, do not remove!' >> $(PKG_BUILD_DIR)/repositories.conf
 	echo 'src imagebuilder file:packages'                          >> $(PKG_BUILD_DIR)/repositories.conf