summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFiles
2016-09-19runqemu: try symlinks when kernel or rootfs can't be foundJoshua Lock1
If the kernel or rootfs names written to the qemuboot.conf can't be found, try and find the symlinked variant of the filename. This will help usability of runqemu, for example where a user downloads an image and associated files as the symlinked names yet the qemuboot.conf variables point to the full, non-linked, file names. Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19qemuboot: also write the kernel link name to the conf fileJoshua Lock1
This will allow runqemu to fall back to trying the link name when a file matching the full name can't be found. Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19runqemu: clarify an INFO messageJoshua Lock1
Make it clearer that we are looking for a file which ends with qemuboot.conf Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19qemuboot: write the full kernel filename, not the link nameJoshua Lock1
KERNEL_IMAGETYPE gives the filename of a symlink to the kernel, which may not be available i.e. if the user downloads some build artefacts to run on a local machine. It's also possible that the link will point to a newer kernel than was intended for use with the rootfs in the qemuboot.conf. It's much more reliable to read the name of the file KERNEL_IMAGETYPE is linking to and assign the full filename to QB_DEFAULT_KERNEL. [YOCTO #10285] Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19runqemu: add guidance to resolve issues with missing filesJoshua Lock1
When a required binary cannot be found print some guidance pointing to using a sourced OE build environment or a qemuboot.conf file, based on a similar message from the previous shell-based runqemu. Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19devtool: add: drop superfluous validation for recipe namePaul Eggleton1
Now that recipeutils.validate_pn() properly validates characters used in the name, we can drop this bit checking for '/' since that's not permitted by validate_pn(). (The FIXME comment here - that I myself apparently wrote - is questionable since that function was clearly never intended to allow '/', perhaps I was misled because it was broken and did so). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19lib/oe/recipeutils: fix invalid character detection in validate_pn()Paul Eggleton1
* validate_pn() is supposed to protect against invalid characters, fix the function so that it actually does (unanchored regex strikes again...) * However, now that the function is enforcing the restrictions, we do still want to allow + in recipe names (e.g. "gtk+") Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19recipetool: create: support git short form URLsPaul Eggleton3
In keeping with making recipetool create / devtool add as easy to use as possible, users shouldn't have to know how to reformat git short form ssh URLs for consumption by BitBake's fetcher (for example user@git.example.com:repo.git should be expressed as git://user@git.example.com/repo.git;protocol=ssh ) - instead we should just take care of that automatically. Add some logic in the appropriate places to do that. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19recipetool: create: tweak license crunchingPaul Eggleton1
Filter out a plain "Licensed under the XXXX license" statement, as seen in the capnproto project (and no doubt others). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19recipetool: create: pick up AC_PROG_SWIGPaul Eggleton1
AX_PKG_SWIG is not the only commonly-used macro for detecting swig - there's also AC_PROG_SWIG. As per AX_PKG_SWIG, add swig-native to DEPENDS if AC_PROG_SWIG is found in configure.ac. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19recipetool: create: detect python autoconf macrosPaul Eggleton1
If python is required then we need to inherit pythonnative (or python3native) otherwise do_configure will probably fail since it won't be able to find python. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19recipetool: create: fix error with git tree and no networkPaul Eggleton1
When creating a recipe for an existing local git clone, we attempt to use the fetcher to determine if it supports the SRCREV variable. Unfortunately running this code does a network check to get the latest revision as a direct result of us using '${AUTOREV}' as a default value. If you don't have a network connection this will of course fail. Rather than have this block creating the recipe, catch the exception and just guess from the URL. Ultimately this should probably be fixed in the fetcher but for now this will at least resolve the issue on this end. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19recipetool: create: fix name/version extraction from filenamePaul Eggleton1
I ran into an example where recipetool was getting the name/version completely wrong: https://bitbucket.org/sortsmill/libunicodenames/downloads/libunicodenames-1.1.0_beta1.tar.xz >From this it would create a libunicodenames-1.1.0-beta1_1.1.0-beta1.bb file (likely because it couldn't split the file name and therefore took all of it, then got the version from one of the files inside the tarball). When this happens it's just irritating because you then have to delete the recipe / run devtool reset and then run recipetool create / devtool add again and specify the version manually. This patch is the result of systematically running the determine_from_filename() function over the files on the Yocto Project source mirror and my local downloads directory and fixing as many of the generic issues as reasonably practical - it now gets the name and version correct much more often. There are still cases where it won't, but they are now in the minority. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19recipetool: create: improve python recipe license handlingPaul Eggleton1
Try to ensure that for Apache, GPL and LGPL where the values extracted from the "Classifiers" field may not be version-specific, if there is a versioned license in the free-form license field then use that instead. Also insert the free-form license field as a comment in the recipe for the user's reference. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19recipetool: create: fix picking up name from local python source treePaul Eggleton1
Make use of the extravalues dict to send back other variable values from the python handling plugin, and enable passing back PV and PN. This not only places variable values in the final recipe a bit more consistently with other types of source, it also allows the name and version to be picked up fron a local source tree and not just when the recipe is fetched from a remote URL that happens to have those in it. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19runqemu: acquire_lock() should fail when failed to open the fileRobert Yang1
The open(self.lock, 'w') may fail when the lock is created by other users, return false for this case to let it try other devices. Fixed: runqemu - INFO - Running /sbin/ip link... runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock... Traceback (most recent call last): File "/buildarea/lyang1/poky/scripts/runqemu", line 972, in <module> ret = main() File "/buildarea/lyang1/poky/scripts/runqemu", line 963, in main config.setup_network() File "/buildarea/lyang1/poky/scripts/runqemu", line 810, in setup_network self.setup_tap() File "/buildarea/lyang1/poky/scripts/runqemu", line 761, in setup_tap if self.acquire_lock(): File "/buildarea/lyang1/poky/scripts/runqemu", line 182, in acquire_lock lock_descriptor = open(self.lock, 'w') PermissionError: [Errno 13] Permission denied: '/tmp/qemu-tap-locks/tap0.lock' Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19qemuppc.conf: adjust kernel consoleRobert Yang1
Fixed kernel trace when booting: [ 12.825809] random: crng init done [ 13.918323] irq 36: nobody cared (try booting with the "irqpoll" option) [ 13.924821] CPU: 0 PID: 335 Comm: getty Not tainted 4.8.0-rc5-yocto-standard #1 [ 13.930492] Call Trace: [ 13.936214] [cff73f20] [c00790f0] __report_bad_irq.isra.0+0x3c/0x128 (unreliable) [ 13.941908] [cff73f40] [c0079518] note_interrupt+0x2b8/0x304 [ 13.947265] [cff73f70] [c00766f4] handle_irq_event_percpu+0x5c/0x74 [ 13.952503] [cff73f90] [c0076768] handle_irq_event+0x5c/0xdc [ 13.957667] [cff73fa0] [c007a29c] handle_fasteoi_irq+0xdc/0x234 [ 13.962984] [cff73fc0] [c007592c] generic_handle_irq+0x3c/0x58 [ 13.968288] [cff73fd0] [c0006c74] __do_irq+0x54/0x18c [ 13.973612] [cff73ff0] [c000f9c8] call_do_irq+0x24/0x3c [ 13.978742] [cf0cdb70] [c0006e40] do_IRQ+0x94/0x110 [ 13.983992] [cf0cdba0] [c001215c] ret_from_except+0x0/0x14 [ 13.989281] --- interrupt: 501 at pmz_set_termios+0x130/0x6d8 [ 13.989281] LR = pmz_set_termios+0xf0/0x6d8 [ 13.999353] [cf0cdc90] [c049f130] uart_change_speed.isra.2+0x60/0x168 [ 14.004436] [cf0cdcb0] [c049fdbc] uart_startup.part.8+0xec/0x1e0 [ 14.009625] [cf0cdce0] [c04a0ab4] uart_open+0x138/0x16c [ 14.014723] [cf0cdd00] [c047e510] tty_open+0x118/0x65c [ 14.019743] [cf0cdd60] [c01894c8] chrdev_open+0xdc/0x1e0 [ 14.024616] [cf0cdd90] [c01807d0] do_dentry_open+0x23c/0x358 [ 14.029418] [cf0cddc0] [c0194878] path_openat+0x58c/0x1084 [ 14.034054] [cf0cde50] [c01965b4] do_filp_open+0xbc/0x10c [ 14.038539] [cf0cdf00] [c01822fc] do_sys_open+0x154/0x224 [ 14.043105] [cf0cdf40] [c0011a44] ret_from_syscall+0x0/0x38 [ 14.047828] --- interrupt: c01 at 0xfeef5a0 [ 14.047828] LR = 0xfeef544 [ 14.056543] handlers: [ 14.060980] [<c04a2b10>] pmz_interrupt [ 14.065468] Disabling IRQ #36 Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19groff: not ship /usr/bin/glilypondMingli Yu1
Not ship /usr/bin/glilypond and related files such as man file /usr/share/man/man1/glilypond.1 and other three files related to glilypond under /usr/lib/groff/glilypond in embedded system, it is because: - Remove the confusion about glilypond fails to run because it lacks dependency on File::HomeDir perl module - We don't often have need for sheet music conversion in groff in embedded or IoT devices (glilypond transforms sheet music written in the lilypond language into the groff language using the .PSPIC request, such that groff can transform it into a format that can be displayed directly). Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19linux-firmware: Add missing ralink-firmware LicenseSaul Wold1
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19linux-firmware: Correct the LICENSE setting of license packagesSaul Wold1
This change causes the licenses of the linux-firmware-*-license to be the license that it contains instead of all the licenses of the linux-firmware package. [YOCTO #10251] Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-19build-appliance-image: Create image in correct locationJuro Bystricky1
Due to the recipe now using variable IMGDEPLOYDIR instead of DEPLOY_DIR_IMAGE, the final Build Appliance image ended up being created in a wrong location. This patch assures the final ZIP image is created in identical location as before: tmp/deploy/images/<machine>/Yocto_Build_Apliance.zip [YOCTO#10274] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-16scripts: add tool to scan for bashisms recipe shell scriptsRoss Burton1
Shell functions in bitbake are executed with /bin/sh so should be POSIX compliant and not use Bash extensions, or at least only use extensions that are implemented in both dash and ash (busybox). This tool will extract all of the shell scripts from all recipes and run them through checkbashisms (it assumes that checkbashisms is on $PATH). There is a whitelist to filter out false-positives such as the use of $HOSTNAME (a bashism) in functions where we have defined it, or using the 'type' builtin which is supported by ash/dash. [ YOCTO #8851 ] Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-16sanity.bbclass: split out config re-parse checkMarkus Lehtonen1
Split out the functionality doing configuration re-parse check into a separate event handler that is hooked into ConfigParsed event. This will make config re-parsing actually work. Re-parsing in bitbake is triggered by setting BB_INVALIDCONF whose value is checked after configuration has been parsed (after ConfigParsed event). However, previously BB_INVALIDCONF was set in SanityCheck event handler which caused re-parsing never to happen. [YOCTO #10188] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-16pulseaudio: add ${S}/LICENSE to LIC_FILES_CHKSUMRoss Burton1
The LICENSE file describes how the various pieces are licensed, so add it to the checksum so we notice when it changes. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-16useradd_base.bbclass: Do not mess with the gshadow file in the sysrootPeter Kjellerstedt1
Previously, if the gshadow file did not exist in the sysroot when perform_groupmems() was run, it would be temporarily created and removed again afterwards. This was supposedly due to groupmems failing if it does not exist. However, based on empirical testing and examination of the source code for groupmems, it should not fail if the gshadow file does not exist when groupmems is started. But it WILL fail if the file is removed sometime after its existence has been check at the beginning of the execution, but before it needs to be modified. And this is exactly what the previous code in perform_groupmems() could cause if multiple tasks simultaneously modified users or groups. It could cause any of the useradd, groupadd and groupmems commands to fail as long as at least one other recipe invoked perform_groupmems(). Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-16util-linux: Disable bfs supportPatrick Williams1
Disable building of mkfs.bfs, which is used to create BFS file-systems used by SCO UnixWare. This is highly unlikely to be utilized and there are otherwise no references to 'bfs' throughout the rest of the tree. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-16util-linux: Disable minix support.Patrick Williams1
Disable building of {mkfs,fsck}.minix, which are used to support minix file-systems. Minix predates Linux and support for its file-systems is unlikely to be needed. No recipes otherwise reference minix, except in patches to autotools configuration scripts, so there should be no impact to other recipes. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-16qemuboot-x86: Add task_timeout = -1 to uvesafbSaul Wold1
This causes the default timeout to be set to infinity, it will still report out every 5000 milliseconds Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-16cmake-native: rationalise system/internal library dependenciesRoss Burton1
By default cmake will auto-detect if a library is present on the host and if it isn't present will use an internal fork. For some libraries using the internal fork is preferable as it can be built with less dependencies, but for others we're either already building it or the impact of building it is comparable to internal build. Continue to use the internal fork of libarchive as our libarchive-native has a large number of build dependencies. Using the internal libarchive means that system bzip2 and zlib must be used. Explicitly use the internal fork of jsoncpp as we don't have this in oe-core. Explicitly depend on curl-native, expat-native, and xz-native to ensure these dependencies are not floating. curl-native is a non-trivial dependency but is comparable to building the internal fork, so there's no reason to build it twice. Change bzip2-native to bzip2-replacement-native as bzip2-native is ASSUME_PROVIDED. [ YOCTO #9639 ] Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-16cmake: use convenience options for clarityRoss Burton1
The intention here was "everything but jsoncpp is system provided" so use the convenience option to ensure this remains true in the future. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-16scripts: introduce buildstats-diffMarkus Lehtonen1
New script for comparing buildstats from two separate builds. The script has two modes: normally it prints the differences in task execution (cpu) times but using --ver-diff option makes it just print the recipe version differences without any cpu time data. Other command line options are provided to alter the sort criteria of the data and to filter out insignificant differences and/or short tasks. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-16package_manager.py: fix bitbake package-index failedHongxu Jia1
Previously the following commit in oe-core move RPM metadata from DEPLOY_DIR to WORKDIR. ----------- commit a92c196449c516fe51786d429078bbb1213bb029 Author: Stephano Cetola <stephano.cetola@linux.intel.com> Date: Wed Aug 10 13:03:16 2016 -0700 Allow for simultaneous do_rootfs tasks with rpm 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. ----------- In the modification of 'class RpmIndexer, it should not directly set arch_dir with WORKDIR. It caused 'bitbake package-index' could not work correctly. Assign WORKDIR as input parameter at RpmIndexer initial time could fix the issue. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-16shadow: use relaxed usernamesShan Hai2
The groupadd from shadow does not allow upper case group names, the same is true for the upstream shadow. But distributions like Debian/Ubuntu/CentOS has their own way to cope with this problem, this patch is picked up from CentOS release 7.0 to relax the usernames restrictions to allow the upper case group names, and the relaxation is POSIX compliant because POSIX indicate that usernames are composed of characters from the portable filename character set [A-Za-z0-9._-]. Signed-off-by: Shan Hai <shan.hai@windriver.com> Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-16oeqa/sdkext/devtool: use a smaller module to test node.js functionalityPaul Eggleton1
The "forever" package, despite its innocent description, actually drags in a surprising number of dependencies and as a result the nodejs test takes up to 10 minutes as a result. Pick a different example with a much more reasonable set of dependencies. Addresses part of [YOCTO #10254]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-16makedevs: don't restrict device node paths to 40 charactersAndre McCurdy1
40 character paths work OK for device nodes in /dev but not for device nodes created in a chroot, LXC container, etc. Since the 'path' array is already a 4k buffer, the sscanf 40 character limit seems to be a typo or historical mis-merge. Update the sscanf limit and bring the code in sync with the Buildroot version: https://git.buildroot.net/buildroot/commit/?id=8876b6751e0bc19a3754290061808f0f8420708e Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-16qemurunner: print out the runqemu commandbavery1
This logs the launch command that was used for runqemu while running -c testimage. This way, if I'd like to easily launch qemu manually in order to debug a failed test, I know what commmand was run to create the qemu instance. Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-16cve-check.bbclass: Add classMariano Lopez1
This class adds a new task for all the recipes to use cve-check-tool in order to look for public CVEs affecting the packages generated. It is possible to use this class when building an image, building a recipe, or using the "world" or "universe" cases. In order to use this class it must be inherited and it will add the task automatically to every recipe. [YOCTO #7515] Co-authored by Ross Burton & Mariano Lopez Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-16cve-check-tool: Add recipeMariano Lopez2
cve-check-tool is a program for public CVEs checking. This tool also seek to determine if a vulnerability has been addressed by a patch. The recipe also includes the do_populate_cve_db task that will populate the database used by the tool. [YOCTO #7515] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-15cmake: don't inherit autotoolsRoss Burton2
cmake doesn't use autotools, the functions get replaced by either cmake.bbclass (target) or the recipe itself (native) leaving just lots of superfluous dependencies. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-15openssl: Fix MIPS64be and add MIPS64leZubair Lutfullah Kakakhel1
MIPS64 target was being configured for linux-mips which defaults to MIPS32. Doesn't cause any issue as far as I can see but it would be wiser to use the correct target configuration. Also add MIPS64le configuration which is missing. Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-15oeqa/oetest: show stderr when running commandsRoss Burton1
To help debug failures, redirect stderr to stdout in oeSDKTest.run() and oeSDKExtTest.run(). Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-15sanity: make license QA failures fatal againRoss Burton1
Previous work to clean up the license QA code (oe-core fbdf977) had the side effect that failing the license sanity check (bad or missing LIC_FILES_CHKSUM) would emit an error message but wouldn't actually abort the build. Solve this by changing populate_lic_qa_checksum() so that it tracks if the message class was in ERROR_QA and if so, aborts the function. [ YOCTO #10280 ] Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-15openjade/sgml-common: Add sstate postrm commandsRichard Purdie2
If you bump the PR of sgml-common and openjade-native but not sgml- common-native, you will see a failure as files were removed from the sysroot but still referenced by the sgml docbook catalog. To properly handle this, the clean function needs to run at sstate removal time, the problem is that this sstate removal can happen when the metadata isn't present, so the correct removal commands are unknown. To avoid this, we need to write the commands into a "postrm" script when we install the files, this can then be executed at sstate removal time. [YOCTO #8273] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-15sstate: Add postrm command supportRichard Purdie1
There are some issues in sstate which can't be handled by file removal alone. Currently there is no way to execute a command against sstate and doing so is potentially problematic for things like dependencies. This patch adds a mechanism where any "postrm" script is executed if its present allowing some openjade/sgml issues to be resolved. [YOCTO #8273] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-15oeqa/utils/decorators: LogResults fix race condition in linkfileAníbal Limón1
In order to avoid race condition when test if exists the linkfile use bb.utils.lock, the best solution is to create a unique name for the link file. There is no way to create a unique linkfile name at this decorator because is needed the machine and image variables, those variables can't be passed easily in this code. To avoid broke test export functionality use a try/except because bb isn't available when use test export [YOCTO #10225] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-15oe-selftest: check for coverage version before starting testsHumberto Ibarra1
python coverage versions lower than 4.x have problems with some distros. Adding the 4.x version as requirement to continue with coverage tracking. [YOCTO #10207] Signed-off-by: Humberto Ibarra <humberto.ibarra.lopez@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-15image.bbclass: add IMAGE_DEVICE_TABLE to rootfs[vardeps]Andre McCurdy1
IMAGE_DEVICE_TABLE and IMAGE_DEVICE_TABLES are both referenced by _create_devfs, therefore ensure that rootfs is rebuilt if changes are made to either variable. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-14create-pull-request: remove output directoryEd Bartosh1
When 'git request-pull' fails it makes sense to remove output directory. Otherwise create-pull-request will complain that output directory already exists on the next run. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-14ptest-runner: allow building from externalsrcChristian Schuler1
The ${WORKDIR}/git refers to the source folder S which is different in the case of an external source build. Signed-off-by: Christian Schuler <schuler.christian@siemens.com> Signed-off-by: Pascal Bach <pascal.bach@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-14patchelf: Update to version 0.9Fabio Berton5
* Remove patch maxsize.patch already applied upstream. * Add patch Skip-empty-section-fixes-66.patch to prevent errors like: / |ERROR: go-cross-1.6.2-r0 do_populate_sysroot_setscene: '('patchelf-uninative', |'--set-interpreter', '/home/user/src/prj/build/tmp/sysroots-uninative/ |x86_64-linux/lib/ld-linux-x86-64.so.2', '/home/user/src/prj/build/tmp/ |work/x86_64-linux/go-cross/1.6.2-r0/sstate-install-populate_sysroot/x86_64- |linux/usr/bin/aarch64-prj-linux/go')' |failed with exit code 1 and the following output: |cannot find section .rela.dyn \ * Add patch handle-read-only-files.patch to fix error when building eSKD, the following error appears on task do_testsdkext / |ERROR: db-native-6.0.30-r1 do_populate_sysroot_setscene: '('patchelf-uninative', |'--set-interpreter', 'src/fsl-community-bsp/build/tmp/work/qemuarm-poky-linux- |gnueabi/core-image-minimal/1.0-r0/testsdkext/tc/tmp/sysroots-uninative/ |x86_64-linux/lib/ld-linux-x86-64.so.2', 'src/fsl-community-bsp/build/tmp/work/ |qemuarm-poky-linux-gnueabi/core-image-minimal/1.0-r0/testsdkext/tc/tmp/work/ |x86_64-linux/db-native/6.0.30-r1/sstate-install-populate_sysroot/x86_64-linux/ |usr/bin/db_tuner')' failed with exit code 1 and the following output: |b'open: Permission denied\n \ * Add patch Increase-maxSize-to-64MB.patch to fix error described bellow, the same issue is discussed here: - https://github.com/NixOS/patchelf/issues/47 / |ERROR: qemu-native-2.5.0-r1 do_populate_sysroot_setscene: '('patchelf-uninative', |'--set-interpreter', '../build/tmp/sysroots-uninative/x86_64-linux/lib/ |ld-linux-x86-64.so.2', '../build/tmp/work/x86_64-linux/qemu-native/2.5.0-r1/ |sstate-install-populate_sysroot/x86_64-linux/usr/bin/qemu-mips64')' |failed with exit code 1 and the following output: |warning: working around a Linux kernel bug by creating a hole of 36032512 |bytes in ‘../build/tmp/work/x86_64-linux/qemu-native/2.5.0-r1/ |sstate-install-populate_sysroot/x86_64-linux/usr/bin/qemu-mips64’ |maximum file size exceeded \ Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>