Copy of upstream 2.7.5-r4 + cross compile tweaks/fixes from our -r2
Dropped some sed hackery related to ChromiumOS's /usr/local weirdness.
I am hoping that issue18851.patch fixes some intermittent build issues.
Although it'd be nice to re-use packages for experimental boards that
may only have a few differences from amd64-generic there is a bug in
some ebuilds and portage that break sharing binary packages between
different values of $ROOT. This prevents that from happening by
accident.
https://bugs.gentoo.org/show_bug.cgi?id=490014
This profile enables the symlink-usr USE flag and target profiles have a
new variable COREOS_DISK_LAYOUT_SUFFIX that allows the profile to switch
to a different set of disk layouts. By default no suffix is used but the
usr profile uses layouts with the suffix "-usr" such as "base-usr".
This provides firmware from linux-firmware but excludes everything not
explicitly required by coreos-kernel. Note that firmware installed by
this will only be available on the root filesystem, the initrd still
uses the smaller set of firmware the linux repo provides.
The current 3.12 kernel wants a few files missing in the July snapshot:
* Missing firmware: ct2fw-3.2.1.1.bin (bna.ko)
* Missing firmware: ctfw-3.2.1.1.bin (bna.ko)
* Missing firmware: cxgb4/t5fw.bin (cxgb4.ko)
These files have been added to the linux-firmware repo so a newer
snapshot will be required but for now I'm sticking with what is already
in Gentoo so I don't have to generate my own tarball or whatever.
In preparation for moving to using firmware provided by the
linux-firmware repository instead of linux the kernel ebuild needs to
stop installing the files to avoid conflicts. Also to better ensure that
the firmware package gets rebuilt every time the kernel does bump to
EAPI=5 and set the subslot to the ebuild version/revision. The firmware
package can then depend on the kernel w/ a special slot operator to make
sure it gets rebuilt when the kernel version changes. The firmware
package can then scan the installed modules and only install the
firmware that is required.
(Portage automatic rebuild behavior often makes this sort of rebuild
happen anyway but using subslots makes it a strict requirement.)
This appears to be part of a scheme to set an alternative login password
in ChromeOS that we have not been using. Our solution will be to make
/etc read-write so this can just go away.
Existing behavior remains unchanged if symlink-usr is unset, otherwise
leave terminfo alone (if minimal is also unset) or prune terminfo down
to the set that would have been installed to /etc if minimal is set.