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
Add APIs to disable fetching filelists #416
Add APIs to disable fetching filelists #416
Conversation
As part of [rpm-ostree jigdo ♲📦](coreos/rpm-ostree#1081) I'd like to make it cheaper to fetch metadata. For Fedora currently the filelists metadata is enormous. In jigdo mode, we don't need it, so let's add APIs to avoid fetching it.
Also related: coreos/rpm-ostree#1127 |
For example, today I have jigdo mode deployed in our CI: |
@cgwalters So what happens when someone requests something that uses a dep not in |
All depsolving etc. was done on the server side; we just need the `primary.xml` in order to enumerate available jigdoRPMs. Requires: rpm-software-management/libdnf#416
Downstream usage: coreos/rpm-ostree#1234
This patch only applies in pure jigdo mode, i.e. "image/ostree-only" mode. As soon as you e.g. And this way things are also (more) efficient for people who do their own custom rpm-ostree composes. |
@cgwalters I like the idea of being able to just dynamically turn off and on parts of the metadata downloaded based on the situation. Do you think we can have this happen during normal libdnf/DNF operations so that we only download primary until we need to resolve a file dep not there and then get filelists? And thinking a bit further, if someone wants to retrieving changelogs from the repository, it'd be nice to fetch that on-demand too... |
That sounds hard, and we're very likely to end up downloading the filelists anyways at least for Fedora due to how prevalent they are. In the short term I'm likely to work on my "server side depsolving/filtering" idea instead. |
* @context: a #DnfContext instance. | ||
* @enable_filelists: %TRUE to download and parse filelist metadata | ||
* | ||
* Enables or disables download and parsing of filelists. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since
?
**/ | ||
void | ||
dnf_context_set_enable_filelists (DnfContext *context, | ||
gboolean enable_filelists) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, actually, maybe we should have a new setup_sack_with_flags
which defaults to NONE
? E.g. for auto-updates, I'd like to be able to specify UPDATEINFO
. And also to add a new flag to not fall back to updating an out-of-date repo.
All depsolving etc. was done on the server side; we just need the `primary.xml` in order to enumerate available jigdoRPMs. Requires: rpm-software-management/libdnf#416
This patch is included in #420. There's also a |
All depsolving etc. was done on the server side; we just need the `primary.xml` in order to enumerate available jigdoRPMs. Requires: rpm-software-management/libdnf#416
All depsolving etc. was done on the server side; we just need the `primary.xml` in order to enumerate available jigdoRPMs. Update submodule: libdnf Requires: rpm-software-management/libdnf#416
All depsolving etc. was done on the server side; we just need the `primary.xml` in order to enumerate available jigdoRPMs. Update submodule: libdnf Requires: rpm-software-management/libdnf#416
All depsolving etc. was done on the server side; we just need the `primary.xml` in order to enumerate available rojigRPMs. Update submodule: libdnf Requires: rpm-software-management/libdnf#416
All depsolving etc. was done on the server side; we just need the `primary.xml` in order to enumerate available rojigRPMs. Update submodule: libdnf Requires: rpm-software-management/libdnf#416
All depsolving etc. was done on the server side; we just need the `primary.xml` in order to enumerate available rojigRPMs. Update submodule: libdnf Requires: rpm-software-management/libdnf#416
All depsolving etc. was done on the server side; we just need the `primary.xml` in order to enumerate available rojigRPMs. Update submodule: libdnf Requires: rpm-software-management/libdnf#416 Closes: #1268 Approved by: cgwalters
+1 from me. Looks like a nice improvement that just adds new API without changing anything for existing consumers. |
Closing in favor of #420 |
As part of rpm-ostree jigdo ♲📦
I'd like to make it cheaper to fetch metadata. For Fedora currently
the filelists metadata is enormous. In jigdo mode, we don't need it,
so let's add APIs to avoid fetching it.