generic-poky/meta/recipes-core
Richard Purdie 2cbab459e4 uninative: Add uninative - a way of reusing native/cross over multiple distros
These patches are the start of a new idea, a way of allowing a single set of
cross/native sstate to work over mutliple distros, even old ones.

The assumption is that our own C library is basically up to date. We build
and share a small tarball (~2MB) of a prebuilt copy of this along with a
patchelf binary (which sadly is C++ based so libstdc++ is in there). This
tarball can be generated from our usual SDK generation process through
the supplied recipe, uninative-tarball.

At the start of the build, if its not been extracted into the sysroot, this
tarball is extracted there and configured for the specified path.

When we install binaries from a "uninative" sstate feed, we change the
dynamic loader to point at this dynamic loader and C librbary. This works
exactly the same way as our relocatable SDK does. The only real difference
is a switch to use patchelf, so even if the interpreter section is too small,
it can still adjust the binary.

Right now this implements a working proof of concept. If you build the tarball
and place it at the head of the tree (in COREBASE), you can run a build from
sstate and successfully build packages and construct images.

There is some improvement needed, its hardcoded for x86_64 right now, its trivial
to add 32 bit support too. The tarball isn't fetched right now, there is just a
harcoded path assumption and there is no error handling. I haven't figured
out the best delivery mechanism for that yet. BuildStarted is probably not
the right event to hook on either.

I've merged this to illustrate how with a small change, we might make the
native/cross sstate much more reusable and hence improve the accessibility
of lower overhead builds. With this change, its possible the Yocto Project may
be able to support a configured sstate mirror out the box. This also has
positive implications for our developer workflow/SDK improvements.

(From OE-Core rev: e66c96ae9c7ba21ebd04a4807390f0031238a85a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-23 20:31:18 +01:00
..
base-files base-files: set dynamic COLUMNS via resize command 2014-08-06 10:23:40 +01:00
base-passwd base-passwd: install passwd and group atomically 2014-07-10 17:38:32 +01:00
busybox fixup 2014-08-23 23:01:59 +01:00
console-tools console-tools: Remove floating runtime dependency on flex 2014-04-24 17:55:13 +01:00
coreutils coreutils/libpam: Add BBCLASSEXTEND nativesdk 2014-08-15 18:21:53 +01:00
dbus dbus-test: fix incorrect checksum 2014-06-24 19:54:11 +01:00
dbus-wait recipes: Add missing pkgconfig class inherits 2014-06-03 16:49:19 +01:00
dropbear dropbear: add pam modules dependencies 2014-09-16 22:14:04 +01:00
expat recipes: convert remaining SUMMARY/DESCRIPTION cosmetic issues (part 2) 2014-02-20 14:28:13 +00:00
feed-config Replace one-line DESCRIPTION with SUMMARY 2014-01-02 12:50:18 +00:00
gettext Add texinfo.bbclass; recipes that use texinfo utils at build-time inherit it. 2014-05-02 20:46:59 +01:00
glib-2.0 glib-2.0: fix mount detection 2014-09-10 11:33:25 +01:00
glib-networking glib-networking: Inherit gettext 2014-08-15 18:21:48 +01:00
glibc glibc: Incremental bump to 2.20 release branch 2014-09-10 11:33:26 +01:00
images build-appliance-image: remove hardwired path 2014-09-16 22:14:10 +01:00
init-ifupdown recipes: bump PRs 2014-03-05 17:36:37 +00:00
initrdscripts init-install: Skip CDROM devices during probe 2014-08-02 09:26:17 +01:00
initscripts initscripts: mask several init scripts 2014-09-03 11:09:06 +01:00
jpeg recipes: convert remaining SUMMARY/DESCRIPTION cosmetic issues (part 2) 2014-02-20 14:28:13 +00:00
kbd kbd: Upgrade to 2.0.2 2014-07-17 12:28:51 +01:00
libcgroup Globally replace 'base_contains' calls with 'bb.utils.contains' 2014-04-25 17:19:19 +01:00
libxml recipes: Remove references to eglibc 2014-09-01 18:03:05 +01:00
meta uninative: Add uninative - a way of reusing native/cross over multiple distros 2014-09-23 20:31:18 +01:00
ncurses binconfig-disabled: Add class and use 2014-06-16 15:31:40 +01:00
netbase netbase: upgrade to 5.2 2014-01-10 15:16:48 +00:00
os-release os-release: Adding a new recipe for operating system identification 2014-09-10 11:33:24 +01:00
packagegroups packagegroup-self-hosted: move graphics packages to graphics group 2014-09-10 15:38:57 +01:00
psplash psplash: mask psplash in case of systemd 2014-09-03 11:09:07 +01:00
readline readline-5.2: exclude autoheader 2014-06-06 09:26:04 +01:00
sysfsutils recipes: convert remaining SUMMARY/DESCRIPTION cosmetic issues (part 2) 2014-02-20 14:28:13 +00:00
systemd systemd: fix to use ${libdir} for libraries 2014-09-16 22:14:08 +01:00
sysvinit sysvinit: allow stack size configuration from rcS 2014-08-11 10:53:05 +01:00
uclibc uclibc: Support systemd builds 2014-08-27 12:12:32 +01:00
udev meta: fix RDEPNEDS for the test related pkgs 2014-08-28 15:12:44 +01:00
update-rc.d update-rc.d: fix to handle priority numbers correctly 2014-06-01 14:29:30 +01:00
util-linux util-linux: break out new package util-linux-findfs 2014-07-26 08:51:41 +01:00
volatile-binds volatile-binds: add recipe 2014-08-02 09:26:14 +01:00
zlib zlib: obey LDFLAGS for tests 2014-09-22 13:04:21 +01:00