Commit Graph

4628 Commits

Author SHA1 Message Date
Patrick Ohly e7b5bd2ba1 image.bbclass: support duplicate compression types
When a derived distro adds a certain type, say zip, to
COMPRESSIONTYPES and later OE-core does the same, we end up with the
type being listed twice, and that would have undesired effects
(commands generated twice).

So to support such loosely coupled extension, we de-duplicated the
list of types first.

Alternatively, such a situation could also be treated as error. But that
seems unnecessary because typically commands for the same type will also
do the same thing.

(From OE-Core rev: 85855af359c2c3bfc1eaa942c95f1f7d7cc6698e)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-22 16:11:14 +01:00
Richard Purdie 3ddde5f32a meta: Update to modern exception syntax
Update older exception syntax to modern one required by python 3.
Compatible with python 2.7.

(From OE-Core rev: d13f0ac614f1d1e2ef2c8ddc71cbfcf76a8dc3f2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-21 22:26:33 +01:00
Richard Purdie 01d07f328f kernel-uimage: Fix python indentation
Use spaces, not tabs for python functions.

(From OE-Core rev: 96ed92aded49fc47c7e407d36ba4f03dafee28cd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-21 22:26:33 +01:00
Richard Purdie 88972114a6 meta/scripts: python3: rename file -> open
file() API doesn't exist in python 3, convert to open(). Also handle
some cases where files aren't closed. Compatible with python 2.7.

[Contributions from Ed and Richard]

(From OE-Core rev: 0f4ec13e11bb8abe21aba2a28547dfb9372bc377)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-21 22:26:33 +01:00
Paul Eggleton 55159ef056 classes/kernel: check OLDEST_KERNEL at configure time
If the kernel being built is older than OLDEST_KERNEL and we're building
with glibc, then the C library we're building is probably not going to
be compatible with the kernel and we should warn the user. (This is
easier to do here rather than when building glibc, because we don't
necessarily have the information we need to determine the kernel version
there, whereas we do here.)

Fixes [YOCTO #8653].

(From OE-Core rev: 2e66f57febe85a63ce2ab98eaf6318d47eb60939)

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-05-20 10:20:55 +01:00
Paul Eggleton 02587c4bad classes/kernel: fix typo
KERNEL_VERISON -> KERNEL_VERSION (in a comment)

(From OE-Core rev: 3f1d813e7183750b5189ae1ee99fd2f0bdeacac7)

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-05-20 10:20:55 +01:00
Paul Eggleton fd436a2b0d classes/populate_sdk_ext: adjust variable blacklisting
* Blacklist SSTATE_DIR, DL_DIR and TMPDIR by default to avoid problems
  such as the one mentioned in [YOCTO #9605].
* Blacklist BB_NUMBER_PARSE_THREADS since we already blacklist
  BB_NUMBER_THREADS and they may be set separately.

Fixes [YOCTO #9605].

(From OE-Core rev: 3f2dcaaab0f5bc169086a8b6fd57c5606742cc4d)

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-05-20 10:20:55 +01:00
Marek Vasut d3a2da45b6 kernel: fitimage: Repair misuse of shell test command
The kernel fitImage must be amended with signature if and only if
UBOOT_SIGN_ENABLE = 1 . In the current case, the UBOOT_SIGN_ENABLE
could be either 0 (default) or 1 , which test -n always correctly
interprets as non-empty string, thus always true. This does not
match the logic above though, so replace the test with check which
passes only for UBOOT_SIGN_ENABLE = 1 .

(From OE-Core rev: 158cbd737f9f6c2de756506caf919a0a3d0a05b9)

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Yannick Gicquel <yannick.gicquel@iot.bzh>
Cc: 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-05-20 10:20:54 +01:00
Ming Liu 5444abaaca kernel: moves KERNEL_SRC_PATH to bitbake.conf
"/usr/src/kernel" is being hard-coded in multiple recipes so far, move its
definition to bitbake.conf.

(From OE-Core rev: eb9f900527e02ca08a1de14b4ac773f513bb1ee4)

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-19 22:32:08 +01:00
Maxin B. John 9f447baa7c package_regex.inc: remove deprecated file
Remove this file as it has been deprecated in the previous release.
New entries should be added to recipes itself.

(From OE-Core rev: a3075bf29f0fa80489e3dd2ade65cc3a3b3d0332)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-19 22:32:07 +01:00
Khem Raj 553fa35147 useradd.bbclass: Strip trailing ';' in cmd params
When there are more than 1 packages in a recipe requiring useradd
services, they are concatnated and a ';' is inserted just after
each of the users being added by the packages. A situation arises
in cases where this is controlled by PACKAGECONFIG then we add a
';' separator in the USERADD_PARAM value itself for each packagecofig
since we do not know which one will be picked, we end up in situation
where the final string returned from get_all_cmd_params() appears to be

a; ; b; c;

and then the logic which uses these cmds triggers with ';' as separator
but in this case it will fail after executing useradd 'a' because the next
cmd it will call will be just a whitespace

This is highlighted by the systemd patch to add more users as needed
by systemd 229 components.

(From OE-Core rev: e8d4356c38e3c2aacd6dc49231c73bcb7d597308)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-19 22:32:06 +01:00
Martin Jansa 1e244471d0 useradd: use bindir_native for pseudo PATH
* useradd/userdel functions will fail for recipes which override their target prefix
  (e.g. to /opt/foo), because it will try to use pseudo from native-sysroot/opt/foo/bin/pseudo

(From OE-Core rev: 96189e71a86c0f4833e8e51d678208fd908bfe30)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-19 09:05:19 +01:00
Mariano Lopez 20afc59704 testimage.bbclass: Remove exported test
Exported tests now have their own class, so
the code in testimage is not needed anymore.

(From OE-Core rev: bd4dbe4f5ba334690fcb6f26eb06c793ac026b55)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-19 09:05:18 +01:00
Mariano Lopez b3a656374b testexport.bbclass: Split testimage class
This adds a new class that only export tests of images,
the code was taken from testimage class and most of it
wasn't modified. Just add some vars for the new class.

testexport class require testimage class to get the
test suites defined for all the images.

(From OE-Core rev: 3e4c429337966eea263b4258700843c909f496ec)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-19 09:05:18 +01:00
Aníbal Limón d28ab58485 classes/base: get_lic_checksum_file_list imporve validaton of url's
When specify an URL different that supported file:// the function
returns an empty path causing an exception without notice the user
that the URL is Malformed.

[YOCTO #9211]

(From OE-Core rev: 6c28251d3d187b60ceb534055dbd8b4fffd06429)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-17 14:43:29 +01:00
Richard Purdie 7db0cc27d5 sstate: Ensure we sort the value used for SSTATETASKS for determinism
This avoids 'basehash changed' errors with python 3 but could break
build determinism in general.

(From OE-Core rev: 488f88fc12eea9788e5db1de354f0118e2c58878)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-17 14:43:28 +01:00
Richard Purdie 9094ea9fdd classes/oeqa: Update for print statements and file() -> open() for python3
Found some more syntax cleanups needed for python3.

(From OE-Core rev: 1181d86e8707c5b8e8d43d5e785d7d9cf01fa491)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-16 09:31:23 +01:00
Tim Orling 144c5175b8 autotools.bbclass: fix py3 SyntaxError in cfgscript print()
Update so this works with python3.

(From OE-Core rev: f533a1f78411f5537f1395496aa39f453fee581c)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-15 09:06:00 +01:00
Alexander D. Kanevskiy 39498d0e90 image types: add bmap generation option
bmap image conversion type allows to create block map files
for sparse images. Bmap file can be used together with bmap-tools
for efficiently flash images to raw devices (hdd or usb drive)

[YOCTO #9414]

(From OE-Core rev: d3495d7b5ac90439691bafc5717a3bf1cf014737)

Signed-off-by: Alexander D. Kanevskiy <kad@kad.name>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-14 23:05:14 +01:00
Patrick Ohly dc939724c2 image_types: add support for zip compression
Support for the other compression format is not always readily
available on all OSes. Using zip instead of, say, xz is less
efficient, but perhaps more user-friendly for users on such OSes.

(From OE-Core rev: 27764738aa928959ca564e7299cf205c08684661)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-14 23:05:14 +01:00
Michael Wood 97531efe4d report-error: Replace the build directory path in the error text
Replace the TOPDIR in the output error file so that the error report once
submitted can then be more easily matched to find duplicate error
reports. This also reduces the need to manually redact any information that
might be in the error log path such as hostnames or home directories.

(From OE-Core rev: ffdc9550c109facf3a3ebdf90c1ba8153cac90dd)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-14 23:05:12 +01:00
Alexander D. Kanevskiy b39ddd9fe7 image_types: adjust default level of XZ compression
XZ extreme compression method usually uses a lot more CPU time with not
that often big saving on space. Same goes with -6 level of compression.
Compression level -3 usually the best balance for time/size, especially
on big images.

(From OE-Core rev: e9dbf85828e9d4e16c6a96de8931cb15bbcd78bb)

Signed-off-by: Alexander D. Kanevskiy <kad@kad.name>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-14 23:05:11 +01:00
Ross Burton 36912cd2e4 cmake: enable verbose builds
To help debugging build problems pass VERBOSE=1 to make so that the makefiles
print their commands, just like we do with autotools.

(From OE-Core rev: 62f95a769ec9e11c72fbf78257badbfb59f1b354)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-14 23:05:11 +01:00
Khem Raj 9a309684cf gcc-runtime, libgcc: Symlink c++ header and startup files in target_triplet for SDK use
We build SDKs such that gcc-cross-candian is built for only one
target *-*-linux and then use -muclibc or -mmusl to let it compile
code for other libc variants. This works fine when libc = glibc
however it does not work for c++ programs when libc != glibc since
there are c++ headers installed under ${includedir}/c++/${BINV}/${TARGET_SYS}
which is fine when gcc-runtime and gcc-cross-candian uses same --target options
gxx includedir searches in right triplet, but it fails with musl/uclibc
since gcc will look for glibc based triplet but gcc-runtime will install
them under musl/uclibc triplet.

This patch symlinks the musl/uclibc triplet to glibc triplet when libc != glibc

This fixes SDKs for musl/uclibc

(From OE-Core rev: fcaaabb401fffcda4db9a7d1f927a2a404e4776d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-13 13:41:32 +01:00
Khem Raj e511478763 conf: bump minimum kernel to 3.2.0
glibc 2.24 have raised the bar for minimum supported kernel
for more details see

http://repo.or.cz/glibc.git/commit/5b4ecd3f95695ef593e4474b4ab5a117291ba5fc

(From OE-Core rev: 2722a7acb7f7d812f01fa93b764c9bb1ee725436)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-13 13:41:30 +01:00
Khem Raj f99fb6a167 libc-common.bbclass: Use sed instead of grep
Squash two install cmds into one
Replace grep with sed substitution logic, optimizes
away mv cmd

(From OE-Core rev: 9a5618c4c22a617f69d184f80b91ccf2a9148026)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-13 13:41:30 +01:00
Peter Kjellerstedt e839431468 staging.bbclass: Make it easier to define which dirs to stage
The directories that should be staged in the sysroot are now specified
in the SYSROOT_DIRS variable. Extra directories that should be staged
for native are specified in SYSROOT_DIRS_NATIVE. Finally, directories
that should not be staged are specified in SYSROOT_DIRS_BLACKLIST.

This also removes the sysroot_stage_libdir() function as it is no
longer used (it was just a wrapper for sysroot_stage_dir()).

(From OE-Core rev: 80e7e7f78d957b8159bede2a5cd5614d8d73039c)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-13 13:41:27 +01:00
Paul Eggleton 32d80fe258 Drop unneeded LIC_FILES_CHKSUM values
With the changes to insane.bbclass we don't need LIC_FILES_CHKSUM to be
set for recipes that don't actually pull in any source.

(From OE-Core rev: fc14e794c53f94158a5e6d6a8644656875639d0c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-11 10:33:43 +01:00
Paul Eggleton 296c7e11f1 classes/insane: do not force LIC_FILES_CHKSUM unless SRC_URI is set
Recipes such as images and packagegroups don't actually fetch or build
any source, so there's really no point having LIC_FILES_CHKSUM set.
Forcing users to set it (as we have done for images inheriting
image.bbclass) just makes things more difficult for the user for no
discernable benefit. The easiest way to adjust this check is simply to
skip it if SRC_URI is not set since this is a pretty good indicator that
no source is being pulled in.

(From OE-Core rev: c269547ae8e90a78349f6003385137e4145e145f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-11 10:33:42 +01:00
Richard Purdie f49be7e7c9 update-alternatives: Fix determinism issue
getVarFlags returns a dict and there is therefore no sort order. This
means the order of the X_VARDEPS_X variables can change and hence the
task checksums can change. This can lead to rebuilds of any parts of
the system using update-alternatives and their dependees. This is a
particular issue under python v3.

Add in a sort to make the order of the variables deterministic.

(From OE-Core rev: ecd1bfed5534f83b775a6c79092c04bd13c3af0a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-11 10:33:42 +01:00
Richard Purdie 8a88c56968 image: Fix IMAGE_FEATURES determinism issue
remain_features uses a dict which means the order is not deterministic. This
can lead to the task hash changing depending on the state of the memory at
parse time. This is particularly noticeable under python v3.

Since the dict is helpful in constructing the data, pass the data through
sort() so the order is always deterministic.

(From OE-Core rev: b08344e28dd33e3af5596007b11185d04fce255e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-11 10:33:42 +01:00
Peter Kjellerstedt 88d5f563c9 metadata_scm.bbclass: Do not assume ${COREBASE} is a Git repo
The functions base_detect_revision() and base_detect_branch() try to
extract SCM meta information from the path returned by
base_get_scmbasepath(), which currently returns ${COREBASE}. However,
making the assumption that ${COREBASE} contains SCM meta information
can be false. It is true for Poky, but not necessarily other
environments. A better option is to look for the SCM meta information
based on the meta layer.

Since this works as expected for Git but not SVN, the call to
base_get_metadata_svn_revision() from base_detect_revision() was also
removed. This is not expected to affect anyone (partly based on the
comment in base_get_metadata_svn_revision()).

(From OE-Core rev: 53fd0a4a37023642a770a9fbf3cd5511d3c82af7)

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-05-11 10:33:42 +01:00
Randy Witt 47c994fff0 populate_sdk_ext: Change lockedsigs task mismatch to a warning
It has been determined that it is highly likely that users might get
signatures that don't match in an extensible sdk. This doesn't
necessarily happen with oe-core, so we can set the mismatch to an error
during testing if we like.

However, for the case where users are creating their own sdks, we don't
need an error halting their progress. locked-sigs will still function as
it should.

(From OE-Core rev: 6ba86d847275126bf435f144e7d029d10e7ab17d)

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-05-11 10:33:42 +01:00
Leonardo Sandoval b86f8a0a66 populate_sdk_ext.bbclass : Show logfile in case the SDK EXT installation failed
To avoid lots of output in the SDK EXT installation phase, system redirects
it to a logfile ($target_sdk_dir/preparing_build_system.log) but in case of error,
the contents should be shown so debugging could be faster.

[YOCTO #9576]

(From OE-Core rev: 227d2cbf9e0b8c35fa6644e3d72e0699db9607fa)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-11 10:33:41 +01:00
Ian Reinhart Geiser e81d7a8afe classes/image_vm: allow different filesystems to be used for VM images.
This allows for things like btrfs to be used vs just ext4.
The default value of ext4 is kept so there is no functional
change unless VM_ROOTFS_TYPE is set in the inherting recipe.

(From OE-Core rev: df0b217f3df2c36a32e5c4afaec36a28bfc77bbb)

Signed-off-by: Ian Reinhart Geiser <geiseri@geekcentral.pub>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-11 10:33:41 +01:00
Bruce Ashfield 1ce221da64 kernel-yocto: allow branch auditing to be suspended
When working on the yocto-bsp and kernel-lab update for yocto 1.2
we found it was impossible for a end-user BSP to isolate patches
on a branch, since with the following commit:

  [kernel-yocto: enforce SRC_URI specified branch]

Any new branch would be switched to whatever was specified on the
SRC_URI and undoing the work that the yocto-bsp tool did to support
board specific patches.

To fix this, we'll keep the enforcing of branch consistency enabled
by default, but introduce a variable "KMETA_AUDIT" that when not
set will skip the check.

There's no impact for existing users, and it is only something that
other plumbing commands and tools will need to use (or care about).

[YOCTO: #9120]

(From OE-Core rev: 1d4c120edeb6e45665eafd6962a10ebb89d758eb)

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>
2016-05-11 10:33:40 +01:00
Ross Burton 9b9b9832d6 image_types: fix image/compression dependency collection
As compressions can be chained (i.e. cpio.bz2.md5sum) we need to walk the fstype
list to collect the dependencies from each step.

(From OE-Core rev: 05c59ed987cdddc00e9e217032a69197e40a8448)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-11 10:33:40 +01:00
Christopher Larson af4e319861 image_types.bbclass: add WIC_CREATE_EXTRA_ARGS
This'll be of use to pass things like --bmap.

(From OE-Core rev: 90b2738fb07e329cb6b867fb37a929d562f27d15)

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-05-11 10:33:40 +01:00
Christopher Larson 199b348d1d image-live.bbclass: make the INITRD optional
This aligns with image-vm, and makes sense for wic bootimg-efi images, which
don't actually want any of the live installer bits.

(From OE-Core rev: 3d985512acdf1d7821c410d196fe372221555524)

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-05-11 10:33:39 +01:00
Robert Yang d38c92376c packagegroup.bbclass: set LICENSE and LIC_FILES_CHKSUM
* Use "??=" in bitbake.conf to set LICENSE, so that it can overrided by
  packagegroup.bbclass and recipes.

* Use "?=" to set LICENSE and LIC_FILES_CHKSUM to MIT by default
  in packagegroup.bbclass, this won't impact any packagegroup recipes
  which use non-MIT license, since they can be overrided by the recipe.

(From OE-Core rev: a4aa5d9f4adb41f3f3bf3cea62f3e69204ca0b73)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06 10:31:16 +01:00
Robert Yang a8b35766d4 insane.bbclass: package_qa_check_license -> populate_lic_qa_checksum
The package_qa_check_license() was in do_qa_configure which had a
potential problem, when the recipe sets do_configure[noexec] = "1", then
the license checking won't run, which may hidden license issues. Rename
it to populate_lic_qa_checksum() and run in do_populate_lic[postfuncs] which
is more reasonable (when no populate license, no license checking).

(From OE-Core rev: b7811bbec1ba373d62ace5c4fc56918e53c69d50)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06 10:31:16 +01:00
Robert Yang 0bf6d578b4 insane.bbclass: remove workdir from package_qa_check_license()
The parameter workdir is not used in package_qa_check_license()

(From OE-Core rev: 9da177c149c657dc337a1f0d241175f1496fa07d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06 10:31:14 +01:00
Yannick Gicquel f088e693b2 kernel: fitimage: basic support for fitimage signature
This is an initial support of fitImage signature to enable U-Boot verified
boot. This feature is implemented by adding a signature tag to the
configuration section of the generated fit-image.its file.

When a UBOOT_SIGN_ENABLE variable is set to "1", the signature procedure is
activated and performs a second call to mkimage to sign the fitImage file and
to include the public key in the deployed U-Boot device tree blob. (This
implementation depends on the use of CONFIG_OF_SEPARATE in U-Boot.)

As the U-Boot device tree blob is appended in the deploy dir, a dependency
on 'u-boot:do_deploy' is added when the feature is activated.

(From OE-Core rev: 38d675f568ed67505896f20dd9738ce80feece08)

Signed-off-by: Yannick Gicquel <yannick.gicquel@iot.bzh>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06 10:31:14 +01:00
Yannick Gicquel cb565d5b40 kernel: fitimage: support device tree compiler options
This introduces a new variable to set the device tree compiler options while
calling mkimage ('-D' option). By default, this variable is not set but it can
be defined in a configuration file, as following example:

UBOOT_MKIMAGE_DTCOPTS = "-I dts -O dtb -p 2000"

(From OE-Core rev: 9a3f541da305c75418c2eec75ade902717a01b69)

Signed-off-by: Yannick Gicquel <yannick.gicquel@iot.bzh>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06 10:31:13 +01:00
Yannick Gicquel 858ddd508b u-boot: deploy u-boot-nodtb and dtb files
This enable the deployment of u-boot-nodtb.bin and u-boot.dtb files.

(From OE-Core rev: 396a3fb0f55a443f73d6ddd99d8ba83412db2d40)

Signed-off-by: Yannick Gicquel <yannick.gicquel@iot.bzh>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06 10:31:13 +01:00
Yannick Gicquel d8ae39687a u-boot: basic support of dtb append for verified boot
This introduces a new uboot-sign.class to support U-Boot verified boot.

This part delivers the new class file, with related environment variables, and
a new task intended to run before do_install task and which performs the
concatenation of the u-boot-nodtb.bin and the device tree blob. The 'cat'
command used overrides the u-boot.bin in both DEPLOYDIR & build dir to
propagate the changes in later tasks (do_install, do_package, etc.)

(From OE-Core rev: 27e21c50ada2f5fb6296cce680da4350a229977c)

Signed-off-by: Yannick Gicquel <yannick.gicquel@iot.bzh>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06 10:31:13 +01:00
Ross Burton e93254b482 autotools: add default for CACHED_CONFIGUREVARS
Ensure that this variable has a default value so that we don't get debug
messages that the variable couldn't be expanded.

(From OE-Core rev: 27fd1bb7969b558864463450e1837c4400a03f9c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06 10:31:12 +01:00
Stephano Cetola 36a26402fe toolchain-scripts: replace source built-in call
Some shells (e.g. dash) do not support the source built-in. This
replaces it with the dot operator.

[ YOCTO #9535 ]

(From OE-Core rev: eef010bd91933d0c4b917d12e5716aa7e16b7307)

Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06 10:31:12 +01:00
Robert Yang 768c796850 utils.bbclass: note for deprecated base_contains
(From OE-Core rev: 1a0e56630c5c27d8899dd0979ae0b86bbe227881)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-29 07:58:45 +01:00
Alexander D. Kanevskiy d73b756d82 image.bbclass: don't execute compression commands multiple times
In case of chained conversion methods are used via COMPRESS_CMD_*
there is chance that some of steps would be executed multiple times.

[YOCTO #9482]

(From OE-Core rev: 94f61c2682e5cfd819ac84535650c3e0a654415a)

Signed-off-by: Alexander D. Kanevskiy <kad@kad.name>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-29 07:58:44 +01:00
Ross Burton 002847ab0b autotools: warn when running intltoolize if intltool isn't a dependemcy
(From OE-Core rev: 7ba90d2083970cb2a04afb8fa2ee2d485fef4e4d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-29 07:58:43 +01:00
Andre McCurdy e7d3dcbcbb image.bbclass: don't emit redundant IMAGE_CMD_xxx functions
IMAGE_CMD_xxx commands are always inlined within do_image_xxx.

When IMAGE_CMD_xxx is defined as a function (e.g. IMAGE_CMD_btrfs,
IMAGE_CMD_cpio, etc), a redundant copy of the function will be emitted
by default. Remove IMAGE_CMD_xxx 'func' flags to prevent that.

(From OE-Core rev: 118c1ca4d8d62162e87caf287f96d90707ee5903)

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-04-29 07:58:43 +01:00
Ross Burton f095fdc408 package: ensure do_split_packages doesn't return duplicates
do_split_package() constructs a list of packages that were created as it
iterates through the files, so if multiple files go into the same package then
the package will be repeated in the output.

Solve this by using a set() to store the created packages so that duplicates are
ignored.

(From OE-Core rev: b251f8b212f16b16b88183cc9a959d8cfa24fe3c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-29 07:58:43 +01:00
Ruslan Bilovol 4e0d9d1b8f kernel-uimage: change target image to vmlinux
Commit e69525: "kernel: Build uImage only when really
needed" hardcoded target kernel image to zImage for
case if uImage is generated by OpenEmbedded buildsystem.

However not all kernel architectures support zImage
target, for example AArch64 doesn't, so building of
kernel is failing on this step.

So instead of building zImage target that may not
exist for many architectures, build vmlinux target
that exists for all architectures.

Since kernel-uboot.bbclass uses vmlinux anyway for
creating image, there is no side effect on this change.

(From OE-Core rev: ac5d4d42a5903cbcafd7247c282df1cb98f79f08)

Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-29 07:58:43 +01:00
Markus Lehtonen a9b503b268 license.bbclass: make sure that image manifest dir exists
Previously, write_deploy_manifest() was relying on
write_package_manifest() to create the subdirectory for the manifest
file. However, do_rootfs may be an empty function so that
write_package_manifest() will not be called and the manifest
subdirectory will not be created, causing a build failure. This patch
fixes that by creating the directory hierarchy inside
write_deploy_manifest().

[YOCTO #9446]

(From OE-Core rev: e2dbe5eb869b8336b91023b83d7ca866197efa73)

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-04-22 16:28:57 +01:00
Otavio Salvador 5f84d6545e syslinux.bbclass: Remove APPEND from variable dependency
The value of APPEND is already being tracked and does impact on the
generated configuration file. This reverts the OE-Core:3c2d7ae5 commit
as it is not need anymore.

(From OE-Core rev: d396cd039ee9c5566670951a86907e8b736c2c7c)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-19 21:22:03 +01:00
Mark Hatle 98558405bf image.bbclass: The wrong name is being used for the debug filesystem
[YOCTO #9487]

The debug filesystem file name is ending in "debug_tar", it should be simply
"tar".  Strip the "debug_" piece as necessary.

To avoid deleting the tar ball, when we've asked for just the tarball we need
to check 't' and not 'realt'.

The two hunks were suggested by RP.  I've implemented and verify they work
with the settings:

PACKAGE_CLASSES = "package_rpm"
IMAGE_GEN_DEBUGFS = '1'

IMAGE_FSTYPES_DEBUGFS = "tar.bz2"

IMAGE_FSTYPES_DEBUGFS = "tar.gz"

and

IMAGE_FSTYPES_DEBUGFS = "tar"

(From OE-Core rev: ca088bebfc3603ef206b20501916019f0572f955)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-19 21:11:25 +01:00
Richard Purdie 38c7e2d069 image_types: Ensure rootfs dependencies cover DEBUGFS
If you configure a bz2 debugfs, pbzip2-native currently isn't built.
This patch makes sure the dependencies are added.

(From OE-Core rev: dd304a6fdc034d780e01e0055319e4a04aaad9d4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-19 21:11:25 +01:00
Otavio Salvador 0c3eaa7952 syslinux.bbclass: The AUTO_SYSLINUXMENU value needs to be boolean
The python code expects AUTO_SYSLINUXMENU to be a boolean value,
otherwise the logic fails. This fixes the code comparing the value to
"1" which is the value expected by the shell script code, counterpart.

(From OE-Core rev: 5c5144806bfde7e19960fe8d841e4f6191ea5972)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-19 21:11:25 +01:00
Martin Jansa c2f7da23d0 base.bbclass: Introduce PACKAGECONFIG_CONFARGS variable
* add separate variable for configuration options generated from
  PACKAGECONFIG setting, this helps other bbclasses and recipes
  to take advantage of PACKAGECONFIG mechanism, without including
  other options from EXTRA_OECONF
* e.g. meta-qt5 recipes are abusing EXTRA_OECONF to get options
  from PACKAGECONFIG:
  EXTRA_QMAKEVARS_PRE +=
  but with
  conf/distro/include/no-static-libs.inc
  it means getting --disable-static as invalid option inside
  EXTRA_QMAKEVARS_PRE as reported by Alexandre Belloni who tried
  to use poky with meta-qt5.
* once we migrate all bbclasses and recipes to PACKAGECONFIG_CONFARGS
  we should also restrict EXTRA_OECONF append only to autotools.bbclass
  like I did for cmake.bbclass

(From OE-Core rev: 0ea4a47bfc27d02594d489b27c029d3d3badf3d4)

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-04-19 21:11:24 +01:00
Markus Lehtonen 98bf7dea84 license.bbclass: do write_deploy_manifest in image postprocessing
Call write_deploy_manifest() in image postprocessing phase, instead of
rootfs postprocessing. The reason being that not necessarily all
do_deploy tasks are dependencies of the do_rootfs and we might miss
something.

[YOCTO #9446]

(From OE-Core rev: 1f35b05d60f4e84554c5ee837cb071815e12c91c)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-19 21:11:24 +01:00
Marek Vasut 9d2d1ae5a9 kernel: fitimage: Fix do_deploy taskhash mismatch
The kernel_do_deploy_append() uses DATETIME variable , so the taskhash
of the kernel_do_deploy() function changes if fitImage is used. The
buildsystem will complain accordingly:

ERROR: linux-yocto-4.4.3+gitAUTOINC+bcc6509084_1a72cec834-r0 do_deploy: Taskhash mismatch 49a5899a6895dcebd311dcb59870f370 verses 37c8dd3aae44134492a876f21c1b641b for /Yocto/poky/meta/recipes-kernel/linux/linux-yocto_4.4.bb.do_deploy
ERROR: Taskhash mismatch 49a5899a6895dcebd311dcb59870f370 verses 37c8dd3aae44134492a876f21c1b641b for /Yocto/poky/meta/recipes-kernel/linux/linux-yocto_4.4.bb.do_deploy

Fix this by excluding the DATETIME variable from the checksum.

(From OE-Core rev: 42ed25f693a4898f517c9ffc7920e5d994ac692d)

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: 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-04-18 16:28:21 +01:00
Richard Purdie 9ec95575e4 buildstats: Fix tracebacks for early task failures
If a failure occurs early in the task, its possible we can have a
TaskFailed before the TaskStarted event can be triggered. This in
turn causes another traceback as the directory buildstats writes
files into doesn't exist.

Ensure the directory exists so we can see the original error.

(From OE-Core rev: bd0a65ec47ebf55c549c9ef276b201b72396ce2b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-15 06:59:43 +01:00
Ross Burton 632681209d buildhistory: don't alter SDK creation stamps
This class adds functions to the SDK creation hooks, so ensure that they're
ignored in task stamps.

(From OE-Core rev: b15b977d10b5165728c1238b8d67a73719d29d60)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-15 06:59:43 +01:00
Zhenhua Luo 27e202f2d9 meta/classes/qemu.bbclass: set -cpu of ppce5500/ppce6500 to e500mc
The e5500 and e6500 cpu types are not supported by native qemu, set the value
of -cpu to e500mc. Without this change, build will fail for packages which use
qemuwrapper in compile phase due to the following error.
| Unable to find CPU definition

e.g. gobject-introspection

(From OE-Core rev: e06c5c5447350049ebd1a6245fc2dd2608b265e5)

Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-15 06:59:43 +01:00
Dan McGregor 83eac650fd package.bbclass: improve permission handling
Change fs_link_table to be keyed by path, just like fs_perms_table.
When a new entry is coming in for either table, remove any previous
entry for that path. This way later permission file entries override
earlier ones.

[YOCTO #9430]

(From OE-Core rev: b7504ece784fad997e72f4cd89cdf73f24901541)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-14 10:58:34 +01:00
Kai Kang 1e4ee30079 useradd_base.bbclass: remove flock option '-w'
Option '-w 100' of flock is failsafe to finish if dead lock occurs. It
should be impossible to occur dead lock. And option '-w' is not
supported by busybox, so remove it.

[YOCTO #9371]

(From OE-Core rev: 5cf97364685bfb86c6eeaffcebcad62ba9f93ee4)

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-04-14 10:58:33 +01:00
Brendan Le Foll 69e20cade6 npm.bbclass: Stop packagenames containing underscores from being generated
Package names cannot contain underscores yet some npm modules use them as part
of the name, replace them with hyphens in the package name.

(From OE-Core rev: fea932c79c8201e3e7649f4443874ea540e33461)

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-04-14 10:58:33 +01:00
Bill Randle c4387a8b65 image.bbclass: add DEB_{PRE, POST}PROCESS_COMMANDS to rootfs_command_variables list
Remove duplicate ROOTFS_POSTPROCESS_COMMAND in the rootfs_command_variables list.
Add DEB_PREPROCESS_COMMANDS and DEB_POSTPROCESS_COMMANDS to rootfs_command_variables
list for consistency with the RPM_ and OPKG_ versions of those variables.
Note: the package manager specific pre and post process commands
may removed entirely in Yocto 2.2 or later.

(From OE-Core rev: e951a8970b456de71f6596f061211a48adce3e3a)

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-04-14 10:58:33 +01:00
Ross Burton a43991d530 rootfs-postcommands: handle broken links when writing manifest
If the manifest link is broken then os.path.exists() returns False so the link
isn't removed, resulting in the os.symlink() call failing as the file already
exists.  Prevent this by using os.path.lexists to check that the symlink itself
exists, not the target.

(From OE-Core rev: 018e3f9f215607a1d7c9fb7780236cc467f3103b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-14 10:58:33 +01:00
Richard Purdie 5c8124df2e archiver: Improve debug output
Make the output from the task more informative about which directories
are being referenced.

(From OE-Core rev: 0e306a53c460302ec20192fc35930983781b7a2e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-13 20:58:41 +01:00
Ross Burton 965fd3cf9a image.bbclass: use max() instead of indexing booleans
There's some code dotted around OE that uses (a, b)[foo < bar] instead of the
more idiomatic "test and a or b".  Or in this case, just max().

(From OE-Core rev: 7ee49f8a41b4b5c48fd283ac2768564c7ebb5332)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-13 10:12:53 +01:00
Bill Randle 9262d2ff39 package.bbclass: handle links in sorted order
When processing links, the directories are processed in unsorted order
which can result in cases like /var/lock -> /run/lock handled before
/var/run -> /run throwing an error for /var/run because /run already exists.
Change the link processing to ensure links are processed in sorted order of
the destination.

[YOCTO #9430]

(From OE-Core rev: d71f4f54b4c22c9382bddce66c1580d875dcfef2)

Signed-off-by: Bill Randle <william.c.randle@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-13 10:12:52 +01:00
Ross Burton 29cf26363f sanity: allow sftp and ssh mirrors
URLs in MIRRORS and PREMIRRORS are vetted against a hard-coded list of protocols
which were missing sftp: and ssh:, so add them.

[ YOCTO #9444 ]

(From OE-Core rev: 036b26093e3c88dbb903a4a11d29c32c7516bc02)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-13 10:12:52 +01:00
Joshua Lock f5033175ef toaster.bbclass: improve package information collection
The PACKAGES variable doesn't include all packages potentially
generated by a recipe, not least of all because it doesn't include
dynamic packages created via do_split_packages() or similar.

Instead of trying to guess which packages were generated, walk
${PKGDESTWORK}/runtime to find all package information that was
written to disk. This allows us to read all information for the
complete list of packages generated by the recipe.

For example before this patch we get SinglePackageInfo events for
9 packages from ncurses. With the patch applied we get 20 events
for all of the packages created during an ncurses build.

As a bonus we also switch to using the same postfuncs for both
do_packagedata and do_packagedata_setscene as they each result
in a PKGDESTWORK with the relevant directories and files
created.

[YOCTO #9115]

(From OE-Core rev: f1f012962a18d16b1cc22bde836cbb46fe9e6088)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-13 10:12:52 +01:00
Richard Purdie 380004b855 archiver: Ensure sstate-inputdir directory is created
Without this, do_archive_sources will fail for the gcc tasks where there is
common source and the other tasks are not added as dependencies. The failure
happens when trying to restore these tasks from sstate.

To fix this ensure the sources directory is created as expected by the
sstate code.

[YOCTO #9433]

(From OE-Core rev: b3afe7d9bd25a943e947de3ec064ea245173c5a8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-12 22:50:21 +01:00
Richard Purdie 5602f64ab8 archiver: Fix ASSUME_PROVIDED issues
Currently the dependencies injected by this class for recipes in ASSUME_PROVIDED
e.g. tar-native or chrpath-native are ignored. We need to use their "replacement"
names, e.g. tar-replacement-native.

This avoids broken archives and sstate failures with these recipes.

(From OE-Core rev: 2279c6d20c2a33283ce9a8d1ef91a8acdad0a20e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-11 09:03:58 +01:00
Richard Purdie fab626cdf3 distrodata: Exclude DATETIME reference from sstate checksum
Otherwise the task hash changes between server and worker context
leading to changing task checksums.

(From OE-Core rev: c0a701a2165e858ec13b991943cc783bc4186fb9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-11 09:03:58 +01:00
Robert Yang 7fdb0618cf image-vm.bbclass/image_types.bbclass: IMAGE_NAME -> IMAGE_LINK_NAME
If we create hdddirect in the first time, and run bitbake to create
vmimg in the second time, then the previouse created
${IMAGE_LINK_NAME}.hdddirect may can not be found since it contains the
data string which are different. Use IMAGE_LINK_NAME to fix the problem.

(From OE-Core rev: 4aa8f67867a05bdf4a5ba90c8235740910662847)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09 23:00:45 +01:00
Robert Yang 04e1978a74 image_types.bbclass: fix elf
Fixed:
| DEBUG: Executing shell function do_image_elf
| Cannot open `/path/to/tmp/sysroots/qemux86-64/usr/src/kernel/bzImage': (null)
| WARNING: exit code 1 from a shell command.

The bzImage is in DEPLOY_DIR_IMAGE

(From OE-Core rev: 24536aa578e483fc2a8594628befa4c78a05681c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09 23:00:45 +01:00
Robert Yang 513ea49657 image_types.bbclass: set nodesize for btrfs
The default value is 16K which is too big to create image for
core-image-minimal:
rootfs.btrfs is too small to make a usable filesystem
Minimum size for each btrfs device is 41943040.

Use 4K as ext2/3/4 to fix the problem.

(From OE-Core rev: a3e4dc0d800fbae3674b1657c872f70589fc893e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09 23:00:45 +01:00
Mark Asselstine 9fe3d01f27 useradd_base.bbclass: prevent variable expansion in $opts
Many user/group operations will involve hashes which will include '$'
followed by a number or even possibly an env. variable name. Passing
$opts to flock requires that we take additional precautions to prevent
the unexpected expansion of these instances.

This was found by an image which used usermod operations to set the
password hash for root. The image could not be logged-in to and
examining /etc/shadow clearly showed that $0 and other $* variables
had been expanded unexpectedly. This change returnes the behavior to
what existed prior to commit 2ebf697b46c42cee8bfa6d2e6087397f8cce385c
[useradd_base.bbclass: replace retry logic with flock].

(From OE-Core rev: d80065642c5a1c95a298b235a8d575460147ede1)

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09 23:00:45 +01:00
Mark Asselstine fb8e5f903c extrausers.bbclass: drop retry count for perform_user/group* calls
Commit 2ebf697b46c42cee8bfa6d2e6087397f8cce385c [useradd_base.bbclass:
replace retry logic with flock] dropped the 3rd (retry) parameter for
these functions. These are simply being ignored now but we should
remove the retry count to avoid confusion.

(From OE-Core rev: 4ec99da681a6cd164ae177554b23c4fdf2194e2a)

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09 23:00:45 +01:00
Ed Bartosh 69b3f877f6 toaster.bbclass: strip task from the target
Current code in toaster_buildhistory_dump assumes that bitbake
target doesn't contain task name. It uses target as a part of
path to the files with data that it analizes. It fails to find
files if target contains task name. Stripping task from the
target should solve this.

(From OE-Core rev: 901c4f96c87bb557e747245685b7942624915670)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09 23:00:44 +01:00
Robert Yang 5e360ca135 image-live.bbclass: fix iso + efi only
When the user only builds iso + efi only, the syslinux-native which
provides isohybrid is required to build iso, so add syslinux-native to
DEPENDS.

(From OE-Core rev: dd1db8a578979a16d993a73b6f8a5720f2849932)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09 23:00:44 +01:00
Randy Witt 0720425744 devtool: Create unlocked-sigs.inc containing items in the workspace
When a recipe is added to the workspace, the signatures for the tasks
will change. This means that bitbake must be told to allow the
signatures to be different if they are in locked-sigs.inc.

This is done by creating an unlocked-sigs.inc file which contains all
the recipes in the workspace each time devtool reads the workspace.

So not only will necessary things get added, previously added items will
be removed by virtue of them no longer being in the workspace.

This also makes sure that the extensible sdk picks up unlocked-sigs.inc
as part of the configuration.

[YOCTO #9195]

(From OE-Core rev: 6b2b5ffdcb8bf885a1c756ea132e9d2c55e13dcd)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09 23:00:43 +01:00
Randy Witt 1cb99dd594 populate_sdk_ext.bbclass: Enable locked sigs errors
With the extensible sdk we want there to be an error if a task tries to
run without signatures that match locked-sigs.inc. This patch enables
that error.

[YOCTO #9195]

(From OE-Core rev: fad9bbba1154d68b5dc808d2976aa6484cd49c91)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09 23:00:43 +01:00
Randy Witt 7e902807cb sstatesig.py: Split single locked sigs check into multiple checks
Add the SIGGEN_LOCKEDSIGS_TASKSIG_CHECK and
SIGGEN_LOCKEDSIGS_SSTATE_EXISTS_CHECK variables to replace
SIGGEN_LOCKEDSIGS_CHECK_LEVEL.

SIGGEN_LOCKEDSIGS_TASKSIG_CHECK will no control whether there is a
warning or error if a task's hash in the locked signature file doesn't match
the computed hash from the current metadata.

SIGGEN_LOCKEDSIGS_SSTATE_EXISTS_CHECK will control whther there is a
warning or error if a task that supports sstate is in the locked
signature file, but no sstate exists for the task.

Previously you could only have warning/errors for both controlled by
SIGGEN_LOCKEDSIGS_CHECK_LEVEL. This was an issue in the extensible sdk,
because we know sstate won't exist for certain items in the reverse
dependencies list for tasks. However, we still want to error if task
signatures don't match.

[YOCTO #9195]

(From OE-Core rev: 0fe2a5e5ffd01e926d0f3d4c78ad9910296e2d1a)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09 23:00:43 +01:00
Alexander D. Kanevskiy 4127fef8ba image_types: use compress framework to produce checksums for images
Existing compress framework for producing various compressed versions
of images is powerfull enough to be extended for other uses, e.g. to
convert types of images.

It is possible to use it also to produce image checksums at the time
of image generation. This commit adds support for all supported
at the moment coreutils hashing algorithms: md5, sha1, sha224,
sha256, sha384 and sha512

Usage:
IMAGE_FSTYPES_append = " hddimg.sha256sum"

(From OE-Core rev: 1fbd27122ac4403b8688bc41d128602564a05506)

Signed-off-by: Alexander D. Kanevskiy <kad@kad.name>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-06 22:57:26 +01:00
Robert Yang b667f4dfdf sanity.bbclass: fix a hardcode in check_path_length()
* Fixed:
  410 -> limit

(From OE-Core rev: e5a4c3f8ea0d27ce2b3a3c33c231e28b7647f16b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-06 22:57:26 +01:00
Maxin B. John cbe33ecb15 useradd.bbclass: remove user/group created by the package in clean* task
At present, if a recipe is built which creates users/groups via
useradd.bbclass, those users/groups are not removed from sysroot
when the recipe/package is cleaned using clean/cleansstate/cleanall
or when a recipe is rebuild and 'unstaged' from the the sysroot.

The "userdel_sysroot_sstate()" provides that functionality.

[YOCTO #9262]

(From OE-Core rev: b5304ce438666a7418746f4ddd32703ae3188089)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-06 22:57:25 +01:00
Alex Franco 8109e93a26 patch.bbclass: remove useless path assignment
A path variable is assigned the value of PATH from the
environment, before the PATH is set on the environemnt
from the value of PATH in the bb datastore. This seems
to be an unnecessary leftover.

[YOCTO #8543]

(From OE-Core rev: a3c7c5148017c652661f2c5f79d90aa80dcb479b)

Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-06 10:29:23 +01:00
Ross Burton 37f4f5b8c7 package: do_split_packages: expand variables in extra_depends
If a recipe passes for example extra_depends="${PN}-dev" to do_split_packages()
then it isn't expanded, so the check for the multilib prefix doesn't work.
Solve this centrally by expanding extra_depends inside do_split_packages().

[ YOCTO #9381 ]

(From OE-Core rev: d3875a8111f1d88dcc83219d4700784050988ca3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-06 10:29:23 +01:00
Richard Purdie c1436b32cf sanity: Increase minimum git version to 1.8.3.1
The kernel tools assume git > 1.7.9.5, I'm unsure of the exact version but
the oldest in our infrastructure is 1.8.3.1. The git fetcher also currently
has nasty workarounds for git < 1.7.9.2.

Moving to 1.8.3.1 as our minimum version seems sane at this point as the oldest
we're testing/supporting.

[YOCTO #6162]

(From OE-Core rev: dbae075f62ecceadacc6d847e5697b9f3339b168)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-06 10:29:23 +01:00
Bjørn Forsman f7fed7ce75 license.bbclass: fix warnings when run in unprivileged "container" env
An unprivileged "container" environment like this[1] doesn't have root
account (uid 0) which causes tons of "Invalid argument" warnings:

  $ bitbake ...
  ...
  WARNING: Could not copy license file [src] to [dest]: [Errno 22] Invalid argument: '[src]'
  WARNING: Could not copy license file [src] to [dest]: [Errno 22] Invalid argument: '[src]'
  WARNING: Could not copy license file [src] to [dest]: [Errno 22] Invalid argument: '[src]'
  ...

Fix it by handling EINVAL similar to existing handling of EPERM (which
was added for when not running under pseudo).

[1]: The real environemnt is buildFHSUserEnv from NixOS/nixpkgs, but a
  demonstration of the issue can be done like this:

    $ touch f
    $ unshare --user --mount chown 0:0 f
    chown: changing ownership of ‘f’: Invalid argument

(From OE-Core rev: d00b2250a6afebd7d1373c04b4006290f0cd4043)

Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-06 10:29:23 +01:00
Markus Lehtonen 43071a0d67 externalsrc: avoid race in temporary git index file
Use a unique tempfile as the temporary git index file when determining
the git hash of the source tree. A fixed filename was obviously causing
races (with the git index.lock file) under oe-selftest where multiple
bitbake instances were run against the same source tree at the same
time.

(From OE-Core rev: f81c641022c26a9b89fac769e0f2889eaec5d32f)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-06 10:29:23 +01:00
Paul Eggleton b13184cccc classes/buildhistory: fix grammar in comments
Fix a minor grammatical error in the comments here.

(From OE-Core rev: ddc60aea113e587f27df03645620d6eb677ff28a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-05 14:33:57 +01:00
Paul Eggleton e5c0a9f067 classes/buildhistory: fix filtering of depends-nokernel.dot
For images we produce a number of filtered dependency .dot files for
readability, the first of which is depends-nokernel.dot which filters
out just the kernel itself (not kernel modules). Unfortunately the
filter specifications hadn't been updated for the dash-to-underscore
removal or the 4.x kernel upgrade, thus the filtering wasn't actually
doing anything.

(From OE-Core rev: ec1077bed0c1538084bceeafb957abe725b13b76)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-05 14:33:57 +01:00
Paul Eggleton 4d364f27e7 classes/buildhistory: optimise getting package size list
Invoking oe-pkgdata-util in turn for every package in the list was slow
with a large image. Modify oe-pkgdata-util's read-value command to take
an option to read the list of packages from a file, as well as prefix
the value with the package name; we can then use this to get all of the
package sizes at once. This reduces the time to gather this information
from minutes to just a second or two.

Fixes [YOCTO #7339].

(From OE-Core rev: 51c24904cc1bc823bccc3f179b8d7a192dace168)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-05 14:33:57 +01:00
Richard Purdie 7833eb4587 image-vm: Exclude DISK_SIGNATURE_GENERATED from task signature
Otherwise the task hash changes between server and worker context
leading to changing task checksums.

(From OE-Core rev: b5ab6111dbf21d2fc6a6e4aeaa9f105e3e0a23ac)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-03 15:51:37 +01:00