summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* qemu: Enable ppc64le support for qemu-usermodeKhem Raj2020-01-221-0/+3
| | | | | | | | | glibc defines minimum kernel needed to be 3.10.0 for LE ppc64 (From OE-Core rev: c1c296a42920af6725706bdea8e61b8c4f5f14a8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* goarch.bbclass: Disable dynamic linking on PPC64 LEKhem Raj2020-01-211-0/+2
| | | | | | | (From OE-Core rev: cbcaa7e4808d881e19bdefc9123232449d8a2cad) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: update to 3.8.1Alexander Kanavin2020-01-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Drop backports, rebase other patches. 0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch is removed as the use case (allowing python 2 and 3 to coexist in SDKs) is no longer relevant with Python 2.x reaching end of line and upstream has refactored the code making a rebase difficult. If needed, please re-add the patch to py2, rather than py3. Python 3.8 no longer adds "m" to "3.8" in paths, so adjust the recipes and classes accordingly. The manifest for the 3.8.0 version is updated; particularly pkgutil module is now packaged in -core (as other things in core need it); this also necessitates allowing empty -pkgutil package to avoid breakage across layers. (From OE-Core rev: e6ab9f16b92aa1abdae82c535c1a452a1341b0e2) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs: Make BUILDNAME a weak default in reproducible_build_simpleAlex Kiernan2020-01-192-5/+1
| | | | | | | | | | | | | | | | | 11e45082ad00 ("rootfs-postcommands.bbclass: improve binary reproducibility") fixed binary reproducibility of /etc/version, but with the move to reproducibilty in all builds, setting /etc/version to anything other than the default fixed timestamp is tricky because rootfs_reproducible() runs very late. rootfs.py uses BUILDNAME if set for /etc/version, so introduce a weak default for BUILDNAME of "REPRODUCIBLE_TIMESTAMP_ROOTFS", when enabling reproducible builds hence allowing BUILDNAME to be overridden elsewhere. (From OE-Core rev: bbf28ea9100a4f86b052c5cd53c77f9e1c03fb09) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes, conf, lib: Add support for powerpc64leKhem Raj2020-01-192-1/+2
| | | | | | | | | | | | | | LE is default for modern powerpc64, power8+ PowerPC64 Little Endian Linux ABI specifies Power8 as the minimum ISA. The basic ABI can run on earlier versions of the 64 bit PowerPC ISA, but it was helpful to define a new, minimum instruction set for Linux distribution releases during the switch to Little Endian. (From OE-Core rev: b9c73fb6d1afb3367d871a3d6bf7d0d6a53968a9) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: Spawn warning for missing mime-xdg in inheritAndreas Müller2020-01-191-1/+30
| | | | | | | | | | If a package signals that it can open mime-types but does not inharit mime-xdg, a warning is created. (From OE-Core rev: 75b4a377d6e74456bbb4b9966725de7385c74b61) Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mime-xdg.bbclass: initial addAndreas Müller2020-01-191-0/+74
| | | | | | | | | | | | | When opening files by file-browsers on fresh images, user has to choose the application to open from the pool af ALL known applications even those not designed to open the file selected. By inheriting this classs in recipes the assosiations in /usr/share/applications/mimeinfo.cache are build by calling update-desktop-database. (From OE-Core rev: 20208d6763e725cea211f933ec1c8e32733a10af) Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: introduce a warning for mime missing in inheritAndreas Müller2020-01-191-0/+12
| | | | | | | | | | | | * looking through layers it looks that usage of mime.bbclass is somewhat orphaned * now that update-mime-database is called once only at image creation time, costs of mime.bbclass are limited (From OE-Core rev: 856ed1dc3b6e4a082546a487818eb4c6cde1c573) Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mime.bbclass: reworkAndreas Müller2020-01-191-30/+32
| | | | | | | | | | | | | | | | | | * add a short descriptions of class' use case * remove checks for update-mime-database - it can be considered available: * at build time by PACKAGE_WRITE_DEPS * at package upgrade by RDEPENDS chain pkg -> shared-mime-info-data -> shared-mime-info * simplify (accelerate?) xml file extension detection * run update-mime-database once only at image creation to avoid expensive redundant operations * allow shared-mime-info to inherit mime.bbclass by avoiding circular dependencies (From OE-Core rev: 6467b7b98c9a55e27d1ab9f253ec48da2a722e77) Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: remove Python 2 and all supporting classesRoss Burton2020-01-195-126/+0
| | | | | | | | | | | | | | | | Python 2 ceased being maintained on the 1st January 2020. We've already removed all users of it from oe-core so the final step is to move the recipe and supporting classes to meta-python2. The following are removed in this commit: - python and python-native 2.7.17 - python-setuptools - The classes pythonnative, pythondir, distutils, setuptools (From OE-Core rev: 390f3edabfb1f68ed9766245291c5f44ea00cc38) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mips: Enable gnu-hash-style on glibcKhem Raj2020-01-191-3/+2
| | | | | | | | | | | | | | | latest glibc 2.31 [1] and binutils [2] has finally added the needed support for gnu hash-style, which brings mips into same fold as other architectures Fix check for MIPS specific section for gnu hash information [1] https://sourceware.org/ml/libc-alpha/2019-06/msg00456.html [2] https://sourceware.org/ml/binutils/2019-07/msg00098.html (From OE-Core rev: 9ff90bf04a4c422feaea25180155e4954648f68c) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Improve move into place op and touch fileRichard Purdie2020-01-131-1/+5
| | | | | | | | | | | | | | | | | Depending on the kernel and coreutils version, mv operations test for existence of files and can potentially race. It also leads to the file always changing which leads to potential problems if using and NFS share and there are other readers. Using ln instead means we don't overwrite the file if it already exists meaning other readers aren't disrupted and should work more reliably on NFS which is used for sstate on the autobuilder. Since we're not overwriting files, touch the file to show activity as would have been done it it were reused from sstate. (From OE-Core rev: d8e9a22a4e23616ad01627c1e472296b1e26f13c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toaster.bbclass: Correct pkgdatadir path in toaster_package_dumpdata()Peter Kjellerstedt2020-01-111-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 692b2046 (package: Fix race between do_package and do_packagedata), the path used for do_packagedata[sstate-inputdirs] was changed from "${PKGDESTWORK}" to "${WORKDIR}/pkgdata-pdata-input". This commit adapts the path used for pkgdatadir in toaster_package_dumpdata() accordingly to avoid setscene errors like: ERROR: libgcc-9.2.0-r0 do_packagedata_setscene: Error executing a python function in exec_python_func() autogenerated: The stack trace of python calls that resulted in this exception/failure was: File: 'exec_python_func() autogenerated', lineno: 2, function: <module> 0001: *** 0002:toaster_package_dumpdata(d) 0003: File: 'meta/classes/toaster.bbclass', lineno: 130, function: toaster_package_dumpdata 0126: lpkgdata = {} 0127: datadir = os.path.join(pkgdatadir, 'runtime') 0128: 0129: # scan and send data for each generated package *** 0130: for datafile in os.listdir(datadir): 0131: if not datafile.endswith('.packaged'): 0132: lpkgdata = _toaster_load_pkgdatafile(datadir, 0133: # Fire an event containing the pkg data 0134: bb.event.fire(bb.event.MetadataEvent( Exception: FileNotFoundError: [Errno 2] No such file or directory: 'tmp/work/mips32r2el-nf-poky-linux/libgcc/9.2.0-r0/pkgdata/runtime' (From OE-Core rev: 5a0f6f631b86f7107aa72453b6d23f32ba39f713) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext.bbclass: No longer needed to clean away conf/sanity_infoPeter Kjellerstedt2020-01-101-1/+1
| | | | | | | | | | | | Since the sanity_info file has moved from the conf directory to the cache directory, there is no longer any need to clean it away explicitly in clean_esdk_builddir() since the whole cache directory is already cleaned away anyway. (From OE-Core rev: 40c30990e1be72130819c040fe471e2bdc0c6e7d) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity.bbclass: Move sanity_info from conf to cachePeter Kjellerstedt2020-01-101-1/+1
| | | | | | | | | | | | | | Since this file is written during recipe parsing, having it in the ${BUILDDIR}/conf directory, which is covered by an inotify watcher, will trigger a re-parse the next time bitbake is run and the resident bitbake server is enabled. This causes the sanity_info file to be updated again, which triggers a new parse the next time bitbake is run ad infinitum. Moving it to ${BUILDDIR}/cache should avoid this. (From OE-Core rev: f98103b548aa7dba6b1be6c8e02ef41858a8e85c) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* archiver.bbclass: Add new mirror archiver modePaul Barker2020-01-101-19/+117
| | | | | | | | | | | | | | | | | | | | | | | | We define a new method of populating a source mirror using the archiver bbclass instead of simply copying the contents of the downloads directory. This allows the archiver features such as copyleft license filtering and recipe type filtering to be used when preparing a source mirror. This new archiver mode is selected by setting `ARCHIVE_MODE[src]` to 'mirror'. The source mirror mode can either be 'split' (default) or 'combined', controlled by `ARCHIVER_MODE[mirror]`. Additionally, sources can be excluded as needed by setting `ARCHIVER_MIRROR_EXCLUDE` to a list of URI prefixes. These options are described in more detail in the new entries in the header of archiver.bbclass. New oeqa selftest cases are added to cover the mirror archiver mode. (From OE-Core rev: 2c8b31ae0ab95a8b100e8bade23f51574e273c9a) Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Preserve intermediate filesPaul Barker2020-01-101-3/+4
| | | | | | | | | | | | | | | | | | | | When debugging issues or trying to add new features in wic it's useful to examine the intermediate files created by the tool such as images of the individual partitions. Previously these files were created in a subdirectory of IMGDEPLOYDIR and, deleted by wic itself and then the working subdirectory completely removed at the end of IMAGE_CMD_wic. Instead we should work in a staging directory named build-wic and leave behind intermediate files for analysis if necessary. This has the added benefit of allowing individual partition images to be preserved by adding commands to IMAGE_CMD_wic_append() in an image recipe if needed. This is useful where an update system requires exact sized and pre-formatted partition images for deployment. (From OE-Core rev: 07b6b284204e912b5d08bdd0ca51b766ab7dd9c1) Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging.bbclass: correctly exclude ptest directoriesAlexander Kanavin2020-01-101-1/+1
| | | | | | | | | They were not excluded when multilib variants were being built. (From OE-Core rev: 11d053764338465adbec2d0c31bad0387e36405d) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Avoid races over rewritten siginfo filesRichard Purdie2020-01-061-3/+10
| | | | | | | | | | | | | | Try and avoid errors like: Exception: bb.process.ExecutionError: Execution of 'build/tmp/work/x86_64-linux/libxslt-native/1.1.34-r0/temp/run.sstate_unpack_package.12343' failed with exit code 1: touch: setting times of 'build/sstate_devtool/80/4d/sstate:libxslt-native::1.1.34:r0::3:804d33f3f8d032b01ae92207669dd0a8f95a84917d563d122a77df19e786d73c_populate_lic.tgz.siginfo': Stale file handle WARNING: exit code 1 from a shell command. by not overwriting existing files. (From OE-Core rev: b2a389ad5111d587db3f95c6ce13fc2eafc22f27) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Handle sstate filenames longer than 255 charactersRichard Purdie2020-01-061-1/+18
| | | | | | | | | | | | Many filesystems can't cope with filenames longer that 255 characters. Add code to detect this and truncate non-essential elements of the filename to stay within the limit. [YOCTO #13268] (From OE-Core rev: 90cc3d1ed1a12294a2d3ac97c1ba528ab315605d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Merge file name generation into single functionRichard Purdie2020-01-061-10/+12
| | | | | | | | | Move the task handling and extension handling into one common filename construction function. (From OE-Core rev: c0c158d38583648a801e959d91371f7b43a98da5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Improve SSTATE_PKG handlingRichard Purdie2020-01-061-10/+11
| | | | | | | | | | | Move the task handling code into the SSTATE_PKGNAME variable using a temporary variable. This makes the code more understandable as as well as allowing the length of the final sstate filename to be more easily accesses for following patches. (From OE-Core rev: be603dad6817948cfa09621d2311046631ec4ab2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add extra directory levelRichard Purdie2020-01-061-2/+2
| | | | | | | | | | | | | | | | | | We're having speed issues on the autobuilder due to the numbers of files in sstate directories. We previously split these by the first two characters of the hash. This change extends this to split by the next two characters as well, creating more layers of directories. This should signifiantly speed up eSDK builds on the autobuilder as the current sstate layout simply isn't scaling there but addresses a general complaint. gen-lockedsig-cache needed to be updated for the new split level sstate. Also update tests for new layout. (From OE-Core rev: d05bde16bdad761ed8f4c0a48de60c649aa33e85) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: Fix confusing failure messageRichard Purdie2020-01-061-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This stack trace is horrible and obscurs the real failure message, avoid that. The stack trace of python calls that resulted in this exception/failure was: File: 'exec_python_func() autogenerated', lineno: 2, function: <module> 0001: *** 0002:copy_buildsystem(d) 0003: File: 'build/meta/classes/populate_sdk_ext.bbclass', lineno: 446, function: copy_buildsystem 0442: sdk_ext_type = d.getVar('SDK_EXT_TYPE') 0443: if (sdk_ext_type != 'minimal' or sdk_include_toolchain or derivative) and not sdk_include_nativesdk: 0444: # Create the filtered task list used to generate the sstate cache shipped with the SDK 0445: tasklistfn = d.getVar('WORKDIR') + '/tasklist.txt' *** 0446: create_filtered_tasklist(d, baseoutpath, tasklistfn, conf_initpath) 0447: else: 0448: tasklistfn = None 0449: 0450: if os.path.exists(builddir + '/cache/bb_unihashes.dat'): File: 'build/meta/classes/populate_sdk_ext.bbclass', lineno: 182, function: create_filtered_tasklist 0178: # Clean out residue of running bitbake, which check_sstate_task_list() 0179: # will effectively do 0180: clean_esdk_builddir(d, sdkbasepath) 0181: finally: *** 0182: os.replace(sdkbasepath + '/conf/local.conf.bak', sdkbasepath + '/conf/local.conf') 0183: 0184:python copy_buildsystem () { 0185: import re 0186: import shutil Exception: FileNotFoundError: [Errno 2] No such file or directory: 'tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/sdk-ext/image//opt/poky/3.0/conf/local.conf.bak' -> 'tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/sdk-ext/image//opt/poky/3.0/conf/local.conf' (From OE-Core rev: 5115d2616b0847d521ccbecf1fbbf1f695a04fea) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/image_types_wic: Depend on do_image_complete tasksJoshua Watt2020-01-011-0/+1
| | | | | | | | | | | | | | | | | do_image_wic now depends on the do_image_complete tasks from all it's dependencies. This allows images recipes specified in WKS_FILE_DEPENDS (for example, if a machine wants to put a initrd into a boot partition) to correctly trigger rebuilds for the wic image. Note that recrdeptask can't be used as was done for do_deploy because this would cause circular task dependency errors. This shouldn't be necessary anyway if the dependencies specified in WKS_FILE_DEPENDS are complete. (From OE-Core rev: 4b93115a0c6f8686e7a21b992751626844c301d5) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: Fix for consistent whitespaceMartin Jansa2019-12-301-6/+6
| | | | | | | (From OE-Core rev: e874d067ace03774132ba3030a898678057c1304) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* siteinfo: Recognize 64bit PPC LEKhem Raj2019-12-301-2/+5
| | | | | | | (From OE-Core rev: e62cdb9b88b575b5cfcdd65ca558edc237c43b2a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake.bbclass: Define LIB_SUFFIXKhem Raj2019-12-301-0/+1
| | | | | | | | | | | | | This variable is used in lot of cmake based packages to denote libdir in multilib environments, now a days there is a better way to include GNUInstallDirs module but thats upto these packages to adopt. Defining this helps compiling a bunch of recipes in extended layers when using multilibbed builds. (From OE-Core rev: 24f630ce36e803c54ad6cff00215abd0e7b77b77) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* goarch: Dont use -fno-PIE on mipsKhem Raj2019-12-301-1/+0
| | | | | | | | | | | | | | | | | | This was added with 98b24e9268 goarch.bbclass: set SECURITY_CFLAGS for mips64 to overcome a problem that was inherent in go linker which has been now fixed in golang compiler upstream https://github.com/golang/go/issues/20243 https://github.com/golang/go/commit/39c07ce9e5311c94880789f19f2f8b49bf1b5241 (From OE-Core rev: ea93adc30ee3d8e0baa0f374c92afb7c6a133b2a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linuxloader: Correct loader for glibc on armhfAlex Kiernan2019-12-301-1/+1
| | | | | | | | | | | | Fix the naming of the loader on armhf to match what glibc expects: #define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT SYSTEMLIBS_DIR "ld-linux.so.3" #define GLIBC_DYNAMIC_LINKER_HARD_FLOAT SYSTEMLIBS_DIR "ld-linux-armhf.so.3" (From OE-Core rev: 7ad531093d620f18c04d487d79e9dad9f5a96232) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: allow external (aka non-integrated) BSPs to supply patchesBruce Ashfield2019-12-301-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, only explicitly specified .scc files or patches are applied to a BSP as part of the patching phase. This allows the reference BSPs to be integrated into a kernel tree, and use the same meta data for tree generation and for runtime building. It also greatly simplies the processing of kernel meta data. That being said, if an external (and fully standalone) kmeta repository is used, it very well may contain both patches and configuration. To allow the BSP definition to supply patches and config, we introduce a new kernel meta data definition: define KMETA_EXTERNAL_BSP t This can be set in any .scc file that wants to specify both patches and configuration. If specifying this per-BSP is not desired, a secondary variable is used: KMETA_EXTERNAL_BSPS When that is set in a bbappend, any located BSP definitions will be used for both patches and configuration. (From OE-Core rev: 747ad3ca1e987668c8ed444cfc595d751bc0d0b2) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake: Add a knob for cmake VERBOSE settingsKhem Raj2019-12-301-2/+11
| | | | | | | | | | | | | | | | | | | | | | Setting VERBOSE always, while is fine on one hand for debugging, its coming at an expense of creating lots and lots of logs, e.g. qtwebkit compile logs alone with VERBOSE is 163MB, there are many other large packages which use cmake e.g. WPE, webkitgtk etc which are in same range with out this option on, the logs reduce to 861K and also speeds up build a notch If user needs to disable these logs for a recipe or globally CMAKE_VERBOSE = "" in recipe or in global metadata e.g. local.conf (From OE-Core rev: f8d2cd0025f97819898da26041f353d527a27952) Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Ross Burton <ross.burton@intel.com> Cc: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Make symbol link to vmlinux.64 in boot directoryVasyl Gomonovych2019-12-301-0/+3
| | | | | | | | | | Some mips 64 bit platforms use vmlinux.64 image name Make a symbol link to vmlinux.64 in arch/mips/boot/ (From OE-Core rev: 70626b52e5e61c80018e9f1f85bc169d0434b986) Signed-off-by: Vasyl Gomonovych <gomonovych@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: clean up dead symlink when handling hosttoolsChen Qi2019-12-301-0/+3
| | | | | | | | | | | | | | | When some hosttool is a dead symlink, bitbake any recipe will fail with error like below. FileExistsError: [Errno 17] File exists: '/usr/bin/chrpath' -> '/path/to/builddir/tmp-glibc/hosttools/chrpath' So we remove dead symlink under hostools/ directory to avoid such error. (From OE-Core rev: b03577cf85784fc052b89083054d911816f8c6e1) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* chrpath: Cleanup and fix previous patchRoss Burton2019-12-291-11/+9
| | | | | | | | | Ensure self.data isn't accessed without assignment. Also clean up old style popen use and replace with modern/simpler subprocess. (From OE-Core rev: 39825cba4761a6b4b2473825705975f9f421ec8b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson: map the system property in the cross fileRoss Burton2019-12-281-2/+11
| | | | | | | | | | We can't just use HOST_OS, as in meta-mingw SDKs that is 'mingw32' but Meson expects 'windows'. (From OE-Core rev: f408bbb1cc72b84905b22d100f52c0a9f54ff3fe) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* externalsrc: always set SRCPVAlexander Kanavin2019-12-281-3/+2
| | | | | | | | | | | | If devupstream is in use by the recipe, then that variant has SRCPV, but the main variant may not, in which case bitbake throws an expansion error. (From OE-Core rev: 740e3f5e1d4a8abb07c7a4e4aedd804d679c7562) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* chrpath: do less workRoss Burton2019-12-281-5/+11
| | | | | | | | | | | | | | | Instead of trying to change the RPATH in every file under the binary directories, check that the file is an ELF first. This means that we don't attempt to change the RPATH on the entire Python standard library, for example. Also return early if the directory to iterate doesn't exist. (From OE-Core rev: 977f4baacf7c8d06d9cfe5c5e39bb8bc19f27028) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distutils3: do out of tree buildsRoss Burton2019-12-281-7/+10
| | | | | | | | | | | | | | | | Pass --build-base so the build tree is a location we specify, which we can ensure is empty when building. This means we can stub out do_configure entirely and use cleandirs instead. When installing we need to tell it to do a build so that we can pass --build-base, so also pass --skip-build to avoid the potential rebuild. (From OE-Core rev: de1b57acedaaf01e10059792eb0031ceafcc8b97) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distutils3: remove unused variableRoss Burton2019-12-281-1/+0
| | | | | | | | | This variable isn't used by the build task, despite it's name. (From OE-Core rev: 497ddaca42f805c119c022d77960d1eecc01436b) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distutils3: remove unused stage tasksRoss Burton2019-12-281-20/+0
| | | | | | | | | These staging tasks haven't been used since ~2010, so remove them. (From OE-Core rev: d0eba7ccf54101e708ea50afb072f1bd2cf8fb6d) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: don't use cachedpathRoss Burton2019-12-281-3/+2
| | | | | | | | | | | Unless cachedpath is used correctly then it's just a glorified clone of os.walk, but without any of the recent optimisations in os.walk. In this codepath there is no point to using cachedpath. (From OE-Core rev: 460222c54e4c65352c0687f2b6c70527cc9a2b4b) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: fail gracefully when file not foundArmin Kuster2019-12-281-1/+8
| | | | | | | | | | | | | With out these changes, a traceback displayed when a file is listed in the SRC_URI but the file does not exist. raise FileNotFoundError and print the patch then mark the task as failed. (From OE-Core rev: d4926c11a4ab9148bdb640a9367c9e1891491a5b) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* podfix: only alter normal filesRoss Burton2019-12-161-0/+3
| | | | | | | (From OE-Core rev: 23d38b2ad6f7a39e5c1ffd092322942474935c33) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license_image.bbclass: Report only the licenses that are incompatiblePeter Kjellerstedt2019-12-161-2/+3
| | | | | | | | | | | Instead of reporting ${LICENSE} when a package cannot be installed into an image because it is using an incompatible license, report the license(s) that are actually incompatible. (From OE-Core rev: b1863e570d4b169cd2f0ea7b4fe7c2348943cb2c) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Report only the licenses that are incompatiblePeter Kjellerstedt2019-12-161-2/+3
| | | | | | | | | | When excluding a package from being packaged due to incompatible licenses, report the license(s) that are actually incompatible. (From OE-Core rev: 7d5c07e4a32a0968942ae538023c2891b59d8ab5) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: Report only the licenses that are incompatible for a packagePeter Kjellerstedt2019-12-161-10/+16
| | | | | | | | | | | Instead of reporting ${LICENSE} when a package is identified as using an incompatible license, report the license(s) that are actually incompatible. (From OE-Core rev: fb3405fac7b933a3f9d23e5faf6a3cf2d1990982) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: Simplify the check for whitelisted licensesPeter Kjellerstedt2019-12-161-9/+4
| | | | | | | | | | | After a number of rewrites, the code checking if a package has been whitelisted for an incompatible license was calculating the whitelisted packages twice (as 'whitelist' and as 'incompatwl'). (From OE-Core rev: 01dcc8c94b882d865fc72a067a90d9721ac5fea7) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license.bbclass: Make incompatible_pkg_license return incompatible licsPeter Kjellerstedt2019-12-161-3/+9
| | | | | | | | | This makes it possible to report the incompatible licenses. (From OE-Core rev: 02a3189b4902e616f5b4277ee3d0fca10b73b4dc) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license.bbclass: Introduce AVAILABLE_LICENSES that lists all licensesPeter Kjellerstedt2019-12-161-4/+23
| | | | | | | | | | | | | | | | | | | | | | Previously, there was SRC_DISTRIBUTE_LICENSES, an undocumented variable that contained a static list of licenses. It was used by expand_wildcard_licenses() to expand any wildcards used in, e.g., INCOMPATIBLE_LICENSE. However, since this static list of licenses has not been kept up-to-date, many licenses were missing, with the result that if one tried to use any of those licenses with a wildcard, no licenses would be found, effectively ignoring that they should be marked as incompatible. This introduces a new (documented) variable, AVAILABLE_LICENSES, that is automatically updated to contain all licenses found in any directories specified by ${COMMON_LICENSE_DIR} and ${LICENSE_PATH}, and uses it instead of SRC_DISTRIBUTE_LICENSES when expanding wildcards. (From OE-Core rev: 8c9ef587fe499c612a878a1ab42092eb79b334ef) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>