summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
Commit message (Collapse)AuthorAgeFilesLines
* m4: 1.4.17 -> 1.4.18Robert Yang2017-02-154-9/+11
| | | | | | | | | | Rebased remove-gets.patch. (From OE-Core rev: d87a41d2dc611259989cb1252c34d0c6ef802971) 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>
* mklibs-native: 0.1.41 -> 0.1.43Robert Yang2017-02-151-3/+5
| | | | | | | | (From OE-Core rev: de4a795ea584673cb39f94e48f3430fb014628a8) 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>
* strace: fix gawk's pathRobert Yang2017-02-152-0/+50
| | | | | | | | | | | | | Fixed: strace-4.15: /usr/lib/strace/ptest/tests/caps-abbrev.awk contained in package strace-ptest requires /bin/gawk, but no providers found in RDEPENDS_strace-ptest? [file-rdeps] The path should be /usr/bin/gawk as other scripts use in this package. (From OE-Core rev: e71c205d7672d33ad00a5a5c6c41452746c77e2f) 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>
* strace: 4.14 -> 4.15Robert Yang2017-02-151-2/+2
| | | | | | | | (From OE-Core rev: e24a98f703472a3893e241601bc21a3bb0eb58e1) 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>
* git: 2.11.0 -> 2.11.1Robert Yang2017-02-152-11/+11
| | | | | | | | (From OE-Core rev: c0db9b1b3725cd07b3980314112a8d3873c38568) 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>
* e2fsprogs: 1.43.3 -> 1.43.4Robert Yang2017-02-152-10/+5
| | | | | | | | | | | * Rebased Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch. * The mkfs.ext4dev is gone. (From OE-Core rev: 54a012bff9430a8e973ddef61d14ac10d9ec9ed3) 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>
* elfutils: update homepage and upstream souceHongxu Jia2017-02-151-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In git://sourceware.org/git/elfutils.git: ---------------- commit 1700fd25e6caf26663af2bd994d1d99fab9df59f Author: Mark Wielaard <mark@klomp.org> Date: Sat Dec 24 22:31:41 2016 +0100 http://elfutils.org/ is now hosted at http://sourceware.org/elfutils/ fedorahosted used to be our home, but we are now hosted at sourceware. Change the elfutils project home to http://elfutils.org/ Point hosted services (email, release, git, bug tracker and web pages) to https://sourceware.org/elfutils/ Move design notes from README to NOTES. Add URLs for home, releases, bugs, git and mailinglist to README. Make the --version output of all tools the same by using a common print_version function and update the publicly shown copyright holder to the elfutils developers. Signed-off-by: Mark Wielaard <mark@klomp.org> ------------------ (From OE-Core rev: 8c25c6999c990d63dfeb35b411ae40554553f433) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* elfutils: 0.166 -> 0.168Hongxu Jia2017-02-1523-1981/+1237
| | | | | | | | | | | - Backport patches from debian to 0.168 and add US tags. - Rebase 0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch to support libc musl (From OE-Core rev: 13e5819dc4ef44d99d0f22686365fd3c988d6bce) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pax-utils: 1.1.6 -> 1.2.2Hongxu Jia2017-02-151-2/+4
| | | | | | | | | | | | | | | | | | | | Export GNULIB_OVERRIDES_WINT_T to fix compile failure --------- 1099 make[4]: *** [printf-args.o] Error 1 1100 make[4]: *** Waiting for unfinished jobs.... 1101 In file included from ../../../pax-utils-1.2.2/autotools/gnulib/printf-args.h:41:0, 1102 from ../../../pax-utils-1.2.2/autotools/gnulib/printf-parse.h:29, 1103 from ../../../pax-utils-1.2.2/autotools/gnulib/printf-parse.c:36: 1104 ./wchar.h:476:6: error: #if with no expression 1105 # if 1106 ^ 1107 make[4]: *** [printf-parse.o] Error 1 --------- (From OE-Core rev: 0f6f9fb0c898fe47e95803836f73a1850ad3bc6b) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: Don't use getentropy on LinuxAndreas Oberritter2017-02-152-0/+42
| | | | | | | | | | | | Backport a patch from 2.7 branch to fix a regression with glibc 2.24 causing "OSError: [Errno 38] Function not implemented" when calling urandom() with older kernels. (From OE-Core rev: 3f2be1c857a44030478ce25b4a722667b73de446) Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: update to 1.8.2Joshua Lock2017-02-159-392/+13
| | | | | | | | | | | Update to the newly minted 1.8.2, dropping several patches we'd backported since the last release. (From OE-Core rev: 6437f14c9177fd7ec7a9b6bca873362b0c94abfb) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* smartpm: if RPM transaction fails with an empty list of problems in attempt ↵Herve Jourdain2017-02-151-3/+11
| | | | | | | | | | | | | | | mode, ignore it! Since commit be0cabf816a84c59e0e951b92a570121ed843822 on 2016/05/17, smartpm will retry the transaction if ts.run() returns with an empty list of problems, and we're in attempt mode. But then, since all the packages are already installed, the transaction will fail with "package already installed" error. In attempt mode, it's fine to not retry nor generate an error when the transaction fails for no reason linked to files/packages conflicts, so this patch fixes this behaviour. (From OE-Core rev: 327f263be285525adcbbf472db6ac7722c84ac2f) Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check-tool: Use CA cert bundle in correct sysrootJussi Kukkonen2017-02-152-1/+218
| | | | | | | | | | | | | | Native libcurl looks for CA certs in the wrong place by default. * Add patch that allows overriding the default CA certificate location. Patch is originally from meta-security-isafw. * Use the new --cacert to set the correct CA bundle path (From OE-Core rev: 73bd11d5190a072064128cc13b4537154d07b129) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check-tool: Fixes for recipe sysrootsJussi Kukkonen2017-02-151-1/+2
| | | | | | | | | | | | | | * Use --enable-relative-plugins so cve-check-tool looks for loadable modules relative to binary location instead of hard-coding a wrong sysroot location * do_populate_cve_db() assumes that the binary cve-check-update is in the sysroot. Ensure that this is true by adding a task dependency (From OE-Core rev: 2da6b01893d0afe8750bd0b12a8d55aafa82f58c) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: Drop now unneeded update_data callsRichard Purdie2017-02-152-2/+0
| | | | | | | | | | Now that the datastore works dynamically we don't need the update_data calls so we can just remove them. They're not actually done anything at all for a while. (From OE-Core rev: 8de0c5d3bd01919e2bf0394f9c485936d6098cec) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-initial: Remove unneeded temporary sysrootRichard Purdie2017-02-091-12/+1
| | | | | | | | | | We used to need to build gcc-cross-initial against a bare sysroot to avoid contamination. With RSS, we no longer need to do this since the recipe sysroot is already bare. We can therefore simply point at that and drop this code. (From OE-Core rev: f70603887f823c14030bb738c4951d7aa3f022db) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-native: Remove tests to save copying uneeded files aroundRichard Purdie2017-02-091-0/+3
| | | | | | | | | Removing these nearly halves the python3-native disk footprint meaning more optimal sysroot operations. We don't need these tests for anything. (From OE-Core rev: 5c8dda390cacef69bc7996eb26099d55e2b8427b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dosfstools: upgrade to 4.1Dengke Du2017-02-071-2/+2
| | | | | | | | | upgrade dosfstools from 4.0 to 4.1 (From OE-Core rev: 38c9e4531bcac71b873dd3bc0b264954c9d90150) Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Add missing 'inherit pkgconfig'Jussi Kukkonen2017-02-071-1/+1
| | | | | | | | | The monster configure file does call pkg-config somewhere in there. (From OE-Core rev: 8f7eb210257318dfa630bbc39b3eb9be936fddcc) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* perl-native: Remove .packlist fileRichard Purdie2017-02-071-0/+4
| | | | | | | | | | This is large and needs fixups to relocate it in each case. We can drop it, save the work and the ~150MB disk space its various copies take up. Its not needed for anything that I can see. (From OE-Core rev: 9792ba51c5caf56d182f1290df41f2a89b85f744) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-6: Sync gcc stddef.h with musl stddef.hKhem Raj2017-02-053-92/+92
| | | | | | | | | | | | | | | GCC provides some of std* headers including stddef.h and it syncs with glibc definitions via __needed* defines to find which datatypes are expected to be defined on top of glibc. we need same for musl. Drop unused 0048-ARM-PR-target-71056-Don-t-use-vectorized-builtins-wh.patch (From OE-Core rev: 7da04721a620ad741ea50adf116e6b5afd47caa5) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gdb 7.12: fix armv8b buildKoen Kooi2017-02-052-0/+44
| | | | | | | | | | Backport fix from GDB upstream to fix big-endian aarch64 build. (From OE-Core rev: 0635a96d82f5f5dd65a2d45ddca7559dea847916) Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Upgrade to 2.8.0Aníbal Limón2017-02-058-224/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | Added patches: - target-ppc-fix-user-mode.patch Rebased patches: - exclude-some-arm-EABI-obsolete-syscalls.patc Removed patches (already in upstream): - 0003-fix-CVE-2016-7908.patch - 0004-fix-CVE-2016-7909.patch - 0001-target-mips-add-24KEc-CPU-definition.patch Changelog, http://wiki.qemu.org/ChangeLog/2.8 (From OE-Core rev: ab7eb1c896e4ba38b6c16acae3d25534296f62b8) 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>
* python-3-manifest: split out typingAnders Darander2017-02-051-3/+7
| | | | | | | | | | | This allows us to use typing.py without having to add the whole python3-misc package. (From OE-Core rev: 66c282541a13f2d1224d3ba933a953c0f613fb2a) Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-3-manifest: add ipaddress to python3-ioAnders Darander2017-02-051-1/+1
| | | | | | | | | | | This allows us to use ipaddress without requiring the add the whole python3-misc. (From OE-Core rev: d0e9013f6c68104369de940f5dd8a6ef76cd0210) Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-3-manifest: add _compat_pickle to python3-pickleAnders Darander2017-02-051-1/+1
| | | | | | | | | | | This allows us to depend on _compat_pickle.* wihtout having to add the whole python3-misc. (From OE-Core rev: 6c435672b27d1c97ce3776c98d073a92fde887cd) Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-3-manifest: add socketserver to netserverAnders Darander2017-02-051-1/+1
| | | | | | | | | | socketserver.* should be part of python3-netserver. (From OE-Core rev: 8aa71c7133f996f6ed09a3c094e553bed7f33c7a) Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-3-manifest: add argparse to RDEPENDS for netclientAnders Darander2017-02-051-1/+1
| | | | | | | | | | http/server.py requires argparse. (From OE-Core rev: 04d3e78b31c247ee521a2d4c15286a8c030637cb) Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-manifest: move htlm.py to python3-htmlAnders Darander2017-02-051-1/+1
| | | | | | | | | | This allows us to use html.py without importing misc. (From OE-Core rev: d1fefcaa10b85837d18458e291a3df9093b3a6ea) Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pkgconfig: fix typo introduced during recent conversion to PACKAGECONFIGAndre McCurdy2017-02-021-1/+2
| | | | | | | (From OE-Core rev: 424768191b4a55823d4a212d1fc38edda966f57c) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pkgconfig: use packageconfigRoss Burton2017-02-021-7/+4
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pkg-config: depend on pkgconfig-native for target buildsRoss Burton2017-02-021-1/+1
| | | | | | | | | | | When building for the target, pkg-config uses the target glib-2.0 instead of it's own minimal fork. To find this it needs to use pkg-config so ensure this dependency exists in case it doesn't exist on the host already. (From OE-Core rev: 2e55ecb93ecbbd8bfe626c07d3a032c2fe98efca) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* xmlto: Don't hardcode the path to tailRichard Purdie2017-01-311-1/+1
| | | | | | | | | We don't need to hardcode a path to tail, follow the other tools examples and don't specify a path since PATH is good enough for us. (From OE-Core rev: 1a1e70304932cce5ad194e0a7ebb495da7b24c2e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* binutils-cross: Remove exec_prefix from the linker search pathRichard Purdie2017-01-312-0/+52
| | | | | | | | | | | | | We don't put target libs into a native/cross ${exec_prefix} but having this in the default search path means all linker scripts have to be relocated. This is a considerable chunk of files to create multiple copies of for no good reason. Instead, patch out the paths we don't need. (From OE-Core rev: 20816eb5398512652c971a37589a2ca28ffd3d68) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: inherit pkgconfigMarkus Lehtonen2017-01-311-1/+1
| | | | | | | | | | | Rpm needs pkg-config in order to build successfully. Recipe specific sysroots revealed this missing dependency when trying to build on a host without pkg-config. (From OE-Core rev: 6ad1deb0d728b8d34589b1a42acc8fa268e95f28) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: add missing pkgconfig inheritRoss Burton2017-01-311-1/+1
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ccache: update to 3.3.3Yannick Gicquel2017-01-313-14/+13
| | | | | | | | | | | | | | | | | Release note available at this location: https://ccache.samba.org/releasenotes.html#_ccache_3_3_3 Moving to tarball source as git.samba.org is not used anymore. License checksum change is due to an update in URL, now refering to "https" protocol instead of "http", line 32: 'https://ccache.samba.org/authors.html' (From OE-Core rev: d6b064fc19ba66b503fd7ad1fe56338f81499dc8) Signed-off-by: Yannick Gicquel <yannick.gicquel@iot.bzh> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gptfdisk: fix support for 'large' drivesAndreas Oberritter2017-01-311-1/+1
| | | | | | | | | | | Make's switch '-e' replaced important compiler flags from the project's Makefile, i.e. -D_FILE_OFFSET_BITS=64. (From OE-Core rev: 93996a327d4c8652a16292824a06a163b13dc228) Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross: Ensure do_gcc_stash_builddir happens before do_buildRichard Purdie2017-01-281-1/+1
| | | | | | | | | If we don't do this, things break with rm_work which removes things before the task completes causing task failures. (From OE-Core rev: bfea0e6a5aee9ce15bf20bcb2781329e6281284c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* expect: support native compilationPatrick Ohly2017-01-261-1/+8
| | | | | | | | | | | | | This is needed for building the swtpm TPM simulator (recipe in meta-security). "nativesdk" is added just in case that someone also wants this in an SDK. (From OE-Core rev: 4b43aab5b2043a5b83ef1fa9a8406f8a46ccfa72) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rsync: update SRC_URIRoss Burton2017-01-261-1/+1
| | | | | | | | | | rsync.samba.org has disappeared from the Internet and isn't responding anymore, so point the SRC_URI at the canonical samba.org download server instead. (From OE-Core rev: 792368afdf61e7670bc5002e99880449098d50fb) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* unfs3: Switch to using mirror tarball instead of subversionRichard Purdie2017-01-261-3/+6
| | | | | | | | | This really is the last subversion url in OE-Core so replacing it with a mirror tarball will save us from the subversion-native build chain. (From OE-Core rev: 187f7c18582e76beca76c523cad6be2d5fff5786) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Clean up unnecessary variable confusionRichard Purdie2017-01-264-46/+30
| | | | | | | | | | | | | | SDKPKGSUFFIX could only really be "nativesdk" and TARGET_SYS never contains that so the code manipulating TARGET_SYS is pointless. I suspect this once worked against MULTIMACH_TARGET_SYS which would be a different question but it no longer does. Its been cut and pasted everywhere. This patch cleans up the variable references to make things a little more readable. (From OE-Core rev: 5599cb72d17bce2ba6e2be16ef64d9a388bcfb25) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc/gcc-source: Move libcc1 manipulation into gcc-sourceRichard Purdie2017-01-263-12/+5
| | | | | | | | | | | | | | Currently there is a race where if you build -cross-canadian without building gcc (target) you see QA errors about RPATHS. I've tracked this down to this manipulation where the target gcc recipe changes libcc1 in the shared sources directory. As long as you build things in the right order, the problem doesn't occur. Since its changing ${S} move it to gcc-source and avoid the race, saving RP some head scratching about why unrelated changes failed to build cleanly. (From OE-Core rev: 626064c69b6fd1b5cead6995097f99e5fbda3f19) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Split builddir saving into its own sstate taskRichard Purdie2017-01-269-32/+41
| | | | | | | | | | | | | | | | | | When we stashed the gcc build directory for use in generating the various runtimes we were being lazy and just used the staging directory. With recipe specific sysroots this means we're copying a large chunk of data around with the cross compiler which we don't really need in most cases. Separate out the data into its own task and inject this into the configure step. We have to do that here since autotools will wipe out ${B} if it thinks we're rebuilding and we therefore have to time its recreation after that. This also takes the opportunity to remove some pointless (as far as I can tell) conditionals from the do_install code. (From OE-Core rev: dcf15ccf3cc9d55e77228ba8d526f967fc9791b4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Upgrade to 2.7.1Aníbal Limón2017-01-235-181/+4
| | | | | | | | | | | | | | | | Minor upgrade contains fixes from 2.7.0. Removed patches (already in upstream): - 0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch - 0001-virtio-zero-vq-inuse-in-virtio_reset.patch - 0002-fix-CVE-2016-7423.patch (From OE-Core rev: 0f29bd2c267efcb0087d73c38202ba233af636fd) 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>
* build-compare: derive PV from SRCPVJoe Slater2017-01-231-0/+1
| | | | | | | | | | Currently, PV is "git" and contains no version information. (From OE-Core rev: e1fe3f8a601ba289a2e9963ef3f1309e431704eb) Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Add upstream random.c fixes for recent glibcRichard Purdie2017-01-232-0/+722
| | | | | | | | | | | | | | | python3 fails to work with recent glibc versions on older hosts, giving errors like: Fatal Python error: getentropy() failed Aborted This breaks buildtools-tarball and hence eSDK. This patch backports the changes to random.c from upstream that address the problem. (From OE-Core rev: 126b2c47b1806b53fbd9a4706bc48bc7c4efd3be) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Switch to Recipe Specific SysrootsRichard Purdie2017-01-237-35/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is comparatively large and invasive. It does only do one thing, switching the system to build using recipe specific sysroots and where changes could be isolated from it, that has been done. With the current single sysroot approach, its possible for software to find things which aren't in their dependencies. This leads to a determinism problem and is a growing issue in several of the market segments where OE makes sense. The way to solve this problem for OE is to have seperate sysroots for each recipe and these will only contain the dependencies for that recipe. Its worth noting that this is not task specific sysroots and that OE's dependencies do vary enormously by task. This did result in some implementation challenges. There is nothing stopping the implementation of task specific sysroots at some later point based on this work but that as deemed a bridge too far right now. Implementation details: * Rather than installing the sysroot artefacts into a combined sysroots, they are now placed in TMPDIR/sysroot-components/PACKAGE_ARCH/PN. * WORKDIR/recipe-sysroot and WORKDIR/recipe-sysroot-native are built by hardlinking in files from the sysroot-component trees. These new directories are known as RECIPE_SYSROOT and RECIPE_SYSROOT_NATIVE. * This construction is primarily done by a new do_prepare_recipe_sysroot task which runs before do_configure and consists of a call to the extend_recipe_sysroot function. * Other tasks need things in the sysroot before/after this, e.g. do_patch needs quilt-native and do_package_write_deb needs dpkg-native. The code therefore inspects the dependencies for each task and adds extend_recipe_sysroot as a prefunc if it has populate_sysroot dependencies. * We have to do a search/replace 'fixme' operation on the files installed into the sysroot to change hardcoded paths into the correct ones. We create a fixmepath file in the component directory which lists the files which need this operation. * Some files have "postinstall" commands which need to run against them, e.g. gdk-pixbuf each time a new loader is added. These are handled by adding files in bindir with the name prefixed by "postinst-" and are run in each sysroot as its created if they're present. This did mean most sstate postinstalls have to be rewritten but there shouldn't be many of them. * Since a recipe can have multiple tasks and these tasks can run against each other at the same time we have to have a lock when we perform write operations against the sysroot. We also have to maintain manifests of what we install against a task checksum of the dependency. If the checksum changes, we remove its files and then add the new ones. * The autotools logic for filtering the view of m4 files is no longer needed (and was the model for the way extend_recipe_sysroot works). * For autotools, we used to build a combined m4 macros directory which had both the native and target m4 files. We can no longer do this so we use the target sysroot as the default and add the native sysroot as an extra backup include path. If we don't do this, we'd have to build target pkg-config before we could built anything using pkg-config for example (ditto gettext). Such dependencies would be painful so we haven't required that. * PKDDATA_DIR was moved out the sysroot and works as before using sstate to build a hybrid copy for each machine. The paths therefore changed, the behaviour did not. * The ccache class had to be reworked to function with rss. * The TCBOOTSTRAP sysroot for compiler bootstrap is no longer needed but the -initial data does have to be filtered out from the main recipe sysroots. Putting "-initial" in a normal recipe name therefore remains a bad idea. * The logic in insane needed tweaks to deal with the new path layout, as did the debug source file extraction code in package.bbclass. * The logic in sstate.bbclass had to be rewritten since it previously only performed search and replace on extracted sstate and we now need this to happen even if the compiled path was "correct". This in theory could cause a mild performance issue but since the sysroot data was the main data that needed this and we'd have to do it there regardless with rss, I've opted just to change the way the class for everything. The built output used to build the sstate output is now retained and installed rather than deleted. * The search and replace logic used in sstate objects also seemed weak/incorrect and didn't hold up against testing. This has been rewritten too. There are some assumptions made about paths, we save the 'proper' search and replace operations to fixmepath.cmd but then ignore this. What is here works but is a little hardcoded and an area for future improvement. * In order to work with eSDK we need a way to build something that looks like the old style sysroot. "bitbake build-sysroots" will construct such a sysroot based on everything in the components directory that matches the current MACHINE. It will allow transition of external tools and can built target or native variants or both. It also supports a clean task. I'd suggest not relying on this for anything other than transitional purposes though. To see XXX in that sysroot, you'd have to have built that in a previous bitbake invocation. * pseudo is run out of its components directory. This is fine as its statically linked. * The hacks for wayland to see allarch dependencies in the multilib case are no longer needed and can be dropped. * wic needed more extensive changes to work with rss and the fixes are in a separate commit series * Various oe-selftest tweaks were needed since tests did assume the location to binaries and the combined sysroot in several cases. * Most missing dependencies this work found have been sent out as separate patches as they were found but a few tweaks are still included here. * A late addition is that extend_recipe_sysroot became multilib aware and able to populate multilib sysroots. I had hoped not to have to add that complexity but the meta-environment recipe forced my hand. That implementation can probably be neater but this is on the list of things to cleanup later at this point. In summary, the impact people will likely see after this change: * Recipes may fail with missing dependencies, particularly native tools like gettext-native, glib-2.0-native and libxml2.0-native. Some hosts have these installed and will mask these errors * Any recipe/class using SSTATEPOSTINSTFUNCS will need that code rewriting into a postinst * There was a separate patch series dealing with roots postinst native dependency issues. Any postinst which expects native tools at rootfs time will need to mark that dependency with PACKAGE_WRITE_DEPS. There could well be other issues. This has been tested repeatedly against our autobuilders and oe-selftest and issues found have been fixed. We believe at least OE-Core is in good shape but that doesn't mean we've found all the issues. Also, the logging is a bit chatty at the moment. It does help if something goes wrong and goes to the task logfiles, not the console so I've intentionally left this like that for now. We can turn it down easily enough in due course. (From OE-Core rev: 809746f56df4b91af014bf6a3f28997d6698ac78) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* intltool: Allow nativesdk variant to buildRichard Purdie2017-01-201-1/+2
| | | | | | | | | This tool has been missing from the SDKs, the recipe specific sysroot work highlighted the issues. (From OE-Core rev: e4346299da911dd7c43c2e221b941e5cda502d1e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>