summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
...
* libc-package.bbclass: Correct a few paths for when usrmerge is usedPeter Kjellerstedt2019-02-191-3/+3
| | | | | | | (From OE-Core rev: a880377cd67b65101bf95e8dbad6221f498e38ef) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* clutter-gtk-1.0: convert to mesonAlexander Kanavin2019-02-191-1/+2
| | | | | | | | | | | This required adding an option to control gobject introspection via a custom patch, and tweaking clutter.bbclass to not enforce autotools. (From OE-Core rev: 9b9c12268bf9365101da4a985f70c06740dfeb8f) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage.bbclass: Fix the dependency issue while generating ↵Manjukumar Matha2019-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | fitimage_initramfs When building fitimage_initramfs, the correct depedency is to build after do_bundle_initramfs. We can run into the following dependency issue DEBUG: Python function extend_recipe_sysroot finished DEBUG: Executing shell function do_assemble_fitimage_initramfs aarch64-xilinx-linux-objcopy: 'vmlinux': No such file This happens because initramfs renames vmlinux to vmlinux.bak while generating vmlinux.initramfs, there is a chance that fitimage_initramfs can also start during this process and create the above issue. This patch resolve the dependency issue by running fitimage_initramfs task after do_bundle_initramfs (From OE-Core rev: 8f0bece39a634fce5bd882cbd9e289ea905a0b17) Signed-off-by: Varalaxmi Bingi<varalaxm@xilinx.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* native: Enable RDEPENDS handlingRichard Purdie2019-02-171-0/+3
| | | | | | | | | | | | | | | | Native recipes don't currently honour their RDEPENDS. In the case of some python scripts this has started causing problems since whilst they're not needed at build time (DEPENDS), they are needed at runtime. We put off making this change due to circular dependency issues. I believe the three such problems in OE-Core are now fixed, as is the dependency loop identfication code in bitbake so its time to improve this situation. [YOCTO #10113] (From OE-Core rev: c62520b63284927e177831c351fafa4d2768cb1f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Rework debug source file handlingRichard Purdie2019-02-171-23/+27
| | | | | | | | | | | | | | | | | Currently we parallel process the files we install running dwarfsrcfiles over each one in parallel threads but requiring a lock to write the results to one file. This is not ideal for performance and means we can't then use per file data for other purposes such as source code license processing. Rework the code so that the list of source files is generated per installed file and is reusable. The code still generates a null separated debugsources.list file since this is used by a shell pipeline but it no longer needs locking. (From OE-Core rev: 95de93988eb725c14102f642ebabff3920ae194f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson.bbclass: point to llvm-configAnuj Mittal2019-02-151-0/+1
| | | | | | | | | | Allow packages using llvm-config to find it using meson's dependency interface. (From OE-Core rev: e2e733c813e1eabaaff795a30b82e703dfeecfe7) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/license_image.bbclass: Fix rootfs license file permissionsJoshua Watt2019-02-151-3/+9
| | | | | | | | | | | | | | Fixes up the permissions on the license files when they are put on the target file system so that they are readable by everyone. Previously, they would have inherited whatever permissions the file had in the recipe, which may not have been appropriate. [YOCTO #13175] (From OE-Core rev: 8190d192fceb9b0969385507d3d4bca7be75c810) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: Check BuildStarted for HOSTTOOLSRobert Yang2019-02-151-0/+6
| | | | | | | | | | | | | | | | | | | | | | | There might be no bb.event.ConfigParsed event if bitbake server is running, so check bb.event.BuildStarted too to make sure HOSTTOOLS_DIR exists. Fixed: $ export BB_SERVER_TIMEOUT=-1 $ bitbake quilt-native $ rm -fr tmp $ bitbake quilt-native ERROR: Error running gcc --version: /bin/sh: gcc: command not found This error is caused by enable_uninative(), it runs twice (ConfigParsed and BuildStarted), the error would happen when there is no ConfigParsed event (no hosttools is created), but BuildStarted. This patch can fix the problem. [YOCTO #13022] (From OE-Core rev: da798db0a48282e3d4f58890a7aec42c3deff0b8) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types.bbclass: Set memory usage limit and CPU threads for xzKhem Raj2019-02-143-4/+3
| | | | | | | | | | | | | | | | | | | | when building with opkg backend and huge packages e.g. chromium/llvm all going in parallel, memory pressure causes xz to catapult with do_package_write_ipk: Failed to create package, opkg-build failed with: xz: (stdin): Cannot allocate memory since there are many tasks going on in parallel, xz adds to memory pressure and it wants it all, put an upper limit for memory xz can use We add a variable XZ_MAXRAM with 30% of RAM limit and can be customized if builders have more memory one can set it like XZ_DEFAULTS = "-M 0 -T 0" (From OE-Core rev: 28b277a93a34bba033d9d0d9f3227c9453efd384) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types: add base64 conversionSilvio Fricke2019-02-121-1/+3
| | | | | | | | | Sometimes it is useful to have a base64 representation of an image. (From OE-Core rev: 9d00b146c4125b195fac5a0743fe7d8e59edef7f) Signed-off-by: Silvio Fricke <silvio.fricke@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: upgrade to 3.7.2Alexander Kanavin2019-02-082-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | I took the same approach as the recent perl upgrade: write recipe from scratch, taking the pieces from the old recipe only when they were proven to be necessary. The pgo, manifest and ptest features are all preserved. New features: - native and target recipes are now unified into one recipe - check_build_completeness.py runs right after do_compile() and verifies that all optional modules have been built (a notorious source of regressions) - a new approach to sysconfig.py and distutils/sysconfig.py returning values appropriate for native or target builds: we copy the configuration file to a separate folder, add that folder to sys.path (through environment variable that differs between native and target builds), and point python to the file through another environment variable. There were a few other patches where it was difficult to decide if the patch is still relevant, and how to test that it works correctly; please add those as-needed by testing the new python. (From OE-Core rev: 02714c105426b0d687620913c1a7401b386428b6) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* archiver/package_rpm: Fix the worst src.rpm generation raceRichard Purdie2019-02-062-1/+7
| | | | | | | | | | | | | | | | The package_rpm code is writing outside the task's sstate directory into the sstate of do_deploy_archives. This is "out of spec" since if the task is installed from sstate, the files are not restored. This means the files may appear/disappear, things are not deterministic and there are races. Extend the do_package_write_rpm code to handle writing the src.rpm into place to avoid these issues. There are other problems but this avoids races around this file. (From OE-Core rev: c6e151ba7fe0f14044537cf0ab2cac436f1496e3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-alternatives: correctly escape PATHs when updating FILES_${PN}André Draszik2019-02-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The recently added support for updating FILES based on the file renames that are happening here is using a regex replace, but failed to properly escape the search pattern (the full path). This manifests itself in FILES not being updated as soon as the full path contains any character that has a special meaning, e.g. '+'. In other words an original path (alt_target in the code) like /opt/poky/2.6+snapshot/sysroots/i686-pokysdk-linux/sbin/losetup can't be matched, and hence we fail to update FILES with the new value, causing packaging errors. Fix by using re.escape() on the original path before passing into re.sub() Fixes: 5c23fe378732 ("update-alternatives: try to update FILES_${PN} when renaming a file"), or bcb3e7b7f88a in poky.git [YOCTO #13058] (From OE-Core rev: 126743162397e4145902b3f127f2dafd80a8a49b) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_rpm/archiver: Apply bandaid to src.rpm creationRichard Purdie2019-02-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | error: create archive failed on file /media/build1/poky/build/tmp/work/all-poky-linux/xcursor-transparent-theme/0.1.1+gitAUTOINC+23c8af5ba4-r0/deploy-sources/allarch-poky-linux/xcursor-transparent-theme-0.1.1+gitAUTOINC+23c8af5ba4-r0/xcursor-transparent-theme-0.1.1+git0+23c8af5ba4-r0.src.rpm: cpio: read failed - No such file or directory | Building target platforms: noarch-poky-linux | Building for target noarch-poky-linux This is caused by: $ cat log.task_order do_cleansstate (24289): log.do_cleansstate.24289 do_deploy_archives_setscene (24395): log.do_deploy_archives_setscene.24395 do_fetch (24407): log.do_fetch.24407 [..] do_package_write_rpm (25448): log.do_package_write_rpm.25448 do_package_qa (25451): log.do_package_qa.25451 So do_deploy_archives can run from sstate, created a .src.rpm in WORKDIR/deploy-sources, then it was removed when rpm was running. This leads to a broken Source line in the spec file as the original file was found by the os.listdir(). This fix is just a bandaid over much more fundamental problems sadly. (From OE-Core rev: a10020ace4c3cd863c782760f7cbecea557ec6e7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-alternatives: try to update FILES_${PN} when renaming a fileAndré Draszik2019-02-021-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using update-alternatives, FILES_${PN} must be referencing the new name after update-alternatives has renamed files. This is more or less OK when having static lists of files to be packaged into a package, but makes it quite hard to dynamically generate FILES_${PN}, e.g. using do_split_packages(), as in that case we can not easily modify what goes into FILES_${PN}, because that list is based on filenames as seen at the time do_split_packages() is executing. Of couse one could explicitly specify the (renamed) file(s) in the recipe, but that contradicts the intended usage of do_split_packages(). Instead, if FILES_${PN} contains the file name as it was pre renaming, we here modify this to reflect the new name. This will allow usage of do_split_packages() to populate FILES_${PN}. [YOCTO #13058] (From OE-Core rev: 5c23fe378732038643a450cbf916334d24764b70) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-alternatives: convert file renames to PACKAGE_PREPROCESS_FUNCSAndré Draszik2019-02-021-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the moment, the update-alternatives file renaming is happening right after copying into PKGD during packaging time using an _append OVERRIDE to the copy function perform_packagecopy(). This is not really readable and hard to maintain. Additionally, this makes it impossible to e.g. populate PACKAGES dynamically using do_split_packages() and still do update-alternatives - update-alternatives file renaming requires the PACKAGES variable to have been fully populated to work correctly. On the other hand, do_split_packages() can only execute after perform_packagecopy(), as it needs PKGD populated; so it's impossible to insert do_split_packages() early enough in a deterministic way in this use-case. As there doesn't seem to be a reason not to, convert this to a proper function and use PACKAGE_PREPROCESS_FUNCS instead - after all, that's what this is meant for. No other classes or recipes in oe-core or meta-openembededd seem to have a hard requirement on update-alterantives executing before any other PACKAGE_PREPROCESS_FUNCS, so this should be perfectly fine. The only implication is that if compress_doc is inherited, compressed man-page file names will end up being, e.g. eject.1.util-linux.gz or eject.1.gz.util-linux based on the include of compress_doc.bbclass vs. update-alternatives.bbclass order, but the symlink created (alternative name) will always be correct. This solves both problems: * the code is easier to read / follow * the above described use-case can be accomodated easily [YOCTO #13058] (From OE-Core rev: 8c3db2fa735e5933f842f80321bb3ed38753812d) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pixbufcache.bbclass: remove a dependency loop introduced by enabling ↵Alexander Kanavin2019-01-281-1/+1
| | | | | | | | | gtk+3-native (From OE-Core rev: f99921554fddef82eb80568125aa646a27859a4b) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/icecc: Add ICECC_REMOTE_CPP variableJoshua Watt2019-01-281-0/+3
| | | | | | | | | | Newer versions of Icecream (1.2) add support for remotely pre-processing files, controllable with the ICECC_REMOTE_CPP environment variable. (From OE-Core rev: 8fe6728536bbee814c421afbbaa2022e0da0f65c) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Change default debug split to make separate source packagesJoshua Watt2019-01-281-1/+1
| | | | | | | | | | | | | Changes the default PACKAGE_DEBUG_SPLIT_STYLE to generate separate source and debug packages. SDKIMAGE_FEATURES is updated to include the source packages so that there is not change for the SDK contents. [YOCTO #12931] (From OE-Core rev: 8df14b678e44cc749b361224af05ccbcfa9ae9b5) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Add pkg_postinst_ontarget to PACKAGEVARSRichard Purdie2019-01-261-1/+1
| | | | | | | | | | | Changes to pkg_postinst_ontarget were not triggering rebuilds, this fixes that. [YOCTO #13127] (From OE-Core rev: 432d5a5481bd8efb848b95fbe6500a72fba9ac65) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* native.bbclass/cross.bbclass: No strip sysroot when DEBUG_BUILDRobert Yang2019-01-262-0/+6
| | | | | | | | | | This makes dbg work for native tools, and makes debug native tools problem easier, otherwise, there is no symbol since trippped. (From OE-Core rev: 1d903485da26fec991b4a940182e32934220e19b) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage.bbclass: add support for passing runqemu paramsAlexander Kanavin2019-01-261-1/+3
| | | | | | | | | This is particularly useful when setting up GL tests. (From OE-Core rev: 167a46775059b782c6f82ce8c5a47b27262e95d4) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fontcache: fix postinst for nativesdk caseAlexander Kanavin2019-01-261-0/+1
| | | | | | | | | | Both installing the binary into the correct place, and passing that place to postinst_intercept were missing. (From OE-Core rev: 9ac7415464b7817aa5cc0c2167ff61f4344660dd) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* packagegroup.bbclass: Set INHIBIT_DEFAULT_DEPSRobert Yang2019-01-241-0/+2
| | | | | | | | | It doesn't need them since no compile happens. (From OE-Core rev: c08478c06d541086bd358c318fce213910c7312d) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: make sure changes to SSTATE_SCAN_FILES are not ignoredAlexander Kanavin2019-01-241-0/+1
| | | | | | | | | | | | | When changing the SSTATE_SCAN_FILES variable in a recipe it doesn't cause a rebuild, so if there's a sstate-cache available with "bad" sstate data in it that will still be used even though the recipe is updated to address this. [YOCTO #13144] (From OE-Core rev: ea3526961920a229e0bb5fb459952be89fce2255) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* remove unused distutils-tools.bbclassAndreas Müller2019-01-231-73/+0
| | | | | | | | | | * As far as I can see nothing uses it * From commit history it seems distutils-tools came in accidentally (From OE-Core rev: a4edfa4cf451bf412525887b5b24b9db6486ae97) Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_base: Add src-pkgs to COMPLEMENTARY_GLOBJoshua Watt2019-01-221-0/+1
| | | | | | | | | | | | Add a COMPLEMENTARY_GLOB for source packages (*-src) so that they can be included when PACKAGE_DEBUG_SPLIT_STYLE is "debug-with-srcpkg" [YOCTO #12931] (From OE-Core rev: d6d2175032c6c950a0d8d63dad0734e1a9f80e12) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/sstate: Update output hashJoshua Watt2019-01-221-62/+3
| | | | | | | | | | | | | | | | | Updates the output hash calculation for determining if tasks are equivalent. The new algorithm does the following based on feedback: 1) The output hash function was moved to the OE library. 2) All files are printed in a single line tabular format 3) Prints the file type and mode in a user-friendly ls-like format 4) Includes the file owner and group (by name, not ID). These are only included if the task is run under pseudo since that is the only time they can be consistently determined. 5) File size is included for regular files (From OE-Core rev: 4bd297dfe92851f3b44f6b5560bac9d8f9ccf9f2) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* musl,glibc,newlib: Drop redundant STAGINGCCKhem Raj2019-01-211-2/+0
| | | | | | | | | We do not have initial phase of bootstrapping toolchains anymore (From OE-Core rev: 75a2c15bbabf4df14631c822b20ce6d31098a5c8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* extrausers.bbclass: Suggest to use IMAGE_CLASSES rather than INHERITPeter Kjellerstedt2019-01-181-9/+8
| | | | | | | | | | | | | Since this class is only useful for image recipes, it is better to suggest adding it via IMAGE_CLASSES instead of INHERIT in the example. Also make the example a bit more readable by indenting the variable values. (From OE-Core rev: ee91a464f2cad6b3801e18fee28e639e1c957d41) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: remove dependencies of SSTATE_EXTRAPATHWILDCARDRobert Yang2019-01-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | There might be do_cleansstate errors sometimes: ERROR: When reparsing /path/to/meta/recipes-devtools/quilt/quilt-native_0.65.bb.do_cleansstate, the basehash value changed from b4dbcb956a32ed4c3f58b7971717907bfc03bb21f3b140fa97f7765ee695f4d0 to c8307418a671686349b73efbd51c5c82c897a88707a759ddb22fd95baa5df2ba. The metadata is not deterministic and this needs to be fixed. The stable reproducer is: - Initial a fresh build, this is a must, otherwise we may can't reproduce it $ . oe-init-build-env build $ bitbake quilt-native -ccleansstate This is because uninative.bbclass resets NATIVELSBSTRING from distro (e.g., ubuntu) to universal, remove dependencies of SSTATE_EXTRAPATHWILDCARD as SSTATE_EXTRAPATH did can fix the problem. (From OE-Core rev: 781117f9f02c0080dadc8797a8f8f9377a99b164) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/compress_doc: add missing import subprocessAndré Draszik2019-01-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enabling compress_doc gives the following stack trace: File: 'exec_python_func() autogenerated', lineno: 2, function: <module> 0001: *** 0002:package_do_compress_doc(d) 0003: File: '/scratch/yocto/swupd.bb/poky/meta/classes/compress_doc.bbclass', lineno: 50, function: package_do_compress_doc 0046: mandir = os.path.abspath(dvar + os.sep + d.getVar("mandir")) 0047: if os.path.exists(mandir): 0048: # Decompress doc files which format is not compress_mode 0049: decompress_doc(mandir, compress_mode, decompress_cmds) *** 0050: compress_doc(mandir, compress_mode, compress_cmds) 0051: 0052: infodir = os.path.abspath(dvar + os.sep + d.getVar("infodir")) 0053: if os.path.exists(infodir): 0054: # Decompress doc files which format is not compress_mode File: '/scratch/yocto/swupd.bb/poky/meta/classes/compress_doc.bbclass', lineno: 180, function: compress_doc 0176: _collect_hardlink(hardlink_dict, file) 0177: # Normal file 0178: elif os.path.isfile(file): 0179: cmd = "%s %s" % (compress_cmds[compress_mode], file) *** 0180: (retval, output) = subprocess.getstatusoutput(cmd) 0181: if retval: 0182: bb.warn("compress failed %s (cmd was %s)%s" % (retval, cmd, ":\n%s" % output if output else "")) 0183: continue 0184: bb.note('compress file %s' % file) Exception: NameError: name 'subprocess' is not defined Fix by adding the missing import in two places. (From OE-Core rev: 539f65d2533a277233d83d085cb78bdf56a6e16c) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Fix python code quoting issuesRichard Purdie2019-01-163-3/+3
| | | | | | | | | | | python 3.8 will be stricter about python quoting. Fix up several misquoted expressions and fix Deprecation warnings like: Var <do_compile>:1: DeprecationWarning: invalid escape sequence \$ (From OE-Core rev: 3ba6cee84de89f8eb200e4c93d446f6cdeeaa4be) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Fix Deprecated warnings from regexsRichard Purdie2019-01-166-30/+30
| | | | | | | | | | | | | | | | | | | | Fix handling of escape characters in regexs and hence fix python Deprecation warnings which will be problematic in python 3.8. Note that some show up as: """ meta/classes/package.bbclass:1293: DeprecationWarning: invalid escape sequence \.   """ where the problem isn't on 1293 in package.bbclass but in some _prepend to a package.bbclass function in a different file like mesa.inc, often from do_package_split() calls. (From OE-Core rev: 4b1c0c7d5525fc4cea9e0f02ec54e92a6fbc6199) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: display modified git branchesAndré Draszik2019-01-141-2/+19
| | | | | | | | | | | | | | When collecting the git revision of repositories, also take note of whether or not that repository has uncommited changes. This makes it a bit clearer what went on when looking at diffs. (From OE-Core rev: b9d780c7eeda0fefb13edde8bdba4f1d91e7823c) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: remove True option to getVar calls (again)André Draszik2019-01-144-6/+6
| | | | | | | | | | | | | | | | A couple have still been missed in the past despite multiple attempts at doing so (or simply have re-appeared?). Search & replace made using the following command: sed -e 's|\(d\.getVar \?\)( \?\([^,()]*\), \?True)|\1(\2)|g' \ -i $(git grep -E 'getVar ?\( ?([^,()]*), ?True\)' \ | cut -d':' -f1 \ | sort -u) (From OE-Core rev: 9f551d588693328e4d99d33be94f26684eafcaba) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Make package output files more deterministicJacob Kroon2019-01-141-6/+6
| | | | | | | | | | | | | | | | | | | | | | | Observing depsig.do_package for packages inbetween rebuilds indicated that the following variables/files content was changing order randomly. Make them deterministic by sorting the output: RDEPENDS_<pkg> RRECOMMENDS_<pkg> FILERDEPENDSFLIST_<pkg> packages-split/<pkg>.shlibdeps The following variable was not observed to change, but it is assumed that the same situation can occur, so do the same sorting for consistency: FILERPROVIDESFLIST_<pkg> (From OE-Core rev: c99cb0bbb78089d1d15c4c8563a71db0df1cb0da) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake.bbclass: Make it work with ccacheRobert Yang2019-01-141-6/+15
| | | | | | | | | | | | | | | | This can make the following recipes work with cmake: cmake libdnf libcomps librepo createrepo-c llvm dnf libsolv assimp waffle libjpeg-turbo taglib libproxy libical And the following 3 recipes don't: webkitgtk vulkan piglit Now cmake.bbclass doesn't disble ccache any more, disable it in the recipes if needed. (From OE-Core rev: d014c8c11fb663f131d3a860ddeda17d604b2dd3) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* goarch.bbclass: Set CCACHE_DISABLERobert Yang2019-01-141-0/+4
| | | | | | | | | Go can't be built with ccache. (From OE-Core rev: cf64c9413a2264aa67e26c6302342ff4aa99a575) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ccache.bbclass: Set CCACHE_CONFIGPATH to fix race issuesRobert Yang2019-01-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixed race issues when parallel build: ccache: error: /path/to/ccache/i586-poky-linux/mmc-utils/ccache.conf: No such file or directory ccache: error: /path/to/ccache/i586-poky-linux/mmc-utils/ccache.conf: No such file or directory This is because we set CCACHE_DIR for earch recipe, and ccache will create a ccache.conf for each CCACHE_DIR when CCACHE_CONFIGPATH is not set, but there might be a race issue in parallel build: ccache gcc file1.c ccache gcc file2.c If the two ccache processes use fopen(path, "w") to create ccache.conf at the same time, the error would happen. Set CCACHE_CONFIGPATH to meta/conf/ccache.conf can fix the problem, and we can add other configs to the file when needed. And also set cache_dir_levels to 1 (default is 2) since each recipe has a cache dir, thus we don't have too many files in one dir. (From OE-Core rev: 2abbc4d0cd571e82ed6188d3b2d84b4cd6be25e8) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ccache.bbclass: Add task do_cleanccacheRobert Yang2019-01-141-0/+14
| | | | | | | (From OE-Core rev: 36cead66fbadd8c3827aec4b67ea124ee3c2ff94) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ccache.bbclass: Make it can be shared between different buildsRobert Yang2019-01-141-1/+21
| | | | | | | | | | | | CCACHE_BASEDIR: ccache removes this from file path, so that hashes will be the same in different build dirs. CCACHE_TOP_DIR: Set it to a shared location for different builds. (From OE-Core rev: 35d7fe73bba15de16d2eb0a4b12ef03b57b23306) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ccache.bbclass: Refactor it to make it more reliableRobert Yang2019-01-141-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous ccache.bbclass has the following problems: - It uses host's ccache for native recipes, but this may not work on some hosts, for example, it nerver works on my Ubuntu 14.04.4, there are always build failures (m4-native failed at do_configure, and others will also be failed if I disable CCACHE for m4-native) - native/nativesdk/cross/crosssdk recipes use host's ccache, but target uses ccache-native, this may confuse user. - The target recipes may use both host's ccache and ccache-native, this may cause unexpected problems and be hard to debug. This is because ccache-native is in SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS, so ccache-native may not be present when rebuild target recipes, and then it would use hosttools/ccache, but the previous ccache files were generated by ccache-native. - Target recipes can't use ccache when no ccache is installed on the host: CCACHE = "${@bb.utils.which(d.getVar('PATH'), 'ccache') and 'ccache '}" After refactored: All types recipes (native, target and others) will use ccache-native except ccache-native itself, host's cache won't be used any more. It is more reliable now, which will work everywhere when ccache-native can be built. And now we need use "CCACHE_DISABLE = '1'" to disable ccache for the recipe rather than "CCACHE = ''" since we set CCACHE in anonymous function, and d.getVar('CCACHE') works after "CCACHE ??=" which is set in bitbake.conf, so we can't check whether CCACHE is set or not in anonymous function since it is always set. Use CCACHE_DISABLE to disable it would be more clear. (From OE-Core rev: b25271b65262f70d849a4861da216c9be6c54d53) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gsettings: allow the schemas to be in any packageRoss Burton2019-01-111-22/+26
| | | | | | | | | | | | | Instead of assuming that the schemas are located in ${PN}, add a GSETTINGS_PACKAGE variable for the package name and default it to ${PN}. For recipe that can conditionally ship schemas, support GSETTINGS_PACKAGE being empty gracefully by doing nothing. (From OE-Core rev: c2b9c34ce4af151cc0422e14af775c6c962de051) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: make it work for multiple usersRobert Yang2019-01-111-1/+2
| | | | | | | | | | | | | | | | | | | | | There are failures when multiple users run oe-selftest on the same host: PermissionError: [Errno 13] Permission denied: '/tmp/oe-saved- tests/201812250324_qemu' This is because /tmp/oe-saved-tests was created by user A, while user B tries to write data in it, then the error will happen. This patch can fix the problem. Move the dumped data to ${LOG_DIR}/runtime-hostdump/ rather than /tmp/oe-saved-tests/ to fix the problem. (From OE-Core rev: e219fe5329599cd6c3682f521eaee3852a2c8980) 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>
* classes/icecc: Remove trailing whitespaceJoshua Watt2019-01-111-1/+1
| | | | | | | | (From OE-Core rev: d065c592977ad742515121e07ed3b7698db55f25) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/icecc: Check blacklist for BPNJoshua Watt2019-01-111-2/+9
| | | | | | | | | | | | | | If a given PN is listed in the icecream blacklist, there is a very good chance that the native, nativesdk, and multilib variants should also be skipped. Check the blacklist entries against BPN to cover them. [YOCTO #13128] (From OE-Core rev: 1863f695a1411e95e7e547a3eb3e7ef6604a93bf) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory: simplify buildhistory_list_files()Jacob Kroon2019-01-111-4/+6
| | | | | | | | | | Avoid duplicating shell code for the two cases, fakeroot/non-fakeroot. (From OE-Core rev: c4a931df28f45f95f19a13062b8dc38db60da342) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Do not hide cpio's errorRobert Yang2019-01-111-1/+2
| | | | | | | | | | | | | | | | | | | | | We use subprocess.check_output() to run the command, which means that we need care about the error, so the 2>/dev/null should not be used, otherwise it is hard to debug when the error happens. I guess it was copied from previous lines, but that command's error can be ignored (excpet: pass): try: subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT) except subprocess.CalledProcessError: # Can "fail" if internal headers/transient sources are attempted pass But we don't do this in the current location, so remove "2>/dev/null" (From OE-Core rev: 017a53d2743be2b5d4965a39b4e126fb74f700ad) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uboot-sign.bbclass: silence warnings when UBOOT_DTB_BINARY is emptyAlex Kiernan2019-01-111-2/+2
| | | | | | | | | | | | When UBOOT_DTB_BINARY is set to "", the keys for signed booting are expected to be already present in U-Boot's DTB, so don't issue warnings for this. (From OE-Core rev: 04656f5df326a72747fc5878ce201b636a2a419c) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>