Hi Khem, On Sat, Jul 25, 2026 at 1:44 AM Khem Raj <[email protected]> wrote: > > I am good with this moving to core, it justifies its existence there. Couple > of things I would ask for. > Please look into adding ptest support, it does have unit tests. I assume you > will send a removal patch to oe-devel > once its merged here.
Thank you for taking a look at this. I looked into adding ptest support. It turns out libzip's test suite can't be run with ctest alone: all 182 test cases are declarative .test files executed by nihtest [1], a test driver written by the libzip author. CMake hard-disables the suite when nihtest is not found (find_program(NIHTEST nihtest) -> "nihtest not found, regression testing disabled"), and every add_test() entry the suite registers is just an invocation of nihtest -v <case>.test. So ptest support for libzip implies a bit of overhead - pulling one more package into OE-Core: a python3-nihtest recipe (pure Python, around 1.5k LOC, no dependencies beyond the python3 stdlib, BSD-3-Clause). It also means the ptest image needs python3 to test a C library. Are you fine with the additional recipe? If so, I'll send a v2 as a two-patch series (python3-nihtest + libzip with ptest support). Regarding the removal patch to oe-devel - sure, this is already in my todo list. [1] https://github.com/nih-at/nihtest > On Fri, Jul 24, 2026 at 6:15 AM Igor Opaniuk via lists.openembedded.org > <[email protected]> wrote: >> >> 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 >> >> >> >> Best regards, Igor
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#242014): https://lists.openembedded.org/g/openembedded-core/message/242014 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]] -=-=-=-=-=-=-=-=-=-=-=-
