1 |
On Sat, May 10, 2014 at 9:00 AM, hasufell <hasufell@g.o> wrote: |
2 |
> |
3 |
> Our philosophy states that our tools "should be a joy to use". If we add |
4 |
> random hackery on stuff that affects portability across distros, then |
5 |
> this doesn't hold true anymore. |
6 |
> |
7 |
|
8 |
Which one of our tools is at risk of not being a joy to use? All of |
9 |
the tools we're talking about here have no origin in Gentoo. |
10 |
|
11 |
It sounds like the impact is to upstream developers who use Gentoo not |
12 |
realizing that a library they depend on doesn't actually provide a |
13 |
pkg-config file across all distros. How large an issue is this in |
14 |
practice? It sounds like somebody will build something which works |
15 |
fine in their testing, and then somebody will get a compiler error on |
16 |
some other distro and report it, and then they can take 2min to fix |
17 |
their build system once and for all. |
18 |
|
19 |
What solutions do we have? Obviously we should try to get upstream to |
20 |
change, but when they don't I don't see a universal policy that makes |
21 |
sense. |
22 |
|
23 |
We could ban non-upstream pkg-config files entirely, in which case |
24 |
build systems that work for every other distro that supplies them may |
25 |
fail on Gentoo and we need to patch them (and for users building their |
26 |
own software that hardly sounds like a joy to use). Or we could force |
27 |
them to be renamed to gentoo-foo, in which case again build systems |
28 |
that work fine for every other distro that doesn't do this fail on |
29 |
Gentoo. Or we could leave it up to the maintainer, in which case we |
30 |
basically end up with what we have today. |
31 |
|
32 |
I could see guidelines, but even those are going to be hazy. Maybe |
33 |
recommend using a gentoo prefix on the pkg-config file when we're the |
34 |
only distro doing something. However, then we run into the prefix |
35 |
changing on a later release and then reverse dependencies break. |
36 |
|
37 |
We could have a USE flag which blocks installation of non-upstream |
38 |
pkg-config files. Of course, it might not be practical to use since |
39 |
anything which depends on the library in question might force it to |
40 |
not be set so that its own build system can rely on it. Sure, we |
41 |
could patch the build system to not require it, but most likely the |
42 |
build system does require it is that it is common on other distros so |
43 |
we're the ones standing alone. |
44 |
|
45 |
So, while I agree that the current state isn't ideal, I'm not sure |
46 |
that it is any worse than the alternatives. |
47 |
|
48 |
Rich |