Re: F31 System-Wide Change proposal: Automatic strict inter-package dependencies

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

 



On Sun, Feb 24, 2019 at 09:42:10PM -0500, John Harris wrote:
> On Saturday, February 23, 2019 7:21:36 PM EST Richard W.M. Jones wrote:
> > On Mon, Feb 18, 2019 at 08:26:58PM -0500, Neal Gompa wrote:
> > 
> > > On Mon, Feb 18, 2019 at 6:31 PM Tom Stellard <tstellar@xxxxxxxxxx> wrote:
> > > 
> > > >
> > > >
> > > > Would there be some way to opt out of this?  In some cases,
> > > > %{name}-devel
> > > > Requires only %{name}-libs and not %{name}.
> > > >
> > > >
> > > 
> > > 
> > > Perhaps it's not obvious, but the idea here is that RPM will "sense"
> > > what the name of the subpackage it depends on is, and generate the
> > > correct strict dependency automatically.
> > > 
> > > For example, foo, foo-libs, libfoobaz, and foo-devel exist, built from
> > > foo.spec.
>  
> > > foo-devel requires libfoobaz.so.1 (provided by libfoobaz) and
> > > libfoo.so.0 (provided by foo-libs).
> > > 
> > > Currently, rpm generates the "libfoobaz.so.1()(64bit)" and
> > > "libfoo.so.0()(64bit)" dependencies and leaves the rest to you. This
> > > will change the behavior so that when it identifies that a subpackage
> > > produced from the spec contains that dependency, it'll be replaced
> > > with a strictly versioned dep on the subpackage. So instead of
> > > "libfoo.so.0()(64bit)", it'll be "foo-libs%{?_isa} =
> > > %{version}-%{release}". And the "libfoobaz.so.1()(64bit)" dependency
> > > would be replaced with "libfoobaz%{?_isa} = %{version}-%{release}".
> > 
> > 
> > I'm not saying it's right or wrong (but probably it's more "right"):
> > However this does change the actual semantics, I think.  I mean,
> > previously "libfoobaz.so.1()(64bit)" might have been satisfied by an
> > older -libs package, or by another package which happens to provide
> > libfoobaz.so.1.  I wonder if anything relies on that?
> > 
> > Rich.
> > 
> > 
> > > If there's no requires that matches with a provides in another
> > > subpackage that's built from the spec, rpm would not do anything, and
> > > it'll be exactly as it is now.
> > > 
> > > This is merely about optimizing requires across subpackages from the
> > > same source package.
> > > 
> > > 
> > > 
> > > --
> > > 真実はいつも一つ!/ 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://getfedora.org/code-of-conduct.html
> > > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> > > List Archives:
> > > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.o
> > > rg
> > 
> > -- 
> > Richard Jones, Virtualization Group, Red Hat
> > http://people.redhat.com/~rjones
> > Read my programming and virtualization
> > blog: http://rwmj.wordpress.com virt-df lists disk usage of guests without
> > needing to install any software inside the virtual machine.  Supports Linux
> > and Windows. http://people.redhat.com/~rjones/virt-df/
> > _______________________________________________
> > devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
> > To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
> > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
> > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> > List Archives:
> > https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
> 
> I definitely hope there is a way to opt out, as, often, it is not required to 
> have the exact same version, so long as the soname has not been bumped. There 
> are very few instances that I can think of where an soname bump is not done 
> when ABI changes.
> 
> Though where I know that to be the case, it's *bad*, and affects many other 
> things.. So I can see the reasoning.

I think the thinking is that in case of dependencies between subpackages
of the same package it's easier and safer to simply always update them
in tandem. There might be special cases (e.g. a very large data subpackage)
where it makes sense to allow more freedom, but for the great majority
of cases this kind of flexibility is not necessary. And by doing updates
in tandem, we avoid many issues where one subpackage depends on changes
in another subpackage. In fact, in don't expect changes that are not public
API to be declared in any way.

Zbyszek
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
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