summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* wic: Add --embed-rootfs argumentRicardo Ribalda Delgado2020-04-064-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | This option adds the content of a rootfs on a specific location on the rootfs. It is very useful for making a partition that contains the rootfs for a host and a target Eg: / -> Roofs for the host /export/ -> Rootfs for the target (which will netboot) Although today we support making a partition for "/export" this might not be compatible with some upgrade systems, or we might be limited by the number of partitions. With this patch we can use something like: part / --source rootfs --embed-rootfs target-image /export --embed-rootfs target-image2 /export2 on the .wks file. (From OE-Core rev: efdcf94801f6abe8e4099e324d9a3deccd8d4384) Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Fix permissions when using exclude or include pathRicardo Ribalda Delgado2020-04-061-3/+19
| | | | | | | | | | | | | | | | | | | | | When parameters include_path or exclude_path are passed to the rootfs plugin, it will copy the partition content into a folder and make all the modifications there. This is done using copyhardlinktree(), which does not take into consideration the content of the pseudo folder, which contains the information about the right permissions and ownership of the folders. This results in a rootfs owned by the user that is running the wic command (usually UID 1000), which makes some rootfs unbootable. To fix this we copy the content of the pseudo folders to the new folder and modify the pseudo database using the "pseudo -B" command. (From OE-Core rev: 36993eea89d1c011397b7692b9b8d61b499d0171) Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pseudo: Force seccomp to return success when in fact doing nothingRichard Purdie2020-04-062-0/+125
| | | | | | | | | | | | | | Pseudo changes the syscall access patterns which makes it incompatible with seccomp. Therefore intercept the seccomp syscall and alter it, pretending that seccomp was setup when in fact we do nothing. If we error as unsupported, utilities like file will exit with errors so we can't just disable it. This works around issues on platforms where seccomp is enabled in file (e.g. archlinux). (From OE-Core rev: bc895522eb940539a0e3cb6192c4a64f13ca8d6a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Update to version 1.46Richard Purdie2020-04-062-2/+2
| | | | | | (Bitbake rev: 76396230731432b38fdcb25ad27bb84065bc89e5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* brief-yoctoprojectqs: buildtools changesTim Orling2020-04-061-4/+7
| | | | | | | | | | | | Bump tar, Python versions and add new gcc requirement. Update reference from 'required-git-tar-and-python-versions' to 'required-git-tar-python-and-gcc-versions' (From yocto-docs rev: ca6334c1653d5e2abfe77865391509a8cd516d88) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dev-manual: buildtools versions and changesTim Orling2020-04-061-5/+8
| | | | | | | | | | | | Bump tar, Python versions and add new gcc requirement. Update reference from 'required-git-tar-and-python-versions' to 'required-git-tar-python-and-gcc-versions' (From yocto-docs rev: 18b11662c7c9ab7828d2709eed4090116a751e14) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: add install-buildtools and -extendedTim Orling2020-04-063-17/+120
| | | | | | | | | | | | | Add instructions to use 'install-buildtools' and 'buildtools-extended-tarball'. Add gcc 5.0 requirement and call out how to use above to prepare host development system. (From yocto-docs rev: c6dbd9bf6860ffea1bc025907343373439d91737) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: fix debian-8 system reqsTim Orling2020-04-061-11/+21
| | | | | | | | | | | | | jessie-backports is no longer supported, so python3-git and pylint3 are not installable via apt-get (or at least not without disabling security checks by using archive.debian.org) Add note to use pip3 to install instead. (From yocto-docs rev: 19a02c5c6ef9a317c2339c2ec71200e51335e32f) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: bump tar and python min versionsTim Orling2020-04-061-2/+2
| | | | | | | | | | * tar min version is now 1.28 * python min version is now 3.5 (From yocto-docs rev: 96dfaee63f84c21fc2bf460ded642b853a5317cf) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: split CentOS-7 and CentOS-8 reqsTim Orling2020-04-061-8/+60
| | | | | | | | | | | | | | | CentOS-7 has different requirements than the much newer CentOS-8. Add a section for CentOS-8 and make the old section CentOS-7 specific. NOTE: at the time this was written, the 'fop' package is not yet available in epel-8. As a Fedora packager, that will change. (From yocto-docs rev: caf08811a23a29965ec915459019796a0c882d4d) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* poky.ent: split centos-7 and centos-8Tim Orling2020-04-061-2/+10
| | | | | | | | | | | | | | | Update Centos-7 to require python3, not python. CentOS-8 has different installation requirements than either CentOS-7 or Fedora (although it is closer to Fedora). Allow for differentiation between CentOS versions. (From yocto-docs rev: 615fc45108d10e842679b3d8a38b53074d3eed4b) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* poky.ent: recommend python36-pip for CentOSTim Orling2020-04-061-1/+1
| | | | | | | | | | | | | | 'python3' in EPEL7 is now Python 3.6, so we should be recommending python36-pip Python 3.4 is EOL [1] [1] https://www.python.org/downloads/release/python-3410/ (From yocto-docs rev: 817ca8adc91d9975b9ec57e7fead7fdff4001854) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* documentaiton: Change author infoakuster2020-04-0610-28/+21
| | | | | | | | | | Update the author indo and use variables for author and email to make it easier to change in future. (From yocto-docs rev: 4fdf2a060705fa00b11b5a9d270f4ffa506c9927) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* BSP Guide: numerous tweaks/grammar/wording/clarificationrpjday@crashcourse.ca2020-04-061-37/+52
| | | | | | | (From yocto-docs rev: 3a87e5900b603f124ce7f63fd072415762f63212) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-dev: fix explanation of KBUILD_DEFCONFIGrpjday@crashcourse.ca2020-04-061-5/+7
| | | | | | | | | | KBUILD_DEFCONFIG is meant to refer to an *in-tree* defconfig file, not an external one. (From yocto-docs rev: 34202eee3fc2bb4e0b92374822bff87fd3af1ebc) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* correct mention of "postinst_intercept delay_to_first_boot"rpjday@crashcourse.ca2020-04-062-3/+3
| | | | | | | | | | Migration to YP 2.5 contains incorrect description of routine for delaying to first boot. (From yocto-docs rev: 08f71ec137822c0c19b56956d7045dfb73a544d7) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: minor rewording/clarification in chapter 2rpjday@crashcourse.ca2020-04-061-4/+6
| | | | | | | (From yocto-docs rev: a9a3248b12b85f3637ebe5eddd4b1a29268d5598) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: minor rewording in chapter 1rpjday@crashcourse.ca2020-04-061-5/+5
| | | | | | | (From yocto-docs rev: 5582f01fc4774e7d21af24627bbd47a77463d272) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: update PROVIDES example, clarify use of "+="rpjday@crashcourse.ca2020-04-061-6/+18
| | | | | | | | | | | Update the example used in explaining the PROVIDES variable to one that actually exists, and point out that "+=" is unnecessary, a simple assignment is sufficient. (From yocto-docs rev: 80cd888ee81757bc5281f174b26974391ee45522) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: various touchups, rewordings, corrections to Ch 5rpjday@crashcourse.ca2020-04-061-63/+63
| | | | | | | | | | | | | Minor tweaks to chapter 5 of reference manual, including: - grammar - adding slashes to directory names for consistency - collapse trivial paras into one (From yocto-docs rev: 96b75e723bff042183f70a858d09df4aad094578) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* use defined entity "YOCTO_DOCS_URL", not "YOCTO_HOME_URL"rpjday@crashcourse.ca2020-04-0610-20/+20
| | | | | | | | | | | | | | | Given the defined DocBook entity: <!ENTITY YOCTO_DOCS_URL "&YOCTO_HOME_URL;/docs"> replace numerous instances of the more verbose "&YOCTO_HOME_URL;/documentation", which is a redirect, anyway. rday (From yocto-docs rev: 53fa17321624028b12d880bc4236fbef46675eb4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dev-manual: minor tweaks, rewording, grammar for chapter 2rpjday@crashcourse.ca2020-04-061-26/+28
| | | | | | | (From yocto-docs rev: 706386ac094479916e1cc482e56a6433caa85e1a) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dev-manual: clarify PN usage in packagegroup filesrpjday@crashcourse.ca2020-04-061-6/+10
| | | | | | | | | | | Make it clear to the reader that they can use the much shorter form of ${PN} for the base packagegroup name, rather than typing it out in full. (From yocto-docs rev: 19915978c30bbf37b65d9887c78a23394779f079) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dev-manual: add missing check to yocto-check-layer sectionrpjday@crashcourse.ca2020-04-061-1/+20
| | | | | | | | | | Add explanation of missing checks performed by yocto-check-layer, and fix one typo. (From yocto-docs rev: 231bb92fa4a9c044894f845b8d6d0b9498abfc49) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dev-manual: use actual machine override demonstrationrpjday@crashcourse.ca2020-04-061-5/+19
| | | | | | | | | | | | Given that the section in question is describing how to configure dependencies based on the machine type, it seems inappropriate to use an example that depends on the choice of C library, so grab a snippet from linux-yocto.inc to really drive the point home. (From yocto-docs rev: 66bfec015f61a690f96cf8e28b80869c77327e6d) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dev-manual: explain LAYERDEPENDS with other layer.conf varsrpjday@crashcourse.ca2020-04-061-0/+4
| | | | | | | (From yocto-docs rev: 2d56b38e1a1d4a89c0ed46af93791fe1fbdfecc9) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dev-manual: Fix CROPS linkAlejandro Hernandez Samaniego2020-04-061-2/+2
| | | | | | | | | | | | | | The link used in the documentation points to a file that no longer exists on the crops repository. Use the poky-container repo instead since it is more accurate and updated (From yocto-docs rev: 5d16ccecf0b198af0f78a4cce28532ab9dca739f) Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Alejandro Hernandez Samaniego <alhe@linux.microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* overview-manual-yp-intro: Fix CROPS linkAlejandro Hernandez Samaniego2020-04-061-2/+2
| | | | | | | | | | | | | | The link used in the documentation points to a file that no longer exists on the crops repository. Use the poky-container repo instead since it is more accurate and updated. (From yocto-docs rev: c5e21f5d18f4fc069ccc05cd82819eda291fcf9d) Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Alejandro Hernandez Samaniego <alhe@linux.microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* overview-manual-development-environment: Fix CROPS linkAlejandro Hernandez Samaniego2020-04-061-1/+1
| | | | | | | | | | | | | | The link used in the documentation points to a file that no longer exists on the crops repository. Use the poky-container repo instead since it is more accurate and updated. (From yocto-docs rev: 98d2a2161a30d9080bc7dea8ae7964893563b1e2) Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Alejandro Hernandez Samaniego <alhe@linux.microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dev-manual-common-tasks.xml: Replace "QemuTarget" with "qemu"Yeoh Ee Peng2020-04-061-2/+2
| | | | | | | | | | | | As the OEQA code revamp and code changes in testimage.bbclass, testexport.bbclass, runtime/context.py and oeqa/runexported.py, "QemuTarget" was obsolete and replaced by "qemu". Replacing the refer of "QemuTarget" with "qemu". (From yocto-docs rev: f89d18adb62bc864e7890a613ff860bd3e4279ed) Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-variables.xml: Replace "QemuTarget" with "qemu"Yeoh Ee Peng2020-04-061-3/+3
| | | | | | | | | | | | As the OEQA code revamp and code changes in testimage.bbclass, testexport.bbclass, runtime/context.py and oeqa/runexported.py, "QemuTarget" was obsolete and replaced by "qemu". Replacing the refer of "QemuTarget" with "qemu". (From yocto-docs rev: 87691219dfe312c0db0af1fa30cc3505298a27af) Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dev-manual-common-tasks: Replace "SimpleRemoteTarget" with "simpleremote"Yeoh Ee Peng2020-04-061-4/+4
| | | | | | | | | | | | As the OEQA code revamp and code changes in testimage.bbclass, testexport.bbclass, runtime/context.py and oeqa/runexported.py, "SimpleRemoteTarget" was obsolete and replaced by "simpleremote". Replacing the refer of "SimpleRemoteTarget" by "simpleremote". (From yocto-docs rev: 41823811229754805c682ecec6903399bfe606fe) Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-variables.xml: Replace "SimpleRemoteTarget" with "simpleremote"Yeoh Ee Peng2020-04-061-2/+2
| | | | | | | | | | | | As the OEQA code revamp and code changes in testimage.bbclass, testexport.bbclass, runtime/context.py and oeqa/runexported.py, "SimpleRemoteTarget" was obsolete and replaced by "simpleremote". Replacing the refer of "SimpleRemoteTarget" by "simpleremote". (From yocto-docs rev: 1779a6d699ae7a6e51f8b92516eea948c1767400) Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* brief-yoctoprojectqs: Document the basics of WSL and create a link to the ↵Alejandro Hernandez Samaniego2020-04-061-4/+12
| | | | | | | | | | build host setup process (From yocto-docs rev: 225e2aff28a4a68faf1bf1c702e7deacc9effbde) Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Alejandro Hernandez Samaniego <alhe@linux.microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* overview-manual: Document the basics of WSL and create a link to the build ↵Alejandro Hernandez Samaniego2020-04-061-0/+18
| | | | | | | | | | host setup process (From yocto-docs rev: 317059cbfcd8fdb342819b00f9f2836e44ce3d8b) Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Alejandro Hernandez Samaniego <alhe@linux.microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dev-manual: Document the WSLv2 install processAlejandro Hernandez Samaniego2020-04-061-6/+141
| | | | | | | | (From yocto-docs rev: 65e3a1b3c82475f706418b8ec7d0e6bed34b382b) Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Alejandro Hernandez Samaniego <alhe@linux.microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: Explain the project is not validated against WSL but people may ↵Alejandro Hernandez Samaniego2020-04-061-6/+9
| | | | | | | | | | still use it (From yocto-docs rev: c55378d8a5597b3760dd9aae766af735a61a6158) Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Alejandro Hernandez Samaniego <alhe@linux.microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Windows: Enable Windows builds under WSLv2 and warn accordinglyAlejandro Hernandez Samaniego2020-04-061-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the architectural changes between Windows Subsystem for Linux v2, and WSL v1 it should now be possible to run bitbake on the several distros offered through the Microsoft Store. WSLv2 is available on Windows 10 build number > 18917 The current build number may be checked by opening a cmd prompt on Windows and running: C:\Users\myuser>ver Microsoft Windows [Version 10.0.19041.113] If a distro has already been installed via the Microsoft Store, then we can check which WSL version its using by opening a Windows Powershell (notice this is a powershell and not a cmd prompt): C:\WINDOWS\system32> wsl -l -v NAME STATE VERSION * Ubuntu Running 2 Debian Stopped 1 In this case it shows two distros installed, Ubuntu running WSLv2 and Debian running WSLv1 To change the version of WSL being used by a certain distro run: C:\WINDOWS\system32> wsl --set-version <Distro> 2 e.g C:\WINDOWS\system32> wsl --set-version Debian 2 For more information on installing WSLv2 please look at: https://docs.microsoft.com/en-us/windows/wsl/wsl2-install There are some caveats related to the way storage is handled by WSLv2 though, and at this point these have to be managed by the user manually, the storage space used by WSL is not reflected immediately and since bitbake heavily uses storage, after several builds this can prove to be a bit of an issue. WSLv2 uses a VHDX file for storage, this issue can be easily avoided by optimizing this file every now and then, this can be done via the following: 1.- Find the location of your VHDX file: - Get the distro app package directory. - Open Windows Powershell as Administrator and run: Get-AppxPackage -Name "*<DISTRO>*" | Select PackageFamilyName e.g.: PS C:\WINDOWS\system32> Get-AppxPackage -Name "*Ubuntu*" | Select PackageFamilyName PackageFamilyName ----------------- CanonicalGroupLimited.UbuntuonWindows_79abcdefgh Replace the PackageFamilyName (and your user) on the following path: C:\Users\<user>\AppData\Local\Packages\<PackageFamilyName>\LocalState\ e.g. ls C:\Users\<user>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ Mode LastWriteTime Length Name -a---- 3/14/2020 9:52 PM 57418973184 ext4.vhdx The VHDX file path is: C:\Users\<user>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ext4.vhdx 2.- Optimize your VHDX file (Also on Powershell): - Make sure WSL is shutdown wsl --shutdown - Optimize it optimize-vhd -Path C:\Users\<user>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ext4.vhdx -Mode full A progress bar should be shown while optimizing the VHDX file. As an example, after building core-image-sato, removing the TMPDIR did not reflect any changes on Windows Explorer for storage space being used, after optimizing the VHDX file, 14 extra GB were shown as free. So, as long as the the user optimizes its storage, the builds should run smoothly. This patch warns the user that is running bitbake under WSLv2, that they should optimize the VHDX file eventually to avoid storage issues. The same check previoulsy used for WSLv1 works for WSLv2, checking for the kernel version: WSLv1: Linux version 4.4.0-19041-Microsoft (Microsoft@Microsoft.com) WSLv2: Linux version 4.19.84-microsoft-standard (oe-user@oe-host) Builds have been tested under Ubuntu and Debian distros offered and installed through the Microsoft Store, and other distros should be able to run builds just as fine. Performance wise, using the same hardware, and same configuration a comparison between builds using native Linux vs WSLv2 for the following targets has been performed: - core-image-minimal - core-image-sato - core-image-sato-sdk - meta-toolchain No real evidence of any performance changes could be found, with WSLv2 builds running even faster in some cases. Running a recently built image can be done just as smoothly, if using "nographic" as argument for runqemu, or if its a graphical image, installing an X server and running runqemu runs just as fine. Happy bitbaking. (From OE-Core rev: c42cec0c1c57c4e67dc7cdb07c5e4aba14a847d3) Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Alejandro Hernandez Samaniego <alhe@linux.microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* busybox: sysctl: ignore EIO of stable_secret below /proc/sys/net/ipv6/confYi Zhao2020-04-052-0/+41
| | | | | | | | | | | | | | | | | | Avoid confusing messages caused by EIO on reading /proc/sys/net/ipv6/conf/*/stable_secret if those are not set yet. Make it behave the same as procps(>=3.3.13). Fixes: $ sysctl -a | grep ipv6.conf | grep stable_secret sysctl: error reading key 'net.ipv6.conf.all.stable_secret': Input/output error sysctl: error reading key 'net.ipv6.conf.default.stable_secret': Input/output error sysctl: error reading key 'net.ipv6.conf.eth0.stable_secret': Input/output error sysctl: error reading key 'net.ipv6.conf.lo.stable_secret': Input/output error (From OE-Core rev: ff074f495dd4bb637618f790dd30e51e542cd30a) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icu: Mark strtod_l unavailable on muslKhem Raj2020-04-051-0/+2
| | | | | | | | | Musl version is just a wrapper to strtod and not an exposed API (From OE-Core rev: 660fdaa95858485b1caa779f1137a933c1f5d5f6) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icu: Add knobs to generate a subset of ICU dataKhem Raj2020-04-053-17/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recent versions of ICU (64+) provides a tool for configuring ICU locale data file with finer granularity [1] Default generated size for libicudata.so.66.1 is ~27M, which is quite large for embedded systems and all of them may not even need all locale data. This patch calls the icudata buildtool during configure on the icudata and utilizes a filter called 'filter.json` ( empty by default) to create the data, default behavior should remain same but someone can add a filter.json in own layer to configure this data, e.g. { "localeFilter": { "filterType": "language", "whitelist": [ "en", "de", "it" ] } } would only generate the locale data for english/german/italian This would reduce the size of libicudata.so.66.1 to 12M Ensure that icudata is generated using host-tools so it can deal with endianness correctly, when host and target systems have different endianness install the icudtata file back into in/ folder so that main build can now pickup this data file instead of regenerating it and wiping out the filter changes that are expected to take effect Use native compiler tools Update the big-endian support patch to apply to latest Makefile.in from icudata source and mark it as backport defer applying 0001-Fix-big-endian-build.patch after moving new data/ in [1] https://github.com/unicode-org/icu/blob/master/docs/userguide/icu_data/buildtool.md (From OE-Core rev: 5e5be67744d7ddf5a9ac433ecba02f697a84a325) Signed-off-by: Khem Raj <raj.khem@gmail.com> Suggested-by: Wouter Meek <w.meek@metrological.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* binutils: Use configure options to disable gdb and dependenciesKhem Raj2020-04-053-4/+10
| | | | | | | | | | | Deleting sources is a rough way of dealing with disabling components, using configure option is elegant way and we also keep the sources unchanged, this should not cause any funcitonal changes otherwise (From OE-Core rev: 1921711c9e7a915dbf04c3909bee39450c907845) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/install-buildtools: refactor for Python 3.4Tim Orling2020-04-051-24/+79
| | | | | | | | | | | | | | | | | | | | | | | | Our least common denominator supported distro is debian-8 which has python 3.4. The whole point of the install-buildtools script is to make it easier on the user to install buildtools tarball. So it needs to run on Python 3.4. The way we checked if the install was successful in the prior version of the script was not workable in python 3.4. Since the environment-setup-... script is currently just exporting environment variables, use os.environ to do the equivalent from values gleaned via regex from the environment-setup-... file. Corrected a couple minor whitespace errors NOTE: License changed to GPL-2.0-only due to inclusion of code copied directly from bitbake/lib/bb/utils.py. This avoids the need to depend on bitbake, which is now Python 3.5+ only. (From OE-Core rev: 869020dac889e9ed79a294f308a87cfd946a68bd) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity.bbclass: echo current SDK_VENDOR if it is invalidPaul Gortmaker2020-04-051-1/+1
| | | | | | | | | | | | | | | | | | | | It can be frustrating if this sanity check triggers, but you don't know why; you haven't explicitly set any SDK vars, or similar. At least echo out the offending value, so the end user has a bit more information to go on. Before: SDK_VENDOR should be of the form '-foosdk' with a single dash After: SDK_VENDOR should be of the form '-foosdk' with a single dash; found '-overc-sdk' Cc: Ross Burton <ross.burton@intel.com> (From OE-Core rev: e238fa177bd72bc5d165fbe4f640132267a1d3fd) Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk-binutils: correct path to ld.so.confJeremy Puhlman2020-04-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The alternative ld.so patch is set up so the linker will search the nativesdk sysroot before searching the host filesystem. However the patch concatenates <sysroot>/etc and /etc/ld.so.conf leading to a path that does not exist: 3061991 openat(AT_FDCWD, "/buildtools/sysroots/x86_64-pokysdk-linux/etc/etc/ld.so.conf", O_RDONLY) = -1 ENOENT (No such file or directory) In native-nspr, the build uses -lpthread, which triggers a search for librt, but because of the above it drags in the system librt leading to errors as follows: /buildtools/sysroots/x86_64-pokysdk-linux/usr/lib/gcc/x86_64-pokysdk-linux/ 9.3.0/../../../../x86_64-pokysdk-linux/bin/ld: /lib64/librt.so.1: undefined reference to `__clock_getcpuclockid@GLIBC_PRIVATE' update concatenation to correctly construct the path to the nativesdk ld.so.conf [YOCTO #13853] (From OE-Core rev: d085da8300abb72e14957ecedf40189b25088d4b) Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cdrtools-native: remove use of REALPV in versioningrpjday@crashcourse.ca2020-04-051-6/+1
| | | | | | | | | | | There appears to be no need for the use of REALPV in the recipe for cdrtools-native as the downloaded tarball has the official version in it. (From OE-Core rev: d99309924fd33342748bd572816b2682bc7e32ab) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glib-2.0: Backport GMainContext fixesDaniel Gomez2020-04-054-0/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport fixes introduced in 2.63.6 for memory leaks and memory corruption in GMainContext Upstream merge: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1353 Fixes SIGSEGV in GStreamer: Thread 2 "multihandlesink" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff6bb9700 (LWP 18045)] 0x00007ffff7d65992 in g_source_unref_internal (source=0x7ffff00047d0, context=0x55555561c800, have_lock=1) at ../../../../../../../repo/workspace/sources/glib-2.0/glib/gmain.c:2146 2146 ../../../../../../../repo/workspace/sources/glib-2.0/glib/gmain.c: No such file or directory. (gdb) bt #0 0x00007ffff7d65992 in g_source_unref_internal (source=0x7ffff00047d0, context=0x55555561c800, have_lock=1) at ../../../../../../../repo/workspace/sources/glib-2.0/glib/gmain.c:2146 #1 0x00007ffff7d65bb6 in g_source_iter_next (iter=iter@entry=0x7ffff6bb8db0, source=source@entry=0x7ffff6bb8da8) at ../../../../../../../repo/workspace/sources/glib-2.0/glib/gmain.c:980 #2 0x00007ffff7d67ef3 in g_main_context_prepare (context=context@entry=0x55555561c800, priority=priority@entry=0x7ffff6bb8e30) at ../../../../../../../repo/workspace/sources/glib-2.0/glib/gmain.c:944 #3 0x00007ffff7d6896b in g_main_context_iterate (context=context@entry=0x55555561c800, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../../../../repo/workspace/sources/glib-2.0/glib/gmain.c:3900 #4 0x00007ffff7d68b4c in g_main_context_iteration (context=0x55555561c800, may_block=may_block@entry=1) at ../../../../../../../repo/workspace/sources/glib-2.0/glib/gmain.c:3981 #5 0x00007ffff6be4482 in gst_multi_socket_sink_thread (mhsink=0x555555679ab0 [GstMultiSocketSink]) at ../../../gst-plugins-base-1.14.4/gst/tcp/gstmultisocketsink.c:1164 #6 0x00007ffff7d8fb35 in g_thread_proxy (data=0x55555565c770) at ../../../../../../../repo/workspace/sources/glib-2.0/glib/gthread.c:784 #7 0x00007ffff7841ebd in start_thread (arg=<optimized out>) at pthread_create.c:486 #8 0x00007ffff7aa12bf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 #8 0x00007ffff7aa12bf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 (From OE-Core rev: 62eb45e6455df99b0c8b61bfb90858bb656bd724) Signed-off-by: Daniel Gomez <daniel@qtec.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* busybox: on upgrade save busybox if it is the last shellJeremy Puhlman2020-04-051-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | During a busybox upgrade on a ipk based system, it is possible that busybox is the only shell in the system. During the uninstall the alternative for /bin/sh is removed and everything after that goes down hill. * Add a check to verify if busybox is the shell, and save it to the busyboxrm directory created in tmp. Then add an alternative for /bin/sh that points to that busybox at the lowest priority. * Add PATH to the busyboxrm directory using shell(as during an upgrade busybox and its links are missing). * When install over remove extra busybox if present. deb and rpm are uneffected by the bug because they both drag in bash, however neither upgrade seemed to have issue with the changes. [YOCTO 13850] (From OE-Core rev: a9d2af8f5b3da8239cf00a52883ca596a19ea23a) Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake: fix Python executable with cmakeMartin Kelly2020-04-052-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, CMake has two ways of finding Python executables: FindPythonInterp and FindPython/FindPython3. FindPythonInterp is deprecated and may be removed at some point. Currently, python3native sets PYTHON_EXECUTABLE, which FindPythonInterp uses. This is a problem for a few reasons: - Setting PYTHON_EXECUTABLE as an environment variable doesn't work, as CMake needs it to be set as an explicit CMake option via -D. - Projects using the newer FindPython/FindPython3 don't pickup the right Python, as the newer routines use Python_EXECUTABLE and Python3_EXECUTABLE. Fix this by setting PYTHON_EXECUTABLE, Python_EXECUTABLE, and Python3_EXECUTABLE using -D options to EXTRA_OECMAKE. The CMake routines are documented below: https://cmake.org/cmake/help/latest/module/FindPythonInterp.html https://cmake.org/cmake/help/latest/module/FindPython.html https://cmake.org/cmake/help/latest/module/FindPython3.html (From OE-Core rev: a22200a646eaf42cd4902a2fe3358d29717ac129) Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* prservice.py: fix do_package with newer Python in Ubuntu 20.04Martin Jansa2020-04-051-0/+4
| | | | | | | | | | | | | * with Ubuntu 20.04 which is using python 3.8 I'm seeing a lot of errors like: ERROR: libxml2-2.9.10-r0 do_package: Can NOT get PRAUTO, exception No module named '_sysconfigdata' not sure what caused this from python 3.8, but this seems to work * PRserv is enabled with: PRSERV_HOST = "localhost:0" (From OE-Core rev: 4b26eaf7152fb712aba47a0c746333578f58ee8d) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>