[openwrt/openwrt] include: store ABIVersion in Packages index
LEDE Commits
lede-commits at lists.infradead.org
Wed Mar 10 09:27:35 GMT 2021
aparcar pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/fc5b101c06928884d2b0c42b11bf917d29538971
commit fc5b101c06928884d2b0c42b11bf917d29538971
Author: Paul Spooren <mail at aparcar.org>
AuthorDate: Sun Mar 7 18:09:32 2021 -1000
include: store ABIVersion in Packages index
With the existence of ABI versions there is no clean way to determine
the package name without an attached ABI version. The Packages index is
stored on device to know what packages are installed.
The ABIVersion was recently removed in c921650382 "build: drop ABI
version from metadata", while ABI versions still exists. This becomes a
problem if a user tries to export installed packages via `ubus call
rpcd-sys packagelist` which would return package names including the ABI
version. Trying to find these packages in a later release with changes
ABI version is impossible.
This commits adds the `ABIVersion` field again. Knowing both the
combined (SourceName + ABIVersion) and the `ABIVersion` it is possible
to calculate the package `SourceName` without storing it in the
on-device package list.
Signed-off-by: Paul Spooren <mail at aparcar.org>
---
include/package-ipkg.mk | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk
index 5e51b301e1..c2017cd220 100644
--- a/include/package-ipkg.mk
+++ b/include/package-ipkg.mk
@@ -184,6 +184,7 @@ $$(call addfield,Depends,$$(Package/$(1)/DEPENDS)
)$$(call addfield,Section,$(SECTION)
)$$(call addfield,Require-User,$(USERID)
)$$(call addfield,SourceDateEpoch,$(PKG_SOURCE_DATE_EPOCH)
+)$$(if $$(ABIV_$(1)),ABIVersion: $$(ABIV_$(1))
)$(if $(PKG_CPE_ID),CPE-ID: $(PKG_CPE_ID)
)$(if $(filter hold,$(PKG_FLAGS)),Status: unknown hold not-installed
)$(if $(filter essential,$(PKG_FLAGS)),Essential: yes
More information about the lede-commits
mailing list