diff options
author | Paul Spooren <mail@aparcar.org> | 2024-05-14 12:36:59 +0200 |
---|---|---|
committer | Paul Spooren <mail@aparcar.org> | 2024-05-17 23:21:26 +0300 |
commit | d788ab376f859164df84e2054cbbbb0921943c5b (patch) | |
tree | 80d4b0c9cc001aa3a6f0a7a84beb6f40666d5dde /include/image.mk | |
parent | 3e5a23639f53f6a5e969f7c243b534f31399fe8a (diff) | |
download | openwrt-d788ab376f859164df84e2054cbbbb0921943c5b.tar.gz openwrt-d788ab376f859164df84e2054cbbbb0921943c5b.tar.bz2 openwrt-d788ab376f859164df84e2054cbbbb0921943c5b.zip |
build: add APK package build capabilities
A new option called `USE_APK` is added which generated APK packages
(.apk) instead of OPKG packages (.ipk).
Some features like fstools `snapshot` command are not yet ported
Signed-off-by: Paul Spooren <mail@aparcar.org>
Diffstat (limited to 'include/image.mk')
-rw-r--r-- | include/image.mk | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/include/image.mk b/include/image.mk index 0dd18dbd82..406f0b8534 100644 --- a/include/image.mk +++ b/include/image.mk @@ -278,8 +278,12 @@ define Image/mkfs/ext4 endef define Image/Manifest - $(call opkg,$(TARGET_DIR_ORIG)) list-installed > \ - $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest + $(if $(CONFIG_USE_APK), \ + $(call apk,$(TARGET_DIR_ORIG)) list --quiet --manifest --no-network | sort | sed 's/ / - /' > \ + $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest, \ + $(call opkg,$(TARGET_DIR_ORIG)) list-installed > \ + $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest \ + ) ifneq ($(CONFIG_JSON_CYCLONEDX_SBOM),) $(SCRIPT_DIR)/package-metadata.pl imgcyclonedxsbom \ $(if $(IB),$(TOPDIR)/.packageinfo, $(TMP_DIR)/.packageinfo) \ @@ -328,7 +332,20 @@ opkg_target = \ $(call opkg,$(mkfs_cur_target_dir)) \ -f $(mkfs_cur_target_dir).conf +apk_target = $(call apk,$(mkfs_cur_target_dir)) --no-scripts + + target-dir-%: FORCE +ifneq ($(CONFIG_USE_APK),) + rm -rf $(mkfs_cur_target_dir) + $(CP) $(TARGET_DIR_ORIG) $(mkfs_cur_target_dir) + mv $(mkfs_cur_target_dir)/etc/apk/repositories $(mkfs_cur_target_dir).repositories + $(if $(mkfs_packages_remove), \ + $(apk_target) del $(mkfs_packages_remove)) + $(if $(mkfs_packages_add), \ + $(apk_target) add $(mkfs_packages_add)) + mv $(mkfs_cur_target_dir).repositories $(mkfs_cur_target_dir)/etc/apk/repositories +else rm -rf $(mkfs_cur_target_dir) $(mkfs_cur_target_dir).opkg $(CP) $(TARGET_DIR_ORIG) $(mkfs_cur_target_dir) -mv $(mkfs_cur_target_dir)/etc/opkg $(mkfs_cur_target_dir).opkg @@ -342,6 +359,7 @@ target-dir-%: FORCE $(call opkg_package_files,$(mkfs_packages_add))) -$(CP) -T $(mkfs_cur_target_dir).opkg/ $(mkfs_cur_target_dir)/etc/opkg/ rm -rf $(mkfs_cur_target_dir).opkg $(mkfs_cur_target_dir).conf +endif $(call prepare_rootfs,$(mkfs_cur_target_dir),$(TOPDIR)/files) $(KDIR)/root.%: kernel_prepare |