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 <jow@openwrt.org>

SVN-Revision: 45799
This commit is contained in:
Jo-Philipp Wich 2015-05-28 09:47:37 +00:00
parent 21e16964bf
commit 3c5357d6ef
3 changed files with 16 additions and 24 deletions

View file

@ -24,3 +24,16 @@ $(strip $(if $(CONFIG_PER_FEED_REPO), \
$(abspath $(PACKAGE_DIR)/$(if $(Package/$(1)/feed),$(Package/$(1)/feed),base)), \ $(abspath $(PACKAGE_DIR)/$(if $(Package/$(1)/feed),$(Package/$(1)/feed),base)), \
$(PACKAGE_DIR))) $(PACKAGE_DIR)))
endef 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

View file

@ -115,18 +115,7 @@ define Package/opkg/Default/install
ifneq ($(CONFIG_SIGNED_PACKAGES),) ifneq ($(CONFIG_SIGNED_PACKAGES),)
echo "option check_signature 1" >> $(1)/etc/opkg.conf echo "option check_signature 1" >> $(1)/etc/opkg.conf
endif endif
ifeq ($(CONFIG_PER_FEED_REPO),) $(call FeedSourcesAppend,$(1)/etc/opkg.conf)
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
$(VERSION_SED) $(1)/etc/opkg.conf $(VERSION_SED) $(1)/etc/opkg.conf
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/opkg-cl $(1)/bin/opkg $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/opkg-cl $(1)/bin/opkg
endef endef

View file

@ -37,20 +37,10 @@ $(BIN_DIR)/$(IB_NAME).tar.bz2: clean
ifeq ($(CONFIG_IB_STANDALONE),) ifeq ($(CONFIG_IB_STANDALONE),)
echo '## Remote package repositories' >> $(PKG_BUILD_DIR)/repositories.conf echo '## Remote package repositories' >> $(PKG_BUILD_DIR)/repositories.conf
ifeq ($(CONFIG_PER_FEED_REPO),) $(call FeedSourcesAppend,$(PKG_BUILD_DIR)/repositories.conf)
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
endif endif
echo '' >> $(PKG_BUILD_DIR)/repositories.conf
echo '## This is the local package repository, do not remove!' >> $(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 echo 'src imagebuilder file:packages' >> $(PKG_BUILD_DIR)/repositories.conf