libdnf icon indicating copy to clipboard operation
libdnf copied to clipboard

[dnf5] collaborate on `libpowerloader` for repodata / package downloading

Open wolfv opened this issue 3 years ago • 1 comments

Hi all,

I wanted to start a more formal discussion on collaborating on the powerloader effort. As we've discussed before, it's a port of parts of librepo to C++ (only the parts concerned with downloading of data, nothing about reading repodata formats).

I think it would match pretty well with the design of dnf!

Similarly to librepo, you can define DownloadTarget with checksums and Mirrors. Automatic mirror selection and parallel downloading, retries will be performed by a Downloader. Callbacks can be attached for progress bars etc.

We've also worked on zchunk support (including making zchunk available on Windows and macOS! :)

The "Mirror" can now be extended by subclassing it and there is an additional "authentication" state. This is used for communicating with (private) S3 or OCI registries.

Powerloader also includes some code to upload to mirrors, specifically S3 and OCI have a strict protocol for that.

For our part (to integrate powerloader into the mamba package manager) -- we're getting closer to shipping that as it already offers a lot of interesting benefits to the project.

I'd be curious to hear if there is (still) interest in trying this out and eventually collaborating on the project?

wolfv avatar Feb 23 '22 08:02 wolfv

Thank you very much for reaching us. For sure we want to cooperate because there are multiple features that are not provided by current librepo. But there is one problem. Right now we are preparing the new packages for Fedora 38 and 39. We need to finish it firs and then we can start to work on replacement of librepo.

j-mracek avatar Apr 04 '22 14:04 j-mracek