Browse Source

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 <[email protected]>
Paul Spooren 5 years ago
parent
commit
2999f810ff
2 changed files with 16 additions and 12 deletions
  1. 14 10
      target/imagebuilder/Makefile
  2. 2 2
      target/imagebuilder/files/Makefile

+ 14 - 10
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/

+ 2 - 2
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