aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-06-14wic: add wic_init_parser_cpEd Bartosh
Add parser for 'wic cp' subcommand and a custom argument type. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14selftest: add new test case test_wic_lsEd Bartosh
Tested 'wic ls' functionality: - list of image partitions - list of directory content of vfat partition Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14engine: implement listing wic imagesEd Bartosh
Implemented 'wic ls' functionality: - list image partitions - list directory content of vfat partitions [YOCTO #11283] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14wic: add 'wic ls' commandEd Bartosh
Added empty 'wic ls' command that does nothing. The functionality will be added by the next commits. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14wic: add help and usage content for 'wic ls'Ed Bartosh
Added wic_ls_help and wic_ls_usage variables to help.py. These variables contain help content that will be used in 'wic ls help' and 'wic ls --help' output. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14wic: add wic_init_parser_lsEd Bartosh
Added parser for 'wic ls' command. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14bootimg-pcbios: make boot image file uniqueEd Bartosh
Plugin code uses boot.img file name for an image file. If there are two partitions that use bootimg-pcbios wic breaks with an error "file already exists: boot.img" Made image file name unique by adding wks like number to it to fix the issue. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14filemap: add parameter 'length' to sparse_copyEd Bartosh
Added parameter 'length' to specify amount of data to write into destination file. This is useful when only part of source file should be written into destination file. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14filemap: fix skip logicEd Bartosh
Fixed bug in processing 'skip' parameter: don't read input file if end of bmap block is less than skip Simplified logic of positioning to the start of data inside a partially skipped bmap block. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14mtools-native: disable reading host configsEd Bartosh
Removed code that reads /etc/mtools.conf, /etc/default/mtools.conf, /etc/mtools and /etc/default/mtools to ensure that mtools output doesn't depend on the global host configs. It's still possible to use ~/.mtoolsrc config or point MTOOLSRC environment variable to any configuration file if user want to configure mtools. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14bitbake.conf: Don't exclude MACHINE/MACHINEOVERRIDES from hashesRichard Purdie
A long time ago (6 years), this seemed like a good idea. The reality is that OVERRIDES should not be being added to hashes and if it is, it likely needs excluding in its own right. This was a nice workaround but we need to fix the real underlying issues now. In some cases this means excluding OVERRIDES from the variables dependency using the vardepsexclude flag however caution is needed to ensure this is safe. Variable values used to construct hashes are unexpanded but the values used are computed after the application of OVERRIDES. The important detail is if the end resulting unexpanded value changes, not the value of the OVERRIDES used in the construction of that unexpanded value. This is why dependencies on OVERRIDES itself shouldn't be in the hashes in general. The recent DISTRO_FEATURES changes adding in override mappings for them highlighted this issue. We have some good sstate tests which are effective at highlighting where potential issues arrive with OVERRIDES contamination (oe-selftest -r sstatetests.SStateTests). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14sstatetests: Use higher parallelism valueRichard Purdie
Since the processing code for signature generation is now threaded, use higher thread values as examples in this code for better performance. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14utils: Exclude OVERRIDES from hashes in multilib functionsRichard Purdie
2017-06-14insane: Don't depend on OVERRIDESRichard Purdie
In common with the other package handling functions, don't depend on the value of OVERRIDES. This means when we change MACHINE, we don't have to repackage everything. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-14allarch: Append to vardepsexclude, not overwriteRichard Purdie
These have values set elsewhere and this code was overwriting them leading to odd signature issues. Append instead preserving the original values. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-13oeqa/core/loader: Use full and small module name on filteringAníbal Limón
The small module name was added to support run a whole suite that has more that 3 levels in the test case name, but this broke the behaviour for use a full test case name. [YOCTO #11632] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-13oeqa/core/runner: Don't log details twice if test failsAníbal Limón
The details of a test failure is upper on the unittest output so don't log twice the actual failure. [YOCTO #11622] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-13iproute2: Upgrade 4.10.0 -> 4.11.0Changhyeok Bae
0001-ip-Remove-unneed-header.patch is to fix build error built with musl. Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-13rpm: add explicit dependency on bzip2-replacement-native for native buildsMing Liu
This fixes a following error: | recipe-sysroot-native/usr/lib/rpm/debugedit: error while loading shared libraries: \ | libbz2.so.1: cannot open shared object file: No such file or directory Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-13kexec-tools: Pass -no-pie to linkerKhem Raj
- This matches the linker flags to compiler flags in purgatory - Compile arm64 without PIC Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-13valgrind: Fix ptest build with muslKhem Raj
musl unearthed a problem when building out of tree, config.h was being used from $(srcdir) instead of generated config.h in $(builddir) this assumed functions e.g. mallinfo() and more which are not in musl as a result tests broke. Also add fixes to build remaining tests when building on musl pass -fno-pie as it cant use PIE especially in ptests/x86_64 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-13libnsl2: Include stdint.hKhem Raj
uintptr_t is defined in stdint.h Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-13ltp: Include stdint.h for uintptr_tKhem Raj
Fixes build with musl and upcoming glibc Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-13binutils-2.28: Update to latest on release branchKhem Raj
Drop patches to ChangeLog, they are in patch header anyway Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-13mpg123: Upgrade to 1.25.0Khem Raj
No need to skip textrel QA for x86 as it has been fixed in 1.25.0 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-13rpm: run binary package generation via thread poolsAlexander Kanavin
This greatly reduces build times when there is a large amount of small rpm packages to produce. The patches are rather invasive, and so will be submitted upstream. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12Revert "package.bbclass: Restore functionality to detect RPM dependencies"Richard Purdie
This reverts commit aea90e9ee6f34e7c1c08307080b1e29646668df6. RP hadn't meant to merge this yet and its causing problems so delay it until its ready.
2017-06-12package.bbclass: Restore functionality to detect RPM dependenciesPeter Kjellerstedt
During the transition to dnf and rpm4, the functionality to automatically make RPM determine dependencies was lost. Before the transition, an OE specific tool called rpmdeps-oecore had been added to the rpm suit. It was based on the rpmdeps tool that is part of rpm. For each file specified on its command line, it would output the provides and requires that RPM could determine. During the transition to rpm4, rpmdeps-oecore was replaced with the standard rpmdeps. However, what no one noticed was that unless rpmdeps is given options, e.g., -P or -R, to tell it what it should output, it will not output anything. Thus, it would do all the work to determine the requirements, but would keep silent about it. And since no output from rpmdeps is expected unless there are requirements, there were no warnings indicating that everything was not working as expected. Porting the old rpmdeps-oecore to work with rpm4 is not really possible since it relied on being able to access internals of RPM that are no longer available. However, it turned out that rpmdeps had a debug option, --rpmfcdebug, that would output exactly the information that we need, albeit in a different format and to stderr. To make this usable, rpmdeps has now received a new option, --alldeps, which sends the information we need to stdout. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12rpm: Add a new option --alldeps to rpmdepsPeter Kjellerstedt
This will send the output from rpmfcPrint() to stdout. This is an alternative to using the --rpmfcdebug option, which will send the same output to stderr. The two options have totally different use cases though. While --alldeps is used when the output from rpmfcPrint() is what is wanted, --rpmfcdebug can be used together with the other output options, e.g., --requires, without affecting their output. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12oeqa/sdk/cases: Fix skip of buildgcalculator testAníbal Limón
The tc.hasTargetPackage uses a re.search to see if gtk+3 is on the manifest but + in regex means 1 or more causing the test to be skipped. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12oeqa/sdk/cases: Added validation for SDK compatibility tests with eSDKFrancisco Pedraza
The manifests for eSDK are generated using shared states so there is a need to validate to different "packages names" into the test cases. For example for perl: SDK provides nativesdk-perl eSDK provides perl-native [YOCTO #9090] Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12meta/classes/populate_sdk: Adds support for generating eSDK manifest filesFrancisco Pedraza
Add get_extra_sdk_info to reuse code in buildhistory The functionalities to generate SDK and eSDK manifest files are different, the SDK comes from package information and the eSDK comes from sstate artifacts. Only execute write_sdk_{host, target}_manifest when is on populate_sdk class. Adds new functions write_sdk{host, target}_ext_manifest to execute on postprocess in populate_sdk_ext because at the end we have all the sstate artifacts to generate the manifest. [YOCTO #9038] Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12lib/oe/sdk: Adds get_extra_sdk_info to reuse code in buildhistoryFrancisco Pedraza
This function is going to be used for generating the target and host manifest files packages for eSDK. Added some fixes for buildhistory.bblclass, and docstring for get_extra_sdkinfo at oe.sdk [YOCTO #9038] Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12rpm: Use conditional to access %{_docdir} in macros.inPeter Kjellerstedt
This avoids the following warning: warning: Ignoring invalid regex %{_docdir} when runing `rpmdeps -R <file>`, since %{_docdir} is only defined when parsing a spec file. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12rpm: Do not require that ELF binaries are executable to be identifiablePeter Kjellerstedt
There is nothing that requires, e.g., a DSO to be executable, but it is still an ELF binary and should be identified as such. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12rpm: Create a wrapper for the native rpmdeps toolPeter Kjellerstedt
Rather than trying to call rpmdeps with the correct arguments to work with the sysroot as was done in package.bbclass, create a wrapper for it like all the other native tools already had. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12rpm: Simplify the creation of wrappers for the native toolsPeter Kjellerstedt
Use a loop rather than calling create_wrapper for each individual tool. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12toaster.bbclass: Ignore some dependencies in toaster_buildhistory_dump()Peter Kjellerstedt
When using RPM, depends.dot may contain dependencies such as "/bin/sh", which will confuse _toaster_load_pkgdatafile(). Ignore them. While at it, also ignore dependencies that contain parentheses, e.g., "libc.so.6(GLIBC_2.7)". Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12toaster.bbclass: Simplify parsing of depends.dotPeter Kjellerstedt
By using a single regular expression, the parsing of the depends.dot file can be simplified a lot. This should also make it less susceptible to formatting changes in that file. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12buildhistory.bbclass: Improve the generated depends.dot filePeter Kjellerstedt
* Convert incorrectly formatted dependencies such as: "bar -> "foo" ">=" "1.2.3" into dependencies with edge labels: "bar -> "foo" [label=">= 1.2.3"] * Remove rpmlib() and config() dependencies such as: "foo" -> "rpmlib(CompressedFileNames)" [label="<= 3.0.4-1"] and: "base-files" -> "config(base-files)" [label="= 3.0.14-r89.49"] * Remove the trailing semicolon that was added to each line. It fills no purpose. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12insane.bbclass: Improve the handling of runtime file dependenciesPeter Kjellerstedt
This makes the file-rdeps test support: * versioned dependencies, e.g., "perl (>= 5.000)", and * package dependencies among the file dependencies, e.g., "perl". It also ignores all "perl(...)" dependencies since it is expected that these are generated and handled by rpm itself and there is no reason to second guess what it is doing. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12insane.bbclass: Report all file-rdeps errors, not just the firstPeter Kjellerstedt
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12libxml2: Make ptest run the Python tests if Python support is enabledPeter Kjellerstedt
Since we go through the trouble of copying the Python tests, we may as well actually run them... This also avoids the following QA issue: ERROR: libxml2-2.9.4-r0 do_package_qa: QA Issue: /usr/lib/libxml2/ptest/python/tests/push.py contained in package libxml2-ptest requires /usr/bin/python, but no providers found in RDEPENDS_libxml2-ptest? [file-rdeps] Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12package_manager.py: Generate correct RPM package names againPeter Kjellerstedt
During the transition to RPM4, the package names returned by RpmPM.list_installed() changed from the expected names of the packages that were installed into the image to some fictitious source RPM names. This restores the original functionality so that the installed-packages.txt files produced by inheriting buildhistory yet again contains a list of the names of the installed packages. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12buildhistory: force writing SRCREV valuesEd Bartosh
Enabling SSTATE_MIRRORS sometimes causes SRCREV values not to be written/updated in the build history. This happens more often if SRCREV is set to ${AUTOREV} Explicitly writing SRCREVs when recipe history is being written should fix this. [YOCTO #10948] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12native/nativesdk: Ensure DISTRO_FEATURES is determisticRichard Purdie
set() order is random and hence the filtered native/nativesdk DISTRO_FEATURES could be set to random ordering. We've been lucky so far this tended not to cause issues but some queued changes highedlighted this. Thrown in a sorted() so the order is deterministic and we get consistent hash checksums between runs and between machines. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12mesa.inc: enable texture float for galliumTrevor Woerner
Following the lead from Fedora (as suggested by Rob Clark) always enable --enable-texture-float for all gallium drivers, but then modify the code to not enable it, at runtime, where the implementation isn't backed by hardware. The patch comes from unpacking fedora-25's mesa-17.0.5-3.fc25.src.rpm from https://dl.fedoraproject.org/pub/fedora/linux/updates/25/SRPMS/m/ Somewhere along the path from OpenGL ES 2.0 to OpenGL ES 3.0 are some algorithms that are encumbered by patents. These algorithms are enabled with mesa's --enable-texture-float configure flag. However, if hardware acceleration is being used and the hardware supports --enable-texture-float, it means the hardware vendor has paid for the patents. Note that with this solution, non-hardware gallium drivers (e.g. swrast) can't --enable-texture-float, which might cause issues with some piglit tests. This solution was discussed and agreed-to on the mailing list: http://lists.openembedded.org/pipermail/openembedded-core/2017-May/137233.html Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12utils.py: helper function for optional include filesPatrick Ohly
The main intention is to provide easy-to-use and read helper functions for including files only when certain distro features are set. Functionally they are the same as bb.utils.contains and bb.utils.contains_any. Distro features are part of the base configuration and thus safe to use for conditional inclusion in recipes and bbappends, in contrast to recipe variables which might still change during parsing. Therefore the check is limited to DISTRO_FEATURES. This is the reason for having this in OE-core instead of bitbake. Default values are set so that no redundant parameters have to be passed for conditional includes. As a secondary usage, the functions can also be used in boolean checks. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12bitbake.conf: DISTRO_FEATURES as overridesPatrick Ohly
As discussed in "[Openembedded-architecture] Yocto Compatible 2.0 + signature changes", changes in .bbappend must depend on some explicit configuration change, typically selecting a distro feature. For _append and _remove, adding an override that is set only when the corresponding entry is in DISTRO_FEATURES achieves that: In local.conf: DISTRO_FEATURES_append = " my-distro-feature" In layer.conf: DISTRO_FEATURES_OVERRIDES += "my-distro-feature" In a .bbappend: do_install_append_df-my-distro-feature () { ... } The subset of DISTRO_FEATURES that are made available as overrides must be configured explicitly because using them this way should be a conscious decision. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-12runqemu-export-rootfs: don't change RPC portsCody P Schafer
RPC ports (also known as rpc program numbers) are values: - given to rpcbind (aka portmapper) to allow nfsv3 clients that don't know the tcp/udp port number of nfsd and mountd to look it up the tcp/udp port number, and to - allow a single transport (ie: tcp/udp port) to provide multiple sunrpc services. OE has carried patches to nfsutils & linux for some time to support the mountprog & nfsprog options. In the case of runqemu-export-rootfs, we don't need to use custom rpc program numbers because runqemu-export-rootfs tells unfsd not to register with the portmapper, and unfsd runs the nfs and mount rpc services on tcp/udp ports unfsd binds itself (iow: the tcp/udp ports are not shared in the sunrpc sense). Linux's nfs client does not query rpcbind when tcp/udp port numbers are specified (in net/sunrpc/clnt.c, call_bind checks for the tcp/udp port with xprt_bound() and skips the call to rpcbind if xprtsock.c's xs_setup_udp() or xs_setup_tcp() has found a non-zero tcp/udp port). The program numbers _are_ sent over the mount & nfs protocol (really, over sunrpc), and checked to match at both ends. As a result, even when rpcbind is unused, using different program numbers in unfsd vs linux nfs client causes mounts to fail (and nfsroot mounts to timeout). The result is that specifying custom program numbers in runqemu-export-rootfs doesn't solve any conflicts, it simply requires that users of runqemu-export-rootfs carry a kernel patch & adds 2 extra parameters to the kernel command line unnecessarily. Change runqemu-export-rootfs to use the default program numbers. For now, I have not dropped the custom program number patches to linux, nfs-utils, and unfsd just in case someone is using them in a non-runqemu-export-rootfs context. CC: Bruce Ashfield <bruce.ashfield@gmail.com> CC: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Cody P Schafer <dev@codyps.com> Signed-off-by: Ross Burton <ross.burton@intel.com>