imagebuilder: actually support IB from buildbot
authorChristian Marangi <ansuelsmth@gmail.com>
Thu, 24 Oct 2024 18:36:43 +0000 (20:36 +0200)
committerChristian Marangi <ansuelsmth@gmail.com>
Mon, 28 Oct 2024 23:07:52 +0000 (00:07 +0100)
ImageBuilder compiled by buildbot doesn't have any package in the
packages directory. Package needs to be downloaded instead.

This works by calling update to the package manage to download the
remove index and download the file.

Fix missing support for this with APK, by configuring the
--repositories-file option and calling the APK update.

Also move the apk add --initdb to package_index.

If CONFIG_SIGNATURE_CHECK is not enabled, the signature is not checked.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
target/imagebuilder/files/Makefile

index 024002666a75912030bf30f8f714c676faeff049..3b1502cf57b1865e0ab3b217d98befb550ba7a65 100644 (file)
@@ -95,8 +95,9 @@ OPKG:=$(call opkg,$(TARGET_DIR)) \
        --lists-dir $(LISTS_DIR)
 
 APK:=$(call apk,$(TARGET_DIR)) \
-       --cache-dir $(DL_DIR) \
-       --allow-untrusted
+       --repositories-file $(TOPDIR)/repositories \
+       $(if $(CONFIG_SIGNATURE_CHECK),,--allow-untrusted) \
+       --cache-dir $(DL_DIR)
 
 
 include $(INCLUDE_DIR)/target.mk
@@ -177,7 +178,10 @@ ifeq ($(CONFIG_USE_APK),)
        ) >/dev/null 2>/dev/null
        $(OPKG) update >&2 || true
 else
-       (cd $(PACKAGE_DIR); $(APK) mkndx --output packages.adb *.apk) >&2
+       $(APK) add --initdb
+       (cd $(PACKAGE_DIR); $(APK) mkndx \
+               --allow-untrusted --output packages.adb *.apk) >/dev/null 2>/dev/null || true
+       $(APK) update >&2 || true
 endif
 
 package_reload:
@@ -220,7 +224,7 @@ ifeq ($(CONFIG_USE_APK),)
        $(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/kernel_*.ipk $(PACKAGE_DIR)/kernel_*.ipk))
        $(OPKG) install $(BUILD_PACKAGES)
 else
-       $(APK) add --initdb --no-scripts $(firstword $(wildcard $(LINUX_DIR)/libc-*.apk $(PACKAGE_DIR)/libc_*.apk))
+       $(APK) add --no-scripts $(firstword $(wildcard $(LINUX_DIR)/libc-*.apk $(PACKAGE_DIR)/libc_*.apk))
        $(APK) add --no-scripts $(firstword $(wildcard $(LINUX_DIR)/kernel-*.apk $(PACKAGE_DIR)/kernel_*.apk))
        $(APK) add --no-scripts $(BUILD_PACKAGES)
 endif