Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reqwest integration? #4

Open
wolfv opened this issue Nov 14, 2023 · 2 comments
Open

Reqwest integration? #4

wolfv opened this issue Nov 14, 2023 · 2 comments

Comments

@wolfv
Copy link

wolfv commented Nov 14, 2023

We've been working on resolvo-rpm: https://github.com/prefix-dev/resolvo-rpm

And wrote our own little reqwest integration (super bare-bones).

It would be nice if we could fetch the repodata using rpmrepo_metadata directly.

I am also not sure what repodata's are relevant in the rpm world (we're only using Everything/x86_64/os for now, but maybe "update" is also relevant?

@dralley
Copy link
Owner

dralley commented Nov 14, 2023

It would be nice if we could fetch the repodata using rpmrepo_metadata directly.

I have the rpmrepo_download crate name reserved for a librepo analogue. I haven't started on a Rust version but I did kind of start on a Python version, which I needed more immediately and figured could be a nice prototype.

https://github.com/dralley/rpmrepo/blob/master/rpmrepo/download.py

But, like, "started" is a bit strong because I haven't done much meaningful work on it in a year.

I am also not sure what repodata's are relevant in the rpm world (we're only using Everything/x86_64/os for now, but maybe "update" is also relevant?

Repo structure depends on the distro. Fedora has a release repo with the release-day versions of all packages, and the updates repo, with any updates released after release day.

In RHEL and CentOS there is no separation, there's just one set of repos including all packages.

Except: there's still separate repos for e.g. debug packages.

@dralley
Copy link
Owner

dralley commented Nov 14, 2023

I have a mild preference for simpler synchronous libraries like ureq (in combination with threads) that don't pull in the whole async dependency stack, since a client library like this is only going to be handling a small number of concurrent downloads.

If async is helpful to implementing certain features that would otherwise be a pain, then I have nothing against it, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants