summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* populate_sdk_(deb|ipk).bbclass: remove old shell codeLaurentiu Palcu2014-02-112-113/+0
| | | | | | | | | The old code no more needed since the job is done in python now. (From OE-Core rev: 58f06621aa1a5618dc969e8d1b537e32763a9461) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: change POPULATE_SDK_POST_TARGET_COMMANDLaurentiu Palcu2014-02-111-1/+1
| | | | | | | | | | | Since rootfs_install_complementary() is now implemented in python for each backend, remove it from POPULATE_SDK_POST_TARGET_COMMAND. Call it directly in python. (From OE-Core rev: c941fce37eb1ca7b77e5885c3e3e776f9538754b) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_base.bbclass: activate the new python routinesLaurentiu Palcu2014-02-111-32/+10
| | | | | | | | | | Lose the old shell populate_sdk_image() function and use the new python implementation. (From OE-Core rev: 5a81b8a0820ceac972a68af2caebdc8d2f3945a1) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass, lib/oe/rootfs.py: remove intercept_scripts directoryLaurentiu Palcu2014-02-111-1/+1
| | | | | | | | | Remove the directory, manually, in the Rootfs.create() function. (From OE-Core rev: 37a9dc05272e7e49c8a475ccb3d10880dcee4763) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Cleanup image,rootfs_ipk,package_ipk bbclass filesLaurentiu Palcu2014-02-113-340/+4
| | | | | | | | | This commit cleans up the functions that were ported to python. (From OE-Core rev: d950ef40a3eae4b54cc62828e66d84a62d78c447) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_(deb|ipk).bbclass: remove the stamp when creating package from cacheLaurentiu Palcu2014-02-112-0/+10
| | | | | | | | | | If the packages are created from cache, we need to remove the stamp so that we re-generate the index files at do_rootfs time. (From OE-Core rev: dc06a91144b79a152eb481f6d36f6c328321b7c4) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Activate the new python rootfs/image creation routinesLaurentiu Palcu2014-02-114-625/+11
| | | | | | | | | | | | | | This commit will: * remove old bash code common to all backends; * create a new do_rootfs() python function that will use the new rootfs/image creation routines; * allow creation of dpkg based images; * fail for rpm/opkg (not implemented yet); (From OE-Core rev: a83144bac8d67704ff66f5dc0fc56f5b63979694) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* binconfig: mangle ${base_libdir}Ross Burton2014-02-091-1/+5
| | | | | | | | | | | | | Some recipes are installing libraries into ${base_libdir} (typically /lib) and also use a foo-config binary to identify compile paths, for example libusb-compat. Without mangling ${base_libdir} the ${base_libdir} path is passed to the compiler, where it looks like a host path and results in compile-host-path QA errors. (From OE-Core rev: ccd9abdccb84d713427541b6ee29a0e217360e74) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd.bbclass: Add ability to select a static uid/gid automaticallyMark Hatle2014-02-092-0/+264
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [YOCTO #5436] Automatic selection of static uid/gid is needed for a dynamically generated passwd and group file to have a deterministic outcome. When a package is installed and instructs the system to add a new user or group, unless it selects a static uid/gid value, the next available uid/gid will be used. The order in which packages are installed is dynamically computed, and may change from one installation to the next. This results in a non-deterministic set of uid/gid values. Enabling this code by adding USERADDEXTENSION = "useradd-staticids", and adding a preconfigured passwd/group file will allow the continued dynamic generation of the rootfs passwd/group files, but will ensure a deterministic outcome. (Dynamic generation is desired so that users and groups that have no corresponding functionality are not present within the final system image.) The rewrite params function will override each of the fields in the useradd and groupadd calls with the values specified. Note, the password field is ignored as is the member groups field in the group file. If the field is empty, the value will not be overridden. (Note, there is no way to 'blank' a field, as this would only generally affect the 'comment' field and there really is no reason to blank it.) Enabling USERADD_ERROR_DYNAMIC will cause packages without static uid/gid to generate an error and be skipped for the purpose of building. This is used to prevent non-deterministic behavior. USERADD_UID_TABLES and USERADD_GID_TABLES may be used to specify the name of the passwd and group files. By default they are assumed to be 'files/passwd' and 'files/group'. Layers are searched in BBPATH order. (From OE-Core rev: 18c99dac52b746b88cd084eb4c2a2ef0329a6ff3) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd.bbclass: Fix build time install issuesMark Hatle2014-02-091-6/+15
| | | | | | | | | | | | | | | | | | | | | | When the system attempts to populate the sysroot's passwd/group files, it does so in a single block. However, with the way it was previously implemented, the system would always run through the code necessary to populate the sysroot, even in the case of target packages. This had the side effect that a cross-installed filesystem may not match a target installed filesystem. The code was slightly reorganized to ensure that the cross/target installed pre-install script behavior is the same. It also moves the block that configures the sysroot parameters to the sysroot specific section of the code. Also some minor validation was occuring even on nativesdk packages. Nativesdk packages should be skipped when processing useradd ops. (From OE-Core rev: 99fd0f14fd774c9194f62795e6023880e3aa5612) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_deb: Fix whitespace issueSaul Wold2014-02-091-1/+1
| | | | | | | | | | Fixing the following warning: WARNING: Variable rootfs_deb_bad_recommendations contains tabs, please remove these (/srv/ssd/sgw/poky/meta/recipes-extended/images/core-image-lsb-dev.bb) (From OE-Core rev: aec771c113ae4347af7ef98bef8c289e3a5069e2) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: add ability to export testsStefan Stanacar2014-02-091-15/+92
| | | | | | | | | | | | | | | | | | | | | Add the ability to export the tests so that they can run independently of the build system, as is required if you want to be able to hand the test execution off to a scheduler. Booting/deployment of the target is still handled by the build system, as before, only the execution of the tests happens outside of the build system. Tests exported are the ones defined in TEST_SUITES. No tests have been changed as interesting parts of the data store have been exported and tests can continue to query them as before. Small adjustments were made for a couple of oeqa modules though. [YOCTO #5613] (From OE-Core rev: 155dd52e0f707e06f50756584a50f744ba6b7844) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_base: remove nostamp from do_populate_sdkPaul Eggleton2014-02-091-1/+0
| | | | | | | | | | | | | We've removed nostamp from do_rootfs in image.bbclass in OE-Core commit 8505008c115efb54d18e5f25441c7a938a32ffaf, and we should do the same for do_populate_sdk here for the same reason - we can now rely on task signatures so if nothing has changed, we don't need to re-run it. (From OE-Core rev: de9b693f4ff311f1310a1c6005e0d5c225aabef6) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: write out files in UTF-8 formatPaul Eggleton2014-02-061-21/+25
| | | | | | | | | | | | | If the package information contained unicode characters (for example, in the package file listing) then writing them out as ASCII would fail, so write them out using codecs.open() instead of open() using UTF-8. This fixes ca-certificates failing in do_packagedata when buildhistory is enabled. (From OE-Core rev: dcf228fe69bfee4e22baad477ad407248c0f9cdb) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Improve funciton checksumsRichard Purdie2014-02-041-0/+4
| | | | | | | | | | | Now that bitbake is recursing into pre/postfuncs, we need to ensure the dependencies of these functions is correct. We don't want dependencies on MACHINE or other related variables. This patch adds in appropriate variable exclusions to achieve this. (From OE-Core rev: 8461283a648d7c5affd51971ebd9b35a8a4c625f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Fix python function whitespace changesRichard Purdie2014-02-031-96/+96
| | | | | | (From OE-Core rev: 9dee6c2fe0d1882521c0f9a6998257a652845854) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: fix expansion of escape sequencesPaul Eggleton2014-02-031-1/+1
| | | | | | | | | | | | | OE-Core commit 259b8718a31b886f8a158aeb5de164840c9a28b2 fixed UTF-8 errors but broke decoding of escape sequences in strings (e.g. pkg_postinst scripts had \n \t in them instead of newlines and tabs.) We need a second call to decode() here as specifying 'string_escape' as the second parameter won't do anything. (From OE-Core rev: 15e0cdff08b8b9b826bbb9f00192a27318a3ee65) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_ipk: Ensure that BAD_RECOMMENDATIONS are honoured for all architecturesPhil Blundell2014-02-021-7/+1
| | | | | | | | | | | | | | | | | | | | Commit a5362de60c0051f16b88a40bd9cb41915bee0b0f restricted us to writing only a single entry to the status file for any given package. This avoids writing garbage entries (with no Status) when multiple versions of the same package exist in the feed. However, in the case where the same version exists for multiple architectures (for example, has been built for both cortexa15 and generic armv7a), we do need to write out status file entries for all of them since we can't trivially determine which one opkg will decide to install. Fix this by undoing a5362de60c0051f16b88a40bd9cb41915bee0b0f and writing out an entry for everything that matches, but ensuring that we force the Status to the correct value for each one. (From OE-Core rev: 12d7b44c817bdf6eea425bda607379594057c3fb) Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: Also uninstall update-alternatives and shadow for ↵Phil Blundell2014-02-021-1/+1
| | | | | | | | | | | | | | | | read-only-rootfs If the rootfs is read-only then we aren't going to be updating any alternatives or modifying the password file and these binaries will be redundant. In an ideal world we would be able to stop them from being installed in the first place but this is non-trivial to arrange. As a workaround in the meantime, let's just uninstall them once image construction is finished. (From OE-Core rev: d41097a970e9bfa553cd4bc3c9fad4b9073d7bd5) Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distutils: Introduce PYTHON_ABI variableKhem Raj2014-02-023-0/+5
| | | | | | | | | | | | | | | | In python3 this has to be taken care of, it defines a variable to denote ABI currently its at 'm' and it uses this to construct the directory names for installing the python headers and library names in sysroot. e.g. it will be something like ../python3.3m/... We need this information when we are using distutils to cross build python extentions and want to know the locations of python headers and libraries install locations (From OE-Core rev: 9a3e4ac4a4eeed64ec80d400130dff3d26daf336) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: Add distutils for python3Khem Raj2014-02-026-2/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In line with python2 add distutils and setuptools classes for handing python3 Use python-distribute instead of python-setuptools in setuptools bbclass Remove --single-version-externally-managed since its setuptools specific and we dont use it anymore Do build_ext as separate step during compile Add DISTUTILS_BUILD_EXT_ARGS for modules to pass flags to build_ext step in setup.py Add build_ext as sepate step during compile and add the cross sysrooted library and headers since we are cross compiling Use ${PYTHON_PN} in place of hardcoding python name Remove the /etc/share if its empty Since OE-Core times we now have machine specific sysroots for targets unlike before when we used arch specific sysroots so reflect that here Use MACHINE for sysroot when not building for build host Python's machinery replaces directories in sysroot path to match OE's staging area sysroots. Earlier we use to have HOST_SYS represent sysroot always but now we use MACHINE to represent target sysroots but HOST_SYS to represent host sysroot. This patch caters to that difference (From OE-Core rev: 8bb0206ed67228c88dd5bc2d8b36ce28f48b78f4) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/distutils: Introduce PYTHON_PNKhem Raj2014-02-025-19/+23
| | | | | | | | | | This is needed to accomodate python3 alongside python2 (From OE-Core rev: ae931c2cf9e48e1fb74b4b727dbf668ea880023f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_rpm.bbclass: Trigger the regexp on exact keyword matchKhem Raj2014-02-021-1/+1
| | | | | | | | | | This causes issues when postinstalls have ERROR keywords its interpreted as error and image build is cancelled (From OE-Core rev: f5bc3cfac9545c402b415695c4e0f98ad38fb2b0) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3native.bbclass: Add python3 abstraction classKhem Raj2014-02-021-0/+7
| | | | | | | (From OE-Core rev: ead30aa5e3046f450ee688e14f6d5268d9ed0bd8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity.bbclass: check that TMPDIR is not located on nfsRobert Yang2014-02-021-1/+19
| | | | | | | | | | | | | | | | | | | | | There would be some unexpected errors when the whole TMPDIR is located on nfs, so add a test for it in sanity.bbclass. Note: The better way to get the filesystem id should be get f_fsid from struct statvfs, but there is no f_fsid in os.stat() or os.statvfs(), so we use 'stat -f -c "%t"' here. BTW., s/tmpdir/TMPDIR/ in the previous comment message to make them have a uniform. [YOCTO #5442] (From OE-Core rev: ee4061b43522c4893b41c3be63d06be1ee7e3c70) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-rc.d: automatically rdepend on initscripts-funtionsChen Qi2014-02-021-0/+12
| | | | | | | | | | | | | | | Automatically add 'initscripts-functions' to packages when needed. This extra dependency is added only when the package's init script would be used at system start-up. In other words, in a systemd based image, if the package has already got its service files, it will not have this extra dependency. (From OE-Core rev: de875cb8893fd8372dd77babaef54ab2d790693d) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: Fix empty modules directory QA issueNathan Rossi2014-02-021-0/+2
| | | | | | | | | | | | | | | | | | | | | If a kernel is built without any external modules (aka no CONFIG_*=m), then during a modules_install of the kernel an empty directory is created at /lib/modules/${KERNEL_VERIONS}/kernel. This is behaviour of the kernel infrastructure, the directory would normally be populated with the modules that were built. However because of the expectations of kernel-modules-split, no packages are created when there are no modules and an empty directory lingers. This raises QA issues as warning or errors (depending on the distro). The following patch changes the kernel_do_install task to check if the directory is empty and if so removes it. (From OE-Core rev: 63d3070b7e1207164891b154a5b9017731e75872) Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toaster.bbclass: save original package nameAlexandru DAMIAN2014-01-291-0/+4
| | | | | | | | | | | If we can get the original package name when reading package infos in toaster.bbclass, we save it for proper referincing in the toater ui. (From OE-Core rev: c3f3fed1b397b6ee6d44e7d39e63d084e4a88e30) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Show which files require given dependency in debug outputMartin Jansa2014-01-291-2/+10
| | | | | | | | | | | * when log.do_package shows some unexpected dependency, people usually need to grep package directory to find which binary was creating that dependency, show it directly in the debug output (From OE-Core rev: cf0696a39b811b13bb6e7dd06a2dad607e93a643) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Don't search for providers of PRIVATE_LIBSMartin Jansa2014-01-291-2/+11
| | | | | | | | | | * split PRIVATE_LIBS and don't use find(), so that libfoo cannot be found in PRIVATE_LIBS = "libfoobar" (From OE-Core rev: 2dec075478f977b554061dd9a4b2b8ff4af3597a) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cml1.bbclass: Fix return code handling in do_menuconfig()Jacob Kroon2014-01-281-1/+1
| | | | | | | | | | | | | | | | | | | On my system, doing "bitbake -c menuconfig busybox" pops up a gnome-terminal, I can see that the compilation starts but then the terminal automatically exits. It turns out I don't have ncurses development package installed on my host, and OE's host sysroot isn't being passed to gcc, so compilation fails. The window automatically closes before I can read the error message since the '$' in the return code check needs to be escaped. Make sure the user can read the error message by properly checking the return code. (From OE-Core rev: a2241a92fc48e4286de17b23124a9e2f0fd8185b) Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib.bbclass: fix Multilib QA IssueMing Liu2014-01-281-1/+1
| | | | | | | | | | | | | | | | Multilib QA warning was observed, as follows: ------ WARNING: Multilib QA Issue: lib32-oprofile package lib32-oprofile - suspicious values 'kernel-vmlinux' in RRECOMMENDS ------ The package starting with 'kernel-vmlinux' should be ok with multilib QA checking. (From OE-Core rev: 00012b63fefd77c57169f7cc06d648f54890e5df) Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory.bbclass: Improve robustness in image file listingOtavio Salvador2014-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The filenames sometimes may have strange names. With the 'awk' script it handled a limited number of spaces in the filename and a package installing a file named "test file with spaces" would have its name truncated. This patch uses the find's printf formating to simplify the code and properly handle this case. From a testing image, the only diff produced is: ,----[ files-in-image.txt diff ] | --rwxr-xr-x root root 0 ./usr/bin/test\ file\ with\ | +-rwxr-xr-x root root 0 ./usr/bin/test file with spaces `---- The options used are available since findutils 4.2.5, released in 19 Nov 2004, making it available in all supported host distributions. (From OE-Core rev: b09e24449c1c9ae335732dd070eacf66777556a1) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scons bbclass: enable parallel makeKoen Kooi2014-01-281-1/+1
| | | | | | | | | | Scons supports -jX parallel make, so let's use that. A small scale test of a few recipes shows no failures! (From OE-Core rev: a3ad3602b0e8d4a6387cac3f118722af1a0781eb) Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: fix paths to run-postinstsRoss Burton2014-01-281-2/+2
| | | | | | | | | | | | The run-postinsts script has been moved to ${sbindir}. [YOCTO #5719] (From OE-Core rev: 2c8dc1b00c0cf83da106ef9544cd11cde7ce43a1) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity.bbclass: check required perl modulesRobert Yang2014-01-281-1/+14
| | | | | | | | | | | | | | | | | Several required perl modules may missing on the host, for example the Text::ParseWords, Thread::Queue and Data::Dumper are not installed by default on recent Fedora releases (19 and 20 AFAIK). There would be wild errors if they don't exist, so check them in sanity.bbclass. And add perl to SANITY_REQUIRED_UTILITIES. [YOCTO #5744] (From OE-Core rev: b46d82bea23208733b71642bb262c9a05c08efec) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_{ipk, deb, rpm}.bbclass: support additional user-defined metadataLeonid Borisenko2014-01-283-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Additional metadata from user-defined variable is written into control/spec file of binary package. Three variables are searched for adiitional package metadata: * PACKAGE_ADD_METADATA_<PKGTYPE>_<PN> * PACKAGE_ADD_METADATA_<PKGTYPE> * PACKAGE_ADD_METADATA First found variable with defined value wins. <PN> is a package name. <PKGTYPE> is a distinct name of specific package type: * IPK for .ipk packages * DEB for .deb packages * RPM for .rpm packages Variable can contain multiple [one-line] metadata fields separated by literal sequence '\n'. Separator can be redefined through variable flag 'separator'. In package control/spec file separator is replaced by newline character. (From OE-Core rev: 773d7352309241e15ef5acadcbe416bdd7d45c18) Signed-off-by: Leonid Borisenko <ive.found@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: add getter of additional metadataLeonid Borisenko2014-01-281-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Two variables are searched for value of additional package metadata: * PACKAGE_ADD_METADATA_<PKGTYPE> * PACKAGE_ADD_METADATA First found variable with defined value wins. <PKGTYPE> is a parameter of getter and expected to be a distinct name of specific package type. For example: 'DEB' or 'RPM'. Variable can contain multiple [one-line] metadata fields, separated by literal sequence '\n'. Separator can be redefined through variable flag 'separator'. Getter returns found value with separator replaced with newline character. As side-effect, searched variables acquired flags 'type' (equals to 'list') and 'separator'. (From OE-Core rev: 98ea2fc35a3ef609a944929e21e0f9be2889036d) Signed-off-by: Leonid Borisenko <ive.found@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* boot-directdisk: fix the support of vmdkJoao Henrique Ferreira de Freitas2014-01-231-10/+8
| | | | | | | | | | | | | | | Previous change (086ce22b88f5ef5f75a83119a32c8b3fdcfa296d) broke the creating of vmdk images. This protects shell expansion variables and let dd generate the image to be transformed to vmdk by image-vmdk.class. (From OE-Core rev: 2fe667afbdc6880c377657b5ff27e6db3b6cbe77) Signed-off-by: Joao Henrique Ferreira de Freitas <joaohf@gmail.com> [edit to change the usage of IMAGE_FSTYPE to IS_VMDK] Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake.bbclass: fix note when warning about deprecated variablesRoss Burton2014-01-221-1/+1
| | | | | | | | | | | The note issues when OECMAKE_BUILDPATH and OECMAKE_SOURCEPATH were being used stated that an in-tree build would be done, but the default is in fact an out-of-tree build. (From OE-Core rev: 0dafb9f78e9ab9ec1a1483efc37902c2e8de3623) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: remove previous version's stampRobert Yang2014-01-211-9/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a potential problem if we don't remove the previous version's stamp, for example: The depend chain is: libtool-native -> autoconf-native -> m4-native We have two m4-native: 1.4.9 and 1.4.7 1) Clean all of them to make a fresh build so that we can reproduce the problem $ bitbake m4-native autoconf-native libtool-native -ccleansstate 2) Build libtool-native so that the m4-native_1.4.17 will be built $ bitbake libtool-native 3) Set PREFERRED_VERSION_m4-native = "1.4.9" and build again $ bitbake libtool-native 4) Set PREFERRED_VERSION_m4-native = "1.4.17" and build again $ bitbake libtool-native -ccleansstate && bitbake libtool-native Then the build will fail: [snip] | m4: unrecognized option '--gnu' | Try `m4 --help' for more information. | autom4te: m4 failed with exit status: 1 [snip] The is because when we change m4-native to 1.4.17 and build libtool-native again: 5) libtool-native depends on autoconf-native, and autoconf-native's version isn't change, so it can remove the current stamp and mirror the sstate (the one depends on m4-native_1.4.9) from the SSTATE_DIR correctly. 6) The mirrored autoconf-native depends on m4-native_1.4.17's do_populate_sysroot, and the stamp is already there (which is made by step 2), so it would do nothing, but this is incorrect, since the one that really in the sysroot is m4-native_1.4.9, then the error happens. Remove previous version's stamp in sstate_clean() will fix the problem. [YOCTO #5422] (From OE-Core rev: 4659d29b1040349116549644e45035a5b37d9311) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: show warning when package is providing already provided shlibMartin Jansa2014-01-211-2/+9
| | | | | | | | | | | | | * move read_shlib_providers before registering package as provider and show warning when different package tries to provide something already provided. [YOCTO #4628] (From OE-Core rev: 8141e3f61f12c8901b990496bcf6b76a9db95a57) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: move reading shlibs providers to separate functionMartin Jansa2014-01-211-20/+23
| | | | | | | | | | | | * prepare for reading shlibs providers only from dependency tree of current recipe [YOCTO #4628] (From OE-Core rev: c5076f33ac27c0c2b0743bf6dc4edc983254c467) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc: use exact match in blacklists, re-start with empty ↵Martin Jansa2014-01-211-15/+18
| | | | | | | | | | | | | | | | | system_package_blacklist * unify debug messages a bit * old implementation allowed partial match in blacklist, it's safer to explicitly list exact matches * I was able to build all entries from system_package_blacklist with icecc enabled, lets assume that they were already resolved by newer versions (we've fixed a lot of parallel issues in recipes which were detected even without icecc and this list is very old). (From OE-Core rev: 5a5319d2e6f41bb0e290d6a1decbd996e9572690) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc: Fix allarch and native recipes having different signaturesMartin Jansa2014-01-211-0/+4
| | | | | | | | | | | | * for different MACHINES * is there more elegant way to have "overridable" function so that signature handler properly uses only the branch without STAGING_BINDIR_TOOLCHAIN? (From OE-Core rev: 418a353a011ca8f04ecc3e2d29f2d1a415492081) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc: use bb.utils.which also for 'as'Martin Jansa2014-01-211-1/+6
| | | | | | | | | | | | | | | | | | * it was introduced in commit 3a842ec52e7d010767b13bdcb5629ac07b3ee9e7 Author: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Date: Fri Sep 16 10:55:16 2011 +0400 Subject: icecc.bbclass: replace with updated version without any explanation in which case ${ICECC_CC} -print-prog-name=as is returning as in current working directory, but will keep old behavior just in case (From OE-Core rev: 6092da20fc3ceb1bc6b4872ad16df565f05723b7) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc: Don't replace non-empty PARALLEL_MAKE with empty ICECC_PARALLEL_MAKEMartin Jansa2014-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | * it's needed for use-case like this: # Inherit icecc here, so that all builders have the same sstate signatures INHERIT_DISTRO += "icecc" # and then disable its function by default (so that people still need to explicity # enable it in local.conf if they have configured icecc and want to use it. # You need to set _empty_ value in local.conf to enable icecc function: # ICECC_DISABLED = "" ICECC_DISABLED ??= "1" * so default ICECC_PARALLEL_MAKE is still empty, but we want build to respect our PARALLEL_MAKE, unfortunately we cannot do something like ICECC_PARALLEL_MAKE ??= "${PARALLEL_MAKE}", because that would cause PARALLEL_MAKE to reference itself. (From OE-Core rev: 7e586d5b7c8c7f20eafc32624200f60a8ed9a582) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* allarch: Set empty TARGET_PREFIX and TARGET_FPUMartin Jansa2014-01-211-0/+2
| | | | | | | | | | | | | | | | | | | * set empty TARGET_PREFIX This has a bit weird reason caused by unsupported setup where external-toolchain is used in some DISTRO only for some MACHINEs and internal is used for other MACHINEs. Because external-toolchain usually comes with different TARGET_PREFIX it was causing allarch recipes to have different signatures even when they don't use toolchain at all. Empty TARGET_PREFIX also helps to find allarch recipes which still have default dependency on e.g. virtual/${TARGET_PREFIX}gcc. * add TARGET_FPU just for completeness (it was used in icecc.bbclass but now it's vardepexcluded there as well) (From OE-Core rev: 180ba7f6603b35eb66946649d8860022d2c329b7) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-alternatives: We now use u-a in nativesdk so make sure the dependency ↵Richard Purdie2014-01-191-1/+1
| | | | | | | | | | | | | | is present When update-alternatives was part of opkg which got built in most nativesdk scenarios, this missing dependency wasn't an issue. We now need nativesdk-opkg-utils so we need to ensure the dependency is present in nativesdk cases. This avoids build failures with the recent u-a move to opkg-utils. (From OE-Core rev: 7e0adf676da45e49287b7ce6478a6dbfd8fa117f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_rpm: Fix a race with package_deb/package_ipkRichard Purdie2014-01-161-0/+5
| | | | | | | | | | | | | | | | | We have the odd situation where the CONTROL/DEBIAN directory can be removed in the middle of the walk, the isdir() test would then fail and the walk code would assume its a file hence we check for the names in files too. This resolves the autobuilder failure: error: File not found: /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-arm/build/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/xinit/1_1.3.3-r0/package/DEBIAN RPM build errors: File not found: /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-fsl-arm/build/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/xinit/1_1.3.3-r0/package/DEBIAN (From OE-Core rev: e38d7702be279d6d6d4c79b3f2379e689a7473d2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>