Mailinglist Archive: opensuse-factory (435 mails)

< Previous Next >
Re: [opensuse-factory] Replacing libzypp stack with libdnf stack


On 7/7/20 5:45 AM, Carson Black wrote:
Lately, I've become somewhat displeased by a lot of shortcomings of
the libzypp stack in regards to how it serves openSUSE.

In condensed list form, my complaints are:
- zypp using external binaries for tasks (rpm, repo2solv) causes
updates that change those binaries to be be particularly unstable
We rarely have bug reports about this, so I'm not really sure what you
are referring to here.
Especially updates to librpm are messy if you link against it directly.
That's one of the reasons
libzypp uses rpm as a external binary.
- zypp upgrading is unstable when curl is being updated (from what I
can remember this is because it uses private libcurl APIs that don't
have any stability guarantees)
AFAIK we do not use private libcurl APIs do you have a example about
that? If that is the
case I'd look into changing it.
- lack of parallel downloading of packages and repository metadata
(even libalpm has this now)
We are currently working on exactly that. First step is parallel
metadata download, next
one is parallel downloads of rpms. Since the libzypp APIs is not at all
fit for concurrency we need
to jump through some hoops to make it work.
- PackageKit backend is extremely subpar (it's the only backend out of
ten or so that doesn't support cancelling transactions)
Can't say much about that since the packagekit backend is not maintained
by the zypp team though.
But I have to admit I have it disabled because it interferes with me
using zypper directly.
- nonexistence of a useful and well-documented plugin interface for zypper
There is a plugin interface
https://doc.opensuse.org/projects/libzypp/HEAD/zypp-plugins.html though.
- difficult to use from a variety of programming languages as most
bindings are broken and unsupported
True, currently only C++ would be supported.
- the C++ API itself is a mess, exposing a ton of implementation
details such as the XML parser in public API

Unfortunately, the lack of a developer ecosystem around and using
libzypp gives me extremely little hope that any of these architectural
issues will be fixed.
We are actively working on fixing many of those issues, but since we are
only a few ppl working on
it full time we need to balance it with bug fixing etc. Of course
contributors would be welcome :)


--
Benjamin Zeller <bzeller@xxxxxxx>
Systems Programmer

SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nuremberg, Germany
Tel: +49-911-74053-0; Fax: +49-911-7417755; https://www.suse.com/

(HRB 36809, AG Nürnberg)
Managing Director: Felix Imendörffer


--
To unsubscribe, e-mail: opensuse-factory+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-factory+owner@xxxxxxxxxxxx

< Previous Next >
References