Re: Fedora 32 System-Wide Change proposal: Modules in Non-Modular Buildroot

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

 



Christopher Engelhard <ce@xxxxxxx> writes:

> On 18.10.19 17:21, Robbie Harwood wrote:
>
>> While you're right that the solutions from source distros (i.e., NixOS
>> and Gentoo) would be very hard to adapt, binary distros have also solved
>> this problem in different ways.  I'm most familiar with Debian's
>> solution (virtual packages[2], provides:, and alternatives [1]) which
>> to my mind maps much more clearly onto Fedora's setup.  Obviously we
>> can't use their code wholesale without migrating to APT, but as you say,
>> the goal is to derive inspiration.
>> 
>> 1: https://wiki.debian.org/DebianAlternatives
>> 2: https://www.debian.org/doc/debian-policy/ch-relationships.html#s-virtual
>
> I'm not a Fedora packager (yet[1]), so correct me if I'm
> misunderstanding things completely, but is there any reason not to
> adapt the existing RPM provides: functionality for this?

I'm not aware of technical reasons not to do this - as Neal elaborated
on, this is already possible.

> That is essentially what Archlinux does with their pacman, where an
> second version of the same program will typically both Provide: and
> Conflict: with the 'default' package. It's extensively used by users to
> provide e.g. development versions of stable packages, see e.g.
> inkscape-git [2].
>
> - if you install inkscape, you get the default version
> - if you install inkscape-git, you get the development version
> - when resolving dependencies, pacman knows that inkscape-git provides
> the capabilities of (Provides:) but cannot be installed together with
> (Conflicts:) of the package named inkscape
> - otherwise, they are two separate packages, so you don't have the
> problem of implicitly switching streams
>
> Parallel installability is taken care of with compat packages as usual,
> though if the packages happen to be parallel installable, there's
> probably no reason not to allow that via 'provides:' without 'conflicts:'
>
> What I like about this approach that all this magic only comes into play
> when resolving dependencies. In all other circumstances they are
> packages like any other, and are treated as such.

Yup!

Thanks,
--Robbie

Attachment: signature.asc
Description: PGP signature

_______________________________________________
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