Re: true or false: pkgconfig(foo) vs foo-devel

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

 



On Fri, Jul 19, 2019 at 7:14 AM Nicolas Chauvet <kwizart@xxxxxxxxx> wrote:
>
> Le ven. 19 juil. 2019 à 10:33, Nicolas Mailhot via devel
> <devel@xxxxxxxxxxxxxxxxxxxxxxx> a écrit :
> >
> > Le vendredi 19 juillet 2019 à 08:48 +0200, Remi Collet a écrit :
> > > Le 18/07/2019 à 18:26, Nicolas Chauvet a écrit :
> > > > > "Build dependencies on Fedora packages which provide pkg-config
> > > > > files SHOULD be expressed
> > > > >  as pkgconfig(foo) and not foo-devel, whether the dependent
> > > > > package uses pkg-config or not."
> > > >
> > > > This is true for the fast majority of cases. Specially where there
> > > > is
> > > > only one provider of pkgconfig(foo).
> > > >
> > > > But sometime there is a need for a compat library and then I don't
> > > > know if my package may uses the main library of the compat one.
> > > > pkgconfig(foo) will pick one or the other, but using the package
> > > > name
> > > > is more deterministic to me.
> > > >
> > >
> > > Indeed, pkgconfig(foo) start to raise issues when multiple providers
> > > exists.
> > >
> > > One example is pkgconfig(openssl)
> >
> > In quite a lot of cases versionned requires can disambiguate
>
> Enforcing a higher version than what the project really support
> doesn't seem appropriate. You will have to deal with some fedora
> specific macros to enforce the version in related branches.
> It defeats the point to use a clean and agnostic method to determine
> the dependencies based on the project needs and instead relies on any
> "state" of the repository.
>
> A way to solve this is to enforce a policy where compat libraries must
> disable pkgconfig automatic provide to dis-allow such unexpected
> behavior.
> Looking at compat-openssl10, it doesn't seem to be done.
> Assuming the right library will be picked because the compat- prefix
> will weight negatively on the build requirements seems fragile. One
> build dependency can switch to compat, such packages dependency could
> then end making the switch silently in the same time.
>

If it had been named openssl10 instead of compat-openssl, it would
have never been picked by default.

But ignoring that, if there are multiple providers (for whatever
reason), then just either use versioned deps to force a specific one,
or just switch to a specific package name. It’s not the end of the
world if you do that.



-- 
真実はいつも一つ!/ 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