Re: Diagreement with pkgconfig removal

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

 



On Sat, Jan 14, 2017 at 10:58 AM, Pavel Raiskup <praiskup@xxxxxxxxxx> wrote:
> Hi Neal!
>
> On Saturday, January 14, 2017 9:51:39 AM CET Neal Gompa wrote:
>> > I hope no.  Can you be precise here?  I'm all for protecting Fedora's
>> > interests.;
>>
>> I strongly believe in Fedora's Foundations[0], which include a commitment to
>> "excellence" and "innovation".
>
> I hope it all is about excellence and innovation; and not about personal
> preference.  Personally, I just would let the projects themselves prove
> which of them performs better (for example, I am glad I can help Fedora
> with maintenance of 3 'tar' implementations now).  I think Gentoo for
> example has both implementations.
>

Gentoo and Debian have both pkgconfig and pkgconf, so it's not unheard of.

>> And being afraid of switching to a different and fully compatible
>> implementation of pkg-config just because it's not the implementation
>> we've used for over a decade is contrary to those values.
>
> I'm not really afraid of something now, just trying to be fair.
>
> FWIW, why it is _not a fork_, but rather complete rewrite?  Yes, rewriting
> software is fun, and WRT BSD I see a "licence issue" to be the reason for
> rewrites.
>

It was mentioned earlier in the thread that pkgconf was not originally
planned to provide a frontend interface (it was intended to be a
library). But when pkgconfig introduced the glib2 dependency, making
it difficult to build and bootstrap, pkgconf grew a CLI program to act
as a replacement.

Yes, it's licensed ISC, which is more palatable for BSDs, but everyone
was mostly okay with pkgconfig until the glib2 dependency was
introduced (and not even for a good reason, like offering a library
with g-i support). After that happened, lots of independent
implementations showed up (OpenBSD's implementation in Perl, which
lacks Conflicts support, Perl and Python implementations as modules
implementing subsets for archful builds, etc.). pkgconf intends to
offer a uniform interface for all types of applications that leverage
the pkg-config specification.

>> Because pkgconf supports the full specification, including Provides
>> rules. pkgconfig does not. It's been *years* and they never added
>> support for it.
>
> That sounds like valid argument, just to be sure .. have authors of
> pkgconf tried to submit patches against pkgconfig first?
>

I don't think so. The Provides rules support was added because I asked
for it, because there were cases where it makes complete sense to have
them. The Cflags.Requires feature was a feature request to pkgconfig 3
years ago[1] that went nowhere and led to the project in question
requesting it to switch to pkgconf. There are plenty of long-living
bugs that haven't been addressed in a while in pkgconfig[2].

[1]: https://bugzilla.freedesktop.org/show_bug.cgi?id=47996

[2]: https://bugzilla.freedesktop.org/buglist.cgi?component=src&product=pkg-config&resolution=---

>> pkgconf also does unit testing and continuous integration testing.  I
>> run the unit tests on every package build, and upstream does continuous
>> integration on various systems offering or using pkgconf.
>
> Cool.  Let's provide 'pkgconf' so we can be also three, too!  But at the
> same time please consider not dropping 'pkgconfig' for no reason.
>

We could certainly retain both implementations, but it we would need
to decide on an approach on how to keep both.

Two ways to do it:

1. Use alternatives. This is how Debian does it. I think this is
probably a bad idea because it's very possible to get inconsistent
results due to the differences of the two resolvers, depending on how
someone builds locally. The missing features in pkgconfig could lead
to a bad experience, too.

2. Rename the conflicting files in pkgconfig. I'd prefer this
approach, as then people can explicitly use it though the mechanisms
I've mentioned earlier in the thread.



-- 
真実はいつも一つ!/ Always, there's only one truth!
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [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