From 2999f810ff2c968e6bbe5b2fd32cfbd80f83570a Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Tue, 15 Sep 2020 12:44:36 -1000 Subject: [PATCH] build,IB: include kmods only in local builds The buildbots generate a kmod archive which should be used instead of a local copy. This is possible due to the introduction of a kernelversion specific feed. This commit adds the ability of using only signed package feeds. Signed-off-by: Paul Spooren --- target/imagebuilder/Makefile | 24 ++++++++++++++---------- target/imagebuilder/files/Makefile | 4 ++-- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile index fb6c26b482c0..1575f59b613b 100644 --- a/target/imagebuilder/Makefile +++ b/target/imagebuilder/Makefile @@ -38,23 +38,27 @@ $(BIN_DIR)/$(IB_NAME).tar.xz: clean ifeq ($(CONFIG_IB_STANDALONE),) echo '## Remote package repositories' >> $(PKG_BUILD_DIR)/repositories.conf $(call FeedSourcesAppend,$(PKG_BUILD_DIR)/repositories.conf) + $(VERSION_SED_SCRIPT) $(PKG_BUILD_DIR)/repositories.conf endif +ifeq ($(CONFIG_BUILDBOT),) + $(INSTALL_DIR) $(PKG_BUILD_DIR)/packages 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 - $(VERSION_SED_SCRIPT) $(PKG_BUILD_DIR)/repositories.conf - -ifeq ($(CONFIG_IB_STANDALONE),) - (cd $(call FeedPackageDir,libc); $(FIND) -type f -name 'libc_*.ipk' -or -name 'kernel_*.ipk' -or -name 'kmod-*.ipk') | \ - while read path; do \ - mkdir -p "$(PKG_BUILD_DIR)/packages/$${path%/*}"; \ - cp "$(call FeedPackageDir,libc)/$$path" "$(PKG_BUILD_DIR)/packages/$$path"; \ - done + ifeq ($(CONFIG_IB_STANDALONE),) + $(FIND) $(call FeedPackageDir,libc) -type f \ + \( -name 'libc_*.ipk' -or -name 'kernel_*.ipk' -or -name 'kmod-*.ipk' \) \ + -exec $(CP) -t $(PKG_BUILD_DIR)/packages {} + + else + $(FIND) $(wildcard $(PACKAGE_SUBDIRS)) -type f -name '*.ipk' \ + -exec $(CP) -t $(PKG_BUILD_DIR)/packages/ {} + + endif else - $(INSTALL_DIR) $(PKG_BUILD_DIR)/packages - find $(wildcard $(PACKAGE_SUBDIRS)) -type f -name '*.ipk' -exec $(CP) {} $(PKG_BUILD_DIR)/packages/ \; + $(FIND) $(call FeedPackageDir,libc) -type f \ + \( -name 'libc_*.ipk' -or -name 'kernel_*.ipk' \) \ + -exec $(CP) -t $(IB_LDIR)/ {} + endif $(CP) $(TOPDIR)/target/linux $(PKG_BUILD_DIR)/target/ diff --git a/target/imagebuilder/files/Makefile b/target/imagebuilder/files/Makefile index 27d3cfa8dfd5..03a95dbf6ef1 100644 --- a/target/imagebuilder/files/Makefile +++ b/target/imagebuilder/files/Makefile @@ -153,8 +153,8 @@ package_list: FORCE package_install: FORCE @echo @echo Installing packages... - $(OPKG) install $(firstword $(wildcard $(PACKAGE_DIR)/libc_*.ipk $(PACKAGE_DIR)/base/libc_*.ipk)) - $(OPKG) install $(firstword $(wildcard $(PACKAGE_DIR)/kernel_*.ipk $(PACKAGE_DIR)/base/kernel_*.ipk)) + $(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/libc_*.ipk $(PACKAGE_DIR)/libc_*.ipk)) + $(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/kernel_*.ipk $(PACKAGE_DIR)/kernel_*.ipk)) $(OPKG) install $(BUILD_PACKAGES) prepare_rootfs: FORCE -- 2.30.2