Patrice Clement wrote:
>> netbsd-ubin
>> 14 | m4 -> sys-devel/m4 = OK
>> 15 | patch -> sys-devel/patch = OK
>> 22 | sed -> sys-apps/sed = OK
>>
>> Be careful there: all of them prepend the binaries names with a g when
>> userland isn't gnu. On FreeBSD, with portage we use the GNU versions
>> (see profiles/default/bsd/fbsd which aliases them) but BSD versions have
>> been preferred as, respectively, m4, patch and sed. This raises the
>> question: what userland do you want to have? IMHO it is better to have
>> a full BSD userland while stuff that require GNU tools can use the g
>> prefixed tools; with that idea you can see portage as a pkgsrc
>> replacement (or ports replacement in case of fbsd) instead of a
>> different system with a netbsd kernel & libc but with the rest of it
>> being GNU.
>
> I didn't know that, and it's great if "g" suffix is added.
> But Portage needs some GNU tools like GNU sed: some scripts/patches
> don't work if you don't use it. Same thing about awk:
> I read ebuild.sh source code and "gawk" command is used. I'll correct this but
> I'll still install them in my stage.
>
Basically, keep NetBSD versions of those utilities to get NetBSD itself
built successfully, then alias the GNU versions for portage to compile
ebuild successfully.
>> netbsd-binutils, netbsd-gcc: what's the point of these wrt
>> sys-devel/{binutils,gcc} ?
>>
>
> NetBSD devs seem to have patched GCC sources to suit to NetBSD. I maybe writing
> a big mistake. But I have tried every GCC's ebuilds and none of them have
> worked. Even by downloading GCC sources on gcc.gnu.org website, ./configure and
> make, it simply doesn't work. That's why I've created an ebuild..
>
Ahh good old times. FreeBSD devs did also patch GCC sources to work on
FreeBSD. See http://bugs.gentoo.org/192403 for what it takes to get "our
toolchain" to behave properly on FreeBSD. And that's why I asked some
time ago if you managed to compile the kernel with a gentoo toolchain,
it's a big pain in the back :D.
There might be many things patched, however those in the gcc spec are
key to get a working gcc, and lucky us, the specs don't vary too much,
so you can try a diff between NetBSD gcc specs versus GNU gcc specs to
spot what's missing/required.
From there you can start a "copy" of your sys-devel/gcc ebuild of
choice, and add patches as required, once you get a somewhat working
version the patches can be tested/reviewed by the GNU devs to iron out
what's not required, what's correct, and what's wrong.
And here is where the legal BSD vs GPL battle starts, cause you can't
add BSD copyrighted code into GPL code :D, fun fun.
As a last note, beware that some of the ebuilds in portage may not
compile correctly or at all if they don't use a GNU (gentooized, but gnu
at it's heart) toolchain, which includes the versions of the utils
stated above (m4, sed, awk, etc), binutils, and gcc.
Salu2!,
Javier.
|