imagebuilder: fix broken IB_STANDALONE option

Fix broken IB_STANDALONE option for OPKG due to an error in ifdef logic
where we weren't adding the required entry to reference the local files
in repositories.conf

Rework the ifdef to more explicit and restore original functionality of
this option.

While at it also provide different README for APK or OPKG.

Fixes: d788ab376f ("build: add APK package build capabilities")
Link: https://github.com/openwrt/openwrt/pull/15599
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This commit is contained in:
Christian Marangi 2024-05-31 13:08:02 +02:00
parent b1bddb1d35
commit a39d9693e6
No known key found for this signature in database
GPG Key ID: AC001D09ADBFEAD7
3 changed files with 18 additions and 3 deletions

View File

@ -43,24 +43,29 @@ $(BIN_DIR)/$(IB_NAME).tar.zst: clean
$(INSTALL_DIR) $(PKG_BUILD_DIR)/packages $(INSTALL_DIR) $(PKG_BUILD_DIR)/packages
ifeq ($(CONFIG_IB_STANDALONE),)
ifneq ($(CONFIG_USE_APK),) ifneq ($(CONFIG_USE_APK),)
ifeq ($(CONFIG_IB_STANDALONE),)
$(call FeedSourcesAppendAPK,$(PKG_BUILD_DIR)/repositories) $(call FeedSourcesAppendAPK,$(PKG_BUILD_DIR)/repositories)
$(VERSION_SED_SCRIPT) $(PKG_BUILD_DIR)/repositories $(VERSION_SED_SCRIPT) $(PKG_BUILD_DIR)/repositories
endif
$(INSTALL_DATA) ./files/README.apk.md $(PKG_BUILD_DIR)/packages/README.md
else else
ifeq ($(CONFIG_IB_STANDALONE),)
echo '## Remote package repositories' >> $(PKG_BUILD_DIR)/repositories.conf echo '## Remote package repositories' >> $(PKG_BUILD_DIR)/repositories.conf
$(call FeedSourcesAppendOPKG,$(PKG_BUILD_DIR)/repositories.conf) $(call FeedSourcesAppendOPKG,$(PKG_BUILD_DIR)/repositories.conf)
$(VERSION_SED_SCRIPT) $(PKG_BUILD_DIR)/repositories.conf $(VERSION_SED_SCRIPT) $(PKG_BUILD_DIR)/repositories.conf
endif
# create an empty package index so `opkg` doesn't report an error # create an empty package index so `opkg` doesn't report an error
touch $(PKG_BUILD_DIR)/packages/Packages touch $(PKG_BUILD_DIR)/packages/Packages
$(INSTALL_DATA) ./files/README.md $(PKG_BUILD_DIR)/packages/ $(INSTALL_DATA) ./files/README.opkg.md $(PKG_BUILD_DIR)/packages/README.md
echo '' >> $(PKG_BUILD_DIR)/repositories.conf 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
endif endif
endif
ifeq ($(CONFIG_BUILDBOT),) ifeq ($(CONFIG_BUILDBOT),)
ifeq ($(CONFIG_IB_STANDALONE),) ifeq ($(CONFIG_IB_STANDALONE),)

View File

@ -0,0 +1,10 @@
# ./packages folder
Add `.apk` packages to this folder will allow the ImageBuilder to install them.
For more complex setups consider adding a custom feed containing packages.
file:///path/to/Packages.adb
Whenever the ImageBuilder builds a firmware image this folder will be reloaded
and a new package index created.