-
Notifications
You must be signed in to change notification settings - Fork 50
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
dnfjson: enable loading of optional metadata when needed #702
Conversation
New property on the arguments object that controls the types of metadata to download for repositories and use when depsolving. See osbuild/osbuild#1775
I guess we don't really have a way to express what version of osbuild-depsolve-dnf this depends on other than making sure to set a new Requires version in osbuild-composer when this is imported, right? |
I'm wondering what would be the downside of enabling the downloading of filelists explicitly in all cases? |
The only downside is the size, which, on a slow connection, can make osbuild-composer very slow to start (building the initial rpmmd cache). Right now, this switch will make startup and depsolving faster on Fedora 40 and RHEL/CentOS 10, and I think that's nice to have. |
Enable filelists in the optional metadata for EL7, EL8, EL9, and Fedora 39. When running osbuild-depsolve-dnf with the libdnf version that's included in these distro versions, this option will have no effect since it is enabled by default. However, when depsolving packages for these distro versions with newer versions of libdnf, the filelists are disabled and can cause issues with packages that declare dependencies on filepaths. The cutoff point is a little fuzzy for CentOS and Fedora. Depsolving all our test manifests for Fedora 39 and CentOS Stream 9 without filelists works, but since the packaging guidelines of not depending on filepaths went into effect in EL10 and Fedora 40, it's possible there are packages in F39 and C9S that don't conform yet, so it's probably safer to keep filelists enabled for these distro versions.
b655800
to
7fa242f
Compare
Yes, exactly. However, since osbuild-depsolve-dnf's json deserialization isn't strict, adding this new option to the request (or any unknown property) has no effect and just gets ignored. And on the depsolver side, the property is optional, so this change is non-breaking in any direction:
Both cases will behave like the change was never made. |
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.
Looks good!
dnfjson: add OptionalMetadata property to depsolve args
New property on the arguments object that controls the types of metadata
to download for repositories and use when depsolving.
See osbuild/osbuild#1775
dnfjson: enable filelists for older distro versions
Enable filelists in the optional metadata for EL7, EL8, EL9, and Fedora 39.
When running osbuild-depsolve-dnf with the libdnf version that's
included in these distro versions, this option will have no effect since
it is enabled by default. However, when depsolving packages for these
distro versions with newer versions of libdnf, the filelists are
disabled and can cause issues with packages that declare dependencies on
filepaths.
The cutoff point is a little fuzzy for CentOS and Fedora. Depsolving
all our test manifests for Fedora 39 and CentOS Stream 9 without
filelists works, but since the packaging guidelines of not depending on
filepaths went into effect in EL10 and Fedora 40, it's possible there
are packages in F39 and C9S that don't conform yet, so it's probably
safer to keep filelists enabled for these distro versions.
Requires osbuild/osbuild#1775