On Tue, Nov 5, 2019 at 11:22 PM Randy Barlow <bowlofeggs@xxxxxxxxxxxxxxxxx> wrote: > > On Tue, 2019-11-05 at 21:17 -0500, Neal Gompa wrote: > > This feature of "slotting" multiple EVRs of the same name actually > > already exists in RPM. DNF currently restricts this to packages that > > contain one of the following provides: > > * installonlypkg(kernel) > > * installonlypkg(kernel-module) > > * installonlypkg(vm) > > * multiversion(kernel) > > > > It's not terribly difficult to extend this functionality to apply > > more > > broadly than kernels and VM images wrapped in RPMs. :) > > That's a good point. I had actually noticed that the kernel was > "special" in this regard. > > Is this hardcoded in dnf? When I grep for "installonly", I see this: > > /etc/dnf/dnf.conf:installonly_limit=3 > > I guess that's why I get 3 kernels, but I'm wondering if I can expand > that set as a user? Probably not a good idea to mess with > It is currently hardcoded in three places: * https://github.com/rpm-software-management/libdnf/blob/35291d87e8b075fc556f1a50d144c46add412fbc/libdnf/conf/Const.hpp#L38-L42 * https://github.com/rpm-software-management/libdnf/blob/35291d87e8b075fc556f1a50d144c46add412fbc/libdnf/dnf-context.cpp#L912-L932 * https://github.com/rpm-software-management/dnf/blob/36705581ce0589176e5a12ffc91a85e0edec4c63/dnf/const.py.in#L30-L34 Changing this back to being configurable from dnf.conf or just making it match on Provides condition (like multiversion(*) / installonlypkg(*) ) would allow us to try it with more packages. > In any case, you are right that we could make it so other packages > allowed installing more than one of the same name using this, but there > would need to be awareness of which ones can and can't be > simultaneously installed, and that's what Gentoo's slot feature > achieves. For example, we could start calling python simply "python", > but there would have to be a way to denote that some Python's can and > can't be parallel installed (you can't parallel install a 3.6.1 and > 3.6.2, but you *can* parallel install a 3.6.1 and a 3.5.2), and also > that some other packages cannot be parallel installed (like grep, since > it occupies /usr/bin/grep). But yeah, it does sound like dnf does have > some of the code we'd need to do that. There would definitely need to be some tweaking for that, but it's not insurmountable. -- 真実はいつも一つ!/ Always, there's only one truth! _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx 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@xxxxxxxxxxxxxxxxxxxxxxx