aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-08-23hwlatdetect: fix RDEPENDS to avoid QA failureshsalejandro/python_autopack_finalAlejandro Hernandez
When listing python3 as an RDEPENDS, the image will in fact contain python3-modules, but the QA check fails to get RPROVIDERS correctly (since the python3 package does not actually exist), /usr/bin/python3 is provided by the python3-core package, so by fixing the RDEPENDS and listing python3-core instead of python3, the QA check works correctly and we avoid failures. Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
2017-08-23python3: fix RDEPENDS on several recipes, due to non-existent python3 packagesAlejandro Hernandez
Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
2017-08-23python3: Restructure python3 packaging and replace it with autopackagingAlejandro Hernandez
See previous commit (python2 version) for more info, since mostly everything applies here as well. Old manifest file had several issues: - Its unorganized and hard to read and understand it for an average human being. - When a new package needs to be added, the user actually has to modify the script that creates the manifest, then call the script to create a new manifest, and then submit a patch for both the script and the manifest, so its a little convoluted. - Git complains every single time a patch is submitted to the manifest, since it violates some of its guidelines. - It changes or may change with every release of python, its impossible to know if the required files for a certain package have changed (it could have more or less dependencies), the only way of doing so would be to install and test them all one by one on separate individual images, and even then we wouldnt know if they require less dependencies, we would just know if an extra dependency is required since it would complain, lets face it, this isnt feasible. - The same thing happens for new packages, if someone wants to add a new package, its dependencies need to be checked manually one by one. Features/Fixes: - A new manifest format is used (JSON), easy to read and understand. This file is parsed by the python recipe and python packages read from here are passed directly to bitbake during parsing time. - It provides an automatic manifest creation task (explained on previous commit), which automagically checks for every package dependencies and adds them to the new manifest, hence we will have on each package exactly what that package needs to be run, providing finer granularity. - Dependencies are also checked automagically for new packages (explained on previous commit). This patch has the same features as the python2 version but it differs in the following ways: - Python3 handles precompiled bytecode files (*.pyc) differently. for this reason and since we are cross compiling, wildcards couldnt be avoided on python3 (See PEP #3147 [1]). Both the manifest and the manifest creation script handle this differently, the manifest for python3 has an extra field for cached files, which is how it lets the user install the cached files or not via : INCLUDE_PYCS = "1" on their local.conf. - Shared libraries nomenclature also changed on python3, so again, we use wildcards to deal with this issue ( See PEP #3149 [2]): - Fixes python3 manifest, python3-core should be base and everything should depend on it, hence several packages were deleted: python3-enum, re, gdbm, subprocess, signal, readline. - When building python3-native it adds as symlink to it called nativepython3, which is then isued by the create_manifest task. - Fixes [YOCTO #11513] while were at it. References: [1] https://www.python.org/dev/peps/pep-3147/ [2] https://www.python.org/dev/peps/pep-3149/ Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
2017-08-23python: Restructure python packaging and replace it with autopackagingAlejandro Hernandez
The reason we have a manifest file for python is that our goal is to keep python-core as small as posible and add other python packages only when the user needs them, hence why we split upstream python into several packages. Although our manifest file has several issues: - Its unorganized and hard to read and understand it for an average human being. - When a new package needs to be added, the user actually has to modify the script that creates the manifest, then call the script to create a new manifest, and then submit a patch for both the script and the manifest, so its a little convoluted. - Git complains every single time a patch is submitted to the manifest, since it violates some of its guidelines. - It changes or may change with every release of python, its impossible to know if the required files for a certain package have changed (it could have more or less dependencies), the only way of doing so would be to install and test them all one by one on separate individual images, and even then we wouldnt know if they require less dependencies, we would just know if an extra dependency is required since it would complain, lets face it, this isnt feasible. - The same thing happens for new packages, if someone wants to add a new package, its dependencies need to be checked manually one by one. This patch fixes those issues, while adding some additional features. Features/Fixes: - A new manifest format is used (JSON), easy to read and understand. This file is parsed by the python recipe and python packages read from here are passed directly to bitbake during parsing time. - It provides an automatic manifest creation task (explained below), which automagically checks for every package dependencies and adds them to the new manifest, hence we will have on each package exactly what that package needs to be run, providing finer granularity. - Dependencies are also checked automagically for new packages (explained below). - Fixes the manifest in the following ways: * python-core should be base and all packages should depend on it, fixes lang, string, codecs, etc. * Fixes packages with repeated files (e.g. bssdb and db, or netclient and mime, and many others). - Removes the manifest from the python-native recipe (Why was it there in the first place?, native recipes do not get split). - Sitecustomize was fixed since encoding was deprecated. - The JSON manifest file invalidates bitbake's cache, so if it changes the python package will be rebuilt. - It creates a solution for users that want precompiled bytecode files (*.pyc) INCLUDE_PYCS = "1" can be set by the user on their local.conf to include such files, some argument they get faster boot time, even when the files would be created on their first run?, but they also sometimes give a magic number error and take up space, so we leave it to the user to decide if they want them or not. - Fixes python-core dependencies, e.g. When python is run on an image, it TRIES to import everything it needs, but it doesnt necessarily fails when it doesnt find something, so even if we didnt know, we had errors like (trimmed on purpose): # trying /usr/lib/python2.7/_locale.so # trying /usr/lib/python2.7/lib-dynload/_locale.so # trying /usr/lib/python2.7/_sysconfigdata.so while it didnt complain about _locale it should have imported it, after creating a new manifest with the automated script we get: # trying /usr/lib/python2.7/lib-dynload/_locale.so dlopen("/usr/lib/python2.7/lib-dynload/_locale.so", 2); import _locale # dynamically loaded from /usr/lib/python2.7/lib-dynload/_locale.so How to use (after a new release of python, or maybe before every OE release): - A new task called create_manifest was added to the python package, which may be invoked via: $ bitbake python -c create_manifest This task runs a script on native python on our HOST system, and since the python and python-native packages come from the same source, we can use it to know the dependencies of each module as if we were doing it on an image, this script is called create_manifest.py and in a very simplistic way it does the following: 1. Reads the JSON manifest file and creates a dictionary data structure with all of our python packages, their FILES, RDEPENDS and SUMMARY. 2. Loops through all of them and runs every module listed on them asynchronously, determining every dependency that they have. 3. These module dependencies are then handled, to be able to know which packages contain those files and which should RDEPEND on one another. 4. The data structure that comes out of this, is then used to create a new manifest file which is automatically copied onto the user's python directory replacing the old one. Create_manifest script features: - Handles modules which dont exist anymore (new release for example). - Handles modules that are builtin. - Deals with modules which were not compiled (e.g. bsddb or ossaudiodev) - Deals with packages which include folders. - Deals with packages which include FILES with a wildcard. - The manifest can be constructed on a multilib environment as well. - This method works for both python modules and shared libraries used by python. How to add a new package: - If a user wants to add a new package all that has to be done is modify the python2-manifest.json file, and add the required file(s) to the FILES list, the script should handle all the rest. Real example: We want to add a web browser package, including the file webbrowser.py which at the moment is on python-misc. "webbrowser": { "files": ["${libdir}/python2.7/lib-dynload/webbrowser.py"], "rdepends": [], "summary": "Python Web Browser support"} Run bitbake python -c create_manifest and the resulting manifest should be completed after a few seconds, showing something like: "webbrowser": { "files": ["${libdir}/python2.7/webbrowser.py"], "rdepends": ["core","fcntl","io","pickle","shell","subprocess"], "summary": "Python Web Browser support"} Known errors/issues: - Some special packages are handled differently: core, misc, modules,dev, staticdev. All these should be handled manually, because they either include binaries, static libraries, include files, etc. (something that we cant import). Specifically static libraries are not not supported by this method and have to be handled by the user. - The change should be transparent to the user, other than the fact that now we CANT build python-foo (it was pretty dumb anyway, since what building python-foo actually did was building the whole python package anyway), but doing IMAGE_INSTALL_append = " python-foo" would create an image with the requested package with no issues. [YOCTO #11510] [YOCTO #11694] [YOCTO #11695] Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
2017-08-23buildhistory.bbclass: add ptestRobert Yang
The ptest log will be saved to buildhistory/ptest, we can easily get the regression result between builds by: $ git show HEAD ptest/pass.fail.skip.* [YOCTO #11547] (From OE-Core rev: dcb6cd19fb8c639cb844d116fb83827267f37421) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23testimage.bbclass: update commentsRobert Yang
It's very important to add IMAGE_CLASSES += "testimage" in local.conf firstly, otherwise the var like TEST_LOG_DIR (defined in testimage.bbclass) will not be in testdata.json. [YOCTO #11547] (From OE-Core rev: 5663ed989f0af5b1c61c74288ec421cbca2261e7) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23buildhistory.bbclass: print message when no commitRobert Yang
This makes the user easier to know how to make commit in buildhistory. [YOCTO #11547] (From OE-Core rev: 164a0bd847f02ca65dcd53ddc789690060274191) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23core/target/ssh.py: replace decode errorsRobert Yang
There might be wild strings when read from target (especially when reading ptest results), replace the errors to avoid breaking the test. Fixed: (Not always happen) $ bitbake core-image-sato -ctestimage [snip] status, output = self.target.run('ptest-runner', 0) File "/buildarea/lyang1/poky/meta/lib/oeqa/core/target/ssh.py", line 84, in run status, output = self._run(sshCmd, processTimeout, True) File "/buildarea/lyang1/poky/meta/lib/oeqa/core/target/ssh.py", line 55, in _run status, output = SSHCall(command, self.logger, timeout) File "/buildarea/lyang1/poky/meta/lib/oeqa/core/target/ssh.py", line 258, in SSHCall run() File "/buildarea/lyang1/poky/meta/lib/oeqa/core/target/ssh.py", line 236, in run output = process.communicate()[0].decode("utf-8") UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 4906: invalid continuation byte [YOCTO #11547] (From OE-Core rev: d0d2f892f0bed6adb5ec6fb59d64efcc97c83e19) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23utils/logparser.py: fix section checkRobert Yang
The section might be None or '', so use "if section" for it. Fixed: File "/buildarea/lyang1/poky/meta/lib/oeqa/utils/logparser.py", line 113, in log_as_files prefix += section TypeError: Can't convert 'NoneType' object to str implicitly [YOCTO #11547] (From OE-Core rev: 320ea01f9eb33df462534bf08488ff6ada9bbe7b) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23runtime/cases/_ptest.py: rename it to ptest.pyRobert Yang
It works now. [YOCTO #11547] (From OE-Core rev: 836393b467c3c0d53e4ace7611f991b0a5649182) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23runtime/cases/_ptest.py: add skip statusRobert Yang
The packages' test cases maybe skipped, check and save them. [YOCTO #11547] (From OE-Core rev: 5c89060e96919c9865034a0c64fde382763da71d) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23oeqa/utils/logparser.py: add skip statusRobert Yang
Some test cases maybe skipped, let's parse it. [YOCTO #11547] (From OE-Core rev: f23c0f6a5aa93d38a5ea9d450f0accff0a5cc869) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23runtime/cases/_ptest.py: revive itRobert Yang
* Make it work with current oeqa * Skip the test if ptest is not in DISTRO_FEATURES * Skip the test if ptest-pkgs is not in IMAGE_FEATURES * The logs are saved to: testimage/ptest_log -> testimage/ptest_log.<datetime> * This provides data that could be used to detect regressions in ptest results [YOCTO #11547] (From OE-Core rev: f1dfb59495db9e79441c8aa623ede7ef20045a20) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23bmap-tools: add "python-mmap" to RDEPENDSBinghua Guan
bmap-tools has run-time dependency on "python-mmp" which is missing in the RDEPENDS. "bmaptool" command in the target will fail without this patch. (From OE-Core rev: 1127154b958d0a0e167cefff4bc40dfb86e3378a) Signed-off-by: Binghua Guan <freebendy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23libva-utils: add opengl to REQUIRED_DISTRO_FEATURESJackie Huang
libva-utils depends on libva which requires opengl in DISTRO_FEATURES. (From OE-Core rev: ea03fd82b0709f8f39b77ae665bd5dbdb9a1d58a) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23bitbake: fetch2: don't mandate path element in encodeurl()Paul Eggleton
URLs do not have to have a path; currently our npm URLs don't, so encodeurl() needs to handle if the path element isn't specified. This fixes errors using OpenEmbedded's devtool add / recipetool create on an npm URL after OE-Core revision ecca596b75cfda2f798a0bdde75f4f774e23a95b that uses decodeurl() and encodeurl() to change URL parameter values. (Bitbake rev: d5cab2dbf5682d2fd08e58316a3bf39a10f63df2) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23staging: add missing import errno to staging_populate_sysroot_dirMarko, Peter
Fixes error "Exception: NameError: name 'errno' is not defined" during build-sysroots.bb:do_build_target_sysroot (From OE-Core rev: b1e482ae20b9c714f4089d4da6470d041242e441) Signed-off-by: Marko, Peter <peter.marko@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23recipetool: create: fix npm license code regressionPaul Eggleton
OE-Core commit 1df60b09f7a60427795ec828c9c7180e4e52f98c caused a regression in npm handling since it still expected to be able to get the results of the license handling, but this no longer happens until after the npm plugin is called. Thus, call the license handling function ourselves here (which will record this as having been handled so it doesn't get done again later). (From OE-Core rev: 3e408aadaea85b6f192b34d37d508cbaf3cd7164) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23recipetool: create: fix broken import in npm modulePaul Eggleton
With "import oe" in create_npm.py you get "AttributeError: module 'oe' has no attribute 'package'" when it tries to call oe.package.npm_split_package_dirs(). (From OE-Core rev: 1261900aeac725e5712e0180600753a9d4c67e60) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23bitbake: bitbake: ui: Sort 'Dependent tasks' in taskexpJussi Kukkonen
The underlying model is already sorted for use in the other view, add a sorting model for the 'Dependent Tasks' view. (Bitbake rev: 27ca94c33234f0ef9753f8285213dde2871a3fcf) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23bitbake: toaster: support custom Layer Index URL and fixture overrideDavid Reyna
Toaster needs to allow the custom fixture file to specific an alternate Layer Index URL for users that host their own Layer Index Server via the 'CUSTOM_LAYERINDEX_SERVER' in 'custom.xml'. Toaster also needs to allow the ability to completely override the default fixture files, otherwise that content can leak into the custom environment (by default the custom fixture is an overlay that cannot remove existing values from the default fixture) via the 'CUSTOM_XML_ONLY' value in 'setting.xml'. [YOCTO #11938] (Bitbake rev: ac29d4a9078494544a2627d8b6b021096b49cb34) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23bitbake: Toaster: custom start and stop actionsDavid Reyna
Toaster needs the ability to allow custom extensions to execute when Toaster is started and stopped. Toaster will look for a custom extension script in the fixtures directory and execute any applicable hooks. [YOCTO #11938] (Bitbake rev: 12a73f6914488029f2b9dd680e004fba7dde41af) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23bitbake: toaster: custom image updates and original creationDavid Reyna
When Toaster removes a package from a custom image, it must also always remove the advised reverse-dependent recipes. Similarly, when adding a package it must always add its advised the packages it depends on. This code must be un-indented so that it applies to all respective added or removed packages. Toaster normally waits until a new custom image is built before creating the custom layer and the recipe. However, an intermediate different build can fail because the recipe has already been added to the project, so the image's default recipe must be created when the image is created. [YOCTO #11915] (Bitbake rev: bcd68fd7231f166baff875fb88e4f9ce0d9bf91d) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23conf-notes.txt: add shell environment headerMing Liu
The header text has been moved to meta/conf/conf-notes.txt by: [ meta: move some text from oe-setup-builddir to conf-notes.txt ] Need do the same to meta-poky/conf/conf-notes.txt. (From meta-yocto rev: 8a9d72abcf484fbe8001a08623910c5af1be07a0) Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23linux-yocto: Drop 4.1 kernel appendsRichard Purdie
(From meta-yocto rev: ecde92624c27ebe511696b5bcfc83b21efec17d0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23poky: bump poky lsb to linux 4.9Bruce Ashfield
Due to the age of 4.1 and it being removed from oe-core master as an active kernel, we can bump poky-lsb to the newer 4.9 LTSI kernel version. (From meta-yocto rev: 1f85cc33429e9a217a11adc298e2149f2950724c) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23poky: bump preferred version of linux-yocto to 4.12Bruce Ashfield
(From meta-yocto rev: 94c457c04dcbc30e3693c157de47ddbca3ffa8c7) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23runqemu: Use virtio to mount cdrom drivesRichard Purdie
The IDE driver in the kernel is fragile and in 4.12 is causing backtraces. To unblock 4.12 kernel merging use the virtio CD driver instead to mount iso images which should be faster and more stable. (From OE-Core rev: f59e729f98ef9b506b0cfdc415567e03ec87f2a9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23oeqa/parselogs: Ignore device node warnings on mipsRichard Purdie
THe newner kernels have ope firmware support enabled which leads to warnings during boot on mips. These aren't interesting and we should ignore them. (From OE-Core rev: 4ba9a6ffb4e7f6c7eee47aa13252fd981cfe5618) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23systemd-machine-units: import last recipe from meta-systemdMartin Jansa
* this recipe is intentionally empty, but useful for BSP layers to provide machine specific systemd services in this MACHINE_ARCH package. (From OE-Core rev: 5f3dbcf71059939f1c33af7b8848eb18b311365a) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23systemd: add dependency on initscripts-sushell for selinuxJackie Huang
sushell is required by systemd service debug-shell when selinux is enabled. (From OE-Core rev: 0e4e43e2e6e4a906dfa45b9e89d179e46d593158) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23initscripts: split sushell into sub packageJackie Huang
* sushell is required by systemd service debug-shell when selinux is enabled, but it doesn't make sense to make systemd depend on initscripts, so split sushell into sub package initscripts-sushell. * The bash dependency has been removed by: ''' 4917e36a77bd6821b45db52caa43939d344d92f6 initscripts: Fix regression for requiring /bin/bash ''' so remove bash from RDEPENDS when selinux is enabled. (From OE-Core rev: 9c84ca86f396886ae68774032724b53664ecf0ed) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23linux-firmware: package ibt-firmwareMaciej Pijanowski
ibt-firmware was not packaged separately and was part of big linux-firmware package. Packaging allows to install it separately, according to requirements. (From OE-Core rev: f1414d6f9c327547023375f9e298f6f021eaee1b) Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23linux-firmware: package iwlfifi-3160-[10-17] firmwareMaciej Pijanowski
Package iwlwifi-3160-[10-17] firmware from iwlwifi-misc to seperate packages, so it is possible to install only required firmare package. (From OE-Core rev: 2a5966c957a6c2fbe914c1b3be0926ec0e62dab0) Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23valgrind: improvements for run-ptestJackie Huang
* Add statistic summary for run-ptest * Ensure the script can be run anywhere (From OE-Core rev: 8a6f5a2bc55975f38ad285ddea7122643b303c53) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23pkgconf: add recipeMaxin B. John
pkgconf is a better replacement for pkg-config. Fedora 26 replaces the system pkg-config implementation with pkgconf because it "provides better support for handling .pc files and a stable library ABI/API for integrating into applications." and is actively maintained, unlike pkg-config. pkgconf aims to offer many improvements over pkg-config such as faster/more efficient dependency resolver which "allows for the user to more conservatively link their binaries -- which may be helpful in some environments, such as when prelink(1) is being used. pkgconf also aims to provide a more complete implementation of pkg-config. The features most likely to benefit the Yocto Project build system are the faster/more efficient dependency resolution and linker flag optimisation. Move pkgconf recipe to oe-core from meta-pkgconf: https://github.com/kergoth/meta-kergoth-wip/tree/master/meta-pkgconf Links: 1. http://pkgconf.org 2. https://fedoraproject.org/wiki/Changes/pkgconf_as_system_pkg-config_implementation 3. https://bugzilla.yoctoproject.org/show_bug.cgi?id=11308 (From OE-Core rev: 879bd0ff00ebebfdeef52c3f61597d635e040aef) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23meta: move some text from oe-setup-builddir to conf-notes.txtMing Liu
This allows the end users to be able to override the entire notes showing on the shell console. For instance, Our company uses a external conf-notes.txt, and we run bitbake with some extra variables, looks like: F=xxx D=xxx M=xxx bitbake <target>, so we want to show exactly these texts on the shell console, that's why we need this change. (From OE-Core rev: 80bc8282df58dfeaae8f2f71ed2617d718e29f8b) Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23build-appliance-image: include proxy on pip3 installationLeonardo Sandoval
Otherwise, we get timeouts, leading to errors: pip._vendor.requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /pypi/pip/json (Caused by ConnectTimeoutError(<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7ff741bb3ef0>, 'Connection to pypi.python.org timed out. (connect timeout=5)')) WARNING: TOPDIR/tmp/work/qemux86-poky-linux/build-appliance-image/15.0.0-r0/temp/run.do_populate_poky_src.185123:1 exit 1 from 'pip3 install --user -I -U -v -r TOPDIR/tmp/work/qemux86-poky-linux/build-appliance-image/15.0.0-r0/rootfs/home/builder/poky/bitbake/toaster-requirements.txt' DEBUG: Python function do_image finished Complete log at [1] [1] http://errors.yoctoproject.org/Errors/Build/43393/ (From OE-Core rev: 8291156c30e54a05ad455dda2b8540a570bb0f4a) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23oe/path.py: copyhardlinktree: don't overwrite existing symlinksIoan-Adrian Ratiu
Before GNU tar 1.24, only the archive creation command had the '-h' argument to preserve and follow symlinks. After >= 1.24 via commit 14efeb9f956e38d7be (tar: --dereference consistency) the capability to preserve symlinks was also added to the archive extraction command. -h is default at archive creation but is not default at extraction, meaning that it will replace symlinks with directories even if the original filesystem directory tree and archive contains them. Add -h to the copyhardlinktree extraction step so the build can support symlinks in variables like ${DEPLOY_DIR_IPK/RPM/DEB}. (From OE-Core rev: c1b73fe26540c38086e259be6eb313e0826dceed) Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23kernel.bbclass: external toolchain fixJuro Bystricky
Refactor get_cc_option so it is simpler and also does not fail when using external toolchain. (From OE-Core rev: d4564ee59df907d1e01a3610ac88a35f9a78c1ce) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23python2.7: improve reproducibilityJuro Bystricky
The compiled .pyc files contain time stamp corresponding to the compile time. This prevents binary reproducibility. This patch allows to achieve binary reproducibility by overriding the build time stamp by the value exported via SOURCE_DATE_EPOCH. Patch by Bernhard M. Wiedemann, backported from https://github.com/python/cpython/pull/296 [YOCTO#11241] (From OE-Core rev: 2a044f1e4f5c63e11e631b31f741c7aabfa6f601) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23linux-yocto/4.10: CVE & misc fixesBruce Ashfield
Updating the 4.10 SRCREVs to import the following changes: 65370fa249e2 drm/vmwgfx: limit the number of mip levels in vmw_gb_surface_define_ioctl() 530ec12a0cb0 ACPICA: Namespace: fix operand cache leak b1098b5bbded char: lp: fix possible integer overflow in lp_setup() 56ee0c7811e5 dccp/tcp: do not inherit mc_list from parent 9f6cbd022bba nfsd: encoders mustn't use unitialized values in error cases 084036ebc243 nfsd: fix undefined behavior in nfsd4_layout_verify 973f780eeaa6 xen-blkback: don't leak stack data via response ring 20c4b5015fea brcmfmac: fix possible buffer overflow in brcmf_cfg80211_mgmt_tx() 1dff0f28b490 ipx: call ipxitf_put() in ioctl error path d666a8e60a45 mm: fix new crash in unmapped_area_topdown() 73d059ba1a17 mm: larger stack guard gap, between vmas Which address the following CVEs: CVE-2017-8890 CVE-2017-1000363 CVE-2017-11472 CVE-2017-7346 CVE-2017-1000380 CVE-2017-7541 CVE-2017-10911 (From OE-Core rev: 6cfd520ea050aa449f0ac7ee0b2c647d14d588ad) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23kernel-yocto: ensure that only valid BSPs are builtBruce Ashfield
There was a bug in the search routines responsible for locating BSP definitions which returned a valid match if only the ktype matched. This meant that someone looking for "qemux86foo" (which is an invalid definition) would potentially end up building "qemuarm" and be none the wiser (until it didn't boot). With this fix to the tools search routine, and improved return code testing, we will now stop the build and report and error to the user. [YOCTO: #11878] (From OE-Core rev: 44aea7b87307795fe4e089c51d45afccaa2f6525) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23qemu: bump default version to 4.12Bruce Ashfield
Not all the qemu machines carry default kernel specifications. While we could drop these references, we'll bump them to 4.12 to pick up the latest and remove them in future commits. (From OE-Core rev: c58df63d88a07d3275e7337f7d284b0a50db82cc) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23libc-headers: update to 4.12Bruce Ashfield
The fall 2017 kernel will have 4.12 as the reference kernel, so we update the libc-headers to match. Build tested against glibc and muslc systems. (From OE-Core rev: 4b5cce1c691e991c80d255a4900220068ff6f062) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23linux-yocto: remove 4.1 recipesBruce Ashfield
We have 4.4 and 4.9 as LTS kernels, the 4.1 variants are no longer needed and are dropped. (From OE-Core rev: 1a25cea311cbebb2af0c1a0b964208281e6026de) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23linux-yocto: introduce 4.12 recipesBruce Ashfield
The 4.12 kernel will be the default/reference for the fall 2017 release. These recipes represent the introduction of 4.12.7 + related kernel meta data. Existing functionality has been validated against this new kernel version, and older versions will be removed in separate commits. (From OE-Core rev: 4e5044bcea68f3bac3596507f0828d3cbe869df1) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23linux-yocto: add usb-net configs by defaultBruce Ashfield
As requested by QA to enable testing of linux-yocto images out of the box, we enable usb-net drivers for the various platforms in all kernel versions. (From OE-Core rev: 5322eef31c8b63ead49b2f13312d3356a016ff64) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23linux-yocto/4.1: fix fsl-ls10xx sdhciBruce Ashfield
mmc: sdhci: fix two compile errors | CC drivers/mmc/host/sdhci.o | drivers/mmc/host/sdhci.c: In function 'sdhci_execute_tuning': | drivers/mmc/host/sdhci.c:1990:4: error: implicit | declaration of function 'sdhci_do_reset' | [-Werror=implicit-function-declaration] | sdhci_do_reset(host, SDHCI_RESET_CMD); | ^ | drivers/mmc/host/sdhci.c:2006:7: error: 'struct | mmc_command' has no member named 'busy_timeout' | cmd.busy_timeout = 50; | ^ In function sdhci_execute_tuning, replace sdhci_do_reset with sdhci_reset, replace busy_timeout with cmd_timeout_ms. Commit a629a90ba0 adds eMMC DDR mode support for t2080qds and modified some data structures and function name. Later commit a2080cc280 just backport upstream commit 61e53bd004 without aligning the current source tree thus cause these build errors. Fix them. Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com> (From OE-Core rev: 538d2f0857f09ca86026d5771ea7c3fb74c0f857) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23kernel-yocto: configuration updates: x86 featuresBruce Ashfield
Integrating the following kernel configuration changes: f7fbd4185e5 features/qat: additional configurations, CONFIG_CRYPTO_RSA and CONFIG_CRYPTO_DH 50c62581d283 features/netfilter: additional configurations d67e4ed89556 features/x2apic: add X2APIC feature 7889b28c5300 features/vfio: add VFIO feature dc4ec998757e features/numa: Add NUMA feature c88c18de4ca8 features/mtd: add MTD feature 9035571d32ee features/iommu: add IOMMU feature 6f3b16136f55 features/intel-txt: add intel-txt feature 4936a5f508f0 common-pc-wifi: Enable SDIO for BroadCom BRCMFMAC (From OE-Core rev: 59d294f119dc91d9ec47b0a8381d3addc86a6e3a) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>