Commit Graph

15 Commits

Author SHA1 Message Date
Nathan Rossi 3f46689cf1 uninative-tarball: glibc-gconv-{utf-16, cp1252} for binutils windres
The windres binutils binary which is used for Windows resource files
requires utf-16 and cp1252 encoding support in order to correctly
generate resource files with strings. As such when using uninative to
build mingw resources for a nativesdk target the windres binary is
executed on the native host, thus using the uninative libc and gconv
modules.

(From OE-Core rev: 778fb2342da55e202cfb7af04bbf120c1b68620a)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Olaf Mandel 6e36cc9c40 Remove LIC_FILES_CHKSUM from recipes without SRC_URI
LICENSE and LIC_FILES_CHKSUM apply to the sources specified by SRC_URI,
not to the recipe itself. As such a license declaration for a source-less
recipe makes little sense. The LICENSE declaration is mandatory, but
LIC_FILES_CHKSUM can be removed in such cases.

Remove the LIC_FILES_CHKSUM declarations from all recipes that do not
need it.

CC: Paul Eggleton <paul.eggleton@linux.intel.com>
(From OE-Core rev: b18fa5f2f2f46afc6fdc58f4d29679dea9c36c43)

Signed-off-by: Olaf Mandel <o.mandel@menlosystems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-28 16:15:21 +01:00
Richard Purdie bd933a3f29 buildtools/uninative-tarball: Fix deployment overlap issues
We still have problems where deploying SDKMACHINE=i686 can cause removal
of SDKMACHINE=x86_64 artefacts.

The reason is that x86_64 is a BUILD_ARCH as well as an SDK_ARCH and
the manifest namespaces overlap. To fix this, set PACKAGE_ARCH and
the stamp-extra-into to include SDK_OS. SDK_OS may not be entirely correct
but it is what sstate.bbclass uses for nativesdk and fixing that is
a separate issue.

This is confirmed to resolve artefact problems on the AB which have been
delaying a new uninative release.

(From OE-Core rev: 1dbc6ec4ca061570d2482c9abebcf720298db9b7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-23 18:06:08 +01:00
Richard Purdie 3c1807e2d8 uninative-tarball: Make stamp independent
The uninative tarball only contains nativesdk compoents. It should
not get regenerated when MACHINE changes for example. Currently its
sstate arch is also incorrect so changing SDKMACHINE results in other
variants being removed from the deploy directory.

This patch removes the target architecture dependencies so that
deploy artefacts can overlap and it doesn't continually rebuild. This
also fixes various autobuilder/release artefact issues we're having
as a result of these issues.

(From OE-Core rev: 6edd0b8dccc6e1e21f2ef87013e2e0a40d19b0d6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-22 00:24:56 +01:00
Joshua Lock b26926c3a8 uninative-tarball: add SDKMACHINE to stamps-extra-info
Otherwise the stamps for x86-64 and i686 uninative tarballs match
and we can't deploy both to the DEPLOYDIR.

(From OE-Core rev: 2a9603759fe87d6326c145f6213ffffeb6afc6ae)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-21 18:12:09 +01:00
Richard Purdie 25c46772a8 buildtools-tarball/uninative-tarball: Fix for working with populate_sdk under sstate control
Firstly, these recipes are not target (MACHINE) specific so they should
by SDK_ARCH based, not PACKAGE_ARCH.

Also fix use of SDK_DEPLOY -> SDKDEPOLYDIR after other recent changes.

Together these fixes avoid various build failures and ensure the tarballs
only get built once rather than multiple times.

(From OE-Core rev: 894c9b6ded702897ae4084ef75959cdc8cc6f7a3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-04 00:07:29 +01:00
Richard Purdie 642a997ade classes/lib: Update xrange -> range for python3
xrange() no longer exists in python 3, use range()

(From OE-Core rev: d022b4335100612d6596cc4c4956cb98ed5873cc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-02 08:24:00 +01:00
Richard Purdie 8dca343178 uninative-tarball: Add glibc-gconv-iso8859-1 for guile
(From OE-Core rev: a8181c2d3a9e51569d77ab2ad9950b27a1113294)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07 11:55:38 +00:00
Ross Burton b41862d334 uninative-tarball: respect SDKMACHINE when building
So that a single machine can build multiple architectures for the
uninative-tarball respect SDK_ARCH instead of BUILD_ARCH.

This means a x86-64 host can build a i686 uninative-tarball by setting
SDKMACHINE=i686.

(From OE-Core rev: 11b0e7e1cb29fd1fbe06bdb5606a55b92ecdcc89)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:33:03 +00:00
Randy Witt d8d4ce720e Add 850 codepage to uninative-tarball
(From OE-Core rev: 6211c8060d408134dfa6c00b23b517c439e4c1e7)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-27 07:24:28 +00:00
Chen Qi 2d74cb4934 uninative-tarball: delete the packagedata task
This task is meaningless for uninative-tarball as the package task
has been deleted. Besides, sometimes it would cause problems. To
reproduce, use the following command.

bitbake uninative-tarball -c cleansstate && bitbake uninative-tarball &&
bitbake uninative-tarball -c clean && bitbake uninative-tarball

The error is something like below.

File: 'sstate.bbclass', lineno: 33, function: sstate_installpkg
     0029:        bb.build.exec_func(f, d)
     0030:
     0031:    for state in ss['dirs']:
     0032:        prepdir(state[1])
 *** 0033:        os.rename(sstateinst + state[0], state[1])
     0034:    sstate_install(ss, d)
     0035:
     0036:    for plain in ss['plaindirs']:
     0037:        workdir = d.getVar('WORKDIR', True)
Exception: OSError: [Errno 2] No such file or directory

[YOCTO #7597]

(From OE-Core rev: 8f905077aaed3dbeeed04787add1cf725fa87bdc)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:14:38 +01:00
Tyler Hall 3a646564ad uninative-tarball: fix dependency on patchelf
DEPENDS doesn't actually add the dependency on patchelf-native to the
populate_sdk task. SDK_DEPENDS does this, but move the append to after
inheriting the base class so it does not get overwritten.

Without this, uninative-tarball fails to build in a clean workspace on a
system without patchelf.

[YOCTO #7467]

(From OE-Core rev: 0631c2b52432ddf86292351d605b65941d2a8be2)

Signed-off-by: Tyler Hall <tylerwhall@gmail.com>
Acked-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:49 +00:00
Randy Witt 8e8e9243c1 uninative-tarball: Actually use bzip2 for compression.
uninative.bbclass uses -xjf for decompression so actually run the data
through bzip2.

(From OE-Core rev: 84665b4e894a949591d812f1cdc1745a376bf95f)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:43 +00:00
Richard Purdie 0389b3b7e8 uninative-tarball: Update eglibc -> glibc
(From OE-Core rev: 2b85b3f33af5157cd4b6f8a6dc737015c85018c3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-02 10:58:24 +01:00
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