summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/meta
AgeCommit message (Collapse)Author
2020-02-15image.bbclass, package-index.bb: Delete do_populate_lic taskKhem Raj
These are meta packages Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-06patch: Extend to native/nativesdk and depend uponRichard Purdie
There is a bug in patch 2.7.3 and earlier where index lines in patches can change file modes when they shouldn't: http://git.savannah.gnu.org/cgit/patch.git/patch/?id=82b800c9552a088a241457948219d25ce0a407a4 This leaks into debug sources in particular (e.g. tcp-wrappers where source files are read-only). Add the dependency to target recipes to avoid this problem until we can rely on 2.7.4 or later. We could try and remove all index lines from patch files but it will be a losing battle. We could try and identify all the recipes which change modes on files in patches but again, its a losing battle. Instead, compromise and have patch-native as a dependency for target recipes. We use patch-replacement-native since patch-native is in ASSUME_PROVIDED. Also add nativesdk-patch to buildtools-tarball. [YOCTO #13777] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-22buildtools-tarball: Add an ld.so.conf for nativesdk-binutilsRichard Purdie
We need to search our own libdirs, then fall back to the system ones as our customised dynamic loader will. Have ld.so.conf reflect that. This ensures that binutils finds libraries here when linking too. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-11meta-extsdk-toolchain: Mark as nostampRichard Purdie
This recipe needs to generate the latest hashes. With unihash we may not rebuild as previous dependencies may be marked as equivalent. eSDK which uses this is nostamp already, mark this task as nostamp also for the same reason. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-10dummy-sdk-package.inc: do multilib expanesion for RREPLACES as wellAlexander Kanavin
Otherwise, multilib packages such as lib64-perl aren't properly replaced: Error: Problem: package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with lib64-perl provided by lib64-perl-5.30.1-r0.x86_64 - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with lib64-perl-module-strict provided by lib64-perl-5.30.1-r0.x86_64 - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with lib64-perl-module-warnings provided by lib64-perl-5.30.1-r0.x86_64 - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with lib64-perl-module-vars provided by lib64-perl-5.30.1-r0.x86_64 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-01buildtools-extended-tarball: add recipe with build-essentialsTim Orling
* For some aging distros, such as CentOS 7, the native version of gcc is simply too ancient and is a constant source of headaches for moving forward. * Add an extended version of buildtools-tarball which adds all of build-essential, so that the host is now modernized and capable of compiling the latest versions of components. Fixes [YOCTO #13714] Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-30nativesdk-buildtools-perl-dummy: add dependencies for autoconf and automakeTim Orling
* For buildtools-extended-tarball, where we are adding all of build-essentials to the nativesdk, we need additional perl modules for autoconf and automake. Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-09cve-check: Switch to NVD CVE JSON feed version 1.1Niko Mauno
Switch to recently released version 1.1 of NVD CVE JSON feed, as in https://nvd.nist.gov/General/News/JSON-1-1-Vulnerability-Feed-Release it is mentioned that Due to changes required to support CVSS v3.1 scoring, the JSON vulnerability feeds must be modified. This will require the consumers of this data to update their internal processes. We will be providing the JSON 1.1 schema on the data feeds page and the information below to prepare for this transition. ... The JSON 1.1 data feeds will be available on September 9th, 2019. At that time the current JSON 1.0 data feeds will no longer available. This change was tested briefly by issuing 'bitbake core-image-minimal' with 'cve-check.bbclass' inherited via local.conf, and then comparing the content between the resulting two 'DEPLOY_DIR_IMAGE/core-image-minimal-qemux86.cve' files, which did not seem to contain any other change, except total of 167 entries like CVSS v3 BASE SCORE: 0.0 were replaced with similar 'CVSS v3 BASE SCORE:' entries which had scores that were greater than '0.0' (up to '9.8'). Signed-off-by: Niko Mauno <niko.mauno@iki.fi> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-28dummy-sdk-package.inc: do not include files into RREPLACESAlexander Kanavin
rpm 4.15 no longer allows it, which makes sense. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-28dummy-sdk-package: Add DUMMYPROVIDES_PACKAGESRichard Purdie
We're about to need to use this variable in the main include file so restructure the users of it to all set it appropriately. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21cve-update-db-native: clean up proxy handlingRoss Burton
urllib handles adding proxy handlers if the proxies are set in the environment, so call bb.utils.export_proxies() to do that and remove the manual setup. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21cve-update-db-native: add an index on the CVE ID columnRoss Burton
Create an index on the PRODUCTS table which contains a row for each CPE, drastically increasing the performance of lookups for a specific CVE. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21cve-update-db-native: don't hardcode the database nameRoss Burton
Don't hardcode the database filename, there's a variable for this in cve-check.bbclass. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14cve-update-db-native: don't refresh more than once an hourRoss Burton
We already fetch the yearly CVE metadata and check that for updates before downloading the full data, but we can speed up CVE checking further by only checking the CVE metadata once an hour. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14buildtools-tarball: export OPENSSL_CONF for opensslLiwei Song
export OPENSSL_CONF to aviod SDK openssl can not find openssl.cnf. Signed-off-by: Liwei Song <liwei.song@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-27Revert "meta-extsdk: Either an sstate task is a proper task or it isn't"Richard Purdie
This reverts commit db5f08c16eff01f3af0b99119c09f68628e2331d. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-19meta-extsdk: Either an sstate task is a proper task or it isn'tRichard Purdie
Ensure the task is properly regsistered as an sstate task as this "half way" state confuses new code in bitbake and it isn't supported. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-16target-sdk-provides-dummy: extend packages for multilib caseChen Qi
If we have installed some lib32 package which depends on perl/bash, then populating sdk for that image would fail with the following error. Error: Problem: package lib32-libxml-namespacesupport-perl-1.12-r0.corei7_32 requires lib32-perl, but none of the providers can be installed package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with /usr/bin/perl provided by lib32-perl-5.30.0-r0.corei7_32 package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with libperl.so.5 provided by lib32-perl-5.30.0-r0.corei7_32 This could be produced by the following steps: 1. IMAGE_INSTALL_append = " lib32-valgrind" 2. bitbake core-image-minimal -c populate_sdk We need to extend all packages in DUMMYPROVIDES to avoid such problems. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-26cve-update-db-native: fix https proxy issuesChin Huat Ang
When https_proxy is set, use proxy opener to open CVE metadata and database URLs, otherwise fallback to the urllib.request.urlopen. Also fix a minor issue where the json database which has been gzip decompressed as byte object should be decoded as utf-8 string as expected by update_db. Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-20cve-update-db-native: clean up JSON fetchingRoss Burton
Currently the code fetches the compressed JSON, writes it to a temporary file, uncompresses that with gzip and passes the fake file object to update_db(). Instead, uncompress the gzip'd data in memory and pass the JSON directly to update_db(). Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-20cve-update-db-native: improve metadata parsingRoss Burton
The metadata parser is fragile: first it coerces a bytes() to a str() (so the string is b'LastModifiedDate:2019...'), assumes the first line is the date, and then uses a regex to parse (which then includes the trailing quote as part of the date). Clean this up by parsing the bytes as UTF-8 (ASCII is probably fine, but this is safer), iterate through the lines and split on colons to find the right key/value pair. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-20cve-update-db-native: use executemany() to optimise CPE insertionRoss Burton
Instead of calling execute() repeatedly, rewrite the function to be a generator and use executemany() for performance. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-19cve-update-db: actually inherit nativeRoss Burton
The recipe was called -native but didn't inherit native. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-19cve-update-db-native: use os.path.join instead of +Ross Burton
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-18cve-update-db-native: Remove hash column from database.Pierre Le Magourou
djb2 hash algorithm was found to do collisions, so the database was sometime missing data. Remove this hash mechanism, clear and populate elements from scratch in PRODUCTS table if the current year needs an update. Signed-off-by: Pierre Le Magourou <pierre.lemagourou@softbankrobotics.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-18cve-update-db-native: use SQL placeholders instead of format stringsRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-10cve-update-db-native: Skip recipe when cve-check class is not loaded.Pierre Le Magourou
Signed-off-by: Pierre Le Magourou <pierre.lemagourou@softbankrobotics.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-09cve-update-db: Use NVD CPE data to populate PRODUCTS tablePierre Le Magourou
Instead of using expanded list of affected versions that is not reliable, use the 'cpe_match' node in the 'configurations' json node. For cve-check to correctly match affected CVE, the sqlite database need to contain operator_start, operator_end and the corresponding versions fields. Signed-off-by: Pierre Le Magourou <pierre.lemagourou@softbankrobotics.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-09cve-check: Depends on cve-update-db-nativePierre Le Magourou
do_populate_cve_db is a native task. Signed-off-by: Pierre Le Magourou <pierre.lemagourou@softbankrobotics.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-05cve-update-db: Catch request.urlopen errors.Pierre Le Magourou
If the NVD url is not accessible, print a warning on top of the CVE report, and continue. The database will not be fully updated, but cve_check can still run on the previous database. Signed-off-by: Pierre Le Magourou <pierre.lemagourou@softbankrobotics.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-28cve-update-db: do_populate_cve_db depends on do_fetchPierre Le Magourou
To be able to populate NVD database on a fetchall (bitbake <image> --run-all=fetch), set the do_populate_cve_db task to be executed before do_fetch. Do not get CVE_CHECK_DB_DIR, CVE_CHECK_DB_FILE and CVE_CHECK_TMP_FILE variable because do_populate_cve_db can be called in a context where cve-check class is not loaded. Signed-off-by: Pierre Le Magourou <pierre.lemagourou@softbankrobotics.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-27target-sdk-provides-dummy: add libperl.so.5 64bitChen Qi
With postgresql added to IMAGE_INSTALL, we will get the following error when building for 64bit BSPs. Problem: package postgresql-11.3-r0.corei7_64 requires libperl.so.5()(64bit), but none of the providers can be installed A previous patch has added libperl.so.5 to DUMMY_PROVIDES, but this is not enough. Because for 64bit BSP, it should also provide libperl.so.5()(64bit). Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-27cve-update-db: Manage proxy if needed.Pierre Le Magourou
If https_proxy environment variable is defined, manage proxy to be able to download meta and json data feeds from https://nvd.nist.gov Signed-off-by: Pierre Le Magourou <pierre.lemagourou@softbankrobotics.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-27cve-update-db: Use std library instead of urllib3Pierre Le Magourou
urllib3 was used in this recipe but it was not set as a dependency. As it is not specifically needed, rewrite the recipe with urllib from the standard library. Signed-off-by: Pierre Le Magourou <pierre.lemagourou@softbankrobotics.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-19cve-update-db: New recipe to update CVE databasePierre Le Magourou
cve-check-tool-native do_populate_cve_db task was using deprecated NVD xml data feeds, cve-update-db uses NVD json data feeds. Sqlite database schema was updated to take into account CVSSv3 CVE scores and operator in affected product versions. A new META table was added to store the last modification date of the NVD json data feeds. Signed-off-by: Pierre Le Magourou <pierre.lemagourou@softbankrobotics.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-19uninative-tarball: Add libxcrypt-compatRichard Purdie
This avoids sstate/uninative relocation issues where a binary was built against a system with libcrypt.so.1 or libcrypt.so.2 and then run on the opposite by ensuring both libraries are in uninative. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-19target-sdk-provides-dummy: add libperl.so.5 to DUMMY_PROVIDESChen Qi
Add libperl.so.5 to DUMMY_PROVIDES to avoid do_rootfs failure like below. Error: Problem: package postgresql-11.3-r0.core2_32 requires libperl.so.5, but none of the providers can be installed package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl provided by perl-5.30.0-r0.core2_32 package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl-module-strict provided by perl-5.30.0-r0.core2_32 This problem could be reproduced by add 'postgresql' to IMAGE_INSTALL and then `bitbake core-image-minimal -c populate_sdk'. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-29uninative-tarball: Use xz compression and SDK_ARCHIVE_CMDRichard Purdie
Switch uninative to use xz compression instead of bzip2. We can then directly use the SDK_ARCHIVE_CMD. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-29uninative-tarball: Fix file generation after class changesRichard Purdie
OE-Core rev: 57a33048a89a422cfdc986d3489c67b2d297e1e7 renamed the tar_sdk function but didn't fix this recipe. This leads to broken uninative tarballs as the internal structure isn't correct. Fix this. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-08target-sdk-provides-dummy: resolve sstate conflictKai Kang
It exists a situation that there is a common config file includes multilib.conf but variable MULTILIBS is not set by default: require conf/multilib.conf MULTILIBS ?= "" When build target-sdk-provides-dummy in a build project, it fails with following steps: 1 $ echo 'MACHINE = "qemux86"' >>conf/local.conf $ bitbake target-sdk-provides-dummy 2 $ cat <<EOF >>conf/local.conf MACHINE = "qemux86-64" MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "i586" EOF $ bitbake target-sdk-provides-dummy $ bitbake lib32-target-sdk-provides-dummy It fails to build lib32-target-sdk-provides-dummy with error messages: | ERROR: target-sdk-provides-dummy-1.0-r0 do_packagedata: The recipe target-sdk-provides-dummy | is trying to install files into a shared area when those files already exist. Those files | and their manifest location are: | .../tmp/pkgdata/qemux86-64/lib32-target-sdk-provides-dummy | (matched in manifest-qemux86_64-lib32-target-sdk-provides-dummy.packagedata) | .../tmp/pkgdata/qemux86-64/runtime/lib32-target-sdk-provides-dummy | (matched in manifest-qemux86_64-lib32-target-sdk-provides-dummy.packagedata) | ... snip ... | Please verify which recipe should provide the above files. Add related directories to SSTATE_DUPWHITELIST to avoid the failures. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-29target-sdk-provides-dummy: add more perl modules to avoid populate_sdk failureVincent Prince
Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-16target-sdk-provides-dummy: Extend to -dev and -src packagesRichard Purdie
This avoids errors when running populate_sdk under opkg: * Problem 1/1: * - package busybox-dev-1.30.1-r0.core2-64 requires busybox = 1.30.1-r0, but none of the providers can be installed * * Solution 1: * - allow deinstallation of target-sdk-provides-dummy-1.0-r0.sdk-provides-dummy-target * Solution 2: * - do not ask to install a package providing busybox-dev Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-14target-sdk-provides-dummy: add more perl modules to avoid populate_sdk failureChen Qi
When 'adduser' package, which is from meta-perl layer, is added to rootfs, we will get do_populate_sdk failure like below. Error: Problem: package perl-module-cwd-5.24.4-r0.core2_64 requires perl-module-dynaloader, but none of the providers can be installed - package perl-module-file-temp-5.24.4-r0.core2_64 requires perl-module-cwd, but none of the providers can be installed - package perl-module-dynaloader-5.24.4-r0.core2_64 requires perl-module-config, but none of the providers can be installed - package adduser-3.118-r0.core2_64 requires perl-module-file-temp, but none of the providers can be installed - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl provided by perl-5.24.4-r0.core2_64 This is because adduser depends on some perl modules which are not listed in target-sdk-provides-dummy. So add these perl modules to avoid such failure. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-03nativesdk-*-provides-dummy: Fixes to allow correct operation with opkgRichard Purdie
opkg needs the replaces/conflicts/provides in order for this package to function as intended. When enabled, this code caused failures for core-image-sato -c populate_sdk. The reason is that nativesdk-autoconf has several perl dependencies. We need to list more of the things which this package provides/conflicts with in order for it to function correctly. Therefore add the missing entries. (From OE-Core rev: 27412b377dda47daa87bfcb3a41babe53ff8b0a3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-20buildtools-tarball: add nativesdk-rpcsvc-protoMingli Yu
Fedora28 repackages rpcgen program to rpcgen package and the program will no longer be part of the glibc-common package. fedora 28: $ rpm -qf /usr/bin/rpcgen rpcgen-1.3.1-4.fc28.x86_64 fedora 27: $ rpm -qf /usr/bin/rpcgen glibc-common-2.26-27.fc27.x86_64 Once build a project on fedora28 host without installing the extra rpcgen package, there comes below error: ERROR: Unable to start bitbake server ERROR: Last 10 lines of server log for this session (/yocto/builds/upgrade2/bitbake-cookerdaemon.log): self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset) File "/yocto/poky/bitbake/lib/bb/cooker.py", line 197, in __init__ self.initConfigurationData() File "/yocto/poky/bitbake/lib/bb/cooker.py", line 356, in initConfigurationData self.databuilder.parseBaseConfiguration() File "/yocto/poky/bitbake/lib/bb/cookerdata.py", line 317, in parseBaseConfiguration raise bb.BBHandledException bb.BBHandledException ERROR: The following required tools (as specified by HOSTTOOLS) appear to be unavailable in PATH, please install them in order to proceed: rpcgen So add nativesdk-rpcsvc-proto to provide the program rpcgen to fix the gap. Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01meta-ide-support: add cmake-nativeChin Huat Ang
Include cmake as part of build tree toolchain so that it is populated into meta-ide-support's recipe-sysroot-native which is prepended to $PATH, this ensures cmake-native is picked up first before host cmake. Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-19dummy-sdk-package.inc: work around MACHINE_ARCH SSTATE_MANMACHMartin Jansa
* since following change: allarch: only enable allarch when multilib is not used the sstate-diff-machines.sh reports different signature for target-sdk-provides-dummy when multilib is enabled === Comparing signatures for task do_populate_sysroot.sigdata between qemux86 and qemux86copy === ERROR: lib32-target-sdk-provides-dummy different signature for task do_populate_sysroot.sigdata between qemux86 and qemux86copy basehash changed from b0a44b2c7003b6b4aa3a023d9cb9fe82 to 3a59fa25ddb6a95aff079d477ebf3457 Variable SSTATE_MANMACH value changed from 'qemux86' to 'qemux86copy' ERROR: target-sdk-provides-dummy different signature for task do_populate_sysroot.sigdata between qemux86 and qemux86copy basehash changed from 9e44f1deb3d15886ee96db1a3332764c to 6b417d08a5113c9b06d13b3681f5ab4f Variable SSTATE_MANMACH value changed from 'qemux86' to 'qemux86copy' It's using: inherit allarch python() { # Put the package somewhere separate to ensure it's never used except # when we want it # (note that we have to do this in anonymous python here to avoid # allarch.bbclass disabling itself) d.setVar('PACKAGE_ARCH', '${DUMMYARCH}') } and DUMMYARCH = "sdk-provides-dummy-target" The difference as shown with bitbake -e before and after reverting allarch.bbclass commit: before revert: $SSTATE_MANMACH [2 operations] set? oe-core/meta/classes/sstate.bbclass:61 "${SSTATE_PKGARCH}" set sstate.bbclass:100 [__anon_111_oe_core_meta_classes_sstate_bbclass] "machineName" pre-expansion value: "machineName" SSTATE_MANMACH="machineName" $SSTATE_PKGARCH set oe-core/meta/classes/sstate.bbclass:11 "${PACKAGE_ARCH}" SSTATE_PKGARCH="sdk-provides-dummy-target" $PACKAGE_ARCH [3 operations] set oe-core/meta/conf/bitbake.conf:150 [_defaultval] "${TUNE_PKGARCH}" set oe-core/meta/conf/documentation.conf:304 [doc] "The architecture of the resulting package or packages." set dummy-sdk-package.inc:12 [__anon_12_oe_core_meta_recipes_core_meta_dummy_sdk_package_inc] "${DUMMYARCH}" pre-expansion value: "${DUMMYARCH}" PACKAGE_ARCH="sdk-provides-dummy-target" after revert: $SSTATE_MANMACH set? oe-core/meta/classes/sstate.bbclass:61 "${SSTATE_PKGARCH}" SSTATE_MANMACH="allarch" $SSTATE_PKGARCH [2 operations] set oe-core/meta/classes/sstate.bbclass:11 "${PACKAGE_ARCH}" set sstate.bbclass:98 [__anon_111__oe_core_meta_classes_sstate_bbclass] "allarch" pre-expansion value: "allarch" SSTATE_PKGARCH="allarch" $PACKAGE_ARCH [4 operations] set oe-core/meta/conf/bitbake.conf:150 [_defaultval] "${TUNE_PKGARCH}" set oe-core/meta/conf/documentation.conf:304 [doc] "The architecture of the resulting package or packages." set oe-core/meta/classes/allarch.bbclass:5 "all" set dummy-sdk-package.inc:12 [__anon_12_oe_core_meta_recipes_core_meta_dummy_sdk_package_inc] "${DUMMYARCH}" pre-expansion value: "${DUMMYARCH}" PACKAGE_ARCH="sdk-provides-dummy-target" the relevant part of the anonymous python in sstate.bbclass: elif bb.data.inherits_class('allarch', d) and d.getVar("PACKAGE_ARCH") == "all": d.setVar('SSTATE_PKGARCH', "allarch") else: d.setVar('SSTATE_MANMACH', d.expand("${PACKAGE_ARCH}")) So with allarch.bbclass change, the PACKAGE_ARCH isn't set to "all" because multilib is enabled, but that causes sstate.bbclass to set SSTATE_MANMACH to MACHINE instead of SSTATE_PKGARCH allarch, where it got MACHINE is still a bit of mystery to me. Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30buildtools-tarball: add python3-testtools and python3-subunitRobert Yang
They are required by oeqa. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-24uninative-tarball: Add nativesdk-libnss-nis to resolve glibc symbol issuesRichard Purdie
We need this to avoid symbol mismatch issues for binaries that use this on newer systems which then won't run on older ones where it isn't present. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-06buildtools-tarball: add nativesdk-libnss-nisChen Qi
Recent glibc change removed libnss-nis module from glibc and a new recipe libnss-nis.bb was added. After this change, we need to make sure nativesdk-libnss-nis is also included in buildtools-tarball, otherwise, we may encounter the following error when using 'tar' command from buildtools-tarball. tar: relocation error: /lib/x86_64-linux-gnu/libnss_nis.so.2: \ symbol _nsl_default_nss version GLIBC_PRIVATE not defined \ in file libnsl.so.1 with link time reference This error occured on my ubuntu16.04 host with 'nis' configured in /etc/nssswitch.conf. So add nativesdk-libnss-nis to buildtools-tarball to fix this problem. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>