Recent versions of the qdl tool [1], used for flashing and provisioning
Qualcomm-based boards, depend on libzip in order to flash images
directly from zip-compressed flat builds without unpacking them: the
device requests individual images on demand (in Sahara/Firehose
device-driven order), which requires random access to archive members
by name. Neither zlib (byte-stream compression only, no container
format support) nor libarchive (streaming, sequential access only)
covers this use case.

qdl recipes are provided by the Qualcomm BSP layer (e.g. meta-qcom [2])
and board flashing is core BSP functionality. Recipes from other layers
also depend on libzip (libsigrok, idevicerestore and php in meta-oe,
localsearch in meta-gnome), so it makes sense to move libzip to
OE-Core in order to reduce inter-layer dependencies, following the
example of commit 1a0196a794 ("libconfig: import recipe from meta-oe").

Changes between meta-oe and this recipe:
- Added SUMMARY, BUGTRACKER and SECTION
- Fixed the tools and examples PACKAGECONFIGs to use the actual
  BUILD_TOOLS and BUILD_EXAMPLES CMake options (ENABLE_TOOLS and
  ENABLE_EXAMPLES do not exist and were silently ignored)
- Fixed the tests PACKAGECONFIG to use BUILD_REGRESS consistently
- Dropped the mbedtls PACKAGECONFIG, as mbedtls is not in OE-Core
- Extended BBCLASSEXTEND with nativesdk

[1] https://github.com/linux-msm/qdl
[2] https://github.com/qualcomm-linux/meta-qcom
Signed-off-by: Igor Opaniuk <[email protected]>
---
 meta/conf/distro/include/maintainers.inc      |  1 +
 meta/recipes-extended/libzip/libzip_1.11.4.bb | 30 +++++++++++++++++++
 2 files changed, 31 insertions(+)
 create mode 100644 meta/recipes-extended/libzip/libzip_1.11.4.bb

diff --git a/meta/conf/distro/include/maintainers.inc 
b/meta/conf/distro/include/maintainers.inc
index b49386a27d..eac288126a 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -469,6 +469,7 @@ RECIPE_MAINTAINER:pn-libxv = "Unassigned 
<[email protected]>"
 RECIPE_MAINTAINER:pn-libxvmc = "Unassigned <[email protected]>"
 RECIPE_MAINTAINER:pn-libxxf86vm = "Unassigned <[email protected]>"
 RECIPE_MAINTAINER:pn-libyaml = "Wang Mingyu <[email protected]>"
+RECIPE_MAINTAINER:pn-libzip = "Igor Opaniuk <[email protected]>"
 RECIPE_MAINTAINER:pn-lighttpd = "Unassigned <[email protected]>"
 RECIPE_MAINTAINER:pn-linux-dummy = "Unassigned <[email protected]>"
 RECIPE_MAINTAINER:pn-linux-firmware = "Vivek Puar <[email protected]>"
diff --git a/meta/recipes-extended/libzip/libzip_1.11.4.bb 
b/meta/recipes-extended/libzip/libzip_1.11.4.bb
new file mode 100644
index 0000000000..36f7d1faf5
--- /dev/null
+++ b/meta/recipes-extended/libzip/libzip_1.11.4.bb
@@ -0,0 +1,30 @@
+SUMMARY = "C library for reading, creating, and modifying zip archives"
+DESCRIPTION = "libzip is a C library for reading, creating, and modifying \
+zip archives. Files can be added from data buffers, files, or compressed \
+data copied directly from other zip archives. Changes made without closing \
+the archive can be reverted."
+HOMEPAGE = "https://libzip.org/";
+BUGTRACKER = "https://github.com/nih-at/libzip/issues";
+SECTION = "libs"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d8a9d2078f35e61cf1122ccd440687cf"
+
+DEPENDS = "zlib bzip2"
+
+SRC_URI = "https://libzip.org/download/libzip-${PV}.tar.xz";
+SRC_URI[sha256sum] = 
"8a247f57d1e3e6f6d11413b12a6f28a9d388de110adc0ec608d893180ed7097b"
+
+inherit cmake
+
+PACKAGECONFIG ?= "ssl lzma tools examples"
+
+PACKAGECONFIG[ssl] = "-DENABLE_OPENSSL=ON,-DENABLE_OPENSSL=OFF,openssl"
+PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF,gnutls nettle"
+PACKAGECONFIG[lzma] = "-DENABLE_LZMA=ON,-DENABLE_LZMA=OFF,xz"
+PACKAGECONFIG[zstd] = "-DENABLE_ZSTD=ON,-DENABLE_ZSTD=OFF,zstd"
+PACKAGECONFIG[tools] = "-DBUILD_TOOLS=ON,-DBUILD_TOOLS=OFF"
+PACKAGECONFIG[examples] = "-DBUILD_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF"
+PACKAGECONFIG[tests] = "-DBUILD_REGRESS=ON,-DBUILD_REGRESS=OFF"
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.53.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#241932): 
https://lists.openembedded.org/g/openembedded-core/message/241932
Mute This Topic: https://lists.openembedded.org/mt/120425404/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to