Open dcermak opened 5 months ago
Since we are currently rewriting code to be executed async we'd need to build our own repo2solv binary ( libsolv has no thread support )... which probably would not be smaller than the one we are currently shipping..
Once we are there we can try and build a binary that only does what we want and links libsolv directly and see if its smaller.
We're currently using repo2solv
and rpmdb2solv
. And we wan't dumpsolv
to be available on the system.
(we may depend on mergesolv
in the future)
Maybe @mlschroe likes to split a few things into a basic libsolv-tools and move the stuff also covered by repo2solv into an extra package (updateinfoxml2solv, susetags2solv, rpmmd2solv, rpms2solv, helix2solv, deltainfoxml2solv..)
libsolv could also expose those features as library function
libzypp depends on libsolv-tools due to a single line of code where
repo2solv
is invoked: https://github.com/openSUSE/libzypp/blob/fb7deafb939552116b7677007305e2ea0d28bdd1/zypp/RepoManager.cc#L452Would it be possible to drop this external call and use parts of libsolv directly? I know that https://github.com/openSUSE/libsolv/blob/master/tools/repo2solv.c is not exactly small, but maybe not all of its functionality is absolutely required?
This would allow us to make our containers a bit smaller by dropping the libsolv-tools dependency entirely.