Re: Modularity and all the things

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux