build,IB: include kmods only in local builds
authorPaul Spooren <mail@aparcar.org>
Tue, 15 Sep 2020 22:44:36 +0000 (12:44 -1000)
committerDaniel Golle <daniel@makrotopia.org>
Fri, 30 Oct 2020 00:39:09 +0000 (00:39 +0000)
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 <mail@aparcar.org>
target/imagebuilder/Makefile
target/imagebuilder/files/Makefile

index fb6c26b482c04da3420221e6856088ae5747bf35..1575f59b613bee9777133b71fd4360eebb77e3a9 100644 (file)
@@ -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/
index 27d3cfa8dfd5e5b7de0465db2ebff277e2040a14..03a95dbf6ef14fdddb2fb9ca1752e31661984dee 100644 (file)
@@ -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