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
Oops, sent to myself instead of the list :)

-gmt

On Mon, 17 Jun 2013, at 07:31, Gregory Turner thusly quipped:
-----Original Message-----
From: Gregory Turner [mailto:gmt@×××××××.net] 
Sent: Monday, June 17, 2013 7:31 AM
To: gmt@×××××.us
Cc: heroxbd; Jason Cooper; Ruud Koolen
Subject: RE: [gentoo-alt] Crossdev in a prefix / bug 384167

On Sun, 16 Jun 2013, at 07:12, gmt@×××××.us thusly quipped:
> Looking forward to it! On my end, my gentoo git user repo is in
production, but,
> meanwhile, I've gone ahead and started preparing to publish on github, > if
only to
> ensure I can't accidentally rm -rf the whole business. With any luck,
that should
> be ready for eyeballs in a day or three.
OK, it's completely untested (the code is somewhat tested, but my sorting out of what I think are the only relevant bits into a pseudo-user-friendly overlay aren't, nor is bootstrap against this overlay), and lacks a lot of spit-and-polish finishing touches I'd normally try to include for something aimed at end-users, but I have everything on github now (still waiting on that gentoo user repo account, ... starting to wonder whether this belongs there, anyhow, until I (execute my plan to) implement branch support for layman). So, without further ado, here is a repo that I think contains everything (as you'll see, it's actually not much at all): https://github.com/gmt/crossdev-prefix-compat-fixes For the casual "reader" wanting to just see what novel bits this actually contains, versus portage, almost everything is right here: https://github.com/gmt/crossdev-prefix-compat-fixes/tree/master/portage_diff s The only other one other teeny tiny place, I can think of, with anything novel, is here: https://github.com/gmt/crossdev-prefix-compat-fixes/blob/master/sys-devel/cr ossdev/files/crossdev-git-eprefix.patch I don't doubt that I'm forgetting some subtle dependency or another that needed to be fixed and still have that languishing in my private overlay... I'll try a from-scratch bootstrap->crossgcc procedure sometime soon and make sure to fill in any gaps I've left. But I think the directly-related-to-the-subject-at-hand deltas are all represented there, and, if I'm not mistaken they all boil down to just what you'll find at the above two urls. If you are, in using this, by any chance, bumping up against a problem with missing xml-core, that's my bad, I have a prefix patch for it but mistakenly thought it didn't pertain. Let me know and I'll stick it in (of course I intend to upstream any random fixes, like this, I have in my tree, relevant or not). If there is stuff going wrong with missing kernel sources somewhere, that is possibly due to the fact that in my private overlay they are at ${EPREFIX}/usr/src, with some eclass patches to support them being there. I didn't think those would be needed, but maybe, if /usr/src is not a place you control (it isn't for me on the gcc compile farm), this might actually be essential, I'm not sure. Anyhow, if I'm not mistaken "/usr/src/linux" is just a default you could equally well fix by a simple setting in make.conf... at least I hope so, otherwise, maybe it's time I fixed that :) As you can see, there is very little code involved. Ruud, I'm interested in seeing what happens if I use your cross-prefix-portage with this overlay... first I probably ought to read and understand the patches; I may get back to you with stupid questions at some point on that. Jason, uclibc is still untouched so your use-case won't work just yet. However, I think fixing uclibc should get things to start working. That's the absolute next thing on my agenda. For now what is tested is ~amd64-linux -> ~x86, ~amd64-linux -> i686-w64-mingw32, and ~amd64-linux - > x86_64-w64-mingw32 cross-compiler generation, all single-abi -> single-abi. I still have not even touched cross-emerge and have no idea what will happen, when, I finally get around to trying -- probably nothing immediately useful and potentially something moderately disastrous, so tread with caution! I could swear that, somehow, I also tested x86-linux -> ~amd64-linux but I don't see how that would be possible so maybe I'm smoking crack there.... I did at least try some hello world executables generated from these. They worked. Speaking of which, I should really bugzilla my wine stuff... it's exceedingly trivial to get wine running in a prefix and, obviously, it could potentially be a super-useful testing tool for the mingw stuff. But that's just off topic rambling nonsense, ignore me. OK, so, let me know if I forgot anything essential and I'll get it in! In the meanwhile, I'm of to go fix prefixed-uclibc. Oh, one last note... if you want to play with the overlay, don't forget to unmask/keyword sys-devel/crossdev-$((10**8-1)) or else nothing will happen :) -gmt