mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-01-28 01:17:30 +01:00
imagebuilder: add ABI suffix to packages when using apk
Some checks failed
Some checks failed
If an apk package with an ABI version doesn't have priority set, it
can't be selected by its base name:
$ make manifest PACKAGES='libustream-openssl libsqlite3'
ERROR: unable to select packages:
libsqlite3 (virtual):
note: please select one of the 'provided by'
packages explicitly
provided by: libsqlite3-0
required by: world[libsqlite3]
libustream-openssl (virtual):
note: please select one of the 'provided by'
packages explicitly
provided by: libustream-openssl20201210
required by: world[libustream-openssl]
Look up the ABI version in apk index and if present, add an ABI suffix
to all requested packages.
Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21449
(cherry picked from commit 31cdd13d22)
Link: https://github.com/openwrt/openwrt/pull/21547
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
d943ebf5b3
commit
43057c5c16
1 changed files with 28 additions and 4 deletions
|
|
@ -145,6 +145,32 @@ BUILD_PACKAGES:=$(sort $(DEFAULT_PACKAGES) $($(USER_PROFILE)_PACKAGES) kernel)
|
|||
BUILD_PACKAGES:=$(filter-out $(filter -%,$(BUILD_PACKAGES)) $(patsubst -%,%,$(filter -%,$(BUILD_PACKAGES))),$(BUILD_PACKAGES))
|
||||
BUILD_PACKAGES:=$(USER_PACKAGES) $(BUILD_PACKAGES)
|
||||
BUILD_PACKAGES:=$(filter-out $(filter -%,$(BUILD_PACKAGES)) $(patsubst -%,%,$(filter -%,$(BUILD_PACKAGES))),$(BUILD_PACKAGES))
|
||||
|
||||
ifneq ($(CONFIG_USE_APK),)
|
||||
BUILD_PACKAGES+= \
|
||||
"base-files=$(BASE_FILES_VERSION)" \
|
||||
"libc=$(LIBC_VERSION)" \
|
||||
"kernel=$(KERNEL_VERSION)"
|
||||
endif
|
||||
|
||||
# Get ABI version suffix for a package from an apk index
|
||||
#
|
||||
# 1: package name
|
||||
define GetABISuffix
|
||||
$(shell $(APK) query --fields tags --match provides $(1) | grep openwrt:abiversion | awk -F= '{print $$2; exit}')
|
||||
endef
|
||||
|
||||
# Format packages by adding an ABI version suffix if found
|
||||
#
|
||||
# 1: list of packages
|
||||
define FormatPackages
|
||||
$(strip $(foreach pkg,$(strip $(subst ",,$(1))),
|
||||
$(eval pkg_name:=$(firstword $(subst =, ,$(pkg))))
|
||||
$(if $(findstring =,$(pkg)),$(eval pkg_ver:==$(lastword $(subst =, ,$(pkg)))))
|
||||
$(pkg_name)$(call GetABISuffix,$(pkg_name))$(pkg_ver)
|
||||
))
|
||||
endef
|
||||
|
||||
PACKAGES:=
|
||||
|
||||
_call_image: staging_dir/host/.prereq-build
|
||||
|
|
@ -229,10 +255,8 @@ ifeq ($(CONFIG_USE_APK),)
|
|||
$(OPKG) install $(wildcard $(PACKAGE_DIR)/kernel_*.ipk)
|
||||
$(OPKG) install $(BUILD_PACKAGES)
|
||||
else
|
||||
$(APK) add --arch $(ARCH_PACKAGES) --no-scripts $(BUILD_PACKAGES) \
|
||||
"base-files=$(BASE_FILES_VERSION)" \
|
||||
"libc=$(LIBC_VERSION)" \
|
||||
"kernel=$(KERNEL_VERSION)"
|
||||
$(eval BUILD_PACKAGES:=$(call FormatPackages,$(BUILD_PACKAGES)))
|
||||
$(APK) add --arch $(ARCH_PACKAGES) --no-scripts $(BUILD_PACKAGES)
|
||||
endif
|
||||
|
||||
prepare_rootfs: FORCE
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue