1 |
On Fri, 14 Jun 2013, at 20:05, heroxbd thusly quipped: |
2 |
> From my own point of view, multilib is not cool compared to multiarch from |
3 |
> Debian. lib vs lib32 vs lib64 is crazy to me with inconsistent |
4 |
implications across |
5 |
> distros, even among people in the same community. LSB/FHS has not done a |
6 |
> good job here. |
7 |
|
8 |
I'll take your word for that, having not looked into it myself. However, so |
9 |
long as prefix-profile has a deprecated parent-profile, I fear the number of |
10 |
headaches stemming from incorrect hard-coded assumptions in ebuilds and |
11 |
eclasses will tend to rise over time. If multiarch achieves the benefits of |
12 |
multilib in a better ("cooler"?) way, perhaps we should consider building a |
13 |
multiarch profile for Gentoo... or does that already exist? Sorry, I may |
14 |
have fallen behind a bit during the past few months where I've only had |
15 |
sporadic access to a working computer with floppy disks smaller than my |
16 |
torso :) |
17 |
|
18 |
I have tried (some time ago, back in the good ole' days) bootstrapping a |
19 |
cross-arch prefix (specifically, an x86 prefix from an amd64 no-multilib |
20 |
native gentoo), and, except for a few small hiccups, it worked great. |
21 |
|
22 |
>> I'd be curious to hear more about what your GSOC objectives are, |
23 |
>> especially whether it's the "easy" or the "hard" fix, above, you are |
24 |
>> shooting for. |
25 |
> |
26 |
> A long version of proposal is here: |
27 |
> |
28 |
> http://www.awa.tohoku.ac.jp/~benda/projects/android.html |
29 |
|
30 |
Sweet idea. If you pull that off I might just buy a smartphone. |
31 |
|
32 |
> I'd like to start a piece of document to definitely describe what we |
33 |
expect for |
34 |
> a portage/toolchain/crossdev combo to do in diferent situations, and what |
35 |
> we interpret for different environment variables. I think Ruud already has |
36 |
his |
37 |
> own version. |
38 |
|
39 |
I need a name for the following: aspects of Gentoo that assume $CHOST and/or |
40 |
$CBUILD are the same as $CTARGET. Perhaps "the vice of presumed nativity." |
41 |
(But hopefully something that rolls off the fingertips a bit easier... I'm |
42 |
open to suggestions). |
43 |
|
44 |
For example, when building a cross-compiler, what does it mean if the |
45 |
multilib use flag is true? IIUC, right now it pertains to the target. But, |
46 |
correct me if I'm wrong, everywhere else, it's a host-specific use flag, and |
47 |
it is not Gentooly Correct to have global use flags with context-dependent |
48 |
meanings like that. |
49 |
|
50 |
Crossdev does a great job of building a cross compiler, but unfortunately, |
51 |
cross-emerge doesn't do a fantastic job, in my (admittedly, not-recent) |
52 |
experience, of building a cross-Gentoo. I need to fix this, partially, for |
53 |
cygwin (long, boring story). Embedded, broadly speaking, is another -- |
54 |
arguably much more compelling -- reason to fix it as well, and completely. |
55 |
|
56 |
Anyhow, sorry, I'm actually veering off topic. |
57 |
|
58 |
My point is, I think what really causes muddle-headedness in the case of |
59 |
tool-chain ebuilds is that, in a regular cross-emerge of a non-toolchain |
60 |
package, $CHOST == $CTARGET -- or, more accurately, CTARGET is really |
61 |
meaningless. That's the standard case, so there's nothing wrong with |
62 |
building portage around this assumption as the default. CBUILD can differ |
63 |
depending on whether this is a cross-emerge or not, and as mentioned above, |
64 |
forgetting that possibility is a source of problems that need fixing. But |
65 |
with toolchain ebuilds, we have the rather confusing issue that all three |
66 |
variables actually mean something (for example, all three can be distinct if |
67 |
we are cross-emerging a cross-compiler). |
68 |
|
69 |
Gentoo just wasn't designed with these cases in mind, and I am starting to |
70 |
believe that the best solution to these sorts of problems is to enhance |
71 |
portage to the point where crossdev is no longer needed, or is a trivial way |
72 |
to drop a few simple defaults into ${EPREFIX}/etc. |
73 |
|
74 |
Think about it: anywhere we need crossdev to make something work, by |
75 |
definition, represents -- whatever we want to call it -- the "vice of |
76 |
presumed nativity." If portage and the ebuilds had the right features |
77 |
in-built, we wouldn't /need/ crossdev to run around whispering half-truths |
78 |
into everybody's ears until the right thing happens. |
79 |
|
80 |
In an ideal world, I think crossdev should set up links in an overlay, like |
81 |
it does now, and maybe a simple make.conf.cross-foo-triplet, and be done. |
82 |
|
83 |
And, basically, I think creating a coherent specification for exactly how |
84 |
everything is supposed to work is a fantastic first step -- but, "first" |
85 |
step really ignores all the fantastic hard work that's already been done, so |
86 |
let's say, "next" step -- towards realizing that vision. If we start |
87 |
bumping up against places where we need to look at the code to figure out |
88 |
how things work, I think it's worth considering whether we should be |
89 |
documenting, or, instead, innovating. |
90 |
|
91 |
> Zac Medico and Mike Frysinger did masterful jobs for portage and |
92 |
> toolchain/crossdev. As the two pieces are central to our distribution, |
93 |
they are |
94 |
> not willing to accept random ideas. Let's make a proposal for |
95 |
cross-triplet and |
96 |
> cross-eprefix in Gentoo in a systematic, robust and consent way before |
97 |
> getting our hands dirty with the serious implementation. |
98 |
|
99 |
OK, sounds like you read my mind, or maybe I read yours. Anyhow, +1. |
100 |
|
101 |
> I'll roll out a draft and put it on a git repo/wiki/google drive for |
102 |
> cooperative edition. |
103 |
|
104 |
Looking forward to it! On my end, my gentoo git user repo is in production, |
105 |
but, meanwhile, I've gone ahead and started preparing to publish on github, |
106 |
if only to ensure I can't accidentally rm -rf the whole business. With any |
107 |
luck, that should be ready for eyeballs in a day or three. |
108 |
|
109 |
-gmt |