On Mon, Dec 21, 2020 at 1:42 PM Matthew Miller <mat...@fedoraproject.org> wrote:
>
> On Mon, Dec 21, 2020 at 07:14:08PM +0100, Marius Schwarz wrote:
> > delta rpms safe so much time in form of bandwidth on the client side.
> > If something really needs to change, it is the 50+ MB repo database
> > that gets downloaded. It takes ages on slow connections to download
>
> This needs a followup. I didn't push on it because the DNF team was
> super-busy with modularity, but if someone wants to pick this up, it'd be a
> significant improvement:
>
> https://pagure.io/packaging-committee/issue/714
>
> In short, 95% of the dependency data is full filename paths. That's not
> hyperbole. It's literally 95% by count. Actually probably even more by
> _space_ since they tend to be long.
>
> Only a tiny fraction of packages use these at all, and almost all of the
> packages using file deps outside of /usr/bin, /usr/sbin, or /etc could use
> something else — and of the few using something else, many are actually
> doing so only in error.
>
> It remains convenient to be able to do
>
>    dnf install /usr/share/fonts/jetbrains-mono-fonts/JetBrainsMono-Regular.ttf
>
> or whatever, but that seems like it could be covered by a DNF plugin.
>
> Previously, there was a chicken-and-egg scenario where the DNF folks didn't
> want to touch this while people were still making packages relying on this
> feature, but since 2018 that's a "SHOULD NOT" in the guidelines. So, I
> think there's room to move forward, should anyone like to take this on.
>
> https://docs.fedoraproject.org/en-US/packaging-guidelines/#_file_and_directory_dependencies
>

The main problem is that wiring libsolv to callback to
opportunistically fetch and repopulate the solver cache has not been
figured out for libdnf. Once we do that, we don't need to do any more
work. Most cases will automatically only fetch primary.xml and
filelists.xml will only be fetched as requested. This is the behavior
that YUM v3 had, and it wasn't ported to DNF because we lacked a
mechanism to do this. In *theory*, such a mechanism exists now in
libsolv, though the API is sufficiently confusing that I'm not sure
how to do it exactly.

As someone who has to package for multiple distributions, I would
oppose any attempt to cripple DNF to stop supporting file dependencies
properly. I *aggressively* use file dependencies to avoid having to
litter my spec files with package name dependencies across RH/Fedora,
SUSE, Mandriva/Mageia, and others.



-- 
真実はいつも一つ!/ Always, there's only one truth!
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to