summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* kernel-yocto: streamline patch, configuration and audit phasesBruce Ashfield2016-08-181-90/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've been running with a set of kern-tools that were designed to work with build systems that knew nothing about git, trees, commits, etc. As such, there's been a set of shims/wrappers in place to work with within bitbake/oe-core. These were the *me scripts: createme, updateme, patchme and configme. With this commit, we strip that legacy code and use the tools directly. This means less complexity, fewer corner cases .. and no surprises when the tools are arunning. As another benefit, the tools consume much less time during a typical build and have no noticeable impact on the overall build time. Existing .scc files, features, and processing are not impacted as these tools are compatible with existing feature descriptions and kerne configuration fragments. The audit of kernel configuration fragments is now detached from the linux-yocto build structure and process. This means that they can eventually be tweaked to offer kernel audit to any type of kernel build and configuration process. Additionally, the kernel symbol audit phase can now resolve symbol dependencies and offer guidance when a symbol is missing: WARNING: linux-yocto-4.4.15+gitAUTOINC+b030d96c7b_f5e2c49d58-r0 do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration: ---------- CONFIG_BT_6LOWPAN ----------------- Config: CONFIG_BT_6LOWPAN From: /home/bruce/poky/build/tmp/work-shared/qemux86-64/kernel-source/.kernel-meta/configs/standard/features/bluetooth/bluetooth.cfg Requested value: CONFIG_BT_6LOWPAN=y Actual value: Config 'BT_6LOWPAN' has the following conditionals: BT_LE && 6LOWPAN (value: "n") Dependency values are: BT_LE [y] 6LOWPAN [n] (From OE-Core rev: 0f698dfd1c8bbc0d53ae7977e26685a7a3df52a3) 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>
* npm: npm.bbclass now adds nodejs to RDEPENDSHenry Bruce2016-08-171-0/+1
| | | | | | | | | | | We expect that any package that uses the npm bbclass will have a runtime dependency on node.js (From OE-Core rev: 769fae0b74d7c7992aa593907f446fab98ef5128) Signed-off-by: Henry Bruce <henry.bruce@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: drop duplicated error messagePaul Eggleton2016-08-171-1/+1
| | | | | | | | | | | | | | | | The preparation script itself prints out an error on failure, and we aren't redirecting its output anymore, so we no longer need to print out a message here when it fails. At the same time, make the message printed out by the script a little clearer - we're just writing the log out to the file, we shouldn't give the user an expectation that there will be extra details in there (other than the output produced by oe-init-build-env there won't be). (From OE-Core rev: 80dfaf40e087b34d6360188df372c1c3805a00bd) 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>
* classes/populate_sdk_ext: add some pre-install checksPaul Eggleton2016-08-171-2/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check a number of things as early as possible in the eSDK installer script so that the user gets an error up front rather than waiting for the build system to be extracted and then have the error produced: * Check for missing utilities specified in SANITY_REQUIRED_UTILITIES (along with gcc and g++), taking into account that some of these are satisfied by buildtools which ships as part of the SDK. We use the newly added capability to list an SDK's contents to allow us to see exactly which binaries are inside the buildtools installer. * Check that Python is available (since the buildtools installer's relocate script is written in Python). * Check that locale value set by the script is actually available * Check that the install path is not on NFS This does duplicate some of the checks in sanity.bbclass but it's difficult to avoid that given that here they have to be written in shell and there they are written in Python, as well as the fact that we only need to run some of the checks here and not all (i.e. the ones that relate to the host system or install path, and not those that check the configuration or metadata). Given those issues and the fact that the amount of code is fairly small I elected to just re-implement the checks here. Fixes [YOCTO #8657]. (From OE-Core rev: 6e6999a920b913ad9fdd2751100219c07cd14e54) 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>
* classes/populate_sdk_ext: properly determine buildtools filenamePaul Eggleton2016-08-171-6/+11
| | | | | | | | | | | | Determine the name of the current buildtools installer ahead of time, set it in a variable and use that variable rather than the wildcarded version everywhere, since it's much tidier. (From OE-Core rev: d5a601db41ba3c561aced7f5a38689f6b4c9a87c) 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>
* classes/populate_sdk_ext: properly handle buildtools install failurePaul Eggleton2016-08-171-2/+4
| | | | | | | | | | | | | | | | If the buildtools installation failed, we were using a subshell instead of a compound command and thus the subshell exited but the script continued on, which is really not what we want to happen. Additionally log the buildtools installer output to a file and cat it if it fails so that you can actually see what went wrong, as well as amending the environment setup script to print a warning as we do when the preparation fails. (From OE-Core rev: 8fb8adf309823660c3943df973c216621a71850d) 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>
* classes/populate_sdk_ext: sstate filtering fixesPaul Eggleton2016-08-171-3/+4
| | | | | | | | | | | | | | | | A couple of fixes for the recent sstate filtering implemented in OE-Core revision 4b7b48fcb9b39fccf8222650c2608325df2a4507: * We shouldn't be deleting the downloads directory here, since it contains the uninative tarball that we will need * TMPDIR might not be named "tmp" - in OE-Core the default is tmp-glibc so use the actual name of TMPDIR here instead. (From OE-Core rev: 71ecd3bea680ef8c589257844512a14b65e979d3) 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>
* classes/populate_sdk_ext: handle lack of uninative when filtering sstatePaul Eggleton2016-08-171-0/+5
| | | | | | | | | | | | | | | | | If the build in which the eSDK is being built isn't using uninative, this will have an effect on NATIVELSBSTRING, which will mean that the eSDK installer won't be able to find any of the native sstate packages. To keep things simple, under this scenario just disable uninative temporarily while we run the SDK installer to help us check the presence of the sstate artifacts we need. Ideally I'd rather not have things like this that are artificial in this verification step, but on the other hand this was the least ugly way to solve the problem. (From OE-Core rev: 9f39deea7c4af5244dbfa824a52e11590a1d4df6) 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>
* classes/populate_sdk_ext: ensure eSDK can build without uninative enabledPaul Eggleton2016-08-171-9/+10
| | | | | | | | | | | | | | | We were relying on uninative being enabled in the build in which the eSDK was being produced, which is not the case for example for OE-Core's default configuration. Move the code that copies the uninative tarball and writes the checksum to copy_buildsystem so that it happens early enough for that part of the configuration to be set up when we do the filtering (which requires running bitbake). (From OE-Core rev: 7bc95253098aca2ff195b159b34d9ac041806c75) 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>
* ccache.bbclass: don't remove CCACHE_DIR as part of do_cleanAndre McCurdy2016-08-171-2/+0
| | | | | | | | | | | | | | | | | | Removing the ccache directory as part of do_clean is unnecessarily conservative and defeats many of the benefits of ccache. The original justification for this behaviour was to avoid confusion in the corner case that the ccache directory becomes corrupted. However the standard approach for dealing with such highly unlikely corner cases (ie manually removing tmp) would also recover from corruption of the ccache directories, without the negative impact of defeating ccache during normal development. (From OE-Core rev: 6ae6680ad8d51eff756dcb6500fca2530e3e3e73) 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>
* sanity.bbclass: Only verify /bin/sh link if it's a linkOlof Johansson2016-08-171-4/+5
| | | | | | | | | | | If /bin/sh is a regular file (and not a symlink), we assume it's a reasonable shell and allow it. (From OE-Core rev: eaa0dc21a5f058a39bd7867bd3cafdb3407abe36) Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cross-canadian.bbclass: Add BASECANADIANEXTRAOS to specify main extraosMark Hatle2016-08-171-5/+17
| | | | | | | | | | | | | | | | By default the system will expand the extra os entries for uclibc and musl even if they are not enabled in the build. There was no way to prevent this behavior while still getting the expansion for things like x32 or spe. The change adds a new setting which a distribution creator can override easily, setting the base set of canadianextraos components. The other expansions are then based on this setting. (From OE-Core rev: ea24d69fdf7ebbd7f2d9811cff8a77bffc19a75c) 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>
* report-error: Fix tracebacksRichard Purdie2016-08-171-1/+1
| | | | | | | | | | Currently the code gives tracebacks if there are no recipes to be built in a BuildStarted event. Parse the list into a string rather than just taking the first item. There is nothing special about the first time. (From OE-Core rev: 684a3d56ef393b56f38d3272f8865f6225a282ab) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Allow for simultaneous do_rootfs tasks with rpmuninative-1.3Stephano Cetola2016-08-121-5/+0
| | | | | | | | | | | | | | | | | | | | | | Give each rootfs its own RPM channel to use. This puts the RPM metadata in a private subdirectory of $WORKDIR, rather than living in DEPLOY_DIR where other tasks may race with it. This allows us to reduce the time that the rpm.lock is held to only the time needed to hardlink the RPMs, allowing the majority of the rootfs operation to run in parallel. Also, this fixes the smart tests by generating an index for all packages at the time of the test, rather than using the one provided by the rootfs process. Original credit for the enhancement should go to Steven Walter stevenrwalter@gmail.com. (From OE-Core rev: a92c196449c516fe51786d429078bbb1213bb029) Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uboot-sign: do_concat_dtb(): cd to $BGeorge McCollister2016-08-101-0/+1
| | | | | | | | | | | | | | | | Prior to running oe_runmake make sure $B is the cwd. This is required due to bitbake commit 67a7b8b021badc17d8fdf447c250e79d291e75f7 "build: don't use $B as the default cwd for functions". Without this change, do_concat_dtb fails with: | ERROR: oe_runmake failed | make: *** No targets specified and no makefile found. Stop. (From OE-Core rev: 6dca3dee34b587157d0d49c590a177ff1dabb374) 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>
* uboot-sign: Handle .rom signing the same as .imgGeorge McCollister2016-08-101-1/+2
| | | | | | | | | | | Handle u-boot.rom signing (U-Boot as x86 BIOS replacement) the same way that u-boot.img signing is handled. (From OE-Core rev: 94e3f427bbeb005d8443e9d822c3182f280df470) 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>
* kernel-fitimage: Add x86 supportGeorge McCollister2016-08-101-30/+82
| | | | | | | | | | | | | | | | For x86, bzImage must be built instead of zImage. Include setup.bin (which is required to boot the kernel) in the fitimage and always use a load/boot address of 0x00090000. For details see: http://git.denx.de/?p=u-boot.git;a=blob;f=doc/uImage.FIT/x86-fit-boot.txt (From OE-Core rev: 1a65d11d4b8f056fdf22c31a92d1e58dec6d89f6) 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>
* kernel-fitimage: add initramfs supportGeorge McCollister2016-08-101-96/+189
| | | | | | | | | | | | | | | | | | If INITRAMFS_IMAGE is set, build an additional fitImage containing the initramfs. Copy the additional fitImage and the source (*.its) file, used to create it to DEPLOYDIR. The fitImage containing the initramfs must be built before do_deploy and after do_install to avoid circular dependencies. UBOOT_RD_LOADADDRESS - Specifies the load address used by u-boot for the initramfs. UBOOT_RD_ENTRYPOINT - Specifies the entry point used by u-boot for the initramfs. (From OE-Core rev: b406a89935f148779569fa3770776e009dd51f13) 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>
* kernel-fitimage.bbclass: do_assemble_fitimage(): cd to $BAndrew Bradford2016-08-101-0/+1
| | | | | | | | | | | | | | | | | | | | Prior to assembling the fitimage, ensure that $B is the cwd due to bitbake commit 67a7b8b021badc17d8fdf447c250e79d291e75f7 "build: don't use $B as the default cwd for functions". Without this change, do_assemble_fitimage() fails like: Log data follows: | DEBUG: Executing shell function do_assemble_fitimage | arm-ka-linux-gnueabi-objcopy: 'vmlinux': No such file | WARNING: exit code 1 from a shell command. | ERROR: Function failed: do_assemble_fitimage (From OE-Core rev: 42d50e8f5f3a98e50a0f50473ebc83dc6347b634) Signed-off-by: Andrew Bradford <andrew.bradford@kodakalaris.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* packagefeed-stability.bbclass: fix multilib + rpmRobert Yang2016-08-101-2/+14
| | | | | | | | | | | | | | * Fix multilib + rpm since its multilib package name is special. * Update SSTATE_DUPWHITELIST to avoid shared location conflicted error. * Fix message when "not copying", now the messages are: Copying packages for recipe <foo> Not copying packages for recipe <foo> (From OE-Core rev: 647fc7913c3d1f98efe36f01fd4e0edf2366e1a6) 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>
* package: correct subprocess.Popen.communicate() return valuesVladimir Zapolskiy2016-08-101-6/+6
| | | | | | | | | | | | | | | | | | This is a non-functional change, which intends to correct element names of a tuple returned by Popen.communicate(). Both in python2 and python3 subprocess.Popen.communicate() method returns a tuple (stdoutdata, stderrdata), thus old assignments and collateral comments are incorrect from human's point of view, however formally there is no error in the code. The change is desired to have to avoid copy-paste errors in future. (From OE-Core rev: cdd9bae381deb15ac84e11a39f9d72f2757c1583) 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>
* chrpath: correct subprocess.Popen.communicate() return valuesVladimir Zapolskiy2016-08-101-9/+9
| | | | | | | | | | | | | | | | | | This is a non-functional change, which intends to correct element names of a tuple returned by Popen.communicate(). Both in python2 and python3 subprocess.Popen.communicate() method returns a tuple (stdoutdata, stderrdata), thus old assignments and collateral comments are incorrect from human's point of view, however formally there is no error in the code. The change is desired to have to avoid copy-paste errors in future. (From OE-Core rev: f8c21df86bae5a85e221b69b91b347aeba6be4c3) 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>
* license: improve handling of license files with identical basenamesMarkus Lehtonen2016-08-101-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, find_license_files() in license.bbclass just blindly assumed that all different licenses specified in LIC_FILES_CHKSUM have unique filenames. As a consequence, only the last one of these similarly named license files was copied and the rest were "lost". This patch changes the behavior so that all license files get copied. However, if multiple identically named files are found, they are renamed to <file>.0, <file>.1 etc. The patch also changes the handling of NO_GENERIC_LICENSE slightly. Previously, only basenames of NO_GENERIC_LICENSE and LIC_FILES_CHKSUM were compared when searching for the correct license file. After this patch NO_GENERIC_LICENSE must have the full path, matching what is specified in LIC_FILES_CHKSUM. This is required in order to be able to handle identical filenames (basenames) consistently. For example, if you have: LICENSE = "my-custom-license" LIC_FILES_CHKSUM = "file://src/LICENCE;md5=d41d8cd98f00b204e9800998ecf8427e" you must specify: NO_GENERIC_LICENSE[my-custom-license] = "src/LICENCE" [YOCTO #9663] (From OE-Core rev: d5e1375884e509ec745bac43f1f7f7950f62f280) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory: output package variables in a repeatable orderRoss Burton2016-08-101-10/+8
| | | | | | | | | | | | This code was outputting variables by iterating a dictionary. In Py2 this always results in the same iteration order but with Py3 the order changes every execution, which resulted in buildhistory having to store diffs where fields were simply re-ordered. (From OE-Core rev: f9faa8df85317d12743134a44576b4882a9fb22a) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: warn about files under symlinked directoriesMarkus Lehtonen2016-08-101-0/+3
| | | | | | | | | | [YOCTO #9827] (From OE-Core rev: 27b285bd641d62f65154e6deec5146c0c8bb1458) 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>
* package.bbclass: better handling of middle-path dir symlinksMarkus Lehtonen2016-08-101-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | For example in a directory structure like this . ├── symlink -> foo/bar └── foo └── bar └── file 'file' could be referenced by specifying e.g. 'foo/bar/file' or 'symlink/file'. In cases like this populate_packages() might crash if the file was referenced (in FILES) via the symlinked directory. The outcome depends on how the user defined FILES_pn. This patch should make the function behave more consistently. It looks for files which are referenced via symlinked directories and handles them separately, failing if their parent directory is a non-existent path. For example, defining FILES_{PN} = "symlink/file" causes a build failure because symlinks target 'foo/bar' is not included at all. [YOCTO #9827] (From OE-Core rev: 29d1738329ddf4e63844a9ad1158a1d41e2ee343) 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>
* package.bbclass: remove unneeded chmod() and chown()Robert Yang2016-08-101-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The mode and owner info are saved in inode, hardlink won't change them, so remove unneeded chmod() and chown(). * This can avoid the problem that when do_package re-run, the file's mode maybe different if it is 0444 (changed to 0644 when re-run), this is caused by pseudo adds 'w' on real file, and doesn't track linked source when hard link, Peter and Mark may fix pseudo, but the removed code is not needed, which can avoid the problem. * To reproduce the problem, for example, version.c from gzip's ${B}: 1) bitbake gzip 2) Edit rpm-native or package.bbclass to make do_package re-run. 3) bitbake gzip After the first build, build/version.c in gzip-dbg is 0444, but after the second build, it will be 0644, this because do_package does: $ ln ${B}/version.c gzip-dbg/version.c, $ chmod 0444 gzip-dbg/version.c (it runs chmod 0644 on the real filesystem) And in the second build, the gzip-dbg/version.c will be removed and created again, so that stat() can't get 0444 but 0644 since ${B}/version.c is not tracked by pseudo. (From OE-Core rev: 26ab4b431da0c00010e8d399f890c5fbf0b03c94) 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>
* kernel.bbclass: add lzop dependencyTrevor Woerner2016-08-101-1/+1
| | | | | | | | | | If the initramfs image is type lzo, then a native lzop is needed. (From OE-Core rev: ee0640cb0c32b959ffaaac6752d582ed1d76e313) Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: remove intltool.m4 from ${S}Ross Burton2016-08-101-3/+10
| | | | | | | | | | | | | We need to ensure that builds use our intltool.m4 as there is a bug in upstream's macros when the host doesn't have XML::Parser installed. So generalise the m4 pruning logic that we already have from gettext and add intltool.m4. (From OE-Core rev: 342fa2b8407552a962e7c78d0e4de7b2d0b30041) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools: move aclocal-copy to WORKDIRRoss Burton2016-08-101-5/+3
| | | | | | | | | | | To save time move the temporary copy of the autoconf macros, aclocal-copy, from ${B} to ${WORKDIR}. This ensures that it can't conflict with anything in ${S} and means the pruning code doesn't need to know about it. (From OE-Core rev: d7249c5cce6fbc7875c46f2452ca8cd045773898) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/classes: fix bb.build.FuncFailed typosJonathan Liu2016-08-104-6/+6
| | | | | | | (From OE-Core rev: 6a8b9599945f3f57bd86a205bc107b8490518d29) Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass wipe ${S} before unpacking sourceMarkus Lehtonen2016-08-041-10/+8
| | | | | | | | | | | Make sure that we have a pristine source tree after do_unpack. [YOCTO #9064] (From OE-Core rev: eccae514b71394ffaed8fc45dea7942152a334a1) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/oetest.py: Allow to export packages using symlinksMariano Lopez2016-08-041-19/+5
| | | | | | | | | | | | | | | Currently packages that contains symlinks can't be extracted and exported. This allows to export extracted such packages. A nice side effect is improved readability. [YOCTO #9932] (From OE-Core rev: 0338f66c0d246c3b8d94ac68d60fbc4c314e500b) 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>
* Fix random python backtrace in mutlilib handling code.Jeremy Puhlman2016-08-041-1/+2
| | | | | | | | | | | | | | | | | | | newval is not defined in all cases. Set to None and check if it is set. File "/local/foo/builds/x86/layers/openembedded-core/meta/classes/multilib_global.bbclass", line 90, in preferred_ml_updates(d=<bb.data_smart.DataSmart object at 0xf6fd528c>): if not d.getVar(newname, False): > d.setVar(newname, localdata.expand(newval)) # Avoid future variable key expansion UnboundLocalError: local variable 'newval' referenced before assignment (From OE-Core rev: 25ebd3bbc1f9f4b1b6147d98dd43690c3bf03ee7) Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cml1: fix tasks after default [dirs] changedRoss Burton2016-08-041-0/+2
| | | | | | | | | | | | These tasks relied upon [dirs] being ${B} by default. As the functions are not simple, add back [dirs] so they work again. [ YOCTO #10027 ] (From OE-Core rev: 614d976ee97d6386c37afb54add5b83741ca401e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf/toolchain-scripts.bbclass: Remove debug prefix mappings in SDKJacob Kroon2016-08-041-0/+3
| | | | | | | | | | | | CFLAGS/CXXFLAGS in the SDK environment script adds debug-prefix mappings that include staging area/work directories. Remove them since the SDK shouldn't be aware of them. (From OE-Core rev: 7918e73e9c5fe8c8c1c1d341eaa42f2f7d3ddb69) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd-staticids.bbclass: trigger reparsing when table files changePatrick Ohly2016-08-011-0/+13
| | | | | | | | | | | | | | | | This addresses (among others) the following problem: - USERADD_ERROR_DYNAMIC=error causes a recipe to get skipped because a static ID entry is missing - the entry gets added to the file - using the recipe still fails with the same error as before because the recipe gets loaded from the cache instead of re-parsing it with the new table content (From OE-Core rev: 799c93592a9aac571d6dc05529437c0eec7b08b8) 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>
* classes/testimage: When image is systemd, enable debug log levelAníbal Limón2016-08-011-1/+4
| | | | | | | | | | | | | In order to get more information about systemd boot process to be able to debug random failures due to high I/O. [YOCTO #9299] (From OE-Core rev: a0bb64973e767c3b8e0bae18ee84ed92693922f0) 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>
* useradd.bbclass: Fix delete user/group when more than one itemMariano Lopez2016-08-011-8/+14
| | | | | | | | | | | | | | Currently when a recipe adds more than one user/group, the cleansstate task will delete only the first user/group. This will solve this behavior and delete all users/groups. [YOCTO #9943] (From OE-Core rev: da191d5c139a6b400d1b8fe246912b081dd18176) 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>
* classes/buildhistory: ensure eSDK sstate lists sorted secondarily by namePaul Eggleton2016-07-261-2/+2
| | | | | | | | | | | | I got fed up with seeing items dance around in sstate-package-sizes.txt in the buildhistory git repo simply because they have the same size. Let's sort the list first by size and then also by name to ensure items with the same size are deterministically sorted. (From OE-Core rev: 7340c1ea677731d21351d47d935d9de7d7e2eda5) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: add additional variables for eSDKPaul Eggleton2016-07-261-1/+1
| | | | | | | | | | Add SDK_INCLUDE_PKGDATA and SDK_INCLUDE_TOOLCHAIN to the variables that we put into sdk-info.txt (From OE-Core rev: 4bf5be6a1fc39f367bbb59e1787cb55e7b5835ae) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: add gdb to full extensible SDKPaul Eggleton2016-07-261-1/+1
| | | | | | | | | | | | | | | | | If SDK_EXT_TYPE is set to "full" then we really ought to be shipping everything that is expected to be in the SDK, and that includes gdb (it's already referred to by the environment setup script if nothing else). This is implemented by using the SDK_INCLUDE_TOOLCHAIN functionality I just added, since the only material thing that adds on top of a full SDK is gdb and we should always have the rest of it in a full SDK anyway. Fixes [YOCTO #9850]. (From OE-Core rev: 9872dcc25c5cdfb99bda197db08476085f8c7ecc) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: filter sstate within the extensible SDKPaul Eggleton2016-07-261-6/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the new oe-check-sstate to filter the sstate artifacts shipped with the extensible SDK by effectively running bitbake within the produced eSDK and and getting it to tell us which tasks it will restore from sstate. This has several benefits: 1) We drop the *-initial artifacts from the minimal + toolchain eSDK. This still leaves us with a reasonably large SDK for this configuration, however it does pave the way for future reductions since we are actually filtering by what will be expected to be there on install rather than hoping that whatever cuts we make will match. 2) We verify bitbake's basic operation within the eSDK, i.e. that we haven't messed up the configuration 3) We verify that the sstate artifacts we expect to be present are present (at least in the sstate cache for the build producing the eSDK). Outside deletion of sstate artifacts has been a problem up to now, and this should at least catch that earlier i.e. during the build rather than when someone tries to install the eSDK. This does add a couple of minutes to the do_populate_sdk_ext time, but it seems like the most appropriate way to handle this. Should mostly address [YOCTO #9083] and [YOCTO #9626]. (From OE-Core rev: 4b7b48fcb9b39fccf8222650c2608325df2a4507) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: allow including toolchain in eSDK on installPaul Eggleton2016-07-261-1/+18
| | | | | | | | | | | | | | | | | | | | | If we're to completely replace the standard SDK with the extensible SDK, we need to be able to provide the standard toolchain on install without doing anything other than installing it, so that you can install the SDK and then point your IDE at it. This is particularly applicable to the minimal SDK which normally installs nothing by default. NOTE: enabling this option currently adds ~280MB to the size of the minimal eSDK installer. If we need to reduce this further we would have to look at adjusting the dependencies and/or the sstate_depvalid() function in sstate.bbclass which eliminates dependencies, or look at reducing the size of the artifacts themselves. Implements [YOCTO #9751]. (From OE-Core rev: ed0d8ed72370df694f720cc13897493478dc1de9) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta-extsdk-toolchain: add meta-recipe to install toolchain into eSDKPaul Eggleton2016-07-261-0/+3
| | | | | | | | | | | | | | | | | | Add a meta-recipe to bring the toolchain into the extensible SDK. This was modelled on meta-ide-support but some adjustments were needed to the dependency validation function in sstate.bbclass to ensure that all of the toolchain gets installed into the sysroot. With this, after installing a minimal eSDK you only need to run the following after sourcing the environment setup script to get the toolchain: devtool sdk-install meta-extsdk-toolchain Addresses [YOCTO #9257]. (From OE-Core rev: 8110806b1b5534ae830a4fdd1a5293c86a712d0b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: set default for SDK_INCLUDE_PKGDATAPaul Eggleton2016-07-261-0/+1
| | | | | | | | | | | We don't absolutely need this - it doesn't change the default behaviour, but it seems to me we have a convention to set default values so we should add one here. (From OE-Core rev: 4c734df1df3c19b0dabb9da5b4dc86b966a0d71c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: explicitly set workdir in do_bundle_initramfsAndré Draszik2016-07-261-0/+1
| | | | | | | | | | | | | | | | | | | | bitbake rev 67a7b8b02 "build: don't use $B as the default cwd for functions" (included in current bitbake master) breaks the assumption that do_bundle_initramfs runs inside the build directory. This causes kernel_do_compile() as called from within do_bundle_initramfs() to fail, as the former is not being executed from the correct directory anymore. (Note that kernel_do_compile() as called from bitbake directly doesn't suffer from that problem, as it inherits the workdir from base_do_compile() in that case.) Set workdir explicitly. (From OE-Core rev: 4455da22a151c2ac006af63cbd39779b21b12580) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-uimage.bbclass: indeed update var KERNEL_IMAGETYPE_FOR_MAKEKai Kang2016-07-261-2/+1
| | | | | | | | | | | | The replace() method of the python string class doesn't replace in-place, then the var KERNEL_IMAGETYPE_FOR_MAKE doesn't be updated as design. (From OE-Core rev: 392fc3cd276d5029314c7158245bc65dd82279cd) 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>
* insane: only check ${S} exists if we had sources to fetchRoss Burton2016-07-261-3/+2
| | | | | | | | | | | | | | Only check that ${S} actually exists if there was something in ${SRC_URI} to fetch, the argument being that if SRC_URI is empty the the recipe won't be using ${S} at all. In general recipes that have no sources can remove the unpack task, but expecting all recipes to do this relatively advanced operation isn't realistic. (From OE-Core rev: 8cba511ab6ea557fab9f7838dfe1fc8284bbdd68) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* packagefeed-stability.bbclass: copy all packages of a recipeRobert Yang2016-07-261-68/+35
| | | | | | | | | | | | | A recipes can generate several rpms such as a.rpm, a-dev.rpm, a-dbg.rpm, when update one of them in the repo, we'd better update all of them, otherwise, there might be a-dev.r0.1.rpm and a-dbg.r0.3.rpm in the repo, which looks strange. (From OE-Core rev: 2a7f203dbe4fda5dba9137503e93669392719aba) 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>