Commit Graph

4735 Commits

Author SHA1 Message Date
Robert Yang e0bc781ce0 bootimg.bbclass: only inherit syslinux when pcbios
syslinux.bbclass should not be seen when use efi.

(From OE-Core rev: f994eef0aeae861857756d3cc05c49cca17bd12b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-25 10:29:16 +00:00
Robert Yang 1b1de89304 grub-efi.bbclass: make it can build vm and live together
* Make it can build vm and live (e.g., iso + vmdk) together as we did
  for syslinux.
* GRUBCFG -> GRUB_CFG as other GRUB_FOO vars

(From OE-Core rev: e38039e43f22d55a443064efa91752e2943fda79)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-25 10:29:16 +00:00
Robert Yang 4ebaeb281b bootimg.bbclass: fix settings for grub-efi.bbclass
Fixed:
- Found potential conflicted var LABELS ...
  Set LABELS to "boot install" would build out broken images when build
  vm + live together, use set_live_vm_vars() to fix the problem.

- Use ROOT and LABEL in boot-directdisk.bbclass and image-foo.bbclass,
  they are not only used by syslinux.bbclass, but also grub-efi.bbclass,
  add "SYSLINUX_" prefix would mislead users.

(From OE-Core rev: d7d1e0193c94abb1cd2daf1c298c8c1788f3616d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-25 10:29:16 +00:00
Bill Randle 421289cbcc sanity.bbclass cleanup
Limit search for a version var name to start at the beginning of a line,
otherwise, if the var name is used in a comment, that comment line will
be replaced, rather than the desired assignment line.
Move bblayer update message into function where it's actually updated,
rather than assuming all successful config file update are to the
bblayers.conf file.
Replace a stray tab with spaces for consistency.

[Fixes YOCTO #9318]

(From OE-Core rev: 7c1e53bb802f021f06231243077d0e007a64274c)

Signed-off-by: Bill Randle <william.c.randle@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-25 10:29:15 +00:00
Robert Yang 3e5c5fe330 gpg_sign.py: get rid of pexpect
The python-expect is not installed on the distro such as Ubuntu by
default, and we can get rid of it.

Use RPM_GPG_PASSPHRASE to replace of RPM_GPG_PASSPHRASE_FILE which is
more straightforward.

(From OE-Core rev: 4a8a74c62836a20610daf029d4cec0b3087758b2)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-25 10:29:14 +00:00
Paul Eggleton 11c1d30152 devtool: add: delete externalsrc files on npm recipe do_install
The npm class just installs whatever is in ${S}; if you're using
externalsrc in conjunction with it the symlinks (oe-workdir and oe-logs
by default) plus singletask.lock will end up in the final package, which
isn't really right. Introduce a variable so we know the path the files
will be installed into within npm.bbclass, and append to do_install
within the workspace bbappend to delete the files.

(From OE-Core rev: 766845e06db9d7d595e836ea1364c16fa132a413)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-25 10:29:13 +00:00
Paul Eggleton 58d2e5625f classes/populate_sdk_ext: parse metadata on minimal SDK install
Instead of skipping the build system preparation step within the
extensible SDK install process when SDK_EXT_TYPE is "minimal", run
bitbake -p so that the cache is populated ready for the first time
devtool is run.

(From OE-Core rev: 6b38a991a3475fb82889428b94563968c7570473)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-25 10:29:13 +00:00
Paul Eggleton 50addfb97b classes/distutils*: don't hide logs when setup script fails
We need to see the output of the setup script in the error message
because what we are having bbfatal print here doesn't completely
describe what went wrong, thus we should use bbfatal_log here and not
bbfatal.

(From OE-Core rev: 970a02061b474a238f57cd0cc4db7b62e36dfa3d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-25 10:29:13 +00:00
Paul Eggleton 0ec30c7a68 classes/packagegroup: drop complementary -ptest if ptest not in DISTRO_FEATURES
If ptest isn't in DISTRO_FEATURES, there won't be any -ptest packages
and thus no need for the -ptest package for the packagegroup either.

(From OE-Core rev: 52f9b12601c02f1585438f890f847b4596170362)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-25 10:29:13 +00:00
Paul Eggleton d96ea299b3 classes/packagegroup: fix dbg/dev/ptest complementary packages
OE-Core commit 8981ed20234c42dc1f5cdef802ebe7214bd55238 (from 2013)
caused a regression where -dbg/-dev/-ptest packages weren't generated
for packagegroups because we weren't setting ALLOW_EMPTY for them.
Break out the code for adding complementary groups to its own
conditional so we can set ALLOW_EMPTY at the same time.

(From OE-Core rev: 340e9d619c881f320070474d5c4674dcaeabad35)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-25 10:29:13 +00:00
Markus Lehtonen 62ddde6ebe externalsrc: use shared stamp directory if B=S
We have a common build directory for all target architectures if
externalsrc is used and ${B}=${S}. In this case we also need to have a
common stamp directory. The reason is that e.g. changing MACHINE will
basically "invalidate" the artefacts in ${B} (wrt. to the new MACHINE)
but old stamp files with matching hashes from an earlier build might be
available in the machine-specific stamps directory and tasks would not
be correctly re-run.

Previous attempt in f44f12af346888bdeb3ae01a275cb5dd4396b505 to handle
this correctly was faulty as it threw some spurious warnings and caused
do_configure to be re-run in every build if that would not be necessary.

[YOCTO #8950]
[YOCTO #9237]

(From OE-Core rev: f5031fb37ceef83c85f0dfec773da75c05b2a631)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-20 23:12:29 +00:00
Andre McCurdy ac347da759 gobject-introspection.bbclass: wrap comments at 80 columns
Whitespace and comment updates only, no functional changes.

(From OE-Core rev: 738393ea98baec364d3da117a1307a39d348b660)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-20 23:12:29 +00:00
Patrick Ohly cad415dc2f sanity.bbclass: allow customizing config file update error messages
The default file pattern may be amiguous and "meld" might not always
be the preferred tool, so allow distros to override those parts of the
error messages.

(From OE-Core rev: 98fc50436dfa5d0e5bee0930154a5563ffc8151d)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-20 23:12:28 +00:00
Patrick Ohly 96a5cb41fd sanity.bbclass: fix success message when config file was updated
The code now iterates over different config files, but always printed a
message about conf/bblayers.conf for each file.

(From OE-Core rev: af55727fc1920c4c23476304f57a3720835ec203)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-20 23:12:28 +00:00
Patrick Ohly 805aca8192 sanity.bbclass: expand error messages for version checks
The ${WORKDIR} variable was not getting expanded (anymore?), leading to
less helpful error messages like:

   Exception: NotImplementedError: Your version of bblayers.conf has the wrong LCONF_VERSION (has 7, expecting 8).
   Please compare your file against bblayers.conf.sample and merge any changes before continuing.
   "meld conf/bblayers.conf ${COREBASE}/meta*/conf/bblayers.conf.sample"

   is a good way to visualise the changes.

   ERROR: Execution of event handler 'check_sanity_eventhandler' failed

After adding expansion, embedding ${LCONF_VERSION} and ${LAYER_CONF_VERSION}
in the error message seems a bit more readable and consistent.

(From OE-Core rev: 7fd08497cf780018fa144a870bdea0e7a69dae20)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-20 23:12:28 +00:00
Kai Kang 57a525ca72 useradd_base.bbclass: replace retry logic with flock
When perform useradd during populate sysroot, it locks files passwd.lock
and group.lock at same time. And then it meets a dead lock issue
randomly.

Use flock to reslove it by using an universal lock directory for all the
user and group related operations.

[YOCTO #9022]

(From OE-Core rev: 2ebf697b46c42cee8bfa6d2e6087397f8cce385c)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-20 23:12:27 +00:00
Patrick Ohly 5d06f00471 image.bbclass: track ROOTFS_POSTUNINSTALL_COMMAND in do_rootfs vardeps
The list of variables influencing do_rootfs was not updated when
introducing ROOTFS_POSTUNINSTALL_COMMAND. As a result, making changes
in commands listed there or the variables they depend on did not trigger
a re-run of do_rootfs.

(From OE-Core rev: 66b461ce9df7ed06d7651b9b54a49a950b97a1d4)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-20 23:12:26 +00:00
Richard Purdie 637b3c8259 uninative: Add a fix for icu-native to use the correct ABI
If no -std= option is passed to icu's configure, it defaults to CXX11.
This isn't what we want for uninative, so pass an explicit option
which selects an older ABI on newer versions of g++.

This avoids the __cxa_bad_array_new_length@CXXABI_1.3.8 symbol
being used.

(From OE-Core rev: ac59063bee0e32d0737340974f657341717a6abe)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-12 22:11:48 +00:00
Paul Eggleton 0eb52b91a7 classes/buildhistory: record a few more variables for extensible SDK
We've recently added SDK_EXT_TYPE and SDK_RECRDEP_TASKS and these will
have an effect on the size and functionality of the SDK, so record them
in sdk-info.txt.

(From OE-Core rev: 1be0ae80f97bdee758232ec5397c09d73d57e1e0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-12 22:11:48 +00:00
Ricardo Ribalda Delgado cbb4c5b0f1 package-deb: Ignore circular dependencies
If a package depends on itself apt-get fails to install it with the
error attached to this patch.

This patch checks for this conditions and notifies the user so the
recipe maintainer can fix his RDEPENDS variable.

root@qt5022:~# apt-get install perl-module-cpan
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  perl-module-cpan
0 upgraded, 640 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/5964 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]
E: Internal error: MaxLoopCount reached in SmartUnPack (2) for
perl-module-cpan:amd64, aborting
E: Internal error, packages left unconfigured. perl-module-cpan:amd64
root@qt5022:~# apt-get install perl-modules

(From OE-Core rev: d8bf148c3b740254ed23d52cf244f0f6e9c7a4ab)

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-12 22:11:47 +00:00
Ricardo Ribalda Delgado fcc7ff072a package_deb: Fix python runtime error
The dictionary cannot be used for iteration if its size may change
during the loop.

ERROR: Error executing a python function in
/home/ricardo/curro/qt5022/build-qt5022/repo/yocto/meta/recipes-devtools/perl/perl_5.22.0.bb:
Exception: RuntimeError: dictionary changed size during iteration

Acked-by: Aníbal Limón <anibal.limon@linux.intel.com>
(From OE-Core rev: 04aa40be126e00e2eb97311510e4d3ea90bfe7eb)

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-12 22:11:47 +00:00
Patrick Ohly cf3402eb82 image-buildinfo.bbclass: fix performance problems
Inheriting image-buildinfo.bbclass primarily slowed down image
building for two reasons:
1. The content of the shell command "buildinfo" gets expanded
   multiple times, each time again checking the state of all
   layers.
2. When expanded as part of the actual image creation, git
   is invoked under pseudo, which makes the check quite a bit
   slower (from a few seconds to a minute with many layers).

To fix this, buildinfo now is a Python method which calls the checks
only when really executed. Pseudo is told to unload itself when
starting git.

In addition, "git diff" is invoked with "--quiet", which avoids
producing output that is just getting thrown away. As before, any kind
of problem or output causes the layer to be marked as "modified".

[Revision 2 of the change with some dead code removed]

(From OE-Core rev: e59547e4154b772a36f4e58f1d454c0c38653c84)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-12 22:11:46 +00:00
Alexander Kanavin ff3500b7a9 gnomebase.bbclass: do not disable gobject introspection
(From OE-Core rev: 37b2c27b18115b5a7b0e7d46da246852d2f045ee)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-12 22:11:45 +00:00
Alexander Kanavin 4fbf761027 vala.bbclass: remove pre-packaged vapigen.m4 from tarballs
We need to make sure that our fixed vapigen.m4 is used instead.

(From OE-Core rev: 3086dbaabaa5eccd05e091bed9ff0bdf707113fa)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-12 22:11:44 +00:00
Alexander Kanavin d1b96f1594 gobject-introspection.bbclass: add a class that enables gobject introspection
(From OE-Core rev: 142cd4399a742f5482c1f83efe77bd85069bd7a7)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-12 22:11:44 +00:00
Ioan-Adrian Ratiu 81d58d6b24 sign_package_feed: add feed signature type
Signing package feeds will default to ascii armored signatures (ASC) the
other option being binary (BIN). This is for both rpm and ipk backends.

(From OE-Core rev: 862a3892feb2628282e1d6f2e4498a7a3bd60cbf)

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-11 16:50:45 +00:00
Ioan-Adrian Ratiu 2fccd8aa1c gpg_sign: add local ipk package signing functionality
Implement ipk signing inside the sign_ipk bbclass using the gpg_sign
module and configure signing similar to how rpm does it. sign_ipk uses
gpg_sign's detach_sign because its functionality is identical to package
feed signing.

IPK signing process is a bit different from rpm:
    - Signatures are stored outside ipk files; opkg connects to a feed
server and downloads them to verify a package.
    - Signatures are of two types (both supported by opkg): binary or
ascii armoured. By default we sign using ascii armoured.
    - Public keys are stored on targets to verify ipks using the
opkg-keyrings recipe.

(From OE-Core rev: a40f27aa7802e8a0bd87a5417e35adbface62d05)

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-11 16:50:45 +00:00
brian avery 3f8d5bfdfd toaster.bbclass: show packages that were setscened into existence too
We were previously ignoring pkgs that came in from a setscene like from
an sstate mirror).  With this patch we can use pkgs than come from sstate
for image customisation as well.

Also remove unused variable.

[YOCTO #9137]

(From OE-Core rev: 4ea7f96ae28ff53867f5ffa4158076761676d288)

Signed-off-by: brian avery <brian.avery@intel.com>
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-11 16:50:44 +00:00
Chris Austen 37b61b0590 siteinfo: Add ppc64le support.
(From OE-Core rev: 00d3fd571a8d261d065b43f5cf3076a381843984)

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-10 23:13:55 +00:00
Tyler Hall b578a06564 image-mklibs: handle position independent binaries
Executables built with -fpie have the ELF type DYN rather than EXEC
which makes them difficult to distinguish from shared libraries.
Currently when building the list of executables we omit these binaries
so they might fail to run on the resultant rootfs due to missing
symbols. One of these is systemd which builds -fpie unconditionally, so
mklibs breaks images containing systemd.

Modify the search to catch all executable files that are ELF and have an
interpreter set. Omit libc and libpthread as special cases because they
have an interpreter and are directly executable but treating them as
such is antithetical to the pupose of mklibs.

(From OE-Core rev: 30da34ef032d5b4b2f694743715f2c8d64dd9849)

Signed-off-by: Tyler Hall <tylerwhall@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-10 23:13:54 +00:00
Richard Purdie ad50ce907a populate_sdk_ext: Correct commit 8b81bb56c69aabdea984352f8e267a9783c0bdbc
Commit 8b81bb56c69aabdea984352f8e267a9783c0bdbc was accidentally merged.
The DL_DIR piece was simply incorrect and should be removed.

The patch commit message should have mentioned that the changes were
to update populate_sdk_ext after the changes to uninative now the
download is placed into a specific directory in DL_DIR. We also
need to specify the uninative tarball checksum.

(From OE-Core rev: be177739b46d3296c0c0c01310b499ffc6782d43)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-09 22:33:40 +00:00
Paul Eggleton 91455005b6 recipetool: create: split npm module dependencies into packages
Rather than rolling all of an npm module's dependencies into the same
package, split them into one module per package, setting the SUMMARY and
PKGV values from the package.json file for each package. Additionally,
mark each package with the appropriate license using the license
scanning we already do, falling back to the license stated in the
package.json file for the module if unknown. All of this is mostly in
aid of ensuring all modules and their licenses now show up in the
manifests for the image.

Additionally we set the main LICENSE value more concretely once we've
calculated the per-package licenses, since we have more information at
that point.

(From OE-Core rev: 8226805f83d21e7c1d2ba21969f3e8ee4b137496)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-09 17:00:29 +00:00
Alexander Kanavin 5dce2e3664 qemu.bbclass: add qemu_wrapper_cmdline()
The class had qemu_run_binary() which was not suitable for gobject-introspection,
as it required the name of the binary to run.

qemu_wrapper_cmdline() returns just the command line string needed to run
binaries, and does not require the binary name.

(From OE-Core rev: 0b68f0632312392cbd20bfcb9ed4895cfc9883ff)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-09 17:00:28 +00:00
Elliot Smith 6d89b5201b toaster.bbclass: improve how we gather buildstats for Toaster
Clean up the code which gathers buildstats for Toaster,
and modify the field names so that the correct parts of the
buildstats files are used to derive the CPU usage values.

Also derive elapsed time for the build here, rather than in
Toaster, as we have ready access to the data in the correct
format.

[YOCTO #8842]

(From OE-Core rev: c145624ccc77ffd07a0b4c368c0dfce525e17eac)

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-09 16:58:13 +00:00
Ross Burton 4dd3e40ed6 image-prelink: use STAGING_*_NATIVE variables
(From OE-Core rev: d78921e91ea1caf0154d544496a8aeabc2ec543d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-09 16:58:12 +00:00
Randy Witt 433d866a0a populate_sdk_ext: Make populate_sdk_ext nostamp
Since the metadata for multiple layers will be put into the sdk, anytime
those layers change the sdk needs to be rebuilt. Ideally, this would use
checksums to only rebuild when necessary.

However, since this feature needs to be in the release, opt for a less
intrusive change by setting the task to nostamp. Unnecessary rebuilds
may occur, but it's better than a user wondering why their changes
didn't get added.

(From OE-Core rev: d801547f6fe4315da6476ed9fc4ccca2a6983421)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-09 16:58:12 +00:00
Jagadeesh Krishnanjanappa b051a953fc license.bbclass: fix host contamination warnings for license files
We get below host contamination warnings of license files for
each recipe, when we try to create a separate ${PN}-lic package (which
contains license files), by setting LICENSE_CREATE_PACKAGE equal to "1"
in local.conf.

-- snip --
WARNING: QA Issue: libcgroup: /libcgroup-lic/usr/share/licenses/libcgroup/generic_LGPLv2.1 is owned by uid 5001, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated]
WARNING: QA Issue: attr: /attr-lic/usr/share/licenses/attr/libattr.c is owned by uid 5001, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated]
WARNING: QA Issue: bash: /bash-lic/usr/share/licenses/bash/COPYING is owned by uid 5001, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated]
-- CUT --

Since the license files from source and OE-core, are populated in a normal
shell environment rather in pseudo environment (fakeroot); the ownership of
these files will be same as host user running bitbake. During the do_package
task (which runs in pseudo environment (fakeroot)), os.link preserves the
ownership of these license files as host user instead of root user.
This causes license files to have UID same as host user id and resulting in
above warnings during do_package_qa task.

Changing ownership of license files to root user (which has UID and GID as 0)
under pseudo environment will solve above warnings, and on exiting pseudo
environment the license files will continue to be owned by host user. Perform
this manipulation within try/except statements, as tasks which are not exected
under pseudo (such as do_populate_lic) result in OSError when trying to
change ownership of license files.

(From OE-Core rev: a411e96c3989bc9ffbd870b54cd6a7ad2e9f2c61)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-09 16:58:12 +00:00
Richard Purdie 946d00c01f populate_sdk_ext: Update after uninative changes
(From OE-Core rev: 8b81bb56c69aabdea984352f8e267a9783c0bdbc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-09 16:58:10 +00:00
Patrick Ohly ba57ba1942 image.bbclass: support chaining compression (aka conversion) commands
It makes sense to use the compression mechanism also for conversion,
for example of a whole-disk image into .vdi (VirtualBox). That part
already works, like this:

   COMPRESSIONTYPES_append = " vdi"
   COMPRESS_CMD_vdi = "qemu-img convert -O vdi ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.vdi"
   IMAGE_DEPENDS_vdi = "qemu-native"

But then it also makes sense to allow compressing the resulting image,
which only works after enhancing the image.bbclass.

For example, suppose a custom image command produces "dsk" images. Then
it becomes possible to set
   IMAGE_FSTYPES = " dsk.xz dsk.vdi.xz"
and do_image_dsk will automatically produce the intermediate images,
convert to dsk.xz resp. dsk.vdi -> dsk.vdi.xz and delete all
intermediate images. Symlinks are also set correctly.

(From OE-Core rev: 588f14370372a66329b54606071175519ce88f1e)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-09 16:58:10 +00:00
Patrick Ohly 5ac3dc76a5 image.bbclass: fix incomplete .rootfs customization
The patch for making the .rootfs configurable was incomplete: in the
python create_symlinks() method the new variable must be expanded
explicitly.

Not doing so broke the symlink creation and that led to hard build
failures in image types depending on the boot-directdisk.bbclass (like
qcow2) because the build_boot_dd() method relied on the symlink.

(From OE-Core rev: 0d02159c8d66bb136f7da2c10fda7d1a57f40cec)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07 22:10:54 +00:00
Patrick Ohly 26ee4ddc65 image creation: allow overriding .rootfs suffix
By default, the image file name contains ".rootfs" to distinguish the
image file from other files created during image building. However,
for certain image types (for example, .hddimg) the ".rootfs" suffix is
redundant because the type suffix alone already uniquely identifies
the main image file (core-image-minimal-intel-corei7-64.hddimg instead
of core-image-minimal-intel-corei7-64.rootfs.hddimg).

With this change, distros that prefer the shorter image name can
override the .rootfs suffix unconditionally with
   IMAGE_NAME_SUFFIX ?= '' in their distro configuration
or with some condition check like this:
   python () {
       if <whole-disk image format active>:
           d.setVar('IMAGE_NAME_SUFFIX', '')
   }

The exact logic when to remove the extra suffix depends on the distro
and how it enables its own image type.

(From OE-Core rev: 380ee36811939d947024bf78de907e3c071b834f)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07 17:17:43 +00:00
Paul Eggleton 59b4cefe29 classes/packageinfo: remove
This class was only used by Hob, and since Hob has now been removed we
can drop it as well.

(From OE-Core rev: b8db070926a7ec294816bc6648eb12db7f126f26)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07 17:17:43 +00:00
Richard Purdie d27644e2b8 uninative: Handle relocate of GCONV_PATH in libc
uninative hand codes the list of files which need relocation, add the libc
to that list to ensure GCONF_PATH is updated.

(From OE-Core rev: f8a9819a2ef3ebf4b40633e9308b66671aa9af83)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07 12:41:38 +00:00
Richard Purdie 0523499799 uninative: Add checksum support
We need to be able to update uninative if the version changes. To do this,
stash a checksum of the installed uninative tarball into a file. If this
changes, we update uninative.

For cleaner download messages, we place the tarballs into directories
based on the checksum.

(From OE-Core rev: f767f94295032792d84fd323bffee137a6467e01)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07 12:41:38 +00:00
Richard Purdie 73265d10da uninative: Refactor common code
Move duplicate code into a common function

(From OE-Core rev: 1a6b39ccd55e6b26f9eb4e05089b8b97396d53d5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07 12:41:38 +00:00
Richard Purdie 4feb00df18 uninative: Use CXX11 ABI for interoperation between gcc4 and gcc5
We may see binaries built with gcc5 run or linked into gcc4 environment
so use the older libstdc++ standard for now until we don't support gcc4
on the host system. https://wiki.debian.org/GCC5 has more details about this.

(From OE-Core rev: 1925ead3828dcd50ef96212c2d1ea9c35bc9f13c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07 12:41:38 +00:00
Ross Burton 013dd24bce uninative: correctly enable uninative
The previous attempt at soft-failing when uninative was enabled didn't actually
work, because the workers didn't evaluate the function that actually enabled
uninative.

In a BuildStarted handler we can check if we need to download or extract the
uninative tarball.

In a ConfigParsed handler on the workers we can check if the uninative loader is
present, and if so enable it.

(From OE-Core rev: 75fc9a8d408640d97481d310084b212a01dc5f8b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07 12:41:38 +00:00
Richard Purdie ea53d1e4a9 sstate: Allow late expansion of NATIVELSBSTRING
uninative needs to adjust NATIVELSBSTRING fairly late in the
configuration parsing process but the sstate code encodes it into
variables. Since this string doesn't vary on a per recipe basis, we
defer its expansion until usage time.

(From OE-Core rev: fb680ab8b3cf7aba9b579403b1aeb96d30762320)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07 11:55:37 +00:00
Richard Purdie ae85c4b9a6 linuxloader/image-prelink/image-mklibs: Fix non-standard path prelinking
Prelinking on x86-64 wasn't working out the box as it uses /lib and
not /lib64 for libs. Prelink was refusing to link as the dynamic loader
didn't match its idea of the right path. Passing in the --dyanmic-linker
option avoids this.

We can share code from image-mklibs so abstract that into a new class,
linuxloader.bbclass.

This does break prelinking of multilib images, I've opened a bug so we
can loop back and fix that problem, the code would need to iterate the
dynamic loaders (and setup ld.so.conf files for it).

(From OE-Core rev: 7c3f2f61536cc8e0322087558cdcfe29ee2fac6d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07 00:11:40 +00:00
Richard Purdie 0b84897ea8 insane/prelink: Handle nonstandard library paths
Prelink contains some hardcoded assumptions about the path layout of
the target system. Unfortunately if the system doesn't match, prelink
doesn't work. This breaks:

a) prelink of those images
b) the unsafe-references-in-binaries QA test (which uses prelink-rtld)

One way to work around this is to construct an ld.so.conf file which
lists the library paths in question. We do this in sanity QA check and
in the rootfs prelink code, being careful not to trample any existing
target ld.so.conf.

There is an additional problem that $LIB references in RPATHs won't be
handled correctly, I've not see any system use these in reality though
so this change at least improves things.

(From OE-Core rev: 7fd1d7e639c2ed7e0699937a5cb245c187b7c811)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07 00:11:39 +00:00
Paul Eggleton 25d9c4e02a devtool: add build-sdk subcommand
Add a build-sdk command which is only available within the extensible
SDK that builds a derivative extensible SDK. The idea is recipes in the
workspace become a part of the new SDK - for example, this allows taking
a vendor provided SDK, adding a few libs and then producing a new SDK
with those included.

When normally building the extensible SDK, the workspace is excluded;
here we need to copy into the new SDK (renaming it in the process); the
recipes' task signatures become locked and thus the sources are no
longer needed, so they are removed along with the workspace bbappends
which would interfere with the locked signatures. Additionally we need
to just copy the configuration files (i.e. local.conf and auto.conf)
rather than filtering and appending to them since that work has already
been done when constructing the original SDK. The extra sstate artifacts
from workspace recipes are also determined and copied into the new SDK
in minimal mode (on the assumption that you won't set up a new sstate
mirror).

This reuses some code from build-image, so that needed to be
generalised to allow that.

Implements [YOCTO #8892].

(From OE-Core rev: 59e207ff6dd4b50a8905e14bc9292cf2794f4e7a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07 00:11:38 +00:00
Chen Qi 4284fdfe5e insane.bbclass: make the checking stricter for unsafe references in scripts
Previously, the checking for unsafe references is not strict enough. It
only checks whether '/usr/' is in the script. As a result, any script
containing statements like below will match this check.

	   PATH="/bin:/sbin:/usr/bin:/usr/sbin"

However, as we can see, this is actually not an unsafe reference. What
we really want to check is something like '/usr/bin/tail', so we should
make the checking stricter.

This patch solves the QA warning in gzip and nfs-utils.

(From OE-Core rev: f818f7359c1a5db2c5c041c42eecb9f0434d9800)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07 00:11:37 +00:00
Ed Bartosh e72233a6a1 bootimg: set default value for LABELS variable
With empty LABELS variable build_efi_cfg skips most of its
functionality producing warning message:
    'LABELS not defined, nothing to do'
This causes build failure for efi images.

Setting default value for LABELS to 'boot install' should fix
this issue.

(From OE-Core rev: b8cb64714cb9ca3174f11a245ee1cf5367dd432f)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-02 23:08:51 +00:00
Peter Kjellerstedt 4eaef67a38 sanity: Do not mistake meta-yocto-bsp for meta-yocto
The code in oecore_update_bblayers() handling the transition from
meta-yocto to meta-poky was not very resilient. It would, e.g.,
mistake meta-yocto-bsp for meta-yocto if the former occurred before
the latter in BBLAYERS.

The code also failed to update multiple existences of meta-yocto in
the bblayers.conf file, e.g., if it was present in
BBLAYERS_NON_REMOVABLE in addition to BBLAYERS (which it is by
default).

(From OE-Core rev: 8deb14898f351bd33950291ccde7c4458c6cf506)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-02 23:08:51 +00:00
Robert Yang 86759deb5c sanity.bbclass: remove conflict checking for image vm and live
[YOCTO #9161]

(From OE-Core rev: f350bedf745b356a74e3a15d82055472796580fe)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-02 23:08:51 +00:00
Robert Yang bb1c719250 syslinux.bbclass: make vm and live can be built together
* The vm image(hdddirect, vmdk, qcow2, vdi) and live image (hddimg, iso)
  couldn't be built together because the following vars settings are
  conflicted:
  - SYSLINUX_ROOT (/dev/sda2 vs /dev/ram0)
  - LABELS (boot vs boot install)
  - INITRD (None vs live install)
  - SYSLINUX_CFG (see above)
  Introduce new vars (SYSLINUX_ROOT_VM/_LIVE, the samilar to others) to
  make them can work together, now we can build all of them together:

  IMAGE_FSTYPES += "live iso hddimg hdddirect vmdk qcow2 vdi"

* Use SYSLINUX_CFG rather than SYSLINUXCFG to keep align with others
  SYSLINUX vars.

* The SYSLINUX_TIMEOUT had been set, but it didn't work since
  AUTO_SYSLINUXMENU wasn't set, this would cause confusions, so also set
  AUTO_SYSLINUXMENU.

* Move SYSLINUX_PROMPT and SYSLINUX_TIMEOUT to syslinux.bbclass rather
  than in separate classes since they are the same.

* Set SYSLINUX_TIMEOUT to 50 to have a unique timeout for syslinux.

[YOCTO #9161]

(From OE-Core rev: e38c94d6bf83ed3ca7f046d9503e81b927487bf2)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-02 23:08:51 +00:00
Paul Eggleton 70153b4782 classes/externalsrc: fix symlinking if symlink exists pointing to another path
If the oe-workdir / oe-logs symlink exists and points to a different
path then the symlink needs to be removed before calling os.symlink() or
it'll fail.

(From OE-Core rev: cb8f064e48c24dcb1a15a32cef3399f35e549bdc)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-02 22:39:45 +00:00
Randy Witt eac4061839 populate_sdk_ext: Only write LCONF_VERSION to bblayers if it is set
It is possible that LCONF_VERSION won't be set, such as if meta-poky is
used. Without this change, bblayers.conf would have LCONF_VERSION =
"None" if LCONF_VERSION wasn't set, which would cause a sanity check
failure.

(From OE-Core rev: 914b0a99997d8c69eafcb34dd982f46540eed882)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-02 22:39:45 +00:00
Christopher Larson a005d25185 populate_sdk_base: handle empty SDK_PACKAGING_FUNC
Currently, the pre/post process command variables are parsed as shell, even
though they're not shell anymore. As a result, an empty SDK_PACKAGING_FUNC
results in a parsing error. Rather than manually adding their vardeps, only
append its ; when the var is set.

(From OE-Core rev: f836f4bfd83862a1a0da7d4cc20ae9eaf62118da)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-02 22:39:44 +00:00
Randy Witt 674e55f416 populate_sdk_ext: Delete the buildtools tar file after installation
When installing the ext sdk, buildtools is extracted and installed as
well. The tar file containing buildtools isn't used after installation
so was wasted space and clutter.

[YOCTO #9172]

(From OE-Core rev: 0dc7d3179a605c10987ee836dd179ffeb14d0ba5)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-02 22:39:43 +00:00
Paul Eggleton 695cc45804 classes/populate_sdk_ext: prepend to PATH rather than appending
The rest of the environment setup script prepends to PATH, so when we
add the path to run devtool we should be prepending as well. This
also ensures that when you run the environment setup script from
extensible SDK installation A and then in the same shell session run the
environment setup script from installation B, and then run devtool, that
you're running B's devtool and not A's.

Fixes [YOCTO #9046].

(From OE-Core rev: b7ac987274f7aeaeacc217488cf4fe639de81b76)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-02 22:39:43 +00:00
Paul Eggleton b145480d44 classes/module: allow substitution of the modules_install target name
Quite a few external kernel modules I've found floating around don't
have a modules_install target, but they do have an install target that
basically differs only in name. To make it easier to build these just
make this a MODULES_INSTALL_TARGET variable that you can set from the
recipe - the alternative would be copy-and-paste the do_install
definition from this class which is potentially fragile.

(From OE-Core rev: effa6ce777540c5557e5cf904b48cc3369ee3f9f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-02 22:39:43 +00:00
Richard Purdie 4006a7f276 sanity: Fix int verses string reference
The sanity update code needs to be passed an int, not string.

(From OE-Core rev: 390bad905537820f49add855c95d726b5b55c8fa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 22:54:09 +00:00
Jonathan Liu 0011760663 rootfs-postcommands: fix ssh_allow_empty_password checking
The ssh_allow_empty_password function doesn't check if
sshd_config_readonly exists before running sed which can result in an
error if sshd_config exists but sshd_config_readonly doesn't.

(From OE-Core rev: dc4e3d31852084a75faf224882d1ab19d07de8fe)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:33:06 +00:00
Aníbal Limón 738bd1a640 classes/testsdk: Pass tcname to SDK and SDKExt contexts
tcname is needed for eSDK update testcase will be used for
 publish it and then try to update

(From OE-Core rev: a75944a63482597be88ff0f3ce55025647b78e2c)

Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:33:06 +00:00
Aníbal Limón 2a410b225a classes/testsdk: Move the removal of bitbake PATH to eSDK context only
The removal of bitbake and scripts PATH is only needed by eSDK tests
so move to eSDK context only.

This also it's a support for eSDK update test because it needs to
execute oe-publish-sdk from scripts.

(From OE-Core rev: 4ae0c84568f39661722cbceba8ddab22cffe5003)

Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:33:06 +00:00
Aníbal Limón eb1f8b9427 classes/testsdk: Move code for avoid PATHs to oeqa.utils
Due to the neeed to use in other modules.

(From OE-Core rev: a25aef2bdefae54c8b3eb2bd4afec5a86110ddc7)

Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:33:06 +00:00
Randy Witt 9ca8f30098 populate_sdk_ext: Add images to SDK_INSTALL_TARGETS
When running ext-sdk-prepare.py during sdk installation a check is done to
make sure no tasks would run that aren't provided by the "leaf" recipes
specified in SDK_INSTALL_TARGETS.

However sometimes an image recipe can cause other images to be created
such as an initramfs. So make sure those additional images are
recognized by ext-sdk-prepare.py and don't flag an error.

(From OE-Core rev: 6eb75df1000ce1905e83840204adb614659d25cf)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
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
Robert Yang 07dc765cfe boot-directdisk.bbclass: drop IS_VM chechking
The IS_VM was used for making menus for vmdk, vdi and qcow2, except
hddimg, there is no reason to not make menus for hddimg, so drop it.

(From OE-Core rev: c5a402bcd0ebf0238f7f7f8bcc08a0790cba7a67)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
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
Robert Yang a87574cd7e image-live/boot-directdisk.bbclass: remove AUTO_SYSLINUXCFG
No one uses it.

(From OE-Core rev: d2eba0a5b67936983ad85766349f7afa4bdb70e8)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:33:02 +00:00
Alex Franco 76eb8154f1 testimage.bbclass: reuse generic test suites
Modify existing default test suites to reuse the new
generic test suites.

Related to [YOCTO #8410]

(From OE-Core rev: 1da1bbc88b1ec1476107003f47f7b240d0794165)

Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:33:02 +00:00
Alex Franco 6571a84376 testimage.bbclass: add generic, image test suites
Add generic test suites MINTESTSUITE, NETTESTSUITE, DEVTESTSUITE to
group common test suites.

Add DEFAULT_TEST_SUITES_pn- variables for:
  * core-image-minimal-dev
  * core-image-full-cmdline
  * core-image-x11
  * core-image-lsb
  * core-image-lsb-dev

New default test suites use generic test suites.
Existing default test suites not modified.

[YOCTO #8410]

(From OE-Core rev: 8d194c6300964a393b6b69b7d06c0a729a5f8b5f)

Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:33:02 +00:00
Ross Burton 55ae56687a uninative.bbclass: if the loader can't be found disable instead of failing
(From OE-Core rev: 99ae0859ba5fa83c9cfd75a814f8281624e8987e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:32:59 +00:00
Ross Burton 50b8740fba uninative: use check_output instead of Popen directly
(From OE-Core rev: 938687db0255d749ed8110d68628e505967b7131)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:32:59 +00:00
Ross Burton 4495e8bae0 lib/oe/qa: add explicit exception for 'file isn't an ELF'
(From OE-Core rev: 4c1fe0cbcb98b0a69ad5b3a04432055d773ee4ba)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:32:59 +00:00
Juro Bystricky 4b32351f2d buildstats.bbclass: Don't assume /proc/<pid>/io present
It is not guaranteed Linux kernel was configured with process I/O
statistics enabled. If process I/O statistcs are not present, issue
a one time warning and do not attempt to read the non-existing stats
counters.

[YOCTO#9025]

(From OE-Core rev: b39e84edb02d03102b9a571c21e5328c159c4378)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:32:59 +00:00
Ross Burton 604dc1c3e6 package: check inherit instead of PN to decide if a recipe is a packagegroup
(From OE-Core rev: b6c3ea4240e965f69b3cae0b601c8dc8d18c7646)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:32:57 +00:00
Richard Purdie 889a5cc221 mirrors/own-mirrors/sanity: Updates after npm fetcher addition
Update the classes after the addition of the npm fetcher to
match the other fetcher additions.

(From OE-Core rev: b91c5c94182ce08d4daccf85eaa0375daefc356e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:32:57 +00:00
Brendan Le Foll 28d17cf942 npm.bbclass: Add npm class to match fetcher
npm class supports the npm fetcher, helping doing the basic compile/install
stages of an npm package

(From OE-Core rev: 4d2ad3e39242c947612023f4429bc8fb430551b5)

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:32:57 +00:00
Richard Purdie bc5a1d1684 base: Add nodejs-native dependency for npm:// urls
With the addition of the npm fetcher, we add the native dependency
handling too.

(From OE-Core rev: 500c432419739e2be247d6feea3f4d85eb7ddfd0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:32:57 +00:00
Richard Purdie c1c6a9d64e sanity: Improve configuration upgrade capabilities (support meta-yocto -> poky transition)
Right now, only one configuration file can be processed (conf/bblayers.conf)
and it can only have one version number. This is a cause of immense friction
between OE-Core and Poky since if one needs a version change, it shouldn't
be forced on the other.

We'd like to rename the meta-yocto layer (within the meta-yocto repository)
to meta-poky. To do this, we need to correct the bblayers.conf file and that
means changing the sanity version. After the pain this caused the last time,
Paul made me promise never to have them out of sync between OE-Core and Poky,
equally, having every distro changing config update OE-Core isn't scalable
either.

This patch changes the sanity upgrade method to list a more generic format:

<config file>:<current version variable name>:<required version variable name>:<upgrade function>

This in theory allows us to support upgrades to any of the core
configuration files, and allow layers to extend them as needed. Files
with the same name can be handled in different layers by setting a unique
version name variable in the file itself. The upgrade code is only called
if the version variable is set.

To allow us to make the poky name change and use a new configuration file
name, one last version bump is included for poky to handle the transition.

(From OE-Core rev: 10fd24271e771ed12e36edcff0007caa1a4e67e4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:31:17 +00:00
Richard Purdie 25871016e0 image: Run do_rootfs_wicenv after do_image
do_image can modify the content of the rootfs directory so we need to run
do_rootfs_wicenv after do_image compeltes or the command can fail.

(From OE-Core rev: 8f5429b5e543e122072a51b518cc137dfc8ec442)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:27:46 +00:00
Randy Witt 7bb9e8ddbf signing-keys: Make signing keys the only publisher of keys
Previously the keys were put into the os-release package. The package
indexing code was also deploying the keys rather than only using the keys.

This change makes signing-keys.bb the only publisher of the keys and also
uses standard tasks that already have sstate.

(From OE-Core rev: 1e38068ac38dfd067655dfd41464e28439179306)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-26 17:16:25 +00:00
Paul Eggleton 4883ccce1b classes/populate_sdk_ext: add a better config extension mechanism
The sdk_extraconf() method of setting the configuration was awkward
since you needed to set it in a class and then inherit that class since
function definitions aren't allowed in conf files. It seemed to me the
a neater way to do this was to read the extra lines from an additional
conf file sdk-extra.conf (which can be located in a conf/ directory
anywhere along BBPATH as with other configuration files).

(From OE-Core rev: b53edb86c65ad375df153017f245244ef97f3932)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21 09:32:43 +00:00
Robert Yang 41242a22b3 staging.bbclass: remove trail slash from SYSROOT_DESTDIR
Fixed path:
QA Issue: <foo> sysroot-destdir//usr/lib/ <foo>

Note the 2 slashes "//".

(From OE-Core rev: 227247dfebe6cdff67ba2c0976b59e3f9d34f7ea)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21 09:32:41 +00:00
Robert Yang aeb8964b01 terminal.bbclass: import oe.terminal for oe.terminal.prioritized()
Fixed:
INHERIT += "typecheck"
$ bitbake -p
ERROR: Failure expanding expression auto none ${@" ".join(o.name for o in oe.terminal.prioritized())}
which triggered exception AttributeError: 'module' object has no attribute 'terminal'

(From OE-Core rev: 74bc2a65ec18c749d9343d9a33eccae93726846c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21 09:32:41 +00:00
Robert Yang bee556aa0d recipe_sanity.bbclass: skip DataSmart in recipe_sanity_eh()
Fixed:
$ bitbake quilt -crecipe_sanity
  File "/path/to/poky/bitbake/lib/bb/siggen.py", line 261, in dump_sigtask
    p = pickle.dump(data, stream, -1)
PicklingError: Can't pickle <COWDict Level: 1 Current Keys: 0>:
attribute lookup bb.COW.C failed

This is because of:
cfgdata[k] = d.getVar(k, 0)

If d.getVar(k, 0) is a DataSmart (for example, BB_ORIGENV), it won't
have the attribute of bb.COW.C, so the error happend.

(From OE-Core rev: 9979f8ad588564cd9d177e24a28ceefefec4df7d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21 09:32:41 +00:00
Robert Yang 2d293bd8b3 image.bbclass: fix circular dependency when IMAGE_FSTYPES append hddimg
Fixed:
IMAGE_FSTYPES_append = " hddimg"

$ bitbake -g core-image-minimal-initramfs
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing RunQueue
ERROR: Task /path/to/core-image-minimal-initramfs.bb (do_bootimg) has circular dependency on /path/to/core-image-minimal-initramfs.bb (do_image_complete)
ERROR: Command execution failed: Exited with 1

This is because IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}", and if
IMAGE_FSTYPES append hddimg, then core-image-minimal-initramfs.bb would
be circular dependency:
do_bootimg -> do_image_complete -> do_bootimg.

Now we check and error out.

(From OE-Core rev: 9b48bfbc2f60bdaa792a98485db68699e0635cbe)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21 09:32:41 +00:00
Jun Zhang a33236049e toolchain-scripts.bbclass: add three other path to PATH in env.sh
in sdk,there are some utils in sysroot/host-os/bin, sysroot/host-os/sbin/,sysroot/host-os/usr/bin need to use, so add these three paths to PATH in env.sh.

(From OE-Core rev: 1116572916443109176c0df32efc275eceeb706a)

Signed-off-by: Jun Zhang <jun.zhang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21 09:32:41 +00:00
Randy Witt dd0ef3c249 populate_sdk_ext.bbclass: Add SDK_RECRDEP_TASKS variable
Currently there isn't a way for the extensible sdk to know all the tasks
that will need sstate for an image. This is because a layer can add it's
on custom tasks that are required for an image to be generated.

The extensible sdk solved this for poky by using recrdeptask and
specifying the tasks known to be required for the image as well as for
building new recipes.

So the SDK_RECRDEP_TASKS variable allows a user to specify additional
tasks that need to be pulled in.

(From OE-Core rev: 4236b9653f6dfbddc937108bbbd9a9445eb81382)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21 09:32:41 +00:00
Randy Witt 02201802a1 populate_sdk_ext: Don't ignore SDK_TARGETS value
This fixes a problem where SDK_INSTALL_TARGETS wouldn't pick up the
value in SDK_TARGETS. It also removes the inline python to make the
code more readable.

(From OE-Core rev: 5b7bc7ab44c2cc5d5f217d9ad81a210ea053dc85)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21 09:32:40 +00:00
Richard Purdie 78b6109440 cml1/sstate: Fix missing getVar parameter
(From OE-Core rev: 84065e9b33e6d401e4e50436665838be2d0267ad)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-19 15:33:02 +00:00
Fabio Berton 54bfbcc6c9 waf.bbclass: Remove --disable-static from EXTRA_OECONF
As of commit OE-Core:773c9e18071d71454473dd81aff911104a2e9bc6
EXTRA_OECONF is appended with the option --disable-static on
DISABLE_STATIC variable and this cause the error:

    waf: error: no such option: --disable-static

So, we need to disable this option.

(From OE-Core rev: cc100a291853c89efbf2c0c04bd9626a6546f4c7)

Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-19 15:33:02 +00:00
Markus Lehtonen 4699483773 sstate.bbclass: use oe.gpg_sign for gpg signing
[YOCTO #9006]

(From OE-Core rev: a3916b29c8c3d0b1570c40c0ed3a1a15c43925bb)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-19 01:01:25 +00:00
Markus Lehtonen e845b75f8f sign_rpm.bbclass: do not store key details in signer instance
Refactor the LocalSigner class. Do not store keyid or passphrase file in
the signer object as they are only needed for some of the methods. For
example, the newly added verify() method does not need any key
parameters and export_pubkey only uses keyid.

(From OE-Core rev: e2412294b6b1d3a80ee97a0706613349edc51d33)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-19 01:01:25 +00:00
Robert Yang 8bcf139150 insane.bbclass: print more info for build-deps and file-rdeps
This is useful for oe newbie:
* build-deps: print recipe name, and suggest fixing from DEPENDS or
  PACKAGECONFIG, for example:
  WARNING: QA Issue: patch rdepends on libattr, but it isn't a build dependency, missing attr in DEPENDS or PACKAGECONFIG? [build-deps]

* file-rdeps: print RDEPENDS_pkg rather than RDEPENDS, for example:
  WARNING: QA Issue: /sbin/osd_login contained in package nfs-utils requires /bin/bash, but no providers found in RDEPENDS_nfs-utils? [file-rdeps]

Fix a bug in file-rdeps, there was "@underscore@" in file-rdeps:
WARNING: QA Issue: /sbin/osd@underscore@login_nfs-utils contained in [snip]

[YOCTO #8922]
[YOCTO #8847]

(From OE-Core rev: f8754281451bbb64c3d26bbdbf1e596271534469)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-19 01:01:25 +00:00
Markus Lehtonen a3b996ae6d cml1.bbclass: fix do_menuconfig
The functionality got broken after bitbake commit
8bf33a8e92c0e188fa392030025756196c96fcbb
which disabled the (bitbake) variable expansion inside python functions.

(From OE-Core rev: 51c6ea30060eeddf93e4255cbd3847fc6aedaf9f)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-19 01:01:24 +00:00
Chen Qi eb6d14e64c image/populate_sdk: seprate variables to fix dependency
Previously, do_rootfs depends on variables like SDK_OS, SDK_OUTPUT, etc.
And changing variables like POPULATE_SDK_POST_HOST_COMMAND doesn't cause
do_populate_sdk to rerun.

This patch separates variables so that do_rootfs and do_populate_sdk could
correctly depend on their related variables.

[YOCTO #8670]

(From OE-Core rev: 590cf4be70f1355622d3a94d76b4cc6d525d4a34)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18 07:39:30 +00:00
Ross Burton f770a6e0c2 insane: wrap autotools checks in inherits_class(autotools) checks
There's no point doing the autotools sanity checks if a recipe didn't inherit
autotools, so check the inherits before doing the checks.

Also pass -F (fixed strings) and -q (quiet) to grep.

(From OE-Core rev: 75ae572427d9cd3f0b3e9e7d4d0e7a93a4f04690)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18 07:39:30 +00:00
Ross Burton 35011d9ac6 cmake: don't inherit autotools
autotools was inherited for some functions some time ago, but now all it's using
it for explicitly is autotools_do_install(), which is basically just "make
install".  Invoke that directly and we can remove the inherit autotools.

(From OE-Core rev: 1cbc0400621c23243d96dedf4a226a732f5c87c9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18 07:39:30 +00:00
Ross Burton 7a700f59d9 lib/qa.py: raise ValueError if file isn't an ELF
Instead of raising a generic Exception that can't be handled specifically, raise
a ValueError.  Also update the callers so any unexpected exceptions are not
ignored.

Also, rename isBigEngian() to isBigEndian().

(From OE-Core rev: c136652f9c0b35aafa393e63567daf029ae03929)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-16 11:17:10 +00:00
Ming Liu 14e93850be sstate: Add ca-certificates-native to postinst recipes list
(From OE-Core rev: a6426479f6348524a904ba28c16c1e3c8793cb08)

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-16 09:04:23 +00:00
Patrick Ohly da13f0bce5 buildhistory.bbclass: remove out-dated information on request
buildhistory.bbclass by design is incremental: each build adds or
updates information. Information is never removed.

Sometimes it can be useful to reduce the information only to those
recipes that were build during a specific bitbake invocation, for
example when the invocation does a full world build.

This is now possible by setting BUILDHISTORY_RESET as explained in the
modified class. The comment on the variable also mentions the caveats
associated with using this mode.

In this mode, buildhistory.bbclass first moves all existing
information into a temporary directory called "old" inside the build
history directory. There the information is used for the "version
going backwards" QA check. Then when the build is complete and before
(potentially) committing to git, the temporary directory gets deleted.

Because information that has not changed during the build will be
reconstructed during full world rebuilds, a git log will then only
show real updates, additions and removals.

(From OE-Core rev: 51f4eb5bfcd25f7160e50314f433cad126aa3e9a)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-15 17:47:08 +00:00
Paul Eggleton 2eb19cc723 classes/buildhistory: fix for python function parsing change
Variable expressions are no longer expanded in python functions as of
BitBake commit 8bf33a8e92c0e188fa392030025756196c96fcbb, so we've now
got to do this explicitly here.

(From OE-Core rev: 60fd4ff61a4ad240a89d48553002901c10e93178)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-15 16:28:45 +00:00
Richard Purdie ce0f8ab3b4 insane: Add --disable-static to UNKNOWN_CONFIGURE_WHITELIST
With the addition of a common class passing in this option, add it to
the list of standard "unknown" configure options which are known about.
Its not interesting/productive to go and update every recipe to handle
this flag.

(From OE-Core rev: f879f452dc69989aa227b8dc60b7cb0354203575)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-15 16:28:45 +00:00
Richard Purdie 5fc5996c23 buildhistory: Fix regex to handle versions without spaces
Its valid to have dependencies like XXX (=2.1) without spaces, as injected
by debian.bbclass. The code was breaking these into separate components
and destroying them so improve the regex to handle them.

(From OE-Core rev: 613e96b06202f31870be411ca45b44237ae55b1c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-14 11:42:19 +00:00
Richard Purdie 7c3d4c033e debian: Fix superfluous setting for RPROVIDES
PKG_ can be set to something like ${MLPREFIX}<name> and the lack of expansion here
means the case where MLPREFIX is empty leads to a bogus RPROVIDES.

Use expansion of the variable to avoid this.

(From OE-Core rev: 056339c32a9ff0735d39cae216663147cdbb275c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-14 11:42:19 +00:00
Richard Purdie 2eba066ccb autotools: Fix interaction with bitbake -b
If you run bitbake -b on something using autotools with dependencies on

m4 files, it currently fails as the TASKDEPDATA is incomplete for
bitbake -b
and this means the relevant macros aren't found.

Work around this by adding *all* m4 files for the -b case (and show a warning).

[YOCTO #8890]

(From OE-Core rev: 60207e0cf3a5bce9123d3631a10a9540c72a9034)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-14 11:42:18 +00:00
Richard Purdie 9c8fee9c62 autotools: Correct dependency search logic error
We go to the effort of finding the value of start, we should then use it
rather than relying on the value of dep being preserved from the previous
loop. Took me far too long to notice this issue when changing the code.

Also drop an unused variable.

(From OE-Core rev: c546cced50ce8b72fe55f9a7cfe7fdb23c51d1ad)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-14 11:42:18 +00:00
Patrick Ohly a12dcc4a1d base.bbclass: fix support for gitsm://
Before the "Improve handling of SRCPV" change, gitsm SRC_URI entries
were merely missing a dependency on git for do_fetch. But after that
change, the special handling for "needsrcrev" was not applied, leading
to a fetcher error (older bitbake) or even a parse error (recent
bitbake).

(From OE-Core rev: 41d06f512504cb24bb727308d08490b8741f332d)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-12 08:57:35 +00:00
Aníbal Limón 5e978d7ed8 classes/testsdk: do_testsdkext avoid STAGING_DIR/BASE_WORKDIR in PATH
The inclusion of STAGING_DIR/BASE_WORKDIR in PATH is contaminating
the environment, i.e. when try to sanity check perl (check_perl_modules)
it takes perl from STAGING_DIR causing eSDK install to fail.

(From OE-Core rev: 32611395e1da21f6f7f7916fb8077e35ee81bb23)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-11 22:33:40 +00:00
Aníbal Limón 738a9b7cc3 classes/sanity: check_perl_modules provide output when fail
When check_perl_modules fail is a good idea to print perl
interpeter output for debug purposes.

(From OE-Core rev: 9e0ee11a59c545dba45947b7675f5bcef489a7c8)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-11 12:34:29 +00:00
Paul Eggleton e36cb6c718 classes/externalsrc: create symlinks for workdir and logs
Auto-create symlinks in the source directory to the work directory
(${WORKDIR}) and logs directory (${T}) so that they are easier for the
user to find. This is particularly useful within the extensible SDK
where the user is less likely to be familiar enough with the structure
of the build system to know where to find these things, but otherwise
they are a useful shortcut for anyone.

(From OE-Core rev: 58adb3904c18acefd0da319e32f66ebca72eeaac)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-11 12:33:02 +00:00
Paul Eggleton 20034c3f7a classes/externalsrc: disable rm_work when active
If you're using externalsrc, it's very likely that you're going to want
to examine the intermediate build results even if the recipe builds
successfully; therefore you won't want rm_work to delete those.

(From OE-Core rev: c0867a425166086624bcffa231a1497291f860cb)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-11 12:33:02 +00:00
Patrick Ohly c38f25377b uninative.bbclass: capture stdout/err from patchelf-uninative
When patchelf-uninative fails, reporting only the exit code
as done by subprocess.check_call() is not enough to understand
the problem. We also need to capture and report the output
of the command.

(From OE-Core rev: 87e744791e59806d0c87b37d72ff32a96bbcb929)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-11 12:31:43 +00:00
Arnold Csorvasi 21e3b2aa89 image_types_uboot: add cpio.gz.uboot to supported IMAGE_TYPES
U-Boot needs the U-Boot header in a ramdisk image to boot it.
Add this header to the cpio.gz image, so that it can be booted
with U-Boot.

(From OE-Core rev: 8376fa3d4ef6175b83ab7f1ec8e4e20ec14964f4)

Signed-off-by: Arnold Csorvasi <arnold.csorvasi@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-11 12:27:49 +00:00
Nathan Rossi d7faf673a4 insane.bbclass: Support MicroBlaze with musl
MicroBlaze is supported by musl, add entries for the 3 variants.

(From OE-Core rev: 1c4a5dbcc738434bbd31f41c99e8acc72655839e)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-11 12:27:47 +00:00
Randy MacLeod 0da96bf30c buildstats.bbclass: remove dead URL from comment
(From OE-Core rev: ec4f113bf1779f7df054c635bd9bed7e72157a94)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-11 12:27:46 +00:00
Markus Lehtonen a0d3eb9f8c sign_package_feed.bbclass: fix task dependencies
This dependency was already added to sign_rpm.bbclass. However, the same dep needs to be
added to sign_package_feed.bbclass, too, to cover the case where rpm
signing is disabled but package feed signing is enabled.

(From OE-Core rev: f1eada135a6b6eef0444ca7a7ff14ab388cb879b)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-11 12:27:46 +00:00
Maciej Borzecki 9909104c67 classes/useradd: handle whitespace only USERADD/GROUPADD/GROUPMEMS
Useradd attempts to add users/groups even when
{USERADD,GROUPADD,GROUPMEMS}_PARAM is whitespace only. This scenario is
possible when variables and modified using one of +=, =+ operator, yet
the content being added is conditional (i.e. may depend on PACKAGECONFIG
flags).

(From OE-Core rev: 466288d528cce5f9887d765a757af64c9cc6be03)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-11 12:27:44 +00:00
Richard Purdie ae2f3a309f sstate: Ensure populate_lic sstate objects are cleaned
do_cleansstate wasn't cleaning do_populate_lic sstate objects in the
native/cross case since the wildcard path entry wasn't being cleared
at the same time as the path extra prefix. Fix by clearing it at the
same time.

(From OE-Core rev: af72c507f5e20acf64b7431cee989af9908ef199)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:24 +00:00
Richard Purdie 26f26e5cbd package_deb: Ensure allarch deb packages aren't target specific
The use of TUNE_FEATURES was making do_package_write_deb of allarch
packages target specific.

To avoid this, only use the end value of DPKG_ARCH for its checksum,
not intermediate values or variables.

(From OE-Core rev: 65955cf1c7d5c59f29d769a8244ae7c156a43f38)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:24 +00:00
Richard Purdie b3a2065d47 base: Make do_cleansstate nostamp
We always want the cleansstate task to run so it should be
'nostamp' like the other clean tasks.

(From OE-Core rev: 187190bfe3f589a7d1acaa22fab4607f976635ce)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:24 +00:00
Aníbal Limón 37357ab9ee classes/testimage: Fix exportTests function.
With new structure of TestContext now holds suite and variable
that contains unittest instances,  it can't be exported using
JSON causing and exception.

Adds the suite variable for avoid export it.

(From OE-Core rev: cecc7ec2bcb28d7d8a3277fb097efbbe13adff1c)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:24 +00:00
Aníbal Limón f895a61fc1 classes/testsdk: Add help information on how to run tests.
(From OE-Core rev: fcf0dc253f914418e15e2c6afc6f649b9270824a)

Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:23 +00:00
Aníbal Limón a619ea293a oeqa/oetest: Fix compatibility SDK tests using eSDK.
When run SDK tests over eSDK we need to use SDKExtTestContext
instead of SDKTestContext because if we use SDKTestContext search
for SDK manifest and depends on the SDK manifest generation so
populate_sdk needs to be executed.

Adds a compatibility mode flag to SDKExtTestContext for search tests
over sdk module instead of sdkext module and change testsdk calls
to comply with this new param.

(From OE-Core rev: ebe743235b383b17225553d84bf8e6f80d364dcd)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:23 +00:00
Aníbal Limón 062dbd6da7 classes/populate_sdk_ext: Add SDK_EXT_TARGET_MANIFEST and SDK_EXT_HOST_MANIFEST
Extensible SDK needs to point to the correct manifest so add
SDK_EXT_TARGET_MANIFEST and SDK_EXT_HOST_MANIFEST variables.

oeqa/oetest.py: Fix SDKExtTestContext for load the correct manifests.

(From OE-Core rev: 2310d5ad03531b7e1f9572c12c83c2fedc0291c9)

Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:23 +00:00
Aníbal Limón 4cfdf174ce testsdkext: Add skeleton for support Extensible SDK tests.
oeqa/sdkext: Add module and __init__.py will contain eSDK tests.
classes/testsdk: Add support for run eSDK tests.
oeqa/oetest: Create oeSDKExtTest for now only inherit oeSDKTest,
             modified SDKExtTestContext now inherit SDKTestContext
             and set sdkext filesdir for store data fixtures.

(From OE-Core rev: f3781544a5c077610498a6b7dc5244ee4c5bc6df)

Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:23 +00:00
Aníbal Limón 5580d7bd62 classes/testsdk: Add compatibility SDK testsuite to eSDK
Extensible SDK is compatible with SDK test suite so it need
to execute the same tests over it.

(From OE-Core rev: fb9db1698039ca51ae52ea623d2ca845753f8260)

Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:23 +00:00
Aníbal Limón f3c2ce2739 classes/testsdk: Add function run_test_context
This helper functions will be serve as well to run extensible
sdk tests so generalize it to get function context as arg.

(From OE-Core rev: 51782e5f77cb3f32a31a221c6e0f9b33cf3a33c9)

Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:23 +00:00
Aníbal Limón 3577c35f6e oetest.py/TestContext: Move loadTests and runTests inside it.
Method's for loadTests and runTests make sense to define
inside TestContext because it can be different around
Image, SDK, SDKExt.

(From OE-Core rev: 03af7b99e3ce36ce3e29dc31e33d2cc74eb14849)

Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:23 +00:00
Aníbal Limón 8009418d55 testimage/testsdk: Move get test suites routine inside TestContext.
In order to provide better abstraction move functions to get the test
suite inside the TestContext.

(From OE-Core rev: 552285688441330440bd1bc138aeaea87549024a)

Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:22 +00:00
Aníbal Limón b588b80d66 testimage/testsdk: Modularize TestContext.
Move anonymous duplicated class TestContext from testimage/testsdk to
oeqa/oetest now we have two new classes ImageTestContext and
SDKTestContext with common code in TestContext class.

(From OE-Core rev: 593f2fdf6ee94c5f91761a669048da3598cbe3fa)

Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:22 +00:00
Aníbal Limón abd81585fa classes/testsdk: Add call to export_proxies on testsdkext.
Extensible SDK needs to use network and some networks requires
proxies then export it.

(From OE-Core rev: 1c79fce34a02fee696bccb085a09957d71d87d56)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:22 +00:00
Aníbal Limón 42f2ac42d2 classes/testsdk: Add testsdkext task only install.
Add task for test extensible sdk for now only install the SDK.

(From OE-Core rev: d5061e07c4fd6ea37a0ceacedb83c7878f5bfd6d)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:22 +00:00
Aníbal Limón 2ecc319690 populate_sdk_ext: Set TOOLCHAINEXT_OUTPUTNAME.
This variable is needed by testextsdk to known the name of extensible
sdk file generated.

(From OE-Core rev: e4cf46f240dda6263ba3ba14cd63087cce166f1c)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:22 +00:00
Aníbal Limón 7b459be4bd classes/testimage: Add defeault inherit for testsdk.
For compatibility adds default inherit of the new class testsdk
for now, we need to review the code base.

(From OE-Core rev: a9861f6a0fd10c2a56129f2f0a7cdd806912290f)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:22 +00:00
Aníbal Limón 24326a983b classes/testsdk: Add new class testsdk.
Moves all the testsdk code from testimage in order to have it's own
class because new tests will be added for extensible SDK.

The old paths for store logs "${WORKDIR}/testimage" and sdk
"${WORKDIR}/testimage-sdk" was maintained for compatibility may be
change to point testsdk after review the codebase.

The dependency of QEMU was removed because isn't needed.

(From OE-Core rev: b30edc18866865ec757b3fd86eb84de530720acf)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:22 +00:00
Aníbal Limón 3d1d30b0a3 testimage: Modularize helper functions for get test lists.
Test lists functions can be used in other parts so modularize it and
move to oeqa/oetest.py library.

Testimage class was updated to meet the new sign of the functions.

(From OE-Core rev: c9f771533af70e7ccb1e7064e58926cfaee7367a)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:22 +00:00
Richard Purdie 8b5ee367a6 bitbake.conf/base: Improve handling of SRCPV
If SRCPV is set, it can be expanded when SRC_URI doesn't support it
leading to errors. Avoid doing this by setting it only when it makes
sense.

This patch depends on the bitbake python expansion patch series.

[YCOTO #7772]

(From OE-Core rev: ce64da2b80f99c82d96513d8dfb5e572757b0cda)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10 16:06:21 +00:00
Drew Moseley aacae25a3d image_types.bbclass: Embed IMAGE_NAME in ubinize config file
When using the FSTYPE multiubi, make sure that each image build
has a unique config file.  Without this there is a race condition
when building multiple images in a single bitbake command which
results in errors similar to:

    ERROR: Error: The image creation script
    'blah/tmp/work/blah/core-image-base/1.0-r0/temp/create_image.multiubi' returned 1:
    iniparser: cannot open ubinize_normal.cfg
    ubinize: error!: cannot load the input ini file "ubinize_normal.cfg"
    mv: cannot stat 'ubinize_normal.cfg': No such file or directory
    WARNING: blah/tmp/work/blah/core-image-base/1.0-r0/temp/create_image.multiubi:1 exit 1 from
      mv ubinize${vname}.cfg blahtmp/deploy/images/blah/

(From OE-Core rev: bc7643846f9fcef13a02f9299faa5454c843e8b1)

Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-07 17:30:00 +00:00
Christopher Larson 9c0d4ece40 toolchain-scripts: drop PYTHONHOME
If this is set when nativesdk-python is not installed, it will break the host
python, so it's better to handle this in python.

(From OE-Core rev: 668f56bb2496aa0e7b5b71fb54b45371bbf6653c)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-07 17:30:00 +00:00
Richard Purdie 0cc825f13e uninative: Improve error handling
We need to improve the error handling here, things were breaking and
yet the user wasn't seeing the issues. We need to skip libraries as
we process the files.

(From OE-Core rev: 95b161a6661faf654fed5c69b905157e927bcb5f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-06 23:10:45 +00:00
Randy Witt ea40a0b769 populate_sdk_ext: Make populate_sdk_ext depend on sdk_extra_conf
If a user changes sdk_extra_conf, it should cause populate_sdk_ext to
run.

(From OE-Core rev: 5de9b123f35a62a0a81f434a10492cdd92668ef0)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-06 23:10:45 +00:00
Randy Witt 4f7656a204 populate_sdk_ext: Add support for a "minimal" type
If the user sets the SDK_EXT_TYPE variable to "minimal" then the sdk won't
contain any sstate. The sstate can come from an sstate mirror and be
installed on demand as usual.

(From OE-Core rev: 35f79652ab5f1ca754fb726a9bc88d0add0114c8)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-06 23:10:45 +00:00
Randy Witt 71bb33266d populate_sdk_ext: Don't set sdk_update_targets in the config
sdk_update_targets isn't used by any code, so there is no reason to set
it.

(From OE-Core rev: e9349939e22ca9cf0efe0795291c01fbdeb96a8c)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-06 23:10:45 +00:00
Randy Witt 5b7a43e85e toolchain-scripts.bbclass: Use PYTHONPATH instead of PYTHONHOME
In the extensible sdk it was originally intended that the native sstate
would always be setscened as part of the sdk installation. However, the
soon to come "minimal" sdk won't do that.

A side effect of that is that pointing PYTHONHOME at the native sysroot
within the "bitbake workspace" won't work. For now only set PYTHONPATH
instead and continue using the python that comes from buildtools.

(From OE-Core rev: 81f126f4a8944e395f3909de2317065c09b04b5e)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-06 23:10:45 +00:00
Richard Purdie ed5daa177b bitbake.conf/native/nativesdk: Set PKG_CONFIG_SYSTEM_ at top level
Setting PKG_CONFIG_SYSTEM_{HEADERS/INCLUDE}_PATH for nativesdk isn't
enough, we also need to deal with multlib cases where libdir from
pkg-config-native isn't correct. Native builds are about the only
case where this variable shouldn't be set.

Therefore move the code from nativesdk to bitbake.conf and unexport it
in the native case.

(From OE-Core rev: 46c48c26ab1916e2dfb841d74a0f2a58d8b2b870)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-06 23:10:44 +00:00
Richard Purdie 66a6ec2e9a nativesdk: Set PKG_CONFIG_SYSTEM_ variables
When building nativesdk recipes, we noticed paths going into .pc files
which should have been suppressed since these were standard library
search paths. pkgconfig-native sets these variables to sane values
for native recipes, we need it set to values for our specific library
paths in the nativesdk case.

Setting these values cleans up the .pc files and suppresses the paths.

(From OE-Core rev: 837c8b749b06457ba4a5a76a34ffe45d36bf4ef3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-05 11:16:41 +00:00
Richard Purdie 86851d543b insane: Fix populate_sysroot sanity test path
This was correct for native/cross paths but not for target ones which
meant the tests weren't running in some cases. Fix the path to be
correct in both cases.

(From OE-Core rev: 3739aaf644d5a0f28e85fd07c67cecbfa5b8fb8a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04 23:40:23 +00:00
Ross Burton ce1bed7d3d license.bbclass: add LICENSE_CREATE_PACKAGE to perform_packagecopy vardeps
This class has a perform_packagecopy_prepend() that uses LICENSE_CREATE_PACKAGE,
but the BitBake variable dependency code doesn't know that oe.data.typed_value()
is a getter.  Until BitBake knows this, add an explicit vardeps.

[ YOCTO #5635 ]

(From OE-Core rev: 0450c74e36b5547e3e903fdabe0f52675ac94dea)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04 23:39:02 +00:00
Ioan-Adrian Ratiu 3fa1c54a69 Revert "kernel/kernel-arch: Explicitly mapping between i386/x86_64 and x86 for kernel ARCH"
This reverts commit 8d310b24927d0f348fb431895f0583733db2aad0.

That commit completely breaks KBUILD_DEFCONFIG because it relies on
$ARCH to match between the target OE arch and the kernel subdirectory
containing the defconfigs. In the kernel all defconfigs for everything
x86-based (including x86_64) is stored in dir arch/x86/configs/

kernel-yocto.bbclass correctly searches for all the defconfigs inside
${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG}

Commit 8d310b249 makes it search in wrong places and _only_ if you
define TARGET_ARCH = "athlon" will it search x86 which is nonsensical.

The commit further adds an if clause to hack the mungled kernel arches
back to their original values (ugh) in do_shared_workdir which is run
after do compile, but of course the build breaks before that in
do_kernel_metadata because of the KBUILD_DEFCONFIG mentioned above (so
that hack is useless).

Please fix that corner case bug in another way which does not completely
screw up the kernel arch mapping & defconfig logic. If 64bit configs are
generated in the kernel for 32bit machines because the host is asked,
then it it a bug in the kernel, it is of no use to hack around it in OE.

(From OE-Core rev: bc02a478a5d4a5de7b3943ed809d5c22711f5b1f)

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04 23:39:02 +00:00
Elliot Smith 8dc600f144 toaster.bbclass: reinstate scan for artifacts in the sdk directory
During refactoring of the SDK/artifact scan code in toaster.bbclass,
the code to find other non-image artifacts in the images/ directory
was incorrectly removed.

Reinstate that code and clean it up so it's clearer what's happening
and so that non-image artifacts are correctly reported.

[YOCTO #8956]

(From OE-Core rev: 4899041d59f3537c46eb79ba3471ca2b72caad89)

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04 23:39:01 +00:00
Elliot Smith eee675bd71 toaster.bbclass: attach image file scan postfunc to do_image_complete
The postfunc for finding image files after completion of a build
fails, as the image files we're interested in don't exist at the
point when the scan is currently done (following do_rootfs).

Attach the postfunc for scanning for image files to the new
do_image_complete task, which definitely runs after the image files
have been created.

[YOCTO #8956]

(From OE-Core rev: 9c597ef05cec12178d886f83a4cf7070f032ab2f)

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04 23:39:01 +00:00
Ross Burton 0c0b07286f meta: add ASSUME_PROVIDED dependency on wget-native for http fetches
For clarity and consistency, add a dependency on wget-native for any URIs that
will be fetched using the wget fetcher, and add wget-native to ASSUME_PROVIDED.

(From OE-Core rev: 91583704383aef3d4742630380fd3f1d38c4b00a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04 23:39:01 +00:00
Richard Purdie 7fa6eeba1c classes/lib: Add expand parameter to getVarFlag
This sets the scene for removing the default False for expansion
from getVarFlag. This would later allow True to become the default.

On the most part this is an automatic translation with:

sed -e 's:\(\.getVarFlag([^,()]*, [^,()]*\)):\1, True):g'  -i `grep -ril getVar *`

In this case, the default was False, but True was used since in most
cases here expansion would be expected.

(From OE-Core rev: 42a10788e89b07b14a150ced07113566cf99fcdd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04 23:39:00 +00:00
Richard Purdie 9fd214d2e7 sstate: Fix SSTATE_SWSPEC only used by populate_lic tasks
This variable is only used by populate_lic tasks (gcc-source overrides it)
and refers to BPN. In recipes like gcc, where there are multiple variants,
it is resulting in sstate objects which encode PN (they install into a PN subdir)
but the sstate object reflects BPN. This leads to corruption between then and
eventually, warnings from image builds like:

WARNING: The license listed GPLv3 was not in the licenses collected for recipe gcc
WARNING: The license listed GPL-3.0-with-GCC-exception was not in the licenses collected for recipe gcc
WARNING: The license listed GPLv3 was not in the licenses collected for recipe gcc
WARNING: The license listed NCSA was not in the licenses collected for recipe gcc-sanitizers
WARNING: The license listed MIT was not in the licenses collected for recipe gcc-sanitizers
WARNING: The license listed GPL-3.0-with-GCC-exception was not in the licenses collected for recipe gcc
WARNING: The license listed GPLv3 was not in the licenses collected for recipe gcc
WARNING: The license listed NCSA was not in the licenses collected for recipe gcc-sanitizers

By referring to PN, as used by license.bbclass, this issue is resolved.

(From OE-Core rev: dd4a319efcfa1174ba0f48fd15cb446280c426e4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04 23:39:00 +00:00
Richard Purdie 4ea6a647df package.bbclass: Add data expansion to do_split_packages()
do_split_packages is often called with parameters which need expansion.
This happens to work at the moment since python functions are expanded
before execution but likely will not happen in future and isn't good
code practise.

Expand the common parameters do_split_packages() to avoid regressions.

(From OE-Core rev: c92ac7996b1b65a9171ea00e7156c87cccc07cec)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-04 23:39:00 +00:00
Randy Witt 60100884d4 populate_sdk_ext: Add SSTATE_MIRRORS to config blacklist
SSTATE_MIRRORS used by the builder may not be the same as what the
installer of the sdk will use. Therefore blacklist SSTATE_MIRRORS from
the builder configuration. Note: the actual SSTATE_MIRRORS for the sdk
can be added using sdk_extra_conf.

(From OE-Core rev: 3ddd6c8409b0365aa58b7dd0b2218a1f7ef05a4c)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-02 14:44:17 +00:00
Ross Burton 70ec8671ec insane: add test for -dev packaging containing real libraries
PN-dev packages should generally contain the link-time symlinks from libfoo.so
to the real libraries.  If a recipe installs a real library named libfoo.so
there's a very good chance that it's a loadable module and should be in another
package.

(From OE-Core rev: 47d38d4d86ec6a8c143603ef4d0f056f5a5d9ceb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-02 14:44:17 +00:00
Ross Burton 111af1d913 remove-libtool: add new class
This class adds a postfunc to do_install to remove all .la files installed by
libtool, so that they are absent from both the sysroots and target packages.

If a recipe needs these files to be installed then it can be overridden by
setting REMOVE_LIBTOOL_LA.

Note that this class isn't enabled by default.

[ YOCTO #2380 ]

(From OE-Core rev: da1219b5c48fe50d667bc72bd9ad0115b25d5558)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-02 14:44:16 +00:00
Maxin B. John 333dce483f gtk-immodules-cache.bbclass: fix immodules-cache path
This commit in gtk+ moved the cache files below <libdir>
"
commit c8849046860a9b17fa943247d85ddadb29262b48
Author: Matthias Clasen <mclasen@redhat.com>
Date: Thu Jul 4 09:27:17 2013 -0400
Move the module cache files below libdir

These files contain architecture-dependent paths, and thus placing them
into sysconfdir causes unnecessary hassle. Now the immodule cache file is
looked for in libdir/gtk-2.0/2.10.0/immodules.cache. Belated backport of a
change that was done in the run-up to 3.0.". Update gtk-immodules-cache.bbclass
to use that path.

The environment variable "GTK_IM_MODULE_FILE" can also be set to point GTK+
at the file to fix this problem. However, it causes problems for gtk3 apps.

[YOCTO #6774]
[YOCTO #8957]

(From OE-Core rev: fff4303a18ac8100e5a96da7facb42d8751e1eae)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-02 14:44:16 +00:00
Richard Purdie 5503a22ad0 sstate: Revert using -m option to tar in sstate
In http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=2d89cff42af2bb0049224bfaaebaa2b21966169f
we added a workaround for dealing with lack of time sync between build
machines and their users.

This has turned out to cause problems for people who rely on timestamps
being preserved in sstate output.

Since our autobuilders are all in time sync with ntp, revert the commit.

[YOCTO #8996]

(From OE-Core rev: 004a8bffdb501a99530dab2bc1c5f3d44b97b8f7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-01 11:20:19 +00:00
Phil Blundell ba2fdcddaf native.bbclass: Set CXXFLAGS from BUILD_CXXFLAGS not BUILD_CFLAGS
Although BUILD_CXXFLAGS, by default, expands to the same thing as
BUILD_CFLAGS there is no guarantee that this will be true in all
cases.  When setting CXXFLAGS we should use the former.

(From OE-Core rev: fd75637d97cc3d669229e59c1d21ce7038fc92d7)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-31 13:29:49 +00:00
Markus Lehtonen c43da12333 externalsrc: use shared CONFIGURESTAMPFILE if B=S
External source tree is used as the builddir even for different
architectures in case ${B}=${S}. This may cause problems if MACHINE is
changed as do_configure is not being re-run (which would run make
clean). This patches changes externalsrc to use a common (per-recipe)
CONFIGURESTAMPFILE under 'work-shared' if ${B}=${S}. In addition,
do_configure will depend on changes of this stamp file. As a result,
do_configure is re-run and the build dir is cleaned correctly if a
rebuild for different MACHINE is done.

[YOCTO #8950]

(From OE-Core rev: f44f12af346888bdeb3ae01a275cb5dd4396b505)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-31 13:29:48 +00:00
Markus Lehtonen c6b8227083 Make sure that the directory for CONFIGURESTAMPFILE exists
(From OE-Core rev: bb82dc384bda48d746634ba1f4e315737993c794)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-31 13:29:48 +00:00
Markus Lehtonen ca0617963a autotools.bbclass: use oe_runmake instead of ${MAKE}
Use oe_runmake like in base.bbclass so that EXTRA_OEMAKE will be
respected.

(From OE-Core rev: 5e89a79ae7f26735e523917555251313995d01d4)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-31 13:29:48 +00:00
Richard Purdie c936bf0dfa base: Move COMPATIBLE_MACHINE out the scope of SOURCE_MIRROR_FETCH
Recipes setting COMPATIBLE_MACHINE are likely to have SRC_URI
entries which can heavily depend on the configured machine. Skipping
them for SOURCE_MIRROR_FETCH is therefore not advised and leads to
build errors whilst not particularly improving source mirrors.

[YOCTO #8802]

(From OE-Core rev: b53038303374debf91ed73039cf79912f266acfe)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-31 13:29:47 +00:00
Andre McCurdy 85b66791aa autotools.bbclass: don't create subshell to delete configure scripts
(From OE-Core rev: 107ab45444bfaa2d287bb490f76b44fc827048b5)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-30 11:37:04 +00:00
Richard Purdie 2f1bcc1915 sstate: Add back packagedata on packagedata dependencies
(From OE-Core rev: 654f0eec426e882e50f688f6d097d992e34e5b40)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-30 11:37:04 +00:00
Robert Yang 7f54fab993 autotools_stage.bbclass: remove it
Not needed any more, the autotools.bbclass can fully instead of it.

(From OE-Core rev: 499465f4edad0d9dc16b07b33522964e1c1d3e5d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-30 11:37:04 +00:00
Richard Purdie 5410aff5a9 sstate: Improve handling of useradd dependencies
useradd has sstate [depends] for both do_package and do_populate_sysroot
yet the dependency validation code only covers do_package.

Add coverage of populate_sysroot, else the order inversion that [depends]
creates means unexpected installation of users of useradd.bbclass (e.g.
avahi do_populate_sysroot) in cases where it shouldn't be (e.g.
libnss-mdns -c packagedata).

The code needs to move above the other populate_sysroot intercept code
since there are specific cases we need to cover before that code.

The result of this change is more optimal installation of sstate objects
in common usage scenarios.

(From OE-Core rev: 21368b4a7934b3a199e61c1072416fd5c091e5ff)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-30 11:37:03 +00:00
George McCollister 9cddc0a7a2 bash-completion.bbclass: add class
Add bash-completion.bbclass which will package bash completion files in
a subpackage ${PN}-bash-completion. Use of this class will ensure
consitent handling of bash completions across recipes.

(From OE-Core rev: 80138689c2454781c21f0bcce92d8721c34c7405)

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-30 11:37:02 +00:00
Andre McCurdy f80d16e4d3 qemu.bbclass: clarify QEMU_EXTRAOPTIONS
QEMU_EXTRAOPTIONS is a way to add PACKAGE_ARCH specific options to the
qemu_run_binary qemu commandline. The base QEMU_EXTRAOPTIONS variable
(ie without a PACKAGE_ARCH suffix) is not used, so defining it, either
directly or via an over-ride has no effect.

Although previously an over-ride for _armv7a was used, it did nothing
for most armv7a builds, which typically use PACKAGE_ARCH values such
as "cortexa9hf-neon". In practice this worked OK since without a -cpu
option, qemu-arm will default to emulating a CPU which supports all
required architecture levels.

qemu-arm (v2.5.0) with no -cpu option has been confirmed to
successfully run binaries built for armv7ve.

(From OE-Core rev: 62b25b3489b44969e4adad657daebfaffdb4de56)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-30 11:37:01 +00:00
Markus Lehtonen 70814586bb buildhistory: fix the check for existence of a git repo
Previously, in order to determine the existence of an already
initialized Git repository we checked if a directory named '.git' was
present in the buildhistory dir. However, e.g. in the case of git
submodules '.git' may also be a regular file referencing some other
location which was causing unwanted behavior. This patch changes
buildhistory.bbclass to check for any file named '.git' which fixes
these problems.

[YOCTO #8911]

(From OE-Core rev: a5e931e0b1d941cc938fe2f49625c54b07fab0ce)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-30 11:37:00 +00:00
Khem Raj be4c446870 pth: Delete
replacement in npth is available in OE-core

(From OE-Core rev: 22c0b4c5034f929a1b1145f49b835387856e80b1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-30 11:36:58 +00:00
Richard Tollerton 3b5288f0a2 libc-package.bbclass: add LOCALE_UTF8_IS_DEFAULT
python hard-codes the encoding of many locales; for instance, en_US is
always assumed to be ISO-8859-1, regardless of the actual encoding of
the en_US locale on the system. cf
https://hg.python.org/cpython/file/7841e9b614eb/Lib/locale.py#l1049,
getdefaultlocale(), etc. This code appears to date back to python 2.0.
The source of this hard-coding is Xorg's locale.alias but is ultimately
justified by glibc's SUPPORTED.

This causes problems on OE, because any locale lacking an explicit
encoding suffix (e.g. en_US) is UTF-8. It has been this way from the
beginning (svn r1). That is not a bug, per se -- no specification
prohibits this AFAIK. But it seems to be at odds with virtually every
other glibc-based distribution in existence. To avoid needlessly
aggravating hidden bugs that nobody else might hit, it makes sense to
disable this behavior such that locales are named precisely as specified
by SUPPORTED.

I suppose that reasonable minds may disagree on whether or not the
current behavior is prudent; at the very least, this is likely to break
IMAGE_LINGUAS settings. So let's create a new distro variable
LOCALE_UTF8_IS_DEFAULT to allow either behavior. Set it to 0 and all
your locales get named exactly like they are in SUPPORTED. Leave it at 1
to preserve current OE locale naming conventions.

(From OE-Core rev: fcde0c43f7b57ec6f8201226ad98e6e46708d288)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-30 11:36:57 +00:00
Andreas Müller 9dea876e09 distutils-common-base: do not set PACKAGES - use defaults from bitbake.conf
it took me a while to understand why PACKAGE_BEFORE_PN did not work...

(From OE-Core rev: 50f0a2a041df679f06c0b93a0472905e8c129bd4)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-26 22:32:00 +00:00
Ross Burton 4ead707b6c insane: remove unused variable assignment
(From OE-Core rev: 6b3cfcf90a0eb51356318f197faf6db4dc06a3e9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-26 22:31:59 +00:00
Robert Yang 8a2dfa1691 image.bbclass: check INITRAMFS_MAXSIZE
Usually, the initramfs' maxsize can be 1/2 of ram size since modern
kernel uses tmpfs as initramfs by dafault, and tmpfs allocates 1/2 of
ram by default at boot time, which will be used to locate the initramfs.

Set INITRAMFS_MAXSIZE to 131072K (128M) by default (ram 256M), the
initramfs is small usually, for example, core-image-minimal-initramfs is
about 21M (uncompressed, 17M * 1.3) by default, but if the user add a
lot pkgs to initramfs, we can error and stop to let the user know ealier
rather than fail to boot (e.g., OOM-killer) at boot time.

Please see the bug for more info:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5963

[YOCTO #5963]

(From OE-Core rev: 155ba626b46bf71acde6c24402fce1682da53b90)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-26 22:31:59 +00:00
Ross Burton cac47db9c5 uninative: handle UNINATIVE_URL being file:///
If the local fetcher is used then files are not actually fetched into DL_DIR, so
check if this happened and if required add a symlink to the real file.

(From OE-Core rev: a13b0a0b79cf4db9f247facf71c03344b60be890)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-26 22:31:58 +00:00
Ross Burton 99958140a2 uninative: fix path to patchelf-uninative
When uninative was changed to use it's own sysroot the path to patchelf lost
${bindir_native}, so add it back.

(From OE-Core rev: d986f90937b7b4c60128003ef5d30d01ac1653e3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-26 22:31:58 +00:00
Markus Lehtonen bb971577ab meta/lib: new module for handling GPG signing
Add a new Python module (oe.gpg_sign) for handling GPG signing
operations, i.e. currently package and package feed signing. The purpose
is to be able to more easily support various signing backends and to be
able to centralise signing functionality into one place (e.g.  package
signing and sstate signing). Currently, only local signing with gpg is
implemented.

[YOCTO #8755]

(From OE-Core rev: 9b3dc1bd4b8336423a3f8f7db0ab5fa6fa0e7257)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-26 22:31:58 +00:00
Richard Purdie 6720bdac23 image: Don't create tasks with '.' in the name
Similarly to "-", "." doesn't work well in task names but is used in
some real world image classes. Work around this with some replacements
for now to unbreak layers.

(Issues don't show themselves until runtime, e.g. with --dry-run)

Tested-By: Otavio Salvador <otavio.salvador@ossystems.com.br>
(From OE-Core rev: f94d9be17d727b37dc655e7be272db2f290436aa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-26 18:05:13 +00:00
Ross Burton 88ca2276c1 rootfs-postcommands: fix allow-empty-password on read-only rootfs
When a read-only rootfs is being used sshd uses a different sshd_config file,
which also needs to be editted.

[ YOCTO #8680 ]

(From OE-Core rev: cff11495cc376f080e06028655e4eb6c7f8a8094)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-26 18:05:13 +00:00
Richard Purdie fdac363684 kernel: Clean DEPLOYDIR before do_deploy runs
If we don't do this, the deploy sstate object contains an every
increasing number of modules tarballs and kernel images, one per
execution of "-c deploy -f".

Cleaning the directory before we start makes things much tidier.

(From OE-Core rev: 3ac195bbd4ced24e6a132cfbe5e175b95fc4664b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-26 18:05:13 +00:00
Richard Purdie e66599f374 uninative: Fix conflicts with normal sysroot
Currently this code installs into the standard sysroot, however this causes
some conflicts when linking since the linker can look specifically for
versioned .so files (e.g. like libpthreads.so.0). This breaks builds
of util-linux-native for example.

The easiest solution is to install uninative into its own separate sysroot.

(From OE-Core rev: e2403bc637e2967a028718058f987cc8841a6edc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:34 +00:00
Richard Purdie 4833bee9fb insane: Drop do_stage test
do_stage was obsoleted years ago, drop the test now.

(From OE-Core rev: 59360521880a6ffbf893235bdc556533fab0a152)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:34 +00:00
Richard Purdie 861c91667d populate_sdk: Use pixz instead of xz
xz is slow at compressing the SDKs, we can speed it up by using the
parallel compressor, pixz.

(From OE-Core rev: f4ec14b986fee791da33b8900c28c956f17b28b0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:34 +00:00
Richard Purdie 29c5edaf46 uninative: Add fetch capability
Originally, the idea was that the init environment would handle
fetching or providing the binary shim that uninative needs.

This turns out to be ugly, especially when you consider proxy
environments and so on getting involved. Instead, lets therefore
support our fetcher which already handles all this.

The distro is expected to setup configuration like:

UNINATIVE_URL ?= "http://mydomain/mypath/"
UNINATIVE_CHECKSUM[i586] =
"md5sum1"
UNINATIVE_CHECKSUM[x86_64] = "md5sum2"

and then it should all work if the user inherits the uninative class.

This patch also improves the error handling in the class to give more
user readable error messages.

If the shim binary is already provided, the system will just use that
and ignore the url information.

(From OE-Core rev: 89097d2d7bf058136b01ec982b9453b49052b1d8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:34 +00:00
Paul Eggleton 979c8fbec4 classes/populate_sdk*: add dependencies on script files
If the script files we use to construct the SDK installer change then
that really ought to trigger re-execution of the do_populate_sdk(_ext)
task, so add file-checksums varflags to ensure that happens.

(From OE-Core rev: 59fc4bdefb3853d6893b9e3792018d54bb6bf99f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:33 +00:00
Paul Eggleton f220abcff7 classes/populate_sdk_ext: drop ext-sdk-prepare.py when installing
At the end of the extensible SDK installation, if we've successfully
prepared the build system then we don't need ext-sdk-prepare.py. I had
thought earlier that this would be used when updating, but a different
mechanism was needed there so this script isn't used for that.

(From OE-Core rev: 037ea78b0c3de01f87bbe06a1b88a162b2b40496)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:32 +00:00
Paul Eggleton 44d1a2a45c devtool: sdk-update: improve SDK update process robustness
Make the following improvements to the SDK update process:

* Use a manifest file with sha256sums to track files other than sstate
  and metadata that we need to update - e.g. conf files. This allows us
  to handle where files such as auto.conf may or may not be present,
  as well as the configuration changing without affecting task signatures
  - we still want the config files copied in that case rather than it
  saying nothing needs to be done.
* Write the SSTATE_MIRRORS_append to site.conf rather than local.conf
  so that local.conf remains static (since we don't want to trigger an
  update every time). Also, If there is an SSTATE_MIRRORS value already
  set in the configuration we can skip this and assume it contains the
  needed packages.
* Allow the update process to be run in any directory, don't assume
  we're already at the base of the SDK
* Where practical, fetch remote files into a temporary location and
  then move them to the desired location at the end, to avoid a
  failed update leaving the SDK in a broken state.
* Update all installed do_populate_sysroot / do_packagedata tasks
  instead of using the SDK targets. This ensures any item installed
  through dependencies after installation (e.g. when running
  "devtool build") won't go stale.

(From OE-Core rev: 3d35631121f0e030bc8151f5c23d84008d06f44b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:32 +00:00
Paul Eggleton d3a4f72896 classes/populate_sdk_ext: add option to bring in pkgdata for world
Add a variable SDK_INCLUDE_PKGDATA which you can set to "1" to include
pkgdata for all recipes in the world target. There are a couple of uses
for this:

1) If you use "devtool add" to add a recipe that builds something which
   depends on anything in world, the dependency can then be correctly
   mapped to the recipe providing it and that recipe can be added to
   DEPENDS, since we have the pkg-config and shared library dependency
   data within pkgdata.
2) You'll be able to search for these recipes and any files they
   package for the target with "devtool search" since that also uses
   pkgdata

This of course assumes you've tailored world through EXCLUDE_FROM_WORLD
to only include recipes you'd want built in your distro, but I think
that's a reasonable assumption; failing that there is a
WORLD_PKGDATA_EXCLUDE variable that you can set to exclude any recipes
you don't want.

Note that this patch relies on functionality implemented in a recent
BitBake patch and will not work without it.

Implements [YOCTO #8600].

(From OE-Core rev: 67149ea097d6fab7496b43e85a40853f40bd527e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:32 +00:00
Ross Burton 063dc3856d update-alternatives: when warning about alt_link==alt_target, say what PN
A warning that doesn't say what the PN is doesn't really help.

(From OE-Core rev: 27ad7f446ff7b6a6a4f8f0d392f03c6707340a21)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:25 +00:00
Robert Yang eb418c37ce insane.bbclass: fix package_qa_walk()
The parameter "path" would be redefined inside package_qa_walk() which
is useless,  so remove it.

(From OE-Core rev: b07d06d02cb675f5ed00ebe603441254f5671088)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:22 +00:00
Robert Yang e1850048a2 insane.bbclass: print all the QA messages
Fixed:
If more than one files have the same QA issue, it only prints the last
one, others are overrided, for example:
messages["host-user-contaminated"] = "foo1"
messages["host-user-contaminated"] = "foo2"
Only foo2 will be printed.

Add package_qa_add_message() to hanlde messages, so that all of them
will be printed. The package_qa_add_message() is from RP.

(From OE-Core rev: 1dcb38ca9d632887dd99ea9fa32dd955561dc18d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:22 +00:00
Robert Yang 68c5e6d4d0 insane.bbclass:buildpaths: ignore ipkg/dpkg's CONTROL dir
Fixed race issue when:
WARN_QA_append = " buildpaths"
PACKAGE_CLASSES = "package_ipk"
$ bitbake e2fsprogs

[snip]
 *** 0595:    with open(path) as f:
     0596:        file_content = f.read()
     0597:        if tmpdir in file_content:
     0598:            messages["buildpaths"] = "File %s in package contained reference to tmpdir" % package_qa_clean_path(path,d)
     0599:
Exception: IOError: [Errno 2] No such file or directory: '/path/to/tmp/work/core2-64-poky-linux/e2fsprogs/1.42.9-r0/packages-split/e2fsprogs-ptest/CONTROL/control'

The similar to package_deb.

(From OE-Core rev: cd4313339853d2eddebf93a49d0f45a305985a31)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:21 +00:00
Ross Burton 258676bfa7 sstate: display the sysroot name when cleaning for clarity
When cleaning old builds from the sysroots, also print the sysroot architecture.

(From OE-Core rev: 98a98a4bf71f74b5c27291ee9a2ac14006377e49)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:21 +00:00
Ross Burton ba837f1055 autotools: don't output the full config.log on configure failure
The config.log written by autoconf includes many pages of useless output,
followed by an obfuscated error message, and then more pages of every variable
that's been set.  It's only understandable if you're well versed in how autoconf
behaves, and often in simple failure modes doesn't actually make it clear what
the problem was.

Instead of outputting the whole config.log to the console when do_configure()
fails, use bbfatal_log so the human-readable configure output (not the
config.log) is shown to the user, and tell the user where config.log can be
found if they need it.

[ YOCTO #8856 ]

(From OE-Core rev: 55e263c559098cce99d8c3ef57ccc39f1d4a6848)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:20 +00:00
Mariano Lopez 6ebda8e659 lib/oe/rootfs: Use list_pkgs() instead of list()
This patch changes the use list_pkgs() instead of list()
from class RpmPkgsList. The change is in two functions,
image_list_installed_packages from rootfs.py and
sdk_list_installed_packages from sdk.py.

With this change the functions calling the functions
listed above, must format the output as they required.
The formatting can be done using format_pkg_list() from
oe.utils.

The classes calling the afected functions are changed too
with this patch, to keep the same functionality using the
new data structure.

[YOCTO #7427]

(From OE-Core rev: 983ea373362514e5888bd1d7d9c4f136c94b00f2)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-20 17:07:15 +00:00
Ross Burton 18357688e9 sstate: replace verbose manifest removal with a single count
If there are lots of changes between the previous build and the build about to
start bitbake will potentially print pages of:

  DEBUG: Stamp $BUILD/stamps/corei7-64-poky-linux/libdrm/2.4.66-r0 is not reachable, removing related manifests

Instead of spamming the console with this list, write the list of manifests only
to the debug log and simply write a count to the console.  This way the user
doesn't get spammed but still knows what is happening if bitbake appears to
stall with heavy I/O.

(From OE-Core rev: e777b541c76dad293d1c214e46c00f8f78fe0539)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 17:37:35 +00:00
Markus Lehtonen 5dc38a349a sign_rpm.bbclass: fix task dependencies
do_rootfs task needs to depend on signing-keys:do_export_public_keys.
The rpm signing public key needs to be present in order to prevent a
crash because it is imported into the rootfs rpmdb before rootfs
creation starts.

(From OE-Core rev: f854f4549f0b01421464032406a5275494acd818)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 17:37:34 +00:00
Richard Purdie 9e867efdc8 sstate: Add packagedata to list of tasks not to recurse
If we "bitbake X -c packagedata" and the packagedata comes from sstate, we
don't need any of the tasks dependencies. This is similar to the
populate_lic case, we only care about the end result.

Therefore short circuit the dependencies so packagedata doesn't pull in
any other dependencies.

(From OE-Core rev: 76aa4f49db7d32bbd35703c64470fdfc63f403a4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 17:24:53 +00:00
Paul Eggleton 5e881c185c classes/populate_sdk_ext: fix task dependency regression
Fix a regression caused by OE-Core revision
eabeb26335b1a4eb1e68218160dbdbe8fdf36272 where we lost the task
dependency on packages in TOOLCHAIN_HOST_TASK (such as
meta-environment-extsdk-${MACHINE}) which led to errors about missing
packages when building the extensible SDK. This happened because I only
moved half of the dependencies coming from the standard SDK task to
do_sdk_depends.

While I'm at it, tidy up the do_populate_sdk_ext[depends] line.

(From OE-Core rev: 80309a2ba25de219b5339f1af6d5052d6229b676)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 17:24:53 +00:00
Richard Purdie 2e9f092c97 image: Handle image types containing '-' correctly
Shell function names can't contain '-' characters, which means our image
task names also can't. Add some mapping to use '_' instead of the '-' so
images like "rpi-sdimg" work again.

(From OE-Core rev: e609a4dea2f6d9744e7d2a6650bebf2c02398907)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 17:24:53 +00:00
Richard Purdie ef211a5ca1 bootimg/image-vm/image-live: Improve image dependencies
Now that image generation consists of separate tasks, we can improve
the dependencies in these classes. We can also incorporate the tasks
within do_image_complete instead of do_build so we have a specific task
for when the deploy directory is populated with images.

This fixes various expectations about do_image_completed and the way
I'd tried to use it to fix some sanity test problems.

(From OE-Core rev: 9543c4a9ce0ac7d9ced66fa14e48a1aa7401011e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 17:24:47 +00:00
Richard Purdie 0910bc65f5 image: Always run do_rootfs_wicenv
The wic command can be used externally but for this to work, the wic
environment file needs to be present. Therefore write this out
universally, it runs in parallel with other image construction so
any performance implications are negligible.

(From OE-Core rev: b2576f2eab10e4c5dd86449312b417a269cc578e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 17:24:47 +00:00
Richard Purdie 05716dd7ee bootimg/image: Enhance bootimg to respect RM_OLD_IMAGE
Currently, iso and hddimg links don't respect RM_OLD_IMAGE. This
updates them to use the common symlinks code so that they behave
like the rest of the system.

(From OE-Core rev: 6a05cb64dfafd531d50454ef7141ff0290d01ca9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 17:24:47 +00:00
Richard Purdie 1c869a96b2 rootfs-postcommands: Ensure license manifests respect RM_OLD_IMAGE
When RM_OLD_IMAGE is set, old manifest files should be removed
along with old image files and our QA tests expect this.

This patch ensures this happens.

(From OE-Core rev: fc951851a0e172641e2f24a4edce87ca2eb5cecd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 17:24:47 +00:00
Richard Purdie d27491b694 image: Ensure we don't expand TMPDIR in image commands
Similarly to DATETIME, don't expand TMPDIR in image commands.
This ensures some of the stamp comparisons we make in the
QA tests work correctly.

(From OE-Core rev: a8c377beadb85b0ff503ec8ddd1a2cd05e363c19)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 17:24:47 +00:00
Richard Purdie ce8a2068d4 image: Fix instability of do_image_* checksums
The do_image_* tasks contained the expanded version of DATETIME. Due
to the expansion, we couldn't exclude the value from the task checksum
which meant the task would rerun.

We fix this by deleting the DATETIME value during expansion so we don't
expand any references to at that time. This means the task's hash can be
stable rather than having hardcoded date/time values. It will get expanded
at execution time.

This also fixes errors shown by -S:

NOTE: Reparsing files to collect dependency data
Writing locked sigs to /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/locked-sigs.inc
ERROR: Bitbake's cached basehash does not match the one we just generated (/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/recipes-sato/images/core-image-sato.bb.do_image_tar)!
ERROR: The mismatched hashes were 77872792556367f1dde49a1425caf1a0 and 9bb0aca6286ab7dd22d3c69964beb665

(From OE-Core rev: ecbc1db7ed1f9848dee69507de8eb289b8ddeba0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 17:24:47 +00:00
Richard Purdie fb1654fee4 image: Fix wic environment issues
The wic environment function needs to run after the rootfs size is
setup. We move this code to a specific task, and depend on that task
from the wic images and other places its needed.
This fixes:

======================================================================
FAIL: test_image_env (oeqa.selftest.wic.Wic)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/utils/decorators.py", line 106, in wrapped_f
    return func(*args, **kwargs)
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/wic.py", line 218, in test_image_env
    self.assertTrue(var in content, "%s is not in .env file" % var)
AssertionError: False is not true : ROOTFS_SIZE is not in .env file

(From OE-Core rev: 606f9e2d7d8d389c8d4f5c3090139d3bb780e09c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 17:24:46 +00:00
Richard Purdie 1da8f52b67 insane: Start to clean up do_configure_qa code
This cleans up the do_configure_qa code so that the exit status from
package_qa_handle_error is handled correctly.

It also converts package_qa_check_license to use our standard QA check
configuration interface through package_qa_handle_error rather than
a mix of return values, bb.fatal and bb.build.FuncFailed.

Due to the merging of multiple lines into one message, we need to
tweak a QA test to account for this.

(From OE-Core rev: fbdf977a8094bb1e0baca85ffb3ed7f326986639)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 17:24:46 +00:00
Richard Purdie dd28695320 insane: Clean up horrible return value processing code
Whilst in theory return values are nice, handling the complex
aggregation of the return values is ugly. The code already uses QA_SANE
as a marker to signal problems. Whilst that isn't as idealistic, it
makes the code massively cleaner, so rely on this instead.

(From OE-Core rev: ebee3caeaa18daf4974ea90e264d64467681f57a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 17:24:46 +00:00
Jackie Huang 320a319220 license.bbclass: fix license manifest
The license manifest is wrong when there is no spaces before and after separates |&()
and we can get warning like:
WARNING: The license listed Artistic-1.0GPLv1+ was not in the licenses collected for recipe

(From OE-Core rev: 20d6a4ce4e395251604d92111ce5ecacde5ce172)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-18 11:47:08 +00:00
Andre McCurdy 76e35f1d76 kernel-yocto.bbclass: move do_kernel_link_vmlinux() into kernel.bbclass
Move do_kernel_link_vmlinux() from kernel-yocto.bbclass into
kernel.bbclass so that it's available to any kernel recipe.

Note that the task is not enabled by default in kernel-yocto.bbclass,
so don't enable by default in kernel.bbclass either. To enable, see
the example in linux-yocto.inc, ie:

  addtask kernel_link_vmlinux after do_compile before do_install

(From OE-Core rev: a29371848deda618a42f9a30f9856a44c2342fe6)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-18 11:47:08 +00:00
Andre McCurdy d453fa183c kernel-yocto.bbclass: remove do_kernel_link_vmlinux from SRCTREECOVEREDTASKS
The do_kernel_link_vmlinux() task modifies the build directory (not
the source tree) and should not be skipped when externalsrc is being
used.

(From OE-Core rev: 70b8a60d42831c701d10066eb57aaaad7a6fb7ae)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-18 11:47:08 +00:00
Elliot Smith e246905bfc toaster.bbclass: Separate artifact dump from image file dump
SDK artifacts were being dumped alongside the image file dump.
However, the dump was not being triggered correctly, as it
should be attached as a postfunc to do_populate_sdk, rather than
do_rootfs, as do_rootfs doesn't always fire when populating
the SDK directory.

By adding a postfunc to do_populate_sdk, the postfunc is fired
in the correct situations.

Also fixes the directory which is scanned for SDK artifacts, as
this is different from the image file directory.

[YOCTO #7603]

(From OE-Core rev: cd2eb45ce1f9be15e133d6fe940c1cff2199099b)

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-18 11:47:07 +00:00
Peter Kjellerstedt 4b4dea75b5 useradd-staticids.bbclass: Remove unnecessary spaces
This removes unnecessary spaces inserted before semicolons in the
modified USERADD_PARAM_${PN} and GROUPADD_PARAM_${PN} variables. This
should not affect the handling of the variables as the only one that
actually sees the semicolons is the code in useradd.bbclass that uses
cut to split the variables at them, and any whitespace preceeding or
following the semicolons will be properly ignored.

(From OE-Core rev: acc17ef91a6f506e3cacdc0d4ebfa268b3f3affd)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-18 11:47:07 +00:00
Peter Kjellerstedt 4f2c352580 useradd-staticids.bbclass: Read passwd/group files before parsing
Read and merge the passwd/group files before parsing the user and
group definitions. This means they will only be read once per
recipe. This solves a problem where if a user was definied in multiple
files, it could generate group definitions for groups that should not
be created. E.g., if the first passwd file read defines a user as:

foobar:🔢:::

and the second passwd file defines it as:

foobar:::nogroup:The foobar user:/:/bin/sh

then a foobar group would be created even if the user will use the
nogroup as its primary group.

(From OE-Core rev: 3149319ad997379a01d87f2b1b5d14f66541997f)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-18 11:47:06 +00:00
Peter Kjellerstedt 4cbdb1577e useradd-staticids.bbclass: Simplify the logic for when to add groups
The original code was near impossible to follow, and missed a couple
of cases. For example, if one added the following line to the passwd
file specified in USERADD_UID_TABLES:

foobar12345:nogroup::/:/bin/sh

and then specified the user as:

USERADD_PARAM_${PN} = "--system foobar"

one would then assume that the foobar user would be created with the
primary group set to nogroup. However, it was not (the primary group
would be foobar), and the only way to get it correct was to explicitly
add --gid nogroup to the USERADD_PARAM_${PN}.

(From OE-Core rev: e98e98ce65cf9ffdef29462310a622ffddd1412b)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-18 11:47:06 +00:00
Peter Kjellerstedt b18e40ce2f useradd-staticids.bbclass: Simplify some logic
The [<on_true>, <on_false>][not <condition>] construct may solve the
problem of implementing a conditional operator, but it is not very
readable. At least I find this:

    uaargs.groupid = field[3] or uaargs.gid or uaargs.groupname

a lot more readable than this:

    uaargs.groupid = [uaargs.gid, uaargs.groupname][not uaargs.gid]
    uaargs.groupid = [field[3], uaargs.groupid][not field[3]]

Also, the official conditional operator since Python 2.5 (<on_true> if
<condition> else <on_false>) does not evaluate both <on_false> and
<on_true> as [<on_true>, <on_false>][not <condition>] does.

(From OE-Core rev: 274d38a6e2183ec88335a08b963f26c34b328558)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-18 11:47:06 +00:00
Peter Kjellerstedt b689aa0df3 useradd-staticids.bbclass: Make --no-user-group have effect
If --no-user-group is specified in USERADD_PARAM_${PN} for a user and
no --gid is specified, then we should not assume that the group name
for the user is the user name.

(From OE-Core rev: 0e5402c433739a416a76df532378533cb25365c7)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-18 11:47:06 +00:00
Peter Kjellerstedt c03ea8dddc useradd-staticids.bbclass: Treat mutually exclusive options as such
The useradd options --create-home/--no-create-home and
--user-group/--no-user-group are mutually exclusive and should be
treated as such.

(From OE-Core rev: 908eca7fb4af8a60026f53e2bb2cf1d5daf089ab)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-18 11:47:06 +00:00
Robert Yang 44d283a13d autotools.bbclass: use relative path to run configure script
The absolute path (/path/to/configure) caused VPATH in Makefile to be an
absolute path, and then it will be in elf files, use relative path to
run configure can fix the problem.

This will reduce a lot of buildpaths QA issues in a world buld.

[YOCTO #8894]

(From OE-Core rev: 2c6ad43af0a0c4db5d7fd342be8585bec66debfb)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-18 11:47:03 +00:00
Jianxun Zhang c0e9f2d2b6 kernel/kernel-arch: Explicitly mapping between i386/x86_64 and x86 for kernel ARCH
For a bare-bone kernel recipe which specifies 32 bit x86 target,
a 64 bit .config will be generated from do_configure task when
building 32-bit qemux86, once all of these conditions are true:

* arch of host is x86_64
* kernel source tree used in build has commit ffee0de41 which
  actually chooses i386 or x86_64 defconfig by asking host when
  ARCH is "x86" (arch/x86/Makefile)
* bare-bone kernel recipe inherits directly from kernel without
  other special treatments.

Build will fail because of the mismatched kernel architecture.

The patch sets ARCH i386 or x86_64 explicitly to configure
task to avoid this host contamination. Kernel artifact is also
changed so that it can map i386 and x64 back to arch/x86 when
needed.

(From OE-Core rev: 8d310b24927d0f348fb431895f0583733db2aad0)

Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15 15:44:56 +00:00
Richard Purdie b567235c0c image/image-live: Add back IMAGE_TYPES_MASKED support
IMAGE_TYPES_MASKED support was accidentally removed. The original
idea behind it was to remove some of the hardcoding in the core
image code, so do that for image-live and ensure the dependency
and masked variables correctly reflect the needs of the class.
This means we can remove all the hardcoded special cases since
image-vm already has the needed markup.

(From OE-Core rev: 9a2d4a3b8d7bb1cf7f1fb7fe47d5c002d9941c89)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15 11:59:42 +00:00
Otavio Salvador e914e2ac15 image.bbclass: Handle image base type dependency properly
When a base image type has an implicit dependency (from IMAGE_TYPEDEP)
this has to be taken into account. This is a regression introduced by
OE-Core:c2dab18 (image: Create separate tasks for rootfs construction).

The issue has been found when building meta-fsl-arm based images which
does not include the rootfs image type explicitly in IMAGE_FSTYPES but
instead is added, using IMAGE_TYPEDEP, for the 'sdcard.gz' image.

Reported-by: Fabio Berton <fabio.berton@ossystems.com.br>
(From OE-Core rev: 191c7be3a6cc52911f244323072433f6a1172bf1)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15 11:59:42 +00:00
Paul Eggleton cf0aea78b0 classes/populate_sdk_ext: avoid unnecessary sstate being brought in
Create a separate task where we can just have the recursive dependencies
for the tasks corresponding to constructing the SDK content (i.e. from
the image contents). This avoids us recursing into dependencies from
buildtools and getting a bunch of nativesdk stuff, for example.

(This isn't an ideal way to have to implement it, but without
overcomplicating things on the BitBake side just for this use-case I
can't see a better way.)

(From OE-Core rev: eabeb26335b1a4eb1e68218160dbdbe8fdf36272)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15 11:54:51 +00:00
Richard Purdie ea29bec6c7 insane/package: Fix cases where QA errors aren't fatal
When using package_qa_handle_error(), we need to check QA_SANE and
give a fatal error if issues were raised. The main insane checks do
this, the anonymous python in insane does not, nor does the code in
package.bbclass. This was likely missed when the function was
introduced to package.bbclass.

The impact is that errors can be shown but don't stop the build
(do_package succeeds), the initial build fails due to the errors
shown but subsequent builds succeed. This is clearly broken.

The solution is to check QA_SANE in places we use the handle_error
function.

[YOCTO #8907]

(From OE-Core rev: 7e36d13212763fe409747aba011c020c9aeba6d7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15 11:54:51 +00:00
Paul Eggleton 2e620a4785 classes/populate_sdk_ext: check that extensible SDK prepared correctly
After the change to use --setscene-only when running bitbake to prepare
the SDK at the end of installation, add a check that the SDK got
prepared correctly by doing a dry-run and looking at the output for any
real tasks that we don't expect. In order to make this easier, the
preparation shell script was rewritten in python.

(From OE-Core rev: 2306683634435b990e63020fc5cf91753bbaf7b6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15 11:54:51 +00:00
Paul Eggleton 4685c3378d classes/buildhistory: save auto.conf and bblayers.conf for extensible SDK
These form part of the configuration for the extensible SDK, we should
really be recording what goes into them.

(From OE-Core rev: bd1557bfd726e44c23ab6220867119c57ac6b596)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15 11:54:51 +00:00
Paul Eggleton 39f6472605 classes/populate_sdk_ext: support auto.conf
If auto.conf exists in the user's configuration we need to also run it
through the same filter and write the result into the ext SDK, or we
risk missing configuration applied on an autobuilder.

Fixes [YOCTO #8904].

(From OE-Core rev: fb0a34a00f3eb10935a3fca4d0af74ae4de4f9a5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15 11:54:51 +00:00
Paul Eggleton 91877aa60e classes/populate_sdk_ext.bbclass: handle if local.conf doesn't end with a newline
If there is no newline at the end of local.conf, appending
INHERIT = "uninative" won't work, it will corrupt the line and the
installed eSDK will build things, making the "Preparing build system..."
step take an age.

Fixes [YOCTO #8897].

(From OE-Core rev: 1e641f09e8cf0ba716c3d2aade0845abecc27827)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15 11:54:51 +00:00
Mark Hatle ea05e05826 image.bbclass: Unconditional includes of populate_sdk_ext fails
populate_sdk_ext requires uninative support, which is only available on
glibc based SDKMACHINES.  For instance, when using mingw32 a dependency
error will occur:

NOTE: Runtime target 'nativesdk-glibc' is unbuildable, removing...
ERROR: Required build target 'core-image-minimal' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-minimal', 'uninative-tarball', 'nativesdk-glibc']

This is dues to populate_sdk_ext.bbclass having:
do_populate_sdk_ext[depends] += "buildtools-tarball:do_populate_sdk uninative-tarball:do_populate_sdk"
addtask populate_sdk_ext

Since bitbake can't determine for dependency resolution if the task is going
to be run yet, it blows up and says it simply can't be resolved.

Workaround this problem by making the inherit conditional on the SDK_OS
containing 'linux'.

(From OE-Core rev: e471ce3464d5ae024315d4839cccd4c651f9ba83)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15 11:54:48 +00:00
Matt Madison e265fbba3c package_deb.bbclass: add 'Multi-Arch: foreign' tag to allarch packages
This tells APT that it can use such packages to resolve dependencies
from packages of any architecture in a multilib build.

(From OE-Core rev: 7158c79a70e3d820c9701dacfa7206d13f95845a)

Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11 23:26:31 +00:00
Matt Madison 9ea7428e67 package_deb.bbclass, cross-canadian.bbclass: DPKG_ARCH mapping function
Have DPKG_ARCH set by directly invoking a mapping function, rather
than using an anonymous Python function modify the variable under
the hood, so we can have proper handling of overrides.

Also bring in some additional mappings to Debian architecture names
that weren't being handled.

(From OE-Core rev: 8d042ea4e755cb0bb28b88333e10e04ec4e86a36)

Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11 23:26:31 +00:00
Randy Witt 74c3667b2a populate_sdk_ext: Pass excluded_targets as a list to prune_lockedsigs
prune_lockedsigs expects excluded_targets to be a list, whereas
previously it was passed in as a string.

(From OE-Core rev: db3cd1e08b08b99342d269882f31ec7e1daba2c6)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11 23:26:29 +00:00
Richard Purdie e306d5495a populate_sdk_ext: Change to include siginfo and non sstate task sigs
Right now, the locked task hashes list for the extensible SDK locks
down only the sstate tasks.

Whilst asthetically pleasing, this gives two problems:

* Half the task are left floating meaning checksum mismatches
  are a pain to debug
* The later code which copies relavent data files out the sstate
  cache can't use any of this data.

This patch modifies things so all the checksums are listed in the locked
file. An exclusion of tasks probably makes more sense for the library
function rather than an allowed list.

The only sstate task being deliberaly excluded here was do_package
so add in a function to explictly exclude those sstate object files.

The net result of this that siginfo files for all tasks are included in
the SDK, which means commands like "bitbake -S printdiff" now function.

(From OE-Core rev: 6b70479e47b8a8743d8b410d6bc08da1607a318e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11 23:26:29 +00:00
Richard Purdie e1a558a434 populate_sdk: Switch from bzip2 to xz
xz gives *much* faster decompression times for the SDK which in itself
is a good reason to use it. It also gives better compression.

One downside is its slower but we care about the end user case
first, build performance secondary.

It also assumes the SDK user has a tar capable of understanding a xz
compressed file but that should be common enough now.

(From OE-Core rev: 193086137b899a0a4e774ffc337ed0da9947fd4f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11 23:26:29 +00:00
Richard Purdie 3341f3fbee classes: Fix do_rootfs references
After the separation of do_rootfs, some rootfs references need changing
to image_complete.

(From OE-Core rev: 59a5f596ca29b1eb8283706e3c60fbb39f9c2c23)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11 23:26:29 +00:00
Richard Purdie 0a4e1f968a image: Create separate tasks for rootfs construction
This patch splits the code in lib/oe/image into separate tasks, one per
image type. This removes the need for the simple task graph code and defers
to the bitbake task management code to handle this instead.

This is a good step forward in splitting up the monolithic code and starting
to make it more accessible to people.

It should also make it easier for people to hook in other tasks and processes
into the rootfs code.

Incidentally, the reason this code was all combined originally was due to
limitations of fakeroot where if you exited the session, you lost permissions
data. With pseudo this constraint was removed.

We did start to rework the rootfs/image code previously and got so far with
untangling it however we did prioritise some performance tweaks over splitting
into separate tasks and in hindsight, this was a mistake and should have been done
the other way around. That work was suspended due to changes in the people working
on the project but this split has always been intended, now is the time to finish
it IMO.

There were some side effects of doing this:

* The symlink for the manifest moves to the rootfs-postcommands class and into
  the manifest function.
* There is no seperate "symlink removal" and "symlink creation", they are merged
* The date/time stamps of the manifest and the built images can now be different since
  the tasks can be run separately and the datetime stamp will then be different
  between do_rootfs and the do_image_* tasks.

(From OE-Core rev: c2dab181c1cdabac3be6197f4b9ea4235cbbc140)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11 23:26:29 +00:00
Richard Purdie fdced52387 image: Move pre/post process commands to bbclass
As the next step in splitting up do_image, move the pre and post processing
commands to separate tasks. This also creates the do_image_complete task
which acts as the end marker task for image generation.

(From OE-Core rev: 800528eaa421d451b596545125cb218e08989151)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11 23:26:29 +00:00
Richard Purdie cdc0aeed9b image.bbclass: Separate out image generation into a new task, do_image
I've heard complaints from people trying to create more interesting image
types about how hard it is to understand the rootfs/image generation code
and that its a pain to develop/test/debug.

Having looked at it myself, the internal construction of shell functions which
then gets passed into a multiprocessing pool is rather convoluted and it places
rather odd constraints on when variables are expanded. Its therefore no wonder
people find it confusing/complex.

This patch starts the process of splitting this up by separating out image
generation from the do_rootfs task into a new do_image task.

(From OE-Core rev: 57578d0ca6c3aaf6edf0af2c4862d43c97415156)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11 23:26:29 +00:00
Paul Eggleton 9348c91ce1 classes/populate_sdk_ext: disable signature warnings
The user of the extensible SDK doesn't need to see these.

(From OE-Core rev: 7045fabf73d4eef9c023edb9e0a8b8d1d3f04680)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11 15:41:45 +00:00
Paul Eggleton d44dcd77ab classes/populate_sdk_ext: fix cascading from preparation failure
During extensible SDK installtion, if the build system preparation step
fails we try to put something at the end of the environment setup script
to show an error when it is sourced, in case the user doesn't realise
that the partially-installed SDK is broken. However, an apostrophe in
the message (actually a single quote) appears to terminate the string
and therefore breaks the command. Drop it to avoid that.

(From OE-Core rev: 21e591d182e24c399ae010a8eff9b89947061a46)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11 15:41:45 +00:00
Richard Purdie 2c5e7e04f1 image: Really remove lockfiles flag
This was supposed to be removed by a previous patch but was readded.
Really remove it.

(From OE-Core rev: 5661d8cb7849df62358368743134c0aaf523965e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-07 13:42:12 +00:00
Mariano Lopez b1515064b5 image_types.bbclass: Rebuild when WICVARS change
The procces to do a wic image is to save a file with
variables required by wic and then call wic using this
file. Because this is external to bitbake if the vars
change, the image won't be rebuild; an example of such
is IMAGE_BOOT_FILES.

This patch adds these variables to vardeps of do_rootfs
when a wic image is build. This will rebuild the image
if a variable needed by wic changes.

[YOCTO #8693]

(From OE-Core rev: 12c54d50ed4c321dc272beb3c6cb770965c979f1)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-07 13:40:20 +00:00
Ross Burton 6d111c8290 testimage: remove VNC test, x11vnc isn't in oe-core anymore
Now that x11vnc won't be in Sato images we don't want to test it.

(From OE-Core rev: 90ff7219332d9651fcdfc895d61fb73a46ffde78)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-07 13:40:20 +00:00
Paul Eggleton ae1fc966f7 classes/buildhistory: actually use KiB in extensible SDK sizes files
I was using bytes here for the sizes and writing out KiB as the suffix.
Change it to actually write out size values in KiB.

(From OE-Core rev: e6b1840ee9aeb933f86fd2a92a90b94c1bc9db7c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-07 13:40:20 +00:00
Martin Jansa e2736f7db6 sanity.bbclass: add more information to error message about TUNE_PKGARCH missing in PACKAGE_ARCHS
* sometimes it's hard to see what's wrong here
* error message:
  Error, the PACKAGE_ARCHS variable does not contain TUNE_PKGARCH (cortexa7t2hfhf-vfp-vfpv4-neon).
  doesn't help much to understand what exactly went wrong and where

(From OE-Core rev: 4bedd149964b3b594d7b1a233a9cc436925288e9)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-07 13:40:18 +00:00
Alexander Kanavin 8b11ed8a75 qt4: remove recipes and classes
Qt4 is no longer supportd upstream, but it is still needed for LSB compliancy.
Qt4 recipes have been moved to a separate meta-qt4 layer to be consistent with
meta-qt3 and meta-qt5.

(From OE-Core rev: cb89d2b25b4edb1241bc5426a69a6bc44df9be2c)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-07 13:40:14 +00:00
Richard Purdie 401c632508 image: Condense do_rootfs function/flags
Various prefuncs and flags and addtask statements make sense to belong together
in one clearer function now, this patch cleans things up a bit.

(From OE-Core rev: eae0cf7875197f9520be54370bc670e27338aad3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-06 15:27:33 +00:00
Richard Purdie 0051510ae3 image/rootfs-postcommands: Separate out post rootfs commands to separate class
Reading image.bbclass is a little difficult as it has many post rootfs
helper functions and its hard to separate those from the core contents
of the rootfs/image code.

Moving it to a separate class would be one way of making it clearer
what these functions are. There are some comment layout improvements
but no code changes.

(From OE-Core rev: df4cb51c8e60fa46d4d15be8da3d84287ff08ae7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-06 15:27:33 +00:00
Richard Purdie 3428eddcd1 image: Remove pointless rootfs lock
It was added in aa3141e979 back in 2008
but I don't see why multiple images would need this now.

(From OE-Core rev: 2eaeac6d98c310cb2602ba194d934c5b7bed253d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-06 15:27:33 +00:00
Ming Liu 0f516f0efe image-vm.bbclass: uses IMAGE_LINK_NAME
Uses ${IMAGE_LINK_NAME} instead of ${IMAGE_BASENAME}-${MACHINE}.

(From OE-Core rev: 755627cdbe32ef1b46692669f8aba981d626a0e7)

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-28 09:25:19 +00:00
Ming Liu c851096d97 image-live.bbclass: uses IMAGE_LINK_NAME
Uses ${IMAGE_LINK_NAME} instead of ${IMAGE_BASENAME}-${MACHINE}.

(From OE-Core rev: 5f9feffe4cc4c1c084ab266382460e0b8f37e023)

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-28 09:25:19 +00:00
Alexander Kanavin dd5756b353 mirrors: add archive.apache.org to Apache mirrors
Historical releases may disappear from the main mirrors, so
then we need to fall back to the archive (which, in turn, may
not carry the current release, and so can't be the primary mirror).

(From OE-Core rev: 2eb171a1c9f1d2ce37965aad7b3f470a2c44ed83)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-28 09:25:18 +00:00
Paul Eggleton 35bd2544ec buildhistory: improve support for extensible SDK
* Ensure extensible SDK and standard SDK go into their own directories
* Record extra extensible SDK variables
* Write sstate-package-sizes.txt and sstate-task-sizes.txt files so you
  can analyse the size of the contents
* Add BUILDHISTORY_SDK_FILES (similar to BUILDHISTORY_IMAGE_FILES) and
  default it to pick up config files installed in the extensible SDK

(From OE-Core rev: 5f87ff116d9ccd5e95e638dfa84583169a3f99f3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-28 09:25:17 +00:00
Paul Eggleton ea0abcdd17 buildhistory: fix not recording SDK information
After OE-Core revision baa4e43a29e45df17eaa3456acc179b08d571db6 we lost
recording SDK the contents in buildhistory. This was due to the
SDK_POSTPROCESS_COMMAND variable being set with = in
populate_sdk_base.bbclass which overwrote any value set with += in
buildhistory.bbclass; to fix it, use _append in buildhistory.bbclass
instead.

Fixes [YOCTO #8839].

(From OE-Core rev: 11d1aa82ef4a00051e0a50a87a1efed1c50c73b5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-28 09:25:17 +00:00
Jianxun Zhang 4487e3a420 kernel-yocto: fix checkout bare-cloned kernel repositories
The existing code doesn't tell regular (with .git) and bare cases and
just move the unpacked repo to the place of kernel source. But later
steps will fail on a bare-cloned repo because we can not checkout
directly in a bare cloned repo.

This change performs another clone to fix the issue.

Note: This change doesn't cover the case that S and WORKDIR are same
and the repo is bare cloned.

(From OE-Core rev: ccfa2ee5c4f509de4c18a7054b2a66fc874d5d69)

Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-28 09:25:16 +00:00
Paul Eggleton 7540550048 classes/populate_sdk_ext: error out of install if buildtools install fails
If the installation of buildtools fails then we should fail the entire
installation instead of blindly continuing on.

(From OE-Core rev: 34bb63e6c72fb862e0ef0d2b26e1bfddaf7ddb99)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-28 09:25:12 +00:00
Paul Eggleton ecce3d3774 classes/populate_sdk_ext: hide build configuration in devtool build* output
The configuration of the build system within the extensible SDK is
fixed, so there's not a lot of point in showing it; plus it just gets in
the way of the output that's interesting to the user in this context. So
let's hide it within the extensible SDK.

(From OE-Core rev: 6223b73c2dfc326382dbd3c0ae2d7a0cf2cc3b48)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-28 09:25:12 +00:00
Paul Eggleton fd84d0fe35 classes/base: don't print header if BUILDCFG_HEADER not set
If we don't want a header printed at the start of task execution (which
we'd prefer not to within the extensible SDK)  we can accomplish that by
clearing BUILDCFG_VARS and BUILDCFG_HEADER, but that was still printing
a load of blank lines. To keep things simple, check if BUILDCFG_HEADER
is set to something before printing a header.

(From OE-Core rev: d896d77c1d0fc56ff7019bfee3cf06fbc3ede8f3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-28 09:25:12 +00:00
Paul Eggleton a4f496ae43 classes/populate_sdk_ext: use uninative to set NATIVELSBSTRING
We inherit uninative in the extensible SDK configuration, and uninative
sets NATIVELSBSTRING to a fixed value, so we don't need to force the
value ourselves.

Fixes [YOCTO #8662].

(From OE-Core rev: 918814c05d670bccb05d61fa848fd0d93da3a7b0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-28 09:25:12 +00:00
Elliot Smith a6f8a3f12e toaster.bbclass: fix TypeError when parsing build stats
Reading IO stats fails because the IO read/write bytes are
being converted to strings, then added to a numeric running
total.

Fix this by converting IO stats to integers.

(From OE-Core rev: 8e2475eecafc0161d25684f5b8239273739de759)

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-22 16:15:36 +00:00
Jackie Huang 606c9e7f78 staging.bbclass: make already-stripped can be skipped
Add a check like what we does in package.bbclass
so that the already-stripped QA test can be skipped.

(From OE-Core rev: 2262fdb256954b22dadb2f7c6922e6046c269742)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-22 16:08:50 +00:00
Richard Purdie 9f3681dca5 buildstats-summary/toaster: Cope with removal of get_bn()
The buildstats changes removed the no longer needed get_bn() function,
replace this with references to BUILDNAME.

(From OE-Core rev: e1a37899da56014693f08d1c39cb6ec0a4ed2bf4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18 13:50:57 +00:00
Richard Purdie d7e766b70a toaster: Update for buildstats changes
This updates the toaster class to use the new data format from buildstats.
This does mean it will no longer read IO data from older builds, however
since that data is completely useless anyway, I don't consider that to be
an issue.

(From OE-Core rev: 5c3987226cd9669d5fc0993d0541048475af9fcb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18 12:18:19 +00:00
Richard Purdie adfdca4df1 buildstats: Improve to add getrusage data and corrected IO stats
Add IO stats and getrusage() data to the task statistics. We
also drop the CPU percentage calculation since its pretty arbitrary
and not very accurate/useful.

In particular we can now see the user and sys times as well as the
wall clock times.

(From OE-Core rev: b849130f71d3ba32a6fa94c291ca6ce7c7c3b3d1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18 12:18:19 +00:00
Richard Purdie 3187647d89 buildstats: Separate out the build and task data to allow improvements
The combined build and task data code makes changing things hard, separate
out the functions so that changes can be made to the task data whilst the
build data remains unchanged.

(From OE-Core rev: c79cfce4f820f20346d0565df8df626832976e28)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18 12:18:19 +00:00
Richard Purdie 38a2553864 buildstats: Clean up e.data and bb.data references
Rather than bb.data and e.data, cleanup to use 'd' and match the
standard coding style.

(From OE-Core rev: dbce2c6122d492ba86873db4d02322f0df7a6752)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18 12:18:18 +00:00
Richard Purdie 7b1e48f9c7 buildstats: Drop get_bn/set_pn and just use BUILDNAME
The current setting and getting of the "name" to use for buildstats is
convoluted and not particularly interesting. We only need this for the
e.getPkgs()[0] component of the path which is the first target listed
on the commandline. This is pretty arbitrary.

If we drop that piece, we can assume BUILDNAME is common for all events
and simply use this and query it. If BUILDNAME did change, that would
be a bug and it should be fixed elsewhere.

Also take the opportunity to share some common code since the function
now has the eventmask.

(From OE-Core rev: 918d83460639df273f38ae079ffeebd6a79b3373)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18 12:18:18 +00:00
Richard Purdie 78371629b8 buildstats: Drop disk data from buildstats
The existing diskstats data from buildstats simply isn't useful. It
gives stats on the total IO counts on some random disk within the
system. This means that the count includes data from all other tasks
running at the same time and from any other process running on the
system.

I've been unable to find any use for the data so as a start at
reworking the class, remove the related code.

(From OE-Core rev: f9fb02909f332365cad329352956a29cff6eba77)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18 12:18:18 +00:00
Randy Witt a5dd1dd890 uninative.bbclass: Choose the correct loader based on BUILD_ARCH
Previously UNINATIVE_LOADER was always ld-linux-x86-64.so.2. That is
incorrect when the host is 32-bit.

This change also changes to using ?= so the user can override
UNINATIVE_LOADER if so desired.

[YOCTO #8124]

(From OE-Core rev: b78fa0bcadd54bb29b6f1bb3a9308d4c454bf4e2)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-16 12:12:15 +00:00
Richard Purdie 388e5802df license: Fix BB_TASKDEPDATA references
We shouldn't try and expand what is a python dict object
and we don't want it to influence the task hashes, task
dependencies are already accounted for.

(From OE-Core rev: 697072130a3298aede7166f125aa982be23793ca)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-16 11:56:30 +00:00
Richard Purdie e0890b662e meta: Drop now pointless manual -dbg packaging
With the autodebug package generation logic, specifically setting FILES_${PN}-dbg
isn't needed in most cases, we can remove them.

(From OE-Core rev: 3ab59d49dd7c18e194b58d1248b4b87709b5a738)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-16 11:56:30 +00:00
Richard Purdie b7766e4bbe package: Add auto package splitting of .debug files
Creating FILES_${PN}-dbg is tedious and also pretty pointless. We might as well
assume ".debug" is a special directory name and split into -dbg automatically.

This change does so without changing the rest of the splitting logic too much.
It can be disabled for the cases where we really do want manual control of
the -dbg packages (e.g. qt4) with NOAUTOPACKAGEDEBUG = "1".

(From OE-Core rev: da5ec06814e105451cca11cce76b5c5231110524)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-16 11:56:30 +00:00
Richard Purdie 0da1d71809 nopackages: Add class for recipes which don't generate packages
It turns out writing the same list of packaging tasks multiple
times in multiple places is error prone. Move this to a new class
'nopackages", migrate existing users and add glibc-initial and
libgcc-initial since we don't want packages for those recipes.

This means the sstate for those recipes won't be installed, saving
small amounts of build time and bandwidth.

A reference to the old package_write task is also dropped.

(From OE-Core rev: cece583d58f82a50c3a4eac876eb326ac3b8f5e5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-14 22:30:57 +00:00
Richard Purdie 5003d14761 sstate: Ensure populate_lic dependencies are not followed
It was observed that do_fetch dependencies (e.g. subversion-native of tremor)
were being installed even when sstate was available and hence no fetch was
needed. This turned out to be due to the recursive nature of the rootfs
dependencies which include populate_lic.

We can explicitly whitelist these dependencies as being ones we don't
need to follow when installing sstate (the code defaults to being paranoid).

[YOCTO #8746]

(From OE-Core rev: 06c891f0fa6c7712eae233dd18612f1ab1889c45)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-14 22:30:57 +00:00
Richard Purdie 48aad516c2 populate_sdk_ext/sign_rpm/sign_package_feed: Add missing getVar parameter
We should always pass a parameter to getVar, add missing default value.

(From OE-Core rev: 31bc0a46a97d7dc98568a218c077c31d8b11dbd9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-14 22:30:56 +00:00
Alexander Kanavin 4ff00174aa mirrors: replace references to archive.apache.org
archive.apache.org does not contain current releases, only historical ones,
so upstream checks aren't accurate. It's replaced with official mirrors
containing current versions.

(From OE-Core rev: e9c85489ae354f52ff5b78f4d7fb6fafd0050522)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-12 23:42:54 +00:00
Andre McCurdy 95909bc788 kernel.bbclass: drop unnecessary 'eval' from kernel_do_configure()
KERNEL_CONFIG_COMMAND will be expanded by bitbake, so can be
used directly in kernel_do_configure()

(From OE-Core rev: f8a35d8e312df908c73724465035921856d30781)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-12 23:42:52 +00:00
Juro Bystricky ec79a19f24 insane: in libdir test allow libraries in libexecdir
Some recipes, such as sudo and gcc, put libraries into libexecdir.  Allow this
in the sanity test so that we don't have to whitelist the libdir check.

(From OE-Core rev: 9f5ad12a9532687a7a82e24b7c4506cabc13bba2)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-12 23:42:52 +00:00
Vladimir Zapolskiy 4515186bc4 package_ipk: allow to specify OPKG_ARGS in local.conf
If user specific parameters to opkg are set in local.conf, they are
rewritten in package_ipk.bbclass and ignored, instead append
package_ipk specific arguments to the user defined ones.

The change is needed, if a user has to pass an alternative path to a
temporary directory for opkg, e.g.

  OPKG_ARGS = "--tmp-dir=${TOPDIR}/tmp-opkg"

The default /tmp directory may be unusable for do_rootfs task, for
example if there is no enough space or /tmp is mounted with noexec
mount option, then an alternative path allows to complete do_rootfs
and fix the problems like this:

  ERROR: Unable to install packages.
  ...
  sh: /tmp/opkg-5jPLag/run-postinsts-UsUtaI/preinst: /bin/sh: bad interpreter: Permission denied
  sh: /tmp/opkg-5jPLag/base-files-4hFwQS/preinst: /bin/sh: bad interpreter: Permission denied
  sh: /tmp/opkg-5jPLag/run-postinsts-UsUtaI/preinst: /bin/sh: bad interpreter: Permission denied
  sh: /tmp/opkg-5jPLag/busybox-syslog-sJmfbw/preinst: /bin/sh: bad interpreter: Permission denied
  ...

(From OE-Core rev: 0be4c30aaf03de58d8037a89e342ca0b379a0881)

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:24 +00:00
Bob Ham 7cf7156b2c systemd.bbclass: Allow enabling of parameterised services
Currently the systemd.class will check whether a service exists when it is
requested to enabled it.  However, its check does not take into account that a
service like 'foo@eth0.service' can be enabled from a service named
'foo@.service'.  This patch alters the check function in systemd.class to look
for 'foo@.service' if the normal check fails.

(From OE-Core rev: 4ce15271dad3520e5de2500c609b05d5a511e453)

Signed-off-by: Bob Ham <bob.ham@collabora.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:24 +00:00
Ross Burton 551cda0bd5 base: check for existing prefix when expanding names in PACKAGECONFIG
When the DEPENDS are added as part of the PACKAGECONFIG logic the list of
packages are expanded so that any required nativesdk-/-native/multilib prefixes
and suffixes are added.

However the special handling of virtual/foo names doesn't check that the prefix
already exists, which breaks under nativesdk as in that situation there's an
explicit nativesdk- prefix *and* MLPREFIX is set to nativesdk-.  This results in
the same prefix being applied twice, and virtual packages such as virtual/libx11
ending up as virtual/nativesdk-nativesdk-libx11.

(From OE-Core rev: 55ca1fb8f0e81ff739b3c46897e43356d1f760c3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:24 +00:00
Alexander Kanavin 642e92f2cd package_regex.inc: split entries with odd-even versioning into their own recipes
(From OE-Core rev: 5ddaba1fb833d0408cef5f58f786513b9293c30a)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:51 +00:00
Fang Jia 9d788d7330 toolchain-scripts.bbclass: unset command_not_found_handle
On Ubuntu-system, When sourcing the env.sh from an exported sdk, and
running a bogus linux command (for example "asd"), a core dump of
python is usually generated.

Unset the command_not_found_handle to fix it.

(From OE-Core rev: 473ccbebb426df757adb8955eaa5e191d88180d1)

Signed-off-by: Fang Jia <fang.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:47 +00:00
Andre McCurdy 82ab99f7de waf.bbclass: remove unused parameter from get_waf_parallel_make()
(From OE-Core rev: f7062f54c2ad601d9838d13bfe7933be92a63214)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:47 +00:00
Richard Purdie 0c5d2398fc base: Improve handling of switching virtual/x providers
If you build virtual/kernel, then change PREFERRED_PROVIDER_virtual/kernel from say
"linux-yocto" to "linux-yocto-dev", you see errors from the sysroot about overlapping
files. The automatic uninstall logic doesn't trigger since the other recipes is
still technically parsed/buildable.

What we can do is look at the value of PREFERRED_PROVIDER_virtual/X and raise SkipRecipe
(skip parsing) if it provides this thing and its not selected. We skip cases no preferred
provider is set, or the value is in MULTI_PROVIDER_WHITELIST.We also inform the user
if they try to build something which conflicts with the configuration:

$ bitbake linux-yocto-tiny
ERROR: Nothing PROVIDES 'linux-yocto-tiny'
ERROR: linux-yocto-tiny was skipped: PREFERRED_PROVIDER_virtual/kernel set to linux-yocto, not linux-yocto-tiny

[YOCTO #4102]

(From OE-Core rev: 9a3b992b7339f7aa892f1dff7d159747630b045d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:47 +00:00
Alejandro Hernandez 2268a702f1 python3: Upgrade from 3.4.3 to 3.5
python3-native_3.4.3.bb -> python3-native_3.5.0.bb:
- changed version
- changed cheksum
- no license change, just dates

python3_3.4.3.bb -> python3_3.5.0.bb:
- changed version
- changed cheksum
- no license change, just dates

New:
- use_packed_importlib.patch: Fixes importlib on cross-compile environments

Rebased:
- Manifest
- 000-cross-compile.patch
- 020-dont-compile-python-files.patch
- 04-default-is-optimized.patch
- python-3.3-multilib.patch
- distutils3-base.bbclass
- distutils3-native-base.bbclass
- python3native.bbclass

Upstream:
- makerace.patch

Misc:
- pip2 is handled as default on major distros,
modified python3-pip to leave /usr/bin/pip available for pip2
- Fixed importing pip3 from python3 interpreter

(From OE-Core rev: 701ec1977ced1bb08461e6de98b4f63d21cba8a6)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:06 +00:00
Ross Burton b8ee7ae6b4 sanity: don't enforce DISPLAY for testimage
Now that qemurunner doesn't need DISPLAY set, let whether DISPLAY is set be up
to the user.

(From OE-Core rev: 259d1d1889b9349498d3f995a09466ce89bd3fcf)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Ross Burton 46755cc4b8 base: add automatic dependency on lzip-native for .lz SRC_URI
Now that the SRC_URI is parsed this can be done without false-positives.

(From OE-Core rev: 6fac3caf3d70823c830178f2299ceee275a1edd1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Ross Burton 6ea39c26b7 base: decode SRC_URI before adding implicit fetch dependencies
To avoid false positives such as a SRC_URI for http://foo.xz/foo.zip gaining a
dependnecy on xz-native decode the URI so that precise tests can be done.

(From OE-Core rev: a98a14844bc0b2ef8fc0426768fde40516279bf8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Patrick Ohly eded9c26b3 buildhistory.bbclass: support extending the content of the build history
The idea behind the implementation of Yocto #8138 was that an
additional class can write additional files in the recipe directories,
for example by hooking into the functions of buildhistory.bbclass or
by implementing its own SSTATEPOSTINSTFUNCS function.

However, when these additional files get created before
buildhistory_emit_pkghistory(), they get removed again by that
function because it contains code which removes everything it does
not know about. The reason for that is that these unknown items
are probably obsolete.

This logic is the reason why the additional "kconfig" file from
buildhistory-extra.bbclass never showed up in the final build history.

To fix this, the hard-coded list of known files in
buildhistory_emit_pkghistory() must be turned into a variable which
derived classes can extend.

(From OE-Core rev: 97f77ea3313b0d79ae4a6090672a2a9344282262)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Mariano Lopez d95df11131 license.bbclass: Create image license manifest
This change adds the license_deployed_manifest function
that will create the manifest for the packages deployed
next to the image but not installed in rootfs. Some
examples of these recipes would be the bootloaders, or
the kernel.

This new function was added to ROOTFS_POSTPROCESS_COMMAND
so it will run after every rootfs task.

This change also modify the write_license_files because
the image manifest is different from the root manifest.

[YOCTO #6772]

(From OE-Core rev: a58e8e164b888a6e4747ef62a7a43825c4f47c32)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Mariano Lopez efdab52624 license.bbclass: Add function get_deployed_files
This function will get the files that were deployed using
the sstate-control manifest file. This will give a better
view of what was deployed next to the image.

[YOCTO #6772]

(From OE-Core rev: f1a0a86ea2db6f16d9b643636a8973aaeb85e4a6)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Mariano Lopez cc0d044109 license.bbclass: Added function get_deployed_dependencies
This change introduce a new function to get the dependencies
that were deployed. It uses BB_TASKDEPDATAto get all the
dependencies of the current task, so it is possible to get
different packages depending at what point this function is
called.

[YOCTO #6772]

(From OE-Core rev: 2be96279580eac2b03970131dcd81b13c7f7f7d5)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Mariano Lopez d45e10e1cf license.bbclass: Added get_boot_dependencies function
This function gets the dependencies from the classes that
create a boot image, this is required because sometimes
the bootloader dependecy is in these classes. The current
classes covered are bootimg and bootdirectdisk because
these are the only clases that add dependencies.

[YOCTO #6772]

(From OE-Core rev: b165c2d3349115546c9db2f084eb6def4913b82d)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Mariano Lopez 8b1e7bcef2 license.bbclass: Split license create manifest
This changes moves the writing of the licenses to a
separated function that could be called for other packages.

With these change it will be easier to reuse the writing of
the license for the packages deployed but not installed in
the rootfs.

[YOCTO #6772]

(From OE-Core rev: 71fb5da7a3a8e61b15be4efc05b968c0c9920d2f)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:00 +00:00
Mariano Lopez 1a210e6374 license.bbclass: Write recipeinfo file in license folder
Currently there is no way to get the recipe version when
creating the rootfs. It is needed because the manifest
file for the image has to contain this important piece
of information.

This change writes a new file in the license folder for
every recipe. This file is called "recipeinfo" and have
the information used to write the manifest file for the
recipes deployed next to the image.

[YOCTO #6772]

(From OE-Core rev: 2d97d82fb51281fe130e8d135f3cf9a78423dd94)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:00 +00:00
Mark Hatle 74c7cd53ea populate_sdk_ext.bbclass: Be more permissive on the name of the buildtools
We want to support different names for the buildtools tarball.  The
name may not always be of the default oe-core format.

For instance, at Wind River we define the built-tools name to be:

${SDK_ARCH}-buildtools-nativesdk-standalone-${DISTRO_VERSION}

because thes standard SDK_NAME has additional information that is not
relevant to the builtools tarball.

(From OE-Core rev: b49c6f179b06a8b97106aa4c95f2cdb3c4dc0920)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:00 +00:00
Haris Okanovic 5ba638210c populate_sdk_base: Add sysroot symlink check
Add optional check to do_populate_sdk() that verifies SDK sysroots don't
contain dangling or escaping symlinks before attempting to tar an archive.
Such links may fail a `tar -h` operation (-h => follow symlinks) or
archive the build system's files.

Set CHECK_SDK_SYSROOTS = "1" to enable this check.

Use case: The -h option may be set via SDKTAROPTS in some configurations
to create symlink-less SDK archives for Windows file systems.

(From OE-Core rev: 2658200fa2b3df08880ee937a3de5cb2866f8a50)

Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:00 +00:00
Paul Eggleton 7fed65564d classes/populate_sdk_ext: fail if SDK_ARCH != BUILD_ARCH
The extensible SDK relies upon uninative, and with the way that
uninative works, the build system architecture must be the same as the
SDK architecture or the extensible SDK won't be usable. At some point in
future hopefully we can remove this limitation, but until then it's
disingenuous to allow this to build, so add a check to ensure
SDK_ARCH == BUILD_ARCH and fail if it isn't.

(From OE-Core rev: 9e30e849eda3b0a0c54d3f7ed0102760fdaef06c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:00 +00:00
Paul Eggleton 2948169291 classes/populate_sdk_ext: tweak reporting of workspace exclusion
If you have a local workspace layer enabled when building the
extensible SDK, we explicitly exclude that from the SDK (mostly because
the SDK has its own for the user to use). Adjust the message we print
notifying the user of this so it's clear that we're excluding it from
the SDK, and scale it back from a warning to a note printed with
bb.plain().

(From OE-Core rev: 90f46f74a088a7b965d2205eceb9eff6f276dd38)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:00 +00:00
Paul Eggleton 28a2ea701c classes/populate_sdk_ext: make it clear when SDK installation has failed
When SDK preparation fails:

* Insert an ERROR: in front of the error message
* Add an error message to the environment setup script

Hopefully this should make it more obvious when this happens.

Fixes [YOCTO #8658].

(From OE-Core rev: 105df569b3b1982005c2edb37f4690f9ba6bde35)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:00 +00:00
Paul Eggleton 124c6aa347 classes/populate_sdk_ext: tidy up preparation log file writing
Use a variable for the log file which includes the full path; this is
not only neater but avoids us writing the first part (the output of
oe-init-build-env) to a file in another directory since we are
changing directory as part of this subshell.

(From OE-Core rev: 001af71752a9e9aab460cbd49ed049e1eb726295)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:00 +00:00
Robert Yang d3486244fa boot-directdisk.bbclass: remove HDDIMG before create
Fixed when rebuild:
mkdosfs: file /path/to/hdd.image already exists

(From OE-Core rev: 9abcd309c098558360cde2bff65be840ead25f83)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:31:59 +00:00
Richard Purdie 03f15e5199 sstate: Ensure siginfo and sig files are also touched
Maintaining an sstate mirror is complicated at the moment as only the main
sstate tgz files have their timestamp updated when they're used.

This causes problems as the siginfo files can be removed from the server
due to inactivity but the sstate fetch code tries to fetch them leading
to confusing warnings and reduced debug capability.

This change ensures we touch any sig/siginfo files present and should
help ageing of the objects on sstate mirrors. It doesn't handle the intermediate
task siginfo files but those are never fetched by the current sstate code
so are an order of magnitude less problematic.

(From OE-Core rev: 80b3974081c4a8c604e23982a6db8fb32c616058)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:09:00 +00:00
Christopher Larson 13a4c383c1 qemu.bbclass: fix vardeps of QEMU_OPTIONS
The variable name for QEMU_EXTRAOPTIONS is constructed programmatically, so we
need an explicit variable dependency, otherwise changes to it won't cause e.g.
qemuwrapper-cross to be rebuilt.

(From OE-Core rev: 7740f214fffd6278f801899fc5e45f5720cbb544)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:55:41 +00:00
Christopher Larson 51bd011f8b qemu.bbclass: correct the fsl ppc QEMU_EXTRAOPTIONS
These need to be based on PACKAGE_ARCH rather than TARGET_ARCH, as we aren't
using overrides for this.

(From OE-Core rev: 46f41df60491990dc41f0514f63b304ac51b67d1)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:55:41 +00:00
Jens Rehsack 753f31e3d1 autotools: Allow recipe-individual configure scripts
OpenJDK-8 has it's configure script at common/autotools - which will cause
the entire assumption of ${S}/configure is regenerated by autoreconf, intltoolize or alike
fails heavily.

Also - other configure mechanisms can be supported more similar (see how pkgsrc
manages different ones ...)

(From OE-Core rev: fe506eddb0790e37ac1e50f37fa2e32ad81d5493)

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:55:40 +00:00
Mike Crowe e28179101c allarch: Force TARGET_*FLAGS variable values
TARGET_CPPFLAGS, TARGET_CFLAGS, TARGET_CPPFLAGS and TARGET_LDFLAGS may
differ between MACHINEs. Since they are exported they affect task hashes
even if unused which leads to multiple variants of allarch packages
existing in sstate and bouncing in the sysroot when switching between
MACHINEs.

allarch packages shouldn't be using these variables anyway, so let's
ensure they have a fixed value in order to avoid this problem.

(Compare with 05a70ac30b37cab0952f1b9df501993a9dec70da and
14f4d016fef9d660da1e7e91aec4a0e807de59ab.)

(From OE-Core rev: d08fda21bfb7d264c238af0232a22cdd751f5150)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:55:40 +00:00
Christopher Larson 76d2e46211 image_types: improve wks path specification
Hardcoding a full input path with zero flexibility goes against everything the
Yocto Project is about. Rework it to let the user specify the wks base
filename with WKS_FILE and it'll search the layers for the wks file and use
it.

(From OE-Core rev: 8cc7f5229f5447c2183ac319dd52c7ed737ec89b)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:28 +00:00
Jian Liu 70ae7a6716 insane.bbclass: Avoid libdir QA check if PACKAGE_DEBUG_SPLIT_STYLE='debug-file-directory'
If PACKAGE_DEBUG_SPLIT_STYLE='debug-file-directory', debuglibdir will be
"/usr/lib/debug". Usually 64bit libs should be put under "/usr/lib64".
This often cause an warning, so skip the checking.

(From OE-Core rev: f18a917c1493d4107c7f9db1d9ba19ec368f9b48)

Signed-off-by: Jian Liu <jian.liu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:27 +00:00
Tyler Hall cf0dfdbcf8 classes/cpan-base: fix libdir for nativesdk
Immediate expansion of perl_get_libdirs() is too early for
BBCLASSEXTEND. This results in a packaging QA error when building a cpan
recipe as nativesdk. The split debug files do not get picked up by the
dbg package because it looks in the wrong libdir.

The is_target() function remains because it is used elsewhere.

(From OE-Core rev: b32420effcc0435353adc63023d2e4276dd1e0c6)

Signed-off-by: Tyler Hall <tylerwhall@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:27 +00:00
Maxin B. John a205c4ce1d bbclass: fix spelling mistakes
Fix some spelling mistakes in bbclass files

(From OE-Core rev: ed484c06f436eea62c5d0b1a2964f219f3e5cb61)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:27 +00:00
Martin Jansa cf218e56af rootfs_*.bbclass: don't add BUILDNAME to do_rootfs vardepsexclude
* rootfs_*.bbclass doesn't use this variable anymore, so we can drop it

(From OE-Core rev: bf91547d887aee2893e26e6073e12c540222b422)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:27 +00:00
Richard Purdie 7d8616c2fc insane: Don't depend on BB_TASKDEPDATA
The dependency data in BB_TASKDEPDATA is encoded into the sstate checksum
in a much more reliable format. This dependency runs the risk of depending
on the string representation of a dict which is a bad idea. Therefore
remove the dependency.

(From OE-Core rev: 1eefc83e6aeb3cd5501b8e593dda052b1e183cc5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:27 +00:00
Jens Rehsack a9cc27e691 kernel: fix race condition between compile_kernelmodules and shared_workdir
Fixes https://bugzilla.yoctoproject.org/show_bug.cgi?id=8127 which causes
[ 1225.089323] 8189es: Unknown symbol cfg80211_scan_done (err -22)
[ 1225.095916] 8189es: no symbol version for cfg80211_remain_on_channel_expired
when loading external compiled 8189es module.

(From OE-Core rev: afcea61e8eb39234d336c706fdfd4680dea7c060)

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:27 +00:00
Richard Purdie fecb07755c classes: Ensure pass setVar/setVarFlag strings, not integers
This doesn't cause any issues right now but it make sense to standardise
on consistently using strings in the data store.

(From OE-Core rev: 99203fbe5ad470ef65cff93cec9d7f332883b5ee)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:26 +00:00
Paul Eggleton 9167f200eb classes/license: fix intermittent license collection warning
Fixes the following warning sometimes appearing during image builds:

WARNING: The license listed ABC was not in the licenses collected for recipe xyz

The files being looked for here, which runs during do_rootfs,
are written out by the do_populate_lic task for each recipe. However,
there was no explicit dependency between do_rootfs and all of the
do_populate_lic tasks to ensure they had run - only an implicit link via
do_build, so it is possible that sometimes they had not depending on how
the tasks were scheduled. Add an explicit set of dependencies to fix
this.

(From OE-Core rev: ef7dc532e800d9b170246550cbc8703adf624beb)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:26 +00:00
Paul Eggleton 43c8867b63 classes/metadata_scm: fix git errors showing up on non-git repositories
Fixes the following error showing up for layers that aren't a git repo
(or aren't parented by one):

fatal: Not a git repository (or any of the parent directories): .git

This was because we weren't intercepting stderr. We might as well just
use bb.process.run() here which does that and returns stdout and stderr
separately.

(This was a regression that came in with OE-Core revision
3aac11076e).

Fixes [YOCTO #8661].

(From OE-Core rev: f533c1bf4c6edbecc67f9e2c62fd475d64668e86)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:26 +00:00
Ross Burton 59b27d558f sstate: respect GPG_BIN and GPG_HOME
The package feed signing code supports the user providing the path to the gpg
binary and an alternative gpg 'home' (usually ~/.gnupg), which are useful for
both deployment and QA purposes.

Factor out the gpg command line construction to a function which can fetch both
of these variables, and also use pipes.quote() to sanitise the arguments when
used in a shell context.

[ YOCTO #8559 ]

(From OE-Core rev: 6daf138822bbbc46960121d3b76b42eaf19e7c0e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:26 +00:00
Jian Liu 4415dc5cdd archiver.bbclass: add bbappend when do_ar_recipe kernel and gcc packages
bbappend files are not included in the archiver during do_ar_recipe.
Find and put them into the tarball.

(From OE-Core rev: 5c84057de5b31c5d6d9abfcca3078bf766a21d88)

Signed-off-by: Jian Liu <jian.liu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:26 +00:00
Alejandro Hernandez 2f0ff3abb4 archiver.bbclass: fix previous issue regarding work-shared for linux-yocto
A previous patch intended to fix and improve the archiver class, and while it
did for gcc packages, with it some issues ended up being hidden, the kernel
tasks taken from kernel.bbclass and kernel-yocto.bbclass specifically expect the
kernel to use work-shared, which either ended up causing issues or wasting time
doing unnecessary work, this patch fixes these issues by performing the right
tasks within the archiver in the right order

[YOCTO #8378]

(From OE-Core rev: d643e43622eb3e43fbb2e21fa33580e2fcdf42be)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:26 +00:00
Enrico Scholz 0cc4eef515 waf.bbclass: filter out non -j from PARALLEL_MAKE
'waf' supports only simple '-j' and fails when parallel make flags
contain extended options like '--load-average'.

Patch uses the method from 'boost.inc' to filter '-j'.

(From OE-Core rev: bc394e1dd229845a315a97704beca43fbb8976ee)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:25 +00:00
Ross Burton 95719b00fb ptest-gnome: extend EXTRA_OECONF in all builds, not just target
This class was extending EXTRA_OECONF only in target builds with
--enable/--disable-installed-tests.  However for native builds we don't care
about the test suite and should be explicitly disabling it.

This stops glib-2.0-native trying to build the test suite that we'll never
execute.

(From OE-Core rev: 926a8365b4f7233e5ab5a6b97e8ed53f417c0cfc)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:25 +00:00
Paul Eggleton fd6bf771d0 classes/distrodata: split SRC_URI properly before determining type
We weren't splitting SRC_URI values containing multiple URIs here; this
didn't cause any errors except when a trailing ; was left on a URI, in
which case the next URI was considered part of the parameter, which
didn't contain a = and therefore was considered invalid.

We only care about the first URI in SRC_URI in this context (since
that's the upstream URI by convention) so split it as we should and take
the first item.

Fixes [YOCTO #8645].

(From OE-Core rev: 8e75b7e7d54e5638b42b9e7f90f2c6c17e62033f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:39 +00:00
Paul Eggleton 7cebff6bdc classes/buildhistory: split package history values only once
We don't actually use values we read in here that are likely to
contain = characters but we might as well split the value properly in
case we do in future.

(From OE-Core rev: afe100436bdeefb024b924ee27ad68830f085ff4)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:39 +00:00
Andre McCurdy 3d377686a4 cmake.bbclass: don't duplicate CMAKE_C_FLAGS in CMAKE_C_FLAGS_RELEASE
The base CMAKE_<LANG>_FLAGS are included for all build types,
therefore the CMAKE_<LANG>_FLAGS_RELEASE should contain only
additional flags or over-rides.

  https://cmake.org/cmake/help/v3.2/variable/CMAKE_LANG_FLAGS.html

(From OE-Core rev: 961740d5d81ce44a595d5465bafb48a0cbab5159)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:33 +00:00
Jate Sujjavanich efc07c2936 rm_work.bbclass: Exclude do_rootfs stamp removal
This prevents unneeded rootfs rebuilds if the metadata has not changed
while using rm_work.

(From OE-Core rev: 7550b13786caa68a9944cd802eb970acbd17e754)

Signed-off-by: Jate Sujjavanich <jatedev@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:33 +00:00
Lucian Musat 54325b298b oeqa/testimage: Add support for test folder export.
If tests are organized in folders then it will copy the whole
folder to the export location. This should keep the original
directory structure for exported oeqa/runtime.

(From OE-Core rev: 8fe45badd3dfe44fa5161229324b6439594123fd)

Signed-off-by: Lucian Musat <george.l.musat@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:31 +00:00
Ross Burton 2d1071edb1 oeqa/runtime: remove dmesg test
This has been obsoleted by parselogs.

(From OE-Core rev: 05132fd236835db71d3e763b4d6ce01fcf14741a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:30 +00:00
Robert Yang 38d1d63bc9 prexport.bbclass: avoid export for native and crosssdk
* The prservice is only used by do_package, the native or crosssdk
  doesn't have do_package.
* Change WARN to NOTE when no AUTOPR found, the prexport_handler()
  checks all the parsed recipes, but a lot of them may not be built, for
  example, the lower version or broken recipes. So change WARN to NOTE to
  not confuse user.

(From OE-Core rev: 53aae968a6972f152f4b540deaf79963765ff559)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:27 +00:00
Andre McCurdy 63690f0914 scons.bbclass: SCons packages don't require do_configure
(From OE-Core rev: a3310eb5a447864e82a38cb7852f30c17c0b91bb)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:27 +00:00
Jens Rehsack 5724b2a651 perl: Remove errornous extra path-specs for Module::Build based modules
This patch removes errornous extra path-specs from cpan_build.bbclass
because corrected path specs at build time are enough.

* fixes wrong path used when building using Module::Build toolchain

(From OE-Core rev: bb59eb410c716057190fb0d115ef85b2c12e6518)

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-29 07:31:17 +00:00
Jens Rehsack 2d0c4999a7 perl: fix Perl5 module builds
This patch fixes some issues in classes providing cpan module build support:

* add support even for xs modules with more than 3 levels as
  B::Hooks::End::Of::Scope or Math::Random::ISAAC::XS
* correct handling of Module::Build (as far as stolen from pkgsrc
  and my humble knowledge)
* configure to install to vendor_libs as default, even when
  inherited do_install remains unused (overwritten do_install)

(From OE-Core rev: 6948d2bd35cda57f520f0180a6bb43cc70262f41)

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-29 07:31:17 +00:00
Ross Burton da386d3d21 gtk-icon-cache: pass the native libdir to the intercept
The intercept runs against the native sysroot so we need to pass it
the native libdir instead of the target libdir, as otherwise it will
use target paths (such as lib64) in the native sysroot.

(From OE-Core rev: 0fe84007176c98644b1917966c98501beb7e0ce2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-29 07:31:16 +00:00
Peter Kjellerstedt 1c3c76d78f useradd-staticids.bbclass: Do not require trailing colons
Before, the users and groups specified in the passwd file and the
groups file had to have trailing colons to make sure there were enough
elements in the definitions, or bitbake would throw a Python
exception.  After this change one can omit the trailing colons, which
especially simplifies passwd files used only to specify static UIDs.

(From OE-Core rev: 7754e0f71eb794f0e06a1b005e3824fac4cdac6c)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-29 07:31:16 +00:00
Ross Burton a2d5b7ac76 classes/gtk-icon-cache: don't pass STAGING_LIBDIR_NATIVE to intercepts
The intercept doesn't need STAGING_LIBDIR_NATIVE anymore, so don't pass it.

(From OE-Core rev: 189d6232a2a9eb7192887b60f05b6643414a4ec6)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-27 07:24:30 +00:00
Ross Burton 83a2bde15d sanity: check that the host has file installed
Now that file-native is ASSUME_PROVIDED, check that it's actually present.

(From OE-Core rev: 5dad6758980233f976e39357b91b9cc673a574af)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-27 07:24:29 +00:00
Richard Purdie d023d99274 populate_sdk_base: Ensure PKGDATA_DIR exists
The code assumes that PKG_DATADIR exists and will fail if an image has not been
generated which creates it. This occurs when something like buildtools-tarball
is built which doesn't have target packages, only nativesdk ones.

Since this shouldn't be fatal, workaround this by creating the missing
directory.

(From OE-Core rev: 319c5d55bb0c7e429766f46dd42a15e16a43c4dd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-27 07:24:29 +00:00
Robert Yang 135d09454c prserv.bbclass: remove it since it is null
(From OE-Core rev: 48d78232299735da99137491ae4cbe8faaae3dfb)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
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
Andre McCurdy 022f8cc7eb image-mklibs.bbclass: update i586 TARGET_ARCH test to i*86
(From OE-Core rev: 5ed4332eeb96beff53242942a1eb878ab4831847)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-27 07:24:27 +00:00
Jian Liu d492a70c72 base.bbclass: considering multilib when setting LICENSE_EXCLUSION
The PACKAGES is not mapped with MLPREFIX when setting LICENSE_EXCLUSION
in base.bbclass. For example,
  For libgcc-dev,
    LICENSE_EXCLUSION-libgcc-dev=1
   but for lib32-libgcc-dev,
    LICENSE_EXCLUSION-libgcc-dev=1
Obviously it is wrong for lib32-libgcc-dev.

Add MLPREFIX before the package name during setting LICENSE_EXCLUSION

(From OE-Core rev: 6597130256a1609c3e05ec5891aceaf549c37985)

Signed-off-by: Jian Liu <jian.liu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-27 07:24:27 +00:00
Paul Eggleton 59fdbaed99 classes/insane: rename invalid-pkgconfig QA check to invalid-packageconfig
We have enough confusing name clashes already, let's not precipitate
another one.

(From OE-Core rev: a40e69508e66268e0743502334797374dee31125)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-27 07:24:26 +00:00
Markus Lehtonen 787253fd4e package signing: automatically export public keys
Automatically export public key(s) of the signing key(s) from the gpg
keyring. Adds a new simple recipe that does the actual task of exporting
the keys.  This patch makes the RPM_GPG_PUBKEY and PACKAGE_FEED_GPG
PUBKEY settings obsolete.

(From OE-Core rev: 23b30c34581948e1ea02c25cbf7b9194d7e49fb8)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-27 07:24:25 +00:00