summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* logrotate: Add systemd supportRomain Perier2017-07-211-3/+22
| | | | | | | | | | | | | | Currently, this recipe only supports daily scheduling via a cron job. This commit adds support for systemd in the recipe, as the feature is already supported on upstream. When the corresponding distro feature is enabled the systemd variant will be used. The timer granularity and its accuracy are also configurable. (From OE-Core rev: b942d0b17cb6622b653283109307346dcfb4f205) Signed-off-by: Romain Perier <romain.perier@collabora.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* logrotate: Bump to 3.12.3Romain Perier2017-07-214-65/+37
| | | | | | | | | | | | This commit updates the recipe to the last upstream tag. Then, as the tarball no longer contains the pre-generated Makefile, inherit from autotools (From OE-Core rev: 72490b7a327867872987e63d340051c4980044b2) Signed-off-by: Romain Perier <romain.perier@collabora.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: standard: enable options for PREMIRRORS and MIRRORSChang Rebecca Swee Fun2017-07-211-0/+3
| | | | | | | | | | | | Since we have provide an option to manually enable PREMIRRORS and MIRRORS in recipetool, we need to make sure devtool is having the same options as devtool uses recipetool in creating new recipes. (From OE-Core rev: 198bddeb928a318c3ad168bcb4f83b5cd9a604fb) Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: find-recipe: enable new subcommand for devtoolChang Rebecca Swee Fun2017-07-211-4/+14
| | | | | | | | | | | | | | | | | | | devtool find-recipe will prints out the path to the recipe in a workspace. This subcommand can also help to find recipe outside of current workspace using "-a" or "--any-recipe" option. This enhancement helps developer to get the recipe path when working with devtool. [YOCTO #11434] (From OE-Core rev: 5a16b3c804c5eca331a1c08a7ce31a54909af105) Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scriptutils: pass in logger as parameterChang Rebecca Swee Fun2017-07-213-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | logger was not defined in scriptutils.py based on the observation in python traceback. Traceback (most recent call last): File "/workdir/poky/scripts/devtool", line 351, in <module> ret = main() File "/workdir/poky/scripts/devtool", line 338, in main ret = args.func(args, config, basepath, workspace) File "/workdir/poky/scripts/lib/devtool/utilcmds.py", line 55, in edit_recipe return scriptutils.run_editor(find_recipe(args, config, basepath, workspace)) File "/workdir/poky/scripts/lib/scriptutils.py", line 141, in run_editor logger.error("Execution of '%s' failed: %s" % (editor, exc)) NameError: name 'logger' is not defined We pass in logger as parameter to run_editor() from where it has been called (devtool/utilcmds.py and recipetool/newappend.py), which both modules already has logger setup. (From OE-Core rev: 21f04b61973dd9029f0e6bff5445e31cd762bf32) Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scriptutils: exit politely when no text editor availableChang Rebecca Swee Fun2017-07-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | devtool edit-recipe now has ugly tracebacks if executed without an editor available. This happens in the build containers whenever no text editor is available. subprocess.check_call will run text editing command with recipe path provided. It will wait for command to complete. If the return code was zero then return, otherwise raise CalledProcessError exception. This enhancement will suppress the traceback by catching the exception and prompt the error messages in a proper manner shown below: pokyuser@59c99c507238:/workdir/docker-dbg$ devtool edit-recipe ifupdown /bin/sh: 1: vi: not found ERROR: Execution of 'vi' failed: Command 'vi "/workdir/docker-dbg/workspace/recipes/ifupdown/ifupdown_0.8.16.bb"' returned non-zero exit status 127 [YOCTO #11434] (From OE-Core rev: c536ccfd162fc8871838fa229012c562e3f8e0d9) Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: workaround login failure on qemumips64 when 'pam' is enabledChen Qi2017-07-211-0/+3
| | | | | | | | | | | | | Append " -fno-tree-switch-conversion -fno-tree-tail-merge" to FULL_OPTIMIZATION to workaround login problem on qemumips64. Otherwise, user cannot login onto the target even username and password are provided. (From OE-Core rev: 35403ba3707c3c8dd94bcc557eef6f7c66696bc5) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ghostscript: remove legacy patch png_mak.patchKai Kang2017-07-212-33/+0
| | | | | | | | | | | | | | | | png_mak.patch was created for ghostscript 9.16 and causes make circular dependency now. Check source code base/png.mak after apply png_mak.patch: Line 77: $(MAKEDIRS) : $(pnglibconf_h) Line 83: $(pnglibconf_h) : $(PNGSRC)scripts$(D)pnglibconf.h.prebuilt $(TOP_MAKEFILES) $(MAKEDIRS) So remove png_mak.patch. (From OE-Core rev: 8a5890cc0b0a6c110edb36aec3614c3ebeb54e24) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types: use initrd from pre-sstate directoryEd Bartosh2017-07-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | mkelfImage was failing trying to use initrd from ${DEPLOY_DIR_IMAGE}: DEBUG: Python function extend_recipe_sysroot finished | DEBUG: Executing shell function do_image_elf | Cannot open `tmp/deploy/images/qemux86/core-image-minimal-qemux86.cpio.gz': No such file or directory As the images have only one deploy point it's not possible to reference something the images themselves are deploying. They need to reference it in the "pre-sstate" directory ${IMGDEPLOYDIR}, not the post sstate one ${DEPLOY_DIR_IMAGE}. Fixed by using ${IMGDEPLOYDIR} instead of ${DEPLOY_DIR_IMAGE} in mkelfImage command line. [YOCTO #11767] (From OE-Core rev: 13d675b0f8968bcfdf36035fd959be285e3da378) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lsb: add checking for chkconfig existence when creating the symbolicZhenbo Gao2017-07-211-4/+6
| | | | | | | | | | | | | remove_initd and remove_initd will be created as the symbolic file of chkconfig, which will be not existed when systemd is configured, so adding the check for the existence of chkconfig before creating the symbolic. (From OE-Core rev: 0417cc64516c47fb4daddc80e41e3f9c6ab927fc) Signed-off-by: Zhenbo Gao <zhenbo.gao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: fix calculation of partition numberEd Bartosh2017-07-211-1/+1
| | | | | | | | | | | | | | | | Total number of partitions should be taken into account when calculating real partition number for msdos partition table. The number can be different for the 4th partition: it can be 4 if there are 4 partitions in the table and 5 if there are more than 4 partitions in the table. In the latter case number 4 is occupied by extended partition. [YOCTO #11790] (From OE-Core rev: 5689139b3cd862e2df49f6b21171f513e8a46c60) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cryptodev: 1.8 -> 1.9Robert Yang2017-07-219-449/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove backported patch: - 0001-Adjust-to-another-change-in-the-user-page-API.patch - 06d6b560c6e45dc317dae47c74706fa43f4a31d8.patch - cb186f682679383e8b5806240927903730ce85d9.patch - kernel-4-10-changes.patch * Update patch: - 0001-Disable-installing-header-file-provided-by-another-p.patch * Update FILES_${PN} since there are files in bindir: /usr/bin/hmac_comp /usr/bin/cipher_comp /usr/bin/async_hmac /usr/bin/cipher-aead-srtp /usr/bin/hash_comp /usr/bin/async_speed /usr/bin/async_cipher /usr/bin/sha_speed /usr/bin/hashcrypt_speed /usr/bin/hmac /usr/bin/cipher-gcm /usr/bin/cipher /usr/bin/fullspeed /usr/bin/speed /usr/bin/cipher-aead (From OE-Core rev: 27202954ce7abda22f7e81c2d72a80f0fa7006d8) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* u-boot: Upgrade to 2017.07 releaseOtavio Salvador2017-07-214-1/+1
| | | | | | | | | | This patch upgrades the U-Boot to the 2017.07 release. (From OE-Core rev: b322e1b1cb4cd4d4cc53f868b53ca9b069772755) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix weakref spewing exceptions during interp finalizationMark Asselstine2017-07-212-0/+57
| | | | | | | | | | | | | | | | | | | When py3 applications are exiting we often see errors similar to the following: Exception ignored in: <function WeakValueDictionary.__init__.<locals>.remove at 0x7fcb56b09400> Traceback (most recent call last): File "/usr/lib64/python3.5/weakref.py", line 117, in remove TypeError: 'NoneType' object is not callable After a quick search this was found to be a well reported issue upstream and had an appropriate fix which is backported here. (From OE-Core rev: 8aaf09a916a2f66f1a6a79cbddf45390ecefde4f) Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gnome-common: Remove as deprecatedJussi Kukkonen2017-07-211-20/+0
| | | | | | | | | | | Nothing in oe-core requires gnome-common and it is also deprecated upstream: Remove it. (From OE-Core rev: 14b41d6ad6f582a229b6bd62fc4eb17f615d1ad7) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bison: reduce local pending patchesDengke Du2017-07-211-4/+5
| | | | | | | (From OE-Core rev: 119dd0889f34d88a5261383d743709db32bf3a1b) Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bluez5: update patch statusMaxin B. John2017-07-211-1/+1
| | | | | | | | | | Update the status of following patch from Pending to Accepted: a) 0001-hciattach-bcm43xx-fix-the-delay-timer-for-firmware-d.patch (From OE-Core rev: f9ccac5dd359e9b874a39cd879ea23c841085eab) Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/wget.py: improve error handling during sstate checkPatrick Ohly2017-07-211-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the sstate is accessed via HTTP, the existence check can fail due to network issues, in which case bitbake silently continues without sstate. One such network issue is an HTTP server like Python's own SimpleHTTP which closes the TCP connection despite an explicit "Keep-Alive" in the HTTP request header. The server does that without a "close" in the HTTP response header, so the socket remains in the connection cache, leading to "urlopen failed: <urlopen error [Errno 9] Bad file descriptor>" (only visible in "bitbake -D -D" output) when trying to use the cached connection again. The connection might also get closed for other reasons (proxy, timeouts, etc.), so this is something that the client should be able to handle. This is achieved by checking for the error, removing the bad connection, and letting the check_status() method try again with a new connection. It is necessary to let the second attempt fail permanently, because bad proxy setups have been observed to also lead to such broken connections. In that case, we need to abort for real after trying twice, otherwise a build would just hang forever. [YOCTO #11782] (Bitbake rev: 6fa07752bbd3ac345cd8617da49a70e0b2dd565f) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: trim build target inputDavid Reyna2017-07-211-2/+2
| | | | | | | | | | | | Trim the entered built target value so that Toaster is not confused with no real targets nor a ghost second target. [YOCTO #11727] (Bitbake rev: dd83c732b945ba6f9b7cdf66f6e88cfd15a745a0) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: set clone progress default to offDavid Reyna2017-07-212-4/+4
| | | | | | | | | | | | | | Set the clone progress to be off by default for the benefit of command line projects and 'Local Yocto' builds. For Toaster managed projects that do use the clone feature the clone progress status is already explicitly set by the existing code and thus displayed. [YOCTO #11744] (Bitbake rev: d25a3088150b2a277242027c12becdeb88c45517) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: include setscene in task progressDavid Reyna2017-07-211-3/+4
| | | | | | | | | | | | | Change the task progress counting from the task order field which excludes setscene to the task completion field which counts all completed tasks regardless of type. [YOCTO #9971] (Bitbake rev: 485b328430dcdfd0b52f09f01ebd490d09459ea3) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Update to version 1.35.0 (development version with server rework ↵Richard Purdie2017-07-212-2/+2
| | | | | | | | changes) (Bitbake rev: eef7a1a3eb0365da5ed2bc9688203fba3b6a61b5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* subversion: Upgrade 1.9.5-> 1.9.6Richard Purdie2017-07-211-2/+2
| | | | | | (From OE-Core rev: 5212d88104b7a53d4bd8bf2320aca9455099ac80) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* argparse_oe: Add int_positive typeAníbal Limón2017-07-211-0/+7
| | | | | | | | | | Sometimes only expect positive values from cmdline so it's better to filter at parsing cmdline step instead of validate later. (From OE-Core rev: 3ef5b518febd047bf90a0955fa2b9fb78ba6dde5) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe/copy_buildsystem: check_sstate_task_list also pop BBPATH from envAníbal Limón2017-07-211-0/+1
| | | | | | | | | | | | | | | | | | | | | The BBPATH environment could be set and can make a failure when try to build an extensible sdk because it will look the bitbake.lock file in the original build folder. Example: $ export BBPATH=`pwd` $ bitbake core-image-minimal -c populate_sdk_ext ERROR: bitbake failed: ERROR: Only one copy of bitbake should be run against a build directory ERROR: core-image-minimal-1.0-r0 do_populate_sdk_ext: Function failed: copy_buildsystem (From OE-Core rev: 33634b4c38d84e1c5d06056766933f1fe4f47e8d) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/{context,case}: Handle KeyboardInterrupt/SIGINT and SIGTERMAníbal Limón2017-07-212-46/+97
| | | | | | | | | | | | | In order to avoid corrupt local.conf and bblayers.conf adds signal handler for SIGTERM and use try/finally (KeyboardIntrrupt) block to restore previously backuped configuration. [YOCTO #11650] (From OE-Core rev: 9419c81e69d2facc82e39c846466670c09e6b444) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/cases/package: Call parent setUpClass methodAníbal Limón2017-07-211-0/+2
| | | | | | | | | | Since config paths are now passed in Test context the setUpClass method is expected to be call. (From OE-Core rev: 7281c995ff2b009c3fb23c7af1d91fe106ca8f87) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/loader: Generate function _make_failed_test dynamicallyAníbal Limón2017-07-211-13/+12
| | | | | | | | | | | | | | | | | | | | | | Python versions has different features from branches 3.4.x, 3.5.x and 3.6.x, i expected in wrong mode that was incremental for example changes in 3.4.4 be in 3.5.x but that's not true. The _make_failed_test internal method differs and is only available in certain versions >= 3.4.4 and in 3.5.x and 3.6.x branches but not realeses have been made including it. So to avoid futher problems inspect the _make_failed_test and generates function definition according what parameters are needed, the unique supossition is that exception argument is always passed. Related to, http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=d8380d098a290510b442a7abd2dd5a50cabf5844 (From OE-Core rev: b4740d2b325a80bcecc5e56dff9add9081fcd31b) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/eSDK: Ignore errors during directory cleanupRichard Purdie2017-07-211-1/+1
| | | | | | | | | | | | | | | The cleanup can fail with: ERROR [0.000s]: tearDownClass (eSDK.oeSDKExtSelfTest) FileNotFoundError: [Errno 2] No such file or directory: 'bitbake.sock' which is due to bitbake taking a small amount of time to shut down the server. The easiest fix is just to ignore these kinds of errors, bitbake shouldn't create any new files during shutdown. (From OE-Core rev: 68009f4eb323e07cec8c4421d546bd3125dec033) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: Setup logging before calling prepareRichard Purdie2017-07-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids test failures like: ====================================================================== ERROR [0.946s]: test_recipetool_load_plugin (recipetool.RecipetoolTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/recipetool.py", line 514, in test_recipetool_load_plugin with open(srcfile) as fh: FileNotFoundError: [Errno 2] No such file or directory: 'NOTE: Starting bitbake server...\n/media/build1/poky/meta-selftest/lib/recipetool/bbpath.py' INFO - ---------------------------------------------------------------------- which comes from: $ recipetool --quiet pluginfile NOTE: Starting bitbake server... /media/build1/poky/meta-selftest/lib/recipetool/bbpath.py since there is corruption in the output despite the --quiet option. Setting the logging up before calling tinfoil.prepare() resolves this. (From OE-Core rev: e124eb73e6a66abbf43dffd82b834e906163614b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: Setup logging before calling prepareRichard Purdie2017-07-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This avoids test failures like: INFO - ====================================================================== INFO - FAIL [1.755s]: test_devtool_layer_plugins (devtool.DevtoolTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/devtool.py", line 1354, in test_devtool_layer_plugins self.assertEqual(result.output, s[::-1]) AssertionError: "NOTE: Starting bitbake server...\noY senu[36 chars]rciM" != "oY senuZ s'enoynA morF tiforP oN edaM tfosorciM" - NOTE: Starting bitbake server... oY senuZ s'enoynA morF tiforP oN edaM tfosorciM INFO - ---------------------------------------------------------------------- since there is corruption in the output. Setting the logging up before calling tinfoil.prepare() resolves this. (From OE-Core rev: 3c479fb17ae4d3e7e5f0889af0f68257ef66475c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: Setup logging before calling prepareRichard Purdie2017-07-211-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | This avoids test failures like: INFO - ====================================================================== INFO - FAIL [1.046s]: test_find_path (pkgdata.OePkgdataUtilTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/pkgdata.py", line 50, in test_find_path self.assertEqual(result.output, 'zlib: /lib/libz.so.1') AssertionError: 'NOTE: Starting bitbake server...\nzlib: /lib/libz.so.1' != 'zlib: /lib/libz.so.1' - NOTE: Starting bitbake server... zlib: /lib/libz.so.1 INFO - ---------------------------------------------------------------------- since there is corruption in the output. Setting the logging up before calling tinfoil.prepare() resolves this. (From OE-Core rev: 39c1bf1feccc8dca57160a1e3cd8a50e8c30ef02) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: refactor code for ensuring npm is availablePaul Eggleton2017-07-214-79/+34
| | | | | | | | | | | | | | | | | | | Across devtool and recipetool we had an ugly set of code for ensuring that we can call an npm binary, and much of that ugliness was a result of not being able to run build tasks when tinfoil was active - if recipetool found that npm was required and we didn't know beforehand (e.g. we're fetching from a plain git repository as opposed to an npm:// URL where it's obvious) then it had to exit and return a special result code, so that devtool knew it needed to build nodejs-native and then call recipetool again. Now that we are using real build tasks to fetch and unpack, we can drop most of this and move the code to the one place where it's still needed (i.e. create_npm where we potentially have to deal with node.js code in a plain source repository). (From OE-Core rev: 8450de16ddb02d863204b411a94c6d84e0f88817) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/base: set do_unpack dependencies for rpm filesPaul Eggleton2017-07-211-2/+2
| | | | | | | | | | | | | If we're unpacking any rpm (not just .src.rpm) then we'll need to call rpm2cpio.sh. As of OE-Core rev a7da1aade118d1ccf1b286f82556cd9f706bd2a4 that script no longer uses file-native, but there is a chance that the rpm file will be compressed internally using xz (for example, rpms from Fedora) and therefore the script will need xzcat provided xz-native. (From OE-Core rev: 2f31f1795bc0c85b1646bc7d9596bbe778cb84e5) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: reimplement fetching with normal fetch/unpack tasksPaul Eggleton2017-07-214-65/+153
| | | | | | | | | | | | | | | | | | | | Now that we have the ability to run the tasks in a more standard context through tinfoil, change recipetool's fetching code to use that to fetch files using it. This has the major advantage that any dependencies of do_fetch and do_unpack (e.g. for subversion or npm) will be handled automatically. This also has the beneficial side-effect of fixing a recent regression that prevented this fetch operation from working with memory resident bitbake. Also fix devtool's usage of fetch_uri() at the same time so that we can completely replace it. Fixes [YOCTO #11710]. (From OE-Core rev: 9a47a6690052ef943c0d4760630ee630fb012153) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: eliminate second fetch for packagesPaul Eggleton2017-07-211-15/+6
| | | | | | | | | | | | | When dealing with package files (.rpm, .ipk etc.) we need to unpack them ourselves to get the metadata, which is thrown away when the fetcher unpacks them. However, since we've already fetched the file once, I'm not sure as to why I thought I needed to fetch it again - we can just get the local path and then unpack it directly. (From OE-Core rev: be45e9b17e9dbc8c2594d3a939be377ab0720a7c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: ensure meaningful error for malformed tarballsPaul Eggleton2017-07-211-4/+18
| | | | | | | | | | | | | | | | | | | If you pointed recipetool at a URL that should be a tarball e.g. https://tls.mbed.org/download/start/mbedtls-2.4.2-apache.tgz but instead it returns an HTML page, we try to unpack it, gzip complains but the operation doesn't seem to fail - instead we just get back an empty source tree. Change the checks to account for this - if the source tree is empty, check if the downloaded file in DL_DIR looks like an HTML file and error accordingly if it is. If it's not, error out anyway because no source was unpacked and it should have been (otherwise we just blindly set up EXTERNALSRC for this which is pointless). Fixes an aspect of [YOCTO #11407]. (From OE-Core rev: 8496113b63d5a5d1f99056610c0fdb972a6200d4) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: extract: refactor kern-tools-native handlingPaul Eggleton2017-07-211-32/+5
| | | | | | | | | | | | When extracting linux-yocto kernel source, we don't need to dance around shutting down and starting up tinfoil anymore, we can just execute the tasks as needed when needed using tinfoil's new build_targets() function. This allows us to tidy up the code structure a bit. (From OE-Core rev: 5c7f5031023fb74b5f2f26d6b3c829981f2f54d2) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/staging: change fixme debug message from note to debugPaul Eggleton2017-07-211-1/+1
| | | | | | | | | | | | | | These messages were added for debugging during the recipe specific sysroot work. They may still be useful but they don't need to be notes - if they are they show up in recipetool / devtool output when fetching source. (From OE-Core rev: a0e93d5c5dcf59d1898a3db727a5ab2d75e3d20e) (From OE-Core rev: bc1a4af950a2600028d89b7dcb4ff8f409b52739) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-init-build-env-memres: Drop itRichard Purdie2017-07-214-101/+1
| | | | | | | | | | | | | | With the new server structure we no longer need this separate environment init script. Just set BB_SERVER_TIMEOUT to be greater than zero and bitbake will remain in memory and the UI will auto-reconnect to it. Also clean out the old shutdown code from oe-init-build-env which also doesn't make sense now. (From OE-Core rev: a17724d687f9c04dc21f2f369da2b492f7119ba0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* conf/sanity: Update minimum bitbake verison to 1.35.0 for server reworkRichard Purdie2017-07-211-1/+1
| | | | | | (From OE-Core rev: b63fcffe8b6a3f94d4812cd03fb974e173eff3e5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: fire an event when there are missing checksumsPaul Eggleton2017-07-211-0/+10
| | | | | | | | | | | If BB_STRICT_CHECKSUMS is set to anything other than "1" i.e. we're not going to raise an error, then fire an event so that scripts can listen for it and get the checksums. (Bitbake rev: 8b2ccb4b865f2df118ef668847df682a83f9c500) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: allow hiding checksum warningPaul Eggleton2017-07-211-0/+6
| | | | | | | | | | | | | If BB_STRICT_CHECKSUMS is set to "ignore" then don't display a warning if no checksums are specified in the recipe. This is not intended to be used from recipes - it is needed when we move to using more standard code paths to fetch new files from scripts i.e. where we don't know what the checksums are in advance. (Bitbake rev: f15ca7339de8a448a93a14cf6130b3925178a920) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tinfoil: add more doc commentsPaul Eggleton2017-07-211-0/+65
| | | | | | | | | | We want this API to be easier to use, so add missing function documentation to help with that. (Bitbake rev: 3e0e002d6497caa987f327cd83ad4db82cca6810) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tinfoil: add simple API for getting cached recipe informationPaul Eggleton2017-07-211-0/+142
| | | | | | | | | | | | | | | | | | | | | A common task for tinfoil-using scripts is to iterate over all recipes. This isn't too difficult with the current API, but the pkg_* variables are a little awkward and are really designed for bitbake's internal usage - and it gets a bit more difficult when you want to access some of the other information such as packages and rprovides. To resolve this, create a new recipe info class and add an all_recipes() function to generate this for all recipes. Also add a get_recipe_info() function to get the information for a specific recipe (by PN). (It might perhaps be suggested that we already have a structure similar to this in the cache, however the one we add here is designed for external use and allows the internal structures to change if needed without affecting the API). (Bitbake rev: 308994028e59735ca726c5d2c1f0f85baccfe89d) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tinfoil: enable access to additional cached itemsPaul Eggleton2017-07-212-0/+40
| | | | | | | | | | | Add access to fn_provides, packages, packages_dynamic and rproviders on the recipecache object. This requires an additional corresponding command plumbing to be added. (Bitbake rev: 3df9b7c615174a6557581f3cd157842a28f6bb26) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tinfoil: add functionality for running full buildsPaul Eggleton2017-07-211-0/+154
| | | | | | | | | | | | | | | | Up to this point, if you wanted to run build tasks in the normal way they get run from a python script, there was no other way than to shell out to bitbake. Worse than that, you couldn't have tinfoil active during that because only one bitbake instance could be running at once. As long as we're prepared to handle the events produced, we can create a wrapper around calling the buildTargets command. Borrow code from knotty to do this in such a way that we get the expected running task display (courtesy of TermFilter) and Ctrl+C handling. (Bitbake rev: 43761eee756be52a1021be53a40dc591a6c35fa7) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: knotty: make it possible to use termfilter without either consolePaul Eggleton2017-07-211-2/+4
| | | | | | | | | | | This isn't useful for knotty itself, but for use from tinfoil in case we can't get access to either the console or errconsole, allow either to be unspecified (None). (Bitbake rev: 7544de437fc66b81502ecdb5db859182c45827cb) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: lib/bb/ui/uihelper: indicate to caller of eventHandler() if events ↵Paul Eggleton2017-07-211-0/+3
| | | | | | | | | | | | handled It is useful for the caller to know whether the uihelper has handled the event passed so that it can skip other event handling code if so. (Bitbake rev: be498abfbbb19bdd31e5b53713a74049007e3737) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: lib/bb/event: refactor printing eventsPaul Eggleton2017-07-217-71/+53
| | | | | | | | | | | | We really ought to have just one place where the string representation of these events is produced. This doesn't take any real control away from the UI - if an alternative representation is desired, that can still be made. (Bitbake rev: cb15db2a799be6d8eab9a2a43a9a573f89229cff) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>