1 |
Over on #gentoo-releng and in gentoo-catalyst@ we've been running into |
2 |
binary package dependency problems [1]. Before EAPI-5 and sub-slots, |
3 |
the version of dependency packages is not recorded in the binary |
4 |
package metadata (the Packages file). For example, a binary package |
5 |
for GCC built against mpc-0.8.2 will link to libmpc.so.2. If you |
6 |
install that package on a system that only has mpc-1.0.1 (and thus, |
7 |
libmpc.so.3), your cc1 will crash because libmpc.so.2 is missing. |
8 |
What we need is a way to track ABI sub-slot dependencies for all |
9 |
packages, even those that currently use EAPI-0. |
10 |
|
11 |
My initial idea was to store a fake EAPI-5-style sub-slot information |
12 |
in the binary package metadata, but further discussion on |
13 |
#gentoo-portage pointed me at the toolchain folks: |
14 |
|
15 |
10:33 < zmedico> dol-sen: wouldn't it be easier to just migrate |
16 |
those pkgs to EAPI 5 + slot-operator? |
17 |
10:34 * zmedico doesn't feel like doing extra work when EAPI 5 |
18 |
already does everything we need |
19 |
… |
20 |
11:16 < Tommy[D]_> Zero_Chaos: my suggestion: ask the toolchain guys |
21 |
about their preferred way (like updating existing eclass, |
22 |
using a new eclass, moving code into ebuilds) and when you |
23 |
got that, do the needed work, including an EAPI-5 version of |
24 |
toolchain ebuilds |
25 |
|
26 |
I looked in bugzilla for requests to update the toolchain EAPIs, but |
27 |
didn't find anything [2]. I don't want to bother people if the issue |
28 |
had already been hashed out, and searching on Gmane turned up the |
29 |
“[RFC] Drop EAPI=0 requirement for system packages.” thread from last |
30 |
October [3]. This early comment from Rich seemed to summarize the |
31 |
anti-EAPI-bump camp: |
32 |
|
33 |
On Wed, Oct 17, 2012 at 03:00:12PM -0400, Rich Freeman wrote: |
34 |
> A policy that says all new ebuilds shall use EAPI foo might result in |
35 |
> fewer new ebuilds. Sure, they'll have new and shiny fooness, but |
36 |
> arguably I'd rather have more packages supported on older EAPIs then |
37 |
> fewer packages supported on newer ones. |
38 |
> |
39 |
> Again, as I stated before, things that actually benefit the end users |
40 |
> like slot dependencies are fine to mandate when it makes sense to do |
41 |
> so. |
42 |
|
43 |
In other words, “Why force folks to do this if there is no benefit?”. |
44 |
This is understandable, but I think the broken binary packages [1] are |
45 |
enough of a visible benefit. The thread suggested filing bugs for |
46 |
bumping effected packages, but for this issue “effected packages” is |
47 |
“anything you might want to distribute as a binary package that uses |
48 |
something without EAPI-5 sub-slots” [4]. I'm happy to start filing |
49 |
bugs, but that doesn't strike me as the most productive way forward. |
50 |
|
51 |
If anyone can think of other solutions besides tweaking Portage or |
52 |
bumping a bunch of package EAPIs, I'd be happy to hear them ;). |
53 |
Otherwise I'd be happy to hear suggestions about moving forward on at |
54 |
least one of those fronts. Since I seem to be the most bothered by |
55 |
this issue, it's only fair that I help with the itch scratching. I |
56 |
just need a roadmap from the folks with commit access so I can start |
57 |
chipping away at whichever solution y'all think looks most appealing |
58 |
;). |
59 |
|
60 |
Cheers, |
61 |
Trevor |
62 |
|
63 |
[1]: http://thread.gmane.org/gmane.linux.gentoo.catalyst/2137/focus=2237 |
64 |
[2]: https://bugs.gentoo.org/buglist.cgi?short_desc=EAPI&resolution=---&query_format=advanced&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=IN_PROGRESS&bug_status=RESOLVED&bug_status=VERIFIED&short_desc_type=allwordssubstr&component=Core%20system&component=Development&component=Core%20system&component=Development&product=Gentoo%20Linux |
65 |
[3]: http://thread.gmane.org/gmane.linux.gentoo.devel/80705 |
66 |
[4]: Although on the catalyst side, only @system is really important. |
67 |
|
68 |
|
69 |
|
70 |
-- |
71 |
This email may be signed or encrypted with GnuPG (http://www.gnupg.org). |
72 |
For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy |