Hi,
I am trying to create a new package in Fedora: "zstd-jni" https://github.com/luben/zstd-jni
This would allow our package "apache-commons-compress" to use zstd compression. Note that zstd-jni is a separate project from zstd. They just add some jni C and Java librry to use them.
I am facing some issues: The upstream bundles sources of "zstd" project. I believe that in Fedora this bundling is not justified. They only use some internal headers, not .c files. Unfortunately most of these headers are internal and not provided by "zstd-devel" package. Otherwise dynamic linking to the installed "zstd" package is solved.
I can choose the following approaches: 1) Keep it bundled - simpler package maintenance, possibility of issues if "zstd" shared library is updated and is incompatible with the current bundled headers, duplicate fixing of CVEs. 2) Make "zstd" package expose internal headers either in "-devel" subpackage or create a new "-internal" subpackage and copy those during the build. 3) Somehow share the sources of the "zstd" source package in "zstd-jni" package.
Moreover, how should Requires look like if i make the package dynamically link to the Fedora zstd? Should i require exact version match? Or a major / minor version match?