Gentoo Archives: gentoo-alt

From: gmt@×××××.us
To: gentoo-alt@l.g.o
Subject: FW: [gentoo-alt] Crossdev in a prefix / bug 384167
Date: Mon, 17 Jun 2013 14:32:48
Message-Id: 036401ce6b67$82af4090$880dc1b0$@malth.us
1 Oops, sent to myself instead of the list :)
2
3 -gmt
4
5 On Mon, 17 Jun 2013, at 07:31, Gregory Turner thusly quipped:
6 -----Original Message-----
7 From: Gregory Turner [mailto:gmt@×××××××.net]
8 Sent: Monday, June 17, 2013 7:31 AM
9 To: gmt@×××××.us
10 Cc: heroxbd; Jason Cooper; Ruud Koolen
11 Subject: RE: [gentoo-alt] Crossdev in a prefix / bug 384167
12
13 On Sun, 16 Jun 2013, at 07:12, gmt@×××××.us thusly quipped:
14 > Looking forward to it! On my end, my gentoo git user repo is in
15 production, but,
16 > meanwhile, I've gone ahead and started preparing to publish on github,
17 > if
18 only to
19 > ensure I can't accidentally rm -rf the whole business. With any luck,
20 that should
21 > be ready for eyeballs in a day or three.
22
23 OK, it's completely untested (the code is somewhat tested, but my sorting
24 out of what I think are the only relevant bits into a pseudo-user-friendly
25 overlay aren't, nor is bootstrap against this overlay), and lacks a lot of
26 spit-and-polish finishing touches I'd normally try to include for something
27 aimed at end-users, but I have everything on github now (still waiting on
28 that gentoo user repo account, ... starting to wonder whether this belongs
29 there, anyhow, until I (execute my plan to) implement branch support for
30 layman).
31
32 So, without further ado, here is a repo that I think contains everything (as
33 you'll see, it's actually not much at all):
34
35 https://github.com/gmt/crossdev-prefix-compat-fixes
36
37
38 For the casual "reader" wanting to just see what novel bits this actually
39 contains, versus portage, almost everything is right here:
40
41 https://github.com/gmt/crossdev-prefix-compat-fixes/tree/master/portage_diff
42 s
43
44 The only other one other teeny tiny place, I can think of, with anything
45 novel, is here:
46
47 https://github.com/gmt/crossdev-prefix-compat-fixes/blob/master/sys-devel/cr
48 ossdev/files/crossdev-git-eprefix.patch
49
50 I don't doubt that I'm forgetting some subtle dependency or another that
51 needed to be fixed and still have that languishing in my private overlay...
52 I'll try a from-scratch bootstrap->crossgcc procedure sometime soon and make
53 sure to fill in any gaps I've left. But I think the
54 directly-related-to-the-subject-at-hand deltas are all represented there,
55 and, if I'm not mistaken they all boil down to just what you'll find at the
56 above two urls. If you are, in using this, by any chance, bumping up
57 against a problem with missing xml-core, that's my bad, I have a prefix
58 patch for it but mistakenly thought it didn't pertain. Let me know and I'll
59 stick it in (of course I intend to upstream any random fixes, like this, I
60 have in my tree, relevant or not).
61
62 If there is stuff going wrong with missing kernel sources somewhere, that is
63 possibly due to the fact that in my private overlay they are at
64 ${EPREFIX}/usr/src, with some eclass patches to support them being there. I
65 didn't think those would be needed, but maybe, if /usr/src is not a place
66 you control (it isn't for me on the gcc compile farm), this might actually
67 be essential, I'm not sure. Anyhow, if I'm not mistaken "/usr/src/linux" is
68 just a default you could equally well fix by a simple setting in
69 make.conf... at least I hope so, otherwise, maybe it's time I fixed that :)
70
71 As you can see, there is very little code involved. Ruud, I'm interested in
72 seeing what happens if I use your cross-prefix-portage with this overlay...
73 first I probably ought to read and understand the patches; I may get back to
74 you with stupid questions at some point on that.
75
76 Jason, uclibc is still untouched so your use-case won't work just yet.
77 However, I think fixing uclibc should get things to start working. That's
78 the absolute next thing on my agenda.
79
80 For now what is tested is ~amd64-linux -> ~x86, ~amd64-linux ->
81 i686-w64-mingw32, and ~amd64-linux - > x86_64-w64-mingw32 cross-compiler
82 generation, all single-abi -> single-abi. I still have not even touched
83 cross-emerge and have no idea what will happen, when, I finally get around
84 to trying -- probably nothing immediately useful and potentially something
85 moderately disastrous, so tread with caution! I could swear that, somehow,
86 I also tested x86-linux -> ~amd64-linux but I don't see how that would be
87 possible so maybe I'm smoking crack there.... I did at least try some hello
88 world executables generated from these. They worked.
89
90 Speaking of which, I should really bugzilla my wine stuff... it's
91 exceedingly trivial to get wine running in a prefix and, obviously, it could
92 potentially be a super-useful testing tool for the mingw stuff. But that's
93 just off topic rambling nonsense, ignore me.
94
95 OK, so, let me know if I forgot anything essential and I'll get it in! In
96 the meanwhile, I'm of to go fix prefixed-uclibc.
97
98 Oh, one last note... if you want to play with the overlay, don't forget to
99 unmask/keyword sys-devel/crossdev-$((10**8-1)) or else nothing will happen
100 :)
101
102 -gmt