summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* openssl: consolidate target name mapping rulesAndre McCurdy2018-08-202-38/+8
| | | | | | | | | | | | Merge duplicates + minor reformatting (no functional changes). Note that the openssl 1.1 recipe still needs to be updated to handle MIPS Release 6 ISA targets (e.g. linux-mipsisa32r6, etc). (From OE-Core rev: bdc9e773c240716c2e2a60ca5d4313cfaa6188b1) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-git: update to version 2.1.11Derek Straka2018-08-202-2/+2
| | | | | | | | | Update to the latest stable release (From OE-Core rev: d916de84060f41e3a2e98a695b48d0ea52e9bfd9) Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-gitdb: update to version 2.0.4Derek Straka2018-08-202-2/+2
| | | | | | | | | Update to the latest stable release (From OE-Core rev: 7f5225b97498a6ac5ee501682a77a5aed0aa044c) Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-pip: update to version 18.0Derek Straka2018-08-201-3/+3
| | | | | | | | | | | License-Update: Update checksum for copyright year changes Update to the latest stable version (From OE-Core rev: 30d0e8e895813bc422d60bd00076a7f16035feeb) Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gnutls: Update to 3.6.3Armin Kuster2018-08-202-2/+5
| | | | | | | | | | | | | | | [v2] Fix new config options form with to disable. [v1] release notes: https://lists.gnupg.org/pipermail/gnutls-devel/2018-July/008584.html add ssl3 and tls1.3 config options now supported. (From OE-Core rev: d39bf67b8c6d80562d35fc8d8f72d26f77cc451e) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libidn2: Fix libunistring detectionKhem Raj2018-08-201-0/+4
| | | | | | | | | | | | | | | | | | | libunistring is one such library which many autotooled packages mistake to use from build system if its installed on it. This is specifically toxic when build host arch is same as target arch since we only see the problem during runtime but thankfully OE has build time QA which warns about it. QA Issue: libidn2: The compile log indicates that host include and/or library paths were used. Using --with-libunistring-prefix nudges the autoconf system for the component to first look into target sysroot before going on to search on the build host (From OE-Core rev: 9a4ea4ff856e2379888ea5cdcc0e761956e1f53b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* binutils: Update past 2.31.1 releaseKhem Raj2018-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | list of changes in this rev bump * a69de9c7cf ld-x86-64/pr23486b.d: Swap pr23486a.s and pr23486a.s * 28a27bdbb9 x86: Properly add X86_ISA_1_NEEDED property * d692290444 x86: Replace evex-no-scale.s with evex-no-scale-[32|64].s * d55c3e3609 x86: Properly merge GNU_PROPERTY_X86_ISA_1_USED * 381c1eb6ec x86: Update assembler tests for non-ELF targets * 9b075c7167 x32: Align the .note.gnu.property section to 4 bytes * 4aa5eb02fd __tls_get_addr_opt stubs and tocsave optimization * 95fbde6791 Re: PowerPC64 __tls_get_addr_opt stub .eh_frame fix * 079a6882b5 PowerPC64 __tls_get_addr_opt stub .eh_frame fix * 1d8f56a971 Updated Bulgarian translation for the ld/ directory * b7991db94c Add --warn-drop-version option; by default, do not warn when discarding version info. * dbf924a63a Fix type checking errors. * 60b3b24ca1 Fix spurious check-ld failures on aarch64-elf * feaed90494 [PATCH, LD, AArch64] Fix ifunc testisms * 2069ccaf8d x86: don't mistakenly scale non-8-bit displacements * 254ade2586 Fix unwind offset for call_info->start_symbol. * 29153520a8 S/390: Set the htm flag on PPA * 6737a6b34f x86: Add a GNU_PROPERTY_X86_ISA_1_USED note if needed * 01683b308a x86: Split vcvtps2{,u}qq and vcvttps2{,u}qq * be8a252e18 Set the development flag back to true. * 0860693812 (tag: binutils-2_31_1) Regenerate files and add changelog entries for 2.31.1 release * 4afd6a72e3 Fix typo in src-release.sh script. Update French translation for gold and Spanish translation for ld. (From OE-Core rev: 6902d807d3ce13ea7abffebf349d66100ac023db) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mesa: Define YOCTO_ALTERNATE_MULTILIB_NAME to consider multilib namesKhem Raj2018-08-201-0/+1
| | | | | | | (From OE-Core rev: c5a27bd4d450911afa38846bc00ef762e4414eda) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Use YOCTO_ALTERNATE_MULTILIB_NAME environment variable in llvm-configKhem Raj2018-08-201-7/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | llvm-config is a tool on similar veins as pkg-config but provides a lot more information and packages which use llvm e.g. mesa use this tool to poke for llvm related informaiton e.g. version, libpath, includepaths to name a few, this has few challanges in cross build environments where llvm-config is supposed to be build for buildhost but provide information about target llvm which is addressed by building native llvm-config along with target llvm build, but this is frowned upon by OE build system since it detects that host paths are being used so we have to build it as part of llvm-native but then it means install paths for llvm and llvm-native are different and wrong paths get reported when llvm-config is used. This is solved by providing YOCTO_ALTERNATE_EXE_PATH variable to let llvm-config use that path instead of self-relative path to report back Second problem is when building multi-lib packages base_libdir is different for target packages but native llvm-config does not know about it so it reports non-multilibbed paths as libdir and packages can not find llvm in sysroot. This is fixed by adding another environment variable YOCTO_ALTERNATE_MULTILIB_NAME which can be set from recipes to set proper multilib path (From OE-Core rev: 865eb1c1400e60d09c8f413504123fdfc116a71b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dos2unix.bbclass: Move to oe-coreKhem Raj2018-08-201-0/+14
| | | | | | | | | | | | | - Import from meta-oe layer - This is useful for many packages where CR-LF needs to be adjusted, many recipes depend on it e.g. meta-multimedia libebml and so on. (From OE-Core rev: bd4a02d8d3cfb476a2da0f4616605c92604266c0) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Point llvm-config to one built with llvm-nativeKhem Raj2018-08-201-1/+3
| | | | | | | | | | | | | | | | If not defined, llvm build system tries to build one which then confuses the OE QA system since its building native tool and target packages in same package build moreover it is not required since we already have it via llvm-native Fixes ERROR: llvm-6.0-r0 do_package_qa: QA Issue: llvm: The compile log indicates that host include and/or library paths were used. (From OE-Core rev: 7153a17166d9a94fd0ddc36d597a0140979d58ff) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* powerpc: Remove pie flags from compiler cmdlineKhem Raj2018-08-201-5/+2
| | | | | | | | | | | | | | | | | Original approach to add -no-<pie> flags cause link time behavior changes where packages start to lose the -fPIC -DPIC in compiler cmdline and this list keeps growing as we build more and more packages, Instead lets just remove the options we dont need from SECURITY_CFLAGS this makes it more robust and less intrusive This also means we do not need to re-add pic options as we started to do for affected packages (From OE-Core rev: 1520f5a345fd03d46f33f0efaf76191e96344bec) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Toaster: Implement the project-specific feature and releated ↵David Reyna2018-08-2029-55/+1900
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | enhancements and defects. Here is the primary driving enhancement: * Bug 12785 - Support Project Specific configuration for external tools (e.g. ISS, Eclipse) - Isolated project-specific configuration page (full Toaster context hidden) - Support for new project, reconfigure existing project, and import existing command line project - Ability to define variables (e.g. image recipe) and pass them back to external GUI - Ability to execute the cloning phase, so that external GUI receive a buildable project - Ability to call back to the external GUI when updates are completed and ready - Compatibility of above projects with the normal full Toaster interface - Ability to pass to a 'complete' or 'cancel' web page so that the external GUI can immediately stop that Toaster instance, and not leave dangling servers nor edit sessions open Here are the supporting enhancements, where at least the back end is implemented: * Bug 12821 - Make Toaster conf changes compatible with command line usage * Bug 12822 - Support importing user changes to conf files into Toaster * Bug 12823 - Support importing user build directories into Toaster * Bug 12824 - Scan imported layers for content so that they are immediately available * Bug 12825 - show layer clone item in progress bar Here are defects fixed: * Bug 12817 - builddelete.py requires explicit 'add_arguments' * Bug 12818 - Remove orphaned imported layers when project is deleted * Bug 12826 - fix imported layer management * Bug 12819 - build using selected bitbake env, not Toaster's env * Bug 12820 - Toaster randomizes the layer order in toaster_bblayers.conf [YOCTO #12785] (Bitbake rev: 985d6cec290bdd80998a63483561a73c75d82d65) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-devsrc: restructure for out of tree (and on target) module buildsBruce Ashfield2018-08-193-50/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing kernel-devsrc package starts with a full copy of the kernel source and then starts to strip out elements that are not required. This results in extra time (I/O) and extra space being taken up in the final package. The main purpose of the kernel-devsrc package has been to build modules against the running kernel, not to include a full copy of the source code for re-building the kernel. The end result was a 600M kernel-devsrc package. This restructuring of the package uses an approach similar to other distros, where the kernel-devsrc package is for building against the running kernel and uses a curated set of copied infrastructure, versus a mass copy of the entire kernel. The differences in this approach versus other is largely due to the architecture support and the split build/source directory of the kernel. The result is a kernel-devsrc package of about 10M, which is capable of running "make scripts" and compiling kernel modules against the running kernel. Along with the changes to the copying of the infrascture, we also have the following changes: - a better/more explicit listing of dependencies for on-target builds of "make scripts" or "make modules_prepare" - The kernel source is installed into /lib/modules/<version>/build and a symlink created from /usr/src/kernel to the new location. This aligns with the standard location for module support code - There is also a symlink from /lib/modules/<version>/source -> build to reserve a spot for a new package that is simply the kernel source. That package is not part of this update. (From OE-Core rev: 007ef1f468110b2698a27ea9a6d43fed5a0a9fc2) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* openssl: update 1.1.0h -> 1.1.0iAndrej Valek2018-08-192-32/+2
| | | | | | | | | | | | Please see this security advisory: https://www.openssl.org/news/secadv/20180612.txt Remove obsolete patch. (From OE-Core rev: 0d19caefeeca14f44c80ccb716c30b17f14255a5) Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* openssl: update 1.0.2o -> 1.0.2pAndrej Valek2018-08-1931-34/+28
| | | | | | | | | | | | Please see this security advisory: https://www.openssl.org/news/secadv/20180612.txt Refresh patches (From OE-Core rev: ff3db93e53c4f9d56807d3755c799459944e9a87) Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* vala: refresh patchMaxin B. John2018-08-191-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refresh the following patch: "disable-graphviz.patch" to fix this warning: Some of the context lines in patches were ignored. This can lead to incorrectly applied patches. The context lines in the patches can be updated with devtool: devtool modify <recipe> devtool finish --force-patch-refresh <recipe> <layer_path> Then the updated patches and the source tree (in devtool's workspace) should be reviewed to make sure the patches apply in the correct place and don't introduce duplicate lines (which can, and does happen when some of the context is ignored). Further information: http://lists.openembedded.org/pipermail/openembedded-core/2018-March/148675.html https://bugzilla.yoctoproject.org/show_bug.cgi?id=10450 Details: checking file configure.ac checking file libvaladoc/Makefile.am checking file libvaladoc/html/basicdoclet.vala checking file libvaladoc/html/htmlmarkupwriter.vala Hunk #1 succeeded at 51 with fuzz 1 (offset 8 lines). (From OE-Core rev: dfbbff39cfd413510abbd60930232a9c6b35d765) Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: re-package for libnss-dbChen Qi2018-08-193-2/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On other distros like ubuntu/centos, libnss-db usually provides: - The libraries - The Makefile to create database (in /var/db for centos, /var/lib/misc/ for ubuntu) - The makedb command (it's in glibc-common for centos7) What we had is: - The libraries are in glibc-extra-nss - The Makefile is removed - The makedb command is in glibc-utils (lack of dependency) So when glibc-extra-nss is installed but glibc-utils is not, we see error like: nscd[165]: 165 checking for monitored file `/var/db/group.db': No such file or directory nscd[165]: 165 checking for monitored file `/var/db/passwd.db': No such file or directory And there is not an easy way to create these databases. To fix the issue: - Re-package the libraries into libnss-db - Don't remove the Makefile and add it in libnss-db - Add RDEPENDS for libnss-db on glibc-utils - Provide a shell script, makedbs.sh, to generate the db files. This is to avoid dependency on 'make'. Notes: 1. For external toolchain, an extra package 'libnss-db' need to be provided If replacing glibc from core. 2. I've check the git history of nss/db-Makefile, the last two functionality fix is as below. - fix non-portable `echo -n` usage -- Date: Thu Aug 6 04:14:20 2015 -0400 - Fix db makefile rule for group.db -- Date: Fri Nov 11 14:43:36 2011 +0100 So I think this file is stable enough. And using makedbs.sh which is crafted according to that file is not likely to cause maintanence problem. (From OE-Core rev: 13cf502fce8956f95fdc8ac0c7a37d741223bcc9) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runtime selftest: limit kernel hw bp archesHongzhi.Song2018-08-161-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | 1. So far, only qemux86[-64] support hw breakpoint, no matter whether or not with kvm. qemuppc: The oe-core configuration uses a PPC G4 system as the default cpu but qemu doesn't simulate the hw breakpoint register for G4. qemuarm: The arch more than v7 supports hw breakpoint, however arm use v5 as default. qemuarm64: We temporarily drop qemuarm64 for the moment. Normally it will print debug info once, but endlessly when we trigger the break point. Now it is hard to located the issue, but we will confirm it later. qemumips*: Kernel dosen't support hw bp for mips. 2. Syslog maybe not started, so we use dmesg to confirm. 3. Running 'ls' to trigger the hardware breakpoint test. (From OE-Core rev: 176e50fb177dc40e439700d5f3f838dd7eaaa427) Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runtime selftest: test_trace_events_sample of ksample.pyHongzhi.Song2018-08-161-2/+12
| | | | | | | | | | The debug info can not be written to trace buffer immediately by thread. So we should sleep some seconds. (From OE-Core rev: 5ccf8150b4c65f2feac16cc2881188f14d9e5390) Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: enable profile optimized buildsAnuj Mittal2018-08-163-21/+130
| | | | | | | | | | | | | | | | | | | | | | Enable profile guided optimization (pgo) for python3. Enabling pgo in python is generally as simple as invoking the target profile-opt which: - builds python binaries with profile instrumentation enabled, - runs a specific profile task using that python to get the profile data and, - feeds the compiler with this profile data and rebuilds python. This change invokes qemu-user for the second step of running a profile task using target python. Depending on how long profile task takes to run, this might add a significant time to compilation (which would be true for native builds too). The default profile task can be changed by the users depending on what makes sense for their use case (or can be left empty). In case qemu-user isn't supported, profile task won't be run. (From OE-Core rev: 05a2a53f9cc7e75b4a3838ab9368cadf0f15ba1b) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Upgrade QEMU 2.12 -> 3.0Alistair Francis2018-08-163-75/+4
| | | | | | | (From OE-Core rev: 4e37ca369205dccfaf730d6ac4d33c23fb995b5f) Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* piglit: Upgrade to version from 2018-08-13Khem Raj2018-08-161-2/+2
| | | | | | | (From OE-Core rev: 04e485fbab38c73768d6c40bb601e566fa12a898) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: Update to 6.0.1Khem Raj2018-08-162-44/+2
| | | | | | | | | Drop upstreamed patch (From OE-Core rev: b0783b713e0ad766797d20e0d1f3187effb08a71) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libvorbis: 3 CVE fixesJoe Slater2018-08-163-0/+70
| | | | | | | | | | CVE-2017-14160, CVE-2018-10393 (same as 14160), and CVE-2018-10392. These fixes should be in libvorbis 1.3.7. (From OE-Core rev: 45ff20f325a51fe0ed12d58160c08e04781ce341) Signed-off-by: Joe Slater <joe.slater@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* re2c: Update to 1.0.1Khem Raj2018-08-162-40/+3
| | | | | | | | | Drop upstreamed patch (From OE-Core rev: d3cfbee2c85c5fa5e131ed8b2be50cc088f5154f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mpfr: Upgrade to 4.0.1Khem Raj2018-08-162-45/+4
| | | | | | | | | | | | Drop patch present in 4.0.1 already Depend on autoconf-archive to fix | configure:14652: error: possibly undefined macro: AX_PTHREAD (From OE-Core rev: 118eccfa2ae199f22c7b2702211de1b4691c184f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Avoid indirect bison-native dependencies (via ↵André Draszik2018-08-161-0/+6
| | | | | | | | | | | | | | | | | | SSTATE_EXCLUDEDEPS_SYSROOT) Avoid adding bison-native to the sysroot without a specific dependency in the recipe. This means indirect dependencies (e.g. X -> Y -> binutils-cross -> bison-native) no longer meet the dependency incidentally. This improves determinism and avoids build failures when people switch to external toolchains. Based on an idea by Richard Purdie: http://lists.openembedded.org/pipermail/openembedded-core/2018-January/146324.html (From OE-Core rev: b7edc20cc2dd82989bd9561f860cb25478a40f69) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc-initial: Add missing bison-native dependencyRichard Purdie2018-08-161-1/+1
| | | | | | (From OE-Core rev: 11e7dc96e7bc9d1cbf1f3bd10caeb65190c41a2f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* elfutils: check data_list.data.d.d_buf before free itRobert Yang2018-08-162-0/+40
| | | | | | | | | | | | | | | | | | | | | | | [YOCTO #12791] The one which actually saves the data is data_list.data.d.d_buf, so check it before free rawdata_base. This can fix a segmentation fault when prelink libqb_1.0.3: prelink: /usr/lib/libqb.so.0.18.2: Symbol section index outside of section numbers The segmentation fault happens when prelink call elf_end(). Fixed: MACHINE="qemux86-64" IMAGE_INSTALL_append = " libqb" #libqp is from meta-openembedded $ bitbake core-image-minimal Segmention fault (From OE-Core rev: 560154e8525dce4beb8199ffc0d7c964da9d665a) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* prelink: use ehdr.e_shstrndx as index rather than ehdr.e_shnumRobert Yang2018-08-162-1/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | [YOCTO #12791] According to struct elf32_hd, the e_shnum is section header number, and the index is e_shstrndx, not e_shnum. This can fix segmention fault when handle libqb.so.0.18.2 from libqb_1.0.3. It fails to handle libqb.so.0.18.2 and get errors: Symbol section index outside of section numbers Then segmentation fault, this is because the e_shnum is 34, while e_shstrndx is 27 (it would be 33 when no errors), I've checked several elf files to confirm that the ones after e_shstrndx is NULL, so use e_shstrndx should be correct. Fixed: MACHINE="qemux86-64" IMAGE_INSTALL_append = " libqb" #libqp is from meta-openembedded $ bitbake core-image-minimal Segmention fault (From OE-Core rev: b7c291ee6532cba845ee6bfbbaa21076a2b2cbe5) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* binutils: Improve check for input file matching output fileRobert Yang2018-08-162-0/+60
| | | | | | | | | | | | When the assembler reports that the input and output are the same, report the file names involved, in order to help debugging. Also do not equate two files are the same if the have the same inode value but reside on different file systems. (From OE-Core rev: 83cb0938b90bab9ba727f883b8955b0b40d49a01) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bb/utils.py: add break_hardlinks helperRasmus Villemoes2018-08-161-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | bb.utils.copyfile is called in a few places with identical src and dst in order to create an st_nlinks==1 version of the file. That that even works relies on an implementation detail of copyfile (namely, that it creates a temporary file and then does a rename). Moreover, it's a waste of time if the file already has st_nlinks==1. So create a helper that optimizes away the copy in the st_nlinks==1 case. Of course, this helper relies on the same implementation detail, but that's now contained within bb.utils itself. To test that we do at least sometimes hit the no-copy path, I tested locally with if sstat[stat.ST_NLINK] == 1: + bb.note("Woohoo, 2*%d bytes I/O avoided" % sstat[stat.ST_SIZE]) return True (and the obvious places in oe-core patched), and the do_package log files are indeed filled with woohoo notes. (Bitbake rev: 7ae93cf40ab91965147055100432961436bce46c) Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_base.bbclass: inherit and use image-postinst-interceptsChristopher Larson2018-08-161-1/+2
| | | | | | | (From OE-Core rev: fb83997ded3789c7447402a9fda03b1669cecae0) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: inherit and use image-postinst-interceptsChristopher Larson2018-08-161-0/+2
| | | | | | | (From OE-Core rev: 73cccdb6942404961415e5939263686719b24061) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image-postinst-intercepts.bbclass: add classChristopher Larson2018-08-161-0/+23
| | | | | | | | | | | | This class sets POSTINST_INTERCEPTS and POSTINST_INTERCEPTS_CHECKSUMS, to allow us to pull intercepts from BBPATH. This is kept as a separate class, as it's needed by both image construction and sdk construction, the latter to support meta-toolchain & similar recipes. (From OE-Core rev: 7a2044df4ae8d80cf25a6bfd9b71978ffefbfa33) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe.package_manager: support loading intercepts from multiple pathsChristopher Larson2018-08-161-6/+13
| | | | | | | | | | | | - if POSTINST_INTERCEPTS is set, use the listed intercept files, or - if POSTINST_INTERCEPTS_PATH is set, load from the listed paths, or - if POSTINST_INTERCEPTS_DIR is set, load from it (for compatibility), or - load from ${COREBASE}/meta/postinst-intercepts (From OE-Core rev: 9ba2f2b1df277b2b881f68166d9cd1c19db66e23) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* acpica: Add missing DEPENDS on bison-nativeRichard Purdie2018-08-161-1/+1
| | | | | | (From OE-Core rev: e7c0ad5d3eff6b1d7170e7e0a539d1807a2bb452) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Optimise SSTATE_EXCLUDEDEPS_SYSROOT handlingRichard Purdie2018-08-161-3/+10
| | | | | | | | | Using re.compile() is around six times faster than recompiling the regexp each time so maintain a cache. (From OE-Core rev: 41eb382737706e245f2b7104e313c8dfaa370945) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: use SSTATE_EXCLUDEDEPS_SYSROOT for skipping ↵André Draszik2018-08-162-3/+2
| | | | | | | | | | | | base-passwd|shadow-sysroot recipes Use the newly introduced SSTATE_EXCLUDEDEPS_SYSROOT for specifying the base-passwd|shadow-sysroot recipes to be excluded from a recipe sysroot. (From OE-Core rev: 68e502e9063a88532fe0154f152ba408f0091900) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: use SSTATE_EXCLUDEDEPS_SYSROOT for skipping *-initial recipesAndré Draszik2018-08-162-3/+5
| | | | | | | | | | Use the newly introduced SSTATE_EXCLUDEDEPS_SYSROOT for specifying the *-initial recipes to be excluded from a recipe sysroot. (From OE-Core rev: 6706bad52f9311ea79c534ee90014c3216992999) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: allow specifying indirect dependencies to exclude from sysrootAndré Draszik2018-08-161-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, a dependency on any -native recipe will pull in all dependencies of that -native recipe in the recipe sysroot. This behaviour might not always be wanted, e.g. when that -native recipe depends on build-tools that are not relevant for the current recipe. This change adds a SSTATE_EXCLUDEDEPS_SYSROOT variable, which will be evaluated for such recursive dependencies to be excluded. The idea is similar to http://lists.openembedded.org/pipermail/openembedded-core/2018-January/146324.html except that the list is not hard-coded anymore. SSTATE_EXCLUDEDEPS_SYSROOT is evaluated as two regular expressions of recipe and dependency to ignore, e.g. in the above flex-native / bison-native use-case, one would specify SSTATE_EXCLUDEDEPS_SYSROOT = ".*->(flex|bison)-native" in layer.conf. The existing special handling of "-initial" as well as "base-passwd" and "shadow-sysroot" could also be streamlined: SSTATE_EXCLUDEDEPS_SYSROOT += "\ .*->.*-initial.* \ .*(base-passwd|shadow-sysroot)->.* \ " Another anticipated user is meta-java, where certain newer JDKs can only be bootstrapped (built) using older JDKs, but it doesn't make much sense to copy all those older JDKs and their own build tools (ant, etc.) into the sysroot of recipes wanting to be built using the newer JDK (only), e.g.: SSTATE_EXCLUDEDEPS_SYSROOT += "\ openjdk-8-native->(ant-native|attr-native|coreutils-native|icedtea7-native|libxslt-native|make-native|openssl-native|zip-native|unzip-native) \ " (From OE-Core rev: 92c5131a2feae2036c71a36c18bb9175bb2856dc) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* security_flags: Add PIC to cflags for some recipes on ppcKhem Raj2018-08-161-0/+3
| | | | | | | | | | | Fixes issues related out of range R_PPC_REL24 e.g. /usr/lib/xorg/modules/input/libinput_drv.so: /usr/lib/libinput.so.10: R_PPC_REL24 relocation at 0x0e8602c4 for symbol `libevdev_has_event_code' out of range (From OE-Core rev: 48c8d13a9bdcacb64a330074588f7c6bb5cae90d) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libdrm: Upgrade to 2.4.93Khem Raj2018-08-161-2/+2
| | | | | | | (From OE-Core rev: c855d485204e7674db6c660c868fbc3cf28ef308) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* openssl-1.1: /etc/ssl location compatibilityAndrej Valek2018-08-161-3/+15
| | | | | | | | | | | Some packages have hard-coded path to /etc/ssl location. Create a symlinks to correct location. (From OE-Core rev: 87ae1f2de1b033172560e3c89caa06bd9e10d071) Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Marko Peter <peter.marko@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* openssl-1.1: rework packagingAndrej Valek2018-08-161-1/+11
| | | | | | | | | | | | | | | | The main idea is to have libssl and libcrypto in separate packages. This saves space if only single library is needed and also some recipes (in other layers) depend on these library packages. Together with this other packages like in 1.0.x were created. The only difference is that openssl 1.1 has additional package openssl-bin. Add missing dependency to perl for openssl-bin pkg, c_rehash requires it. (From OE-Core rev: b729cae26de23ac6df10cbf74bab0105580cc43d) Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Marko Peter <peter.marko@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* openssl-1.1: fix c_rehash perl errorsAndrej Valek2018-08-162-0/+30
| | | | | | | | | | | | | | | | | | | | | | | Patch original c_rehash script with Debian patch instead of overriding it with own version. Error output from c_reshah without patching: Unknown regexp modifier "/b" at ./c_rehash line 15, at end of line Unknown regexp modifier "/W" at ./c_rehash line 28, at end of line Unknown regexp modifier "/3" at ./c_rehash line 28, at end of line Unknown regexp modifier "/2" at ./c_rehash line 28, at end of line No such class installdir at ./c_rehash line 63, near "Prefix our installdir" (Might be a runaway multi-line // string starting on line 28) syntax error at ./c_rehash line 63, near "Prefix our installdir" Can't redeclare "my" in "my" at ./c_rehash line 68, near "" Execution of ./c_rehash aborted due to compilation errors. (From OE-Core rev: f8a826f497073533a3e4c390255ae197d65d6ef3) Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Marko Peter <peter.marko@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* machine configs: replace deprecated "SERIAL_CONSOLE"Maciej Pijanowski2018-08-153-4/+4
| | | | | | | | | | | | | | | | | | | | | | SERIAL_CONSOLE was already deprecated in 2013, yet still some machine configuration files were using it. This patch replaces it with SERIAL_CONSOLES, which is the successor. The default value in systemd-serialgetty.bb can also be safely transitioned from SERIAL_CONSOLE to SERIAL_CONSOLES, as this recipe already uses SERIAL_CONSOLES within do_install(). The documentation seems to be already up do date. beaglebone-yocto.conf in the bsp-guide already uses SERIAL_CONSOLES. The ref-manual redirects from SERIAL_CONSOLE to SERIAL_CONSOLES. [YOCTO #12653] (From meta-yocto rev: a0c5332aefe75cf314e78284f578b17c51b8ab27) Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta-yocto-bsp: beaglebone: Use the uuid for the block device naming in wic ↵Kevin Hao2018-08-151-2/+2
| | | | | | | | | image (From meta-yocto rev: b713626dda68d4f03632da2ecbb1e073397e0c7a) Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta-yocto-bsp: beaglebone: Add the u-boot boot config file for the wic imageKevin Hao2018-08-152-2/+2
| | | | | | | (From meta-yocto rev: 800fc3ea87add6a7205ecfa3b088701ed635082f) Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>