From 67166fabda53f17beac304db5bc44e4be6a3ba13 Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Sun, 7 Mar 2021 18:09:32 -1000 Subject: [PATCH] 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 (cherry picked from commit fc5b101c06928884d2b0c42b11bf917d29538971) Signed-off-by: Daniel Golle --- 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 -- 2.30.2