summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* dropbear: fix -ltomcrypt -ltommath order when using system libtom libsAndre McCurdy2016-09-202-0/+49
| | | | | | | | | | | | | | | To prevent build failures when using system libtom libraries and linking with --as-needed, LIBTOM_LIBS should be in the order -ltomcrypt -ltommath, not the other way around, ie libs should be prepended to LIBTOM_LIBS as they are found, not appended. Note that LIBTOM_LIBS is not used when linking with the bundled libtom libs. (From OE-Core rev: 62e96283fe77469e24e8df86c6c037c92009b00a) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: use OECORE_NATIVE_SYSROOT from sdkRobert Yang2016-09-201-4/+11
| | | | | | | | | | There is no STAGING_DIR_NATIVE or bitbake in a extracted sdk, so check OECORE_NATIVE_SYSROOT and use it. (From OE-Core rev: 93649edc034f2540ff55dc9b41638797209cfb9c) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: work even if a *.qemuboot.conf isn't foundJoshua Lock2016-09-201-1/+7
| | | | | | | | | | | | | | | A qemuboot conf file is a convenience but it should still be possible to invoke runqemu without them, especially for examples such as using the SDK with an extracted rootfs via NFS. As read_qemuboot() is always called we need to be sure that function can return cleanly, without throwing Exceptions, even if a qemuboot conf file isn't found. (From OE-Core rev: 3541c21f1976b517b79a19882240a8f36b970292) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: try symlinks when kernel or rootfs can't be foundJoshua Lock2016-09-201-3/+13
| | | | | | | | | | | | | | | 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. (From OE-Core rev: ca5a686c6e165a51f95cb6a834cd53f6f66d42d4) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemuboot: also write the kernel link name to the conf fileJoshua Lock2016-09-201-2/+3
| | | | | | | | | | This will allow runqemu to fall back to trying the link name when a file matching the full name can't be found. (From OE-Core rev: 3ccbaaad75f0a53d8bcf6a5c748ec80c96a383bd) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: clarify an INFO messageJoshua Lock2016-09-201-1/+1
| | | | | | | | | | Make it clearer that we are looking for a file which ends with qemuboot.conf (From OE-Core rev: 2579e05269a14b53a54232a8bf4414ac2dfe6472) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemuboot: write the full kernel filename, not the link nameJoshua Lock2016-09-201-0/+8
| | | | | | | | | | | | | | | | | | | 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] (From OE-Core rev: d57bdacab13605ada4cd9e9159c18fdcd6eeacbc) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: add guidance to resolve issues with missing filesJoshua Lock2016-09-201-3/+16
| | | | | | | | | | | 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. (From OE-Core rev: 87cfb5165490cd4e7a8c2570ef5a62898db8395e) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: add: drop superfluous validation for recipe namePaul Eggleton2016-09-201-4/+0
| | | | | | | | | | | | | | 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). (From OE-Core rev: e010d9be3709cf3c607ffc03c3188abe4e1e9eb4) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/recipeutils: fix invalid character detection in validate_pn()Paul Eggleton2016-09-201-2/+2
| | | | | | | | | | | | | * 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+") (From OE-Core rev: c5d5a1baf98a11676537fb5e9f8ec4409e30c1fd) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: support git short form URLsPaul Eggleton2016-09-203-5/+21
| | | | | | | | | | | | | | | 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. (From OE-Core rev: 78c672a72f49c4b6cfd8c247efcc676b0ba1681a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: tweak license crunchingPaul Eggleton2016-09-201-1/+1
| | | | | | | | | | Filter out a plain "Licensed under the XXXX license" statement, as seen in the capnproto project (and no doubt others). (From OE-Core rev: ba4aa319fd49ee02ce2e30c2db0f3988c0e8833c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: pick up AC_PROG_SWIGPaul Eggleton2016-09-201-1/+2
| | | | | | | | | | | 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. (From OE-Core rev: 847a1aa7153fc8a7b820353283a6f1e51d64f8de) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: detect python autoconf macrosPaul Eggleton2016-09-201-0/+16
| | | | | | | | | | | 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. (From OE-Core rev: 63234cc45aee91b031657971f36997e1443f80ee) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: fix error with git tree and no networkPaul Eggleton2016-09-201-4/+10
| | | | | | | | | | | | | | | | | | 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. (From OE-Core rev: f7e43f931d7d6019a3b2509b2b2635978fbbae36) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: fix name/version extraction from filenamePaul Eggleton2016-09-201-14/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | 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. (From OE-Core rev: 7b018b1d493a8d10fd02b8cc220990b191c87fe5) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: improve python recipe license handlingPaul Eggleton2016-09-201-2/+28
| | | | | | | | | | | | | 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. (From OE-Core rev: 237f66042eedd906f654827b53bf9269738267ab) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: fix picking up name from local python source treePaul Eggleton2016-09-201-34/+2
| | | | | | | | | | | | | | 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. (From OE-Core rev: 3e7029f28c6ea9bb1d283bcdc3fdfee11455af8e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: acquire_lock() should fail when failed to open the fileRobert Yang2016-09-201-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | 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' (From OE-Core rev: f364f773a0381a75b5992c8c8a1d63a81dbd4422) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemuppc.conf: adjust kernel consoleRobert Yang2016-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 (From OE-Core rev: 7c6d0e4ada6dea6ac994e637b7d5cf007f73e411) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* groff: not ship /usr/bin/glilypondMingli Yu2016-09-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | 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). (From OE-Core rev: 9a0bf9567f80f06ea067189bf5c27bb5155a85b0) Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-firmware: Add missing ralink-firmware LicenseSaul Wold2016-09-201-0/+1
| | | | | | | (From OE-Core rev: 57c025ac2328482097bce6913edcd89d0d740a7c) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-firmware: Correct the LICENSE setting of license packagesSaul Wold2016-09-201-0/+12
| | | | | | | | | | | | 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] (From OE-Core rev: 3b1423df3369e7239d1969b42e090278df8bbff2) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* build-appliance-image: Create image in correct locationJuro Bystricky2016-09-191-2/+1
| | | | | | | | | | | | | | | | 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] (From OE-Core rev: 5ac0604fdc7d5b783011c43d476210b427b5dae0) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: check if target contains taskEd Bartosh2016-09-161-1/+2
| | | | | | | | | | | | | | Task name was incorrectly added to the targets that already contained :task suffix and fired with BuildInit event. This caused Toaster to create incorrect Target objects and show them in UI. [YOCTO #10221] (Bitbake rev: b7faf1af3bd3110fba347fbe6e432fc4ee66590a) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cookerdata: allow multiple passes of config re-parsingMarkus Lehtonen2016-09-161-1/+8
| | | | | | | | | [YOCTO #10188] (Bitbake rev: 07a03a1290fd206df2b40ffc28381b5b3c10ba4a) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cookerdata: fire ConfigParsed event after re-parseMarkus Lehtonen2016-09-161-0/+1
| | | | | | | | | [YOCTO #10188] (Bitbake rev: ec1c951a4ee0c33acdde29e578f79ad719a34aca) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: add tool to scan for bashisms recipe shell scriptsRoss Burton2016-09-161-0/+116
| | | | | | | | | | | | | | | | | | | | 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 ] (From OE-Core rev: d77fe838ab7631a19e90ff4226f0712e54aa4e22) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity.bbclass: split out config re-parse checkMarkus Lehtonen2016-09-161-15/+12
| | | | | | | | | | | | | | | | | 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] (From OE-Core rev: 8fda70bb74f7c63d393d5424436d034d2cc6c05e) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pulseaudio: add ${S}/LICENSE to LIC_FILES_CHKSUMRoss Burton2016-09-161-1/+2
| | | | | | | | | | The LICENSE file describes how the various pieces are licensed, so add it to the checksum so we notice when it changes. (From OE-Core rev: 3309007b423654c1b021d85205f81e68cbd84475) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd_base.bbclass: Do not mess with the gshadow file in the sysrootPeter Kjellerstedt2016-09-161-12/+0
| | | | | | | | | | | | | | | | | | | | | | 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(). (From OE-Core rev: 4fcaa484a2e8046cf3277b5d14933cdaa94a4c3f) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* util-linux: Disable bfs supportPatrick Williams2016-09-161-1/+1
| | | | | | | | | | | | 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. (From OE-Core rev: 3226d89ff743c223181fda90f605c7579337941a) Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* util-linux: Disable minix support.Patrick Williams2016-09-161-5/+4
| | | | | | | | | | | | | | | 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. (From OE-Core rev: fc66762d7c112fb798c2444dd902ce03baf975c4) Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemuboot-x86: Add task_timeout = -1 to uvesafbSaul Wold2016-09-161-1/+1
| | | | | | | | | | This causes the default timeout to be set to infinity, it will still report out every 5000 milliseconds (From OE-Core rev: fd9e1ba8f70402bd3c4b873d349057f96f5bcb19) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake-native: rationalise system/internal library dependenciesRoss Burton2016-09-161-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ] (From OE-Core rev: f9366799aaf4ad2b98345743c7129fa94d092880) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake: use convenience options for clarityRoss Burton2016-09-161-7/+2
| | | | | | | | | | The intention here was "everything but jsoncpp is system provided" so use the convenience option to ensure this remains true in the future. (From OE-Core rev: f863b227e22b67ab239ee6124471fdc14de3f017) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: introduce buildstats-diffMarkus Lehtonen2016-09-161-0/+411
| | | | | | | | | | | | | | | 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. (From OE-Core rev: e707718374ce1c95769a5f99aa3bfdfc0be685b2) 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_manager.py: fix bitbake package-index failedHongxu Jia2016-09-161-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. (From OE-Core rev: 3c8c8501d0a19b566a94a9e06afe40642b444958) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* shadow: use relaxed usernamesShan Hai2016-09-162-0/+101
| | | | | | | | | | | | | | | | | 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._-]. (From OE-Core rev: 31c6c8150394de067085be5b0058037077860a8a) 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> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdkext/devtool: use a smaller module to test node.js functionalityPaul Eggleton2016-09-161-1/+1
| | | | | | | | | | | | | | | 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]. (From OE-Core rev: 638ee71da967f093071ba25e0ea5c467dab65339) 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>
* makedevs: don't restrict device node paths to 40 charactersAndre McCurdy2016-09-161-1/+1
| | | | | | | | | | | | | | | | | | 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 (From OE-Core rev: e8022d00c34e37300c1c06f712c7ced5e03d2a57) 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>
* qemurunner: print out the runqemu commandbavery2016-09-161-3/+5
| | | | | | | | | | | | | 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. (From OE-Core rev: 34aa20c6f323bbf7ad53beb643126e4e03634708) Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check.bbclass: Add classMariano Lopez2016-09-161-0/+267
| | | | | | | | | | | | | | | | | | | | | | 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 (From OE-Core rev: d98338075ec3a66acb8828e74711550d53b4d91b) 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>
* cve-check-tool: Add recipeMariano Lopez2016-09-162-0/+110
| | | | | | | | | | | | | | | | | 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] (From OE-Core rev: 5deadfe634638b99420342950bc544547f7121dc) 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>
* cmake: don't inherit autotoolsRoss Burton2016-09-162-9/+15
| | | | | | | | | | | 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. (From OE-Core rev: b8700e9fd30317d0ad583febb4e6f385284bdd51) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* openssl: Fix MIPS64be and add MIPS64leZubair Lutfullah Kakakhel2016-09-161-1/+4
| | | | | | | | | | | | | 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. (From OE-Core rev: 0afec72913bc31d315cba079da317e8b28755ded) Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/oetest: show stderr when running commandsRoss Burton2016-09-161-3/+2
| | | | | | | | | | To help debug failures, redirect stderr to stdout in oeSDKTest.run() and oeSDKExtTest.run(). (From OE-Core rev: 4cd143e0de7f0082f60f273f442f6255f28ec3e7) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity: make license QA failures fatal againRoss Burton2016-09-161-6/+8
| | | | | | | | | | | | | | | | 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 ] (From OE-Core rev: 5ba1a7505b904a4aa2118fa9614d76df97597af8) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* openjade/sgml-common: Add sstate postrm commandsRichard Purdie2016-09-162-19/+17
| | | | | | | | | | | | | | | | | | | | | 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] (From OE-Core rev: cdae3e76232110903d124195b036e4e70fb28aa4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add postrm command supportRichard Purdie2016-09-161-0/+11
| | | | | | | | | | | | | | 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] (From OE-Core rev: 2268efd0cd3ddb40870c4c424d10444ba86d2849) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>