summaryrefslogtreecommitdiffstats
path: root/meta/classes/package.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* package: ensure do_split_packages doesn't return duplicatesRoss Burton2016-06-291-3/+3
| | | | | | | | | | | | | | | | | | do_split_package() constructs a list of packages that were created as it iterates through the files, so if multiple files go into the same package then the package will be repeated in the output. Solve this by using a set() to store the created packages so that duplicates are ignored. (From OE-Core rev: b251f8b212f16b16b88183cc9a959d8cfa24fe3c) (From OE-Core rev: 1aff01ddea6db059322939af0284dac370901546) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: improve permission handlingDan McGregor2016-04-141-3/+8
| | | | | | | | | | | | | | Change fs_link_table to be keyed by path, just like fs_perms_table. When a new entry is coming in for either table, remove any previous entry for that path. This way later permission file entries override earlier ones. [YOCTO #9430] (From OE-Core rev: b7504ece784fad997e72f4cd89cdf73f24901541) Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: handle links in sorted orderBill Randle2016-04-131-9/+10
| | | | | | | | | | | | | | | When processing links, the directories are processed in unsorted order which can result in cases like /var/lock -> /run/lock handled before /var/run -> /run throwing an error for /var/run because /run already exists. Change the link processing to ensure links are processed in sorted order of the destination. [YOCTO #9430] (From OE-Core rev: d71f4f54b4c22c9382bddce66c1580d875dcfef2) Signed-off-by: Bill Randle <william.c.randle@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: do_split_packages: expand variables in extra_dependsRoss Burton2016-04-061-0/+1
| | | | | | | | | | | | | If a recipe passes for example extra_depends="${PN}-dev" to do_split_packages() then it isn't expanded, so the check for the multilib prefix doesn't work. Solve this centrally by expanding extra_depends inside do_split_packages(). [ YOCTO #9381 ] (From OE-Core rev: d3875a8111f1d88dcc83219d4700784050988ca3) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* conf/bitbake.conf package.bbclass: fix dbg package not contain sources while ↵Hongxu Jia2016-03-281-4/+20
| | | | | | | | | | | | | | | | | | | | | | -fdebug-prefix-map used Tweak DEBUG_FLAGS to use "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}" as source target path in DWARF. While use gdb to debug binary, it could work with sources in dbg package. While -fdebug-prefix-map is used for compiling, we do not need invoking debugedit to edit DWARF at do_package time, but list where sources files are. The copydebugsources uses the list to copy sources to dbg package. It works whether -fdebug-prefix-map used or not. [YOCTO #9305] (From OE-Core rev: ecb56a6ae0c870af680da03db9d39703b525fc98) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Treat .node files same as .so when checking what to stripBrendan Le Foll2016-03-251-1/+1
| | | | | | | | | | | | Typically in a node/npm compiled modules the module is named .node. This is a binary module without a wrapper so it can actually be relatively large if unstripped. (From OE-Core rev: d14bc2667575bc0e29b9e90d80c01703639b76f1) Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: check inherit instead of PN to decide if a recipe is a packagegroupRoss Burton2016-02-281-2/+1
| | | | | | | (From OE-Core rev: b6c3ea4240e965f69b3cae0b601c8dc8d18c7646) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/lib: Add expand parameter to getVarFlagRichard Purdie2016-02-041-2/+2
| | | | | | | | | | | | | | | | This sets the scene for removing the default False for expansion from getVarFlag. This would later allow True to become the default. On the most part this is an automatic translation with: sed -e 's:\(\.getVarFlag([^,()]*, [^,()]*\)):\1, True):g' -i `grep -ril getVar *` In this case, the default was False, but True was used since in most cases here expansion would be expected. (From OE-Core rev: 42a10788e89b07b14a150ced07113566cf99fcdd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Add data expansion to do_split_packages()Richard Purdie2016-02-041-0/+2
| | | | | | | | | | | | | do_split_packages is often called with parameters which need expansion. This happens to work at the moment since python functions are expanded before execution but likely will not happen in future and isn't good code practise. Expand the common parameters do_split_packages() to avoid regressions. (From OE-Core rev: c92ac7996b1b65a9171ea00e7156c87cccc07cec) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane/package: Fix cases where QA errors aren't fatalRichard Purdie2016-01-151-0/+4
| | | | | | | | | | | | | | | | | | | | | When using package_qa_handle_error(), we need to check QA_SANE and give a fatal error if issues were raised. The main insane checks do this, the anonymous python in insane does not, nor does the code in package.bbclass. This was likely missed when the function was introduced to package.bbclass. The impact is that errors can be shown but don't stop the build (do_package succeeds), the initial build fails due to the errors shown but subsequent builds succeed. This is clearly broken. The solution is to check QA_SANE in places we use the handle_error function. [YOCTO #8907] (From OE-Core rev: 7e36d13212763fe409747aba011c020c9aeba6d7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Add auto package splitting of .debug filesRichard Purdie2015-12-161-0/+17
| | | | | | | | | | | | | Creating FILES_${PN}-dbg is tedious and also pretty pointless. We might as well assume ".debug" is a special directory name and split into -dbg automatically. This change does so without changing the rest of the splitting logic too much. It can be disabled for the cases where we really do want manual control of the -dbg packages (e.g. qt4) with NOAUTOPACKAGEDEBUG = "1". (From OE-Core rev: da5ec06814e105451cca11cce76b5c5231110524) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bbclass: fix spelling mistakesMaxin B. John2015-11-241-2/+2
| | | | | | | | | | Fix some spelling mistakes in bbclass files (From OE-Core rev: ed484c06f436eea62c5d0b1a2964f219f3e5cb61) Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* prserv.bbclass: remove it since it is nullRobert Yang2015-10-271-1/+0
| | | | | | | | (From OE-Core rev: 48d78232299735da99137491ae4cbe8faaae3dfb) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: add summary line to installed-vs-shipped QA checkMartin Jansa2015-09-231-1/+2
| | | | | | | | | | | | * there is PN at the beginning, then possibly long list of files and at the end we don't see which recipe has this issue, add another line which says which PN and how many files (From OE-Core rev: 32412ac530bcf286980a6f9c7367df4944dd603a) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Add explict getVar param for (non) expansionRichard Purdie2015-06-231-2/+2
| | | | | | | | | | | | | | Rather than just use d.getVar(X), use the more explict d.getVar(X, False) since at some point in the future, having the default of expansion would be nice. This is the first step towards that. This patch was mostly made using the command: sed -e 's:\(getVar([^,()]*\)\s*):\1, False):g' -i `grep -ril getVar *` (From OE-Core rev: ab7c1d239b122c8e549e8112c88fd46c9e2b061b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Include missing variables on PACKAGEVARSLeonardo Sandoval2015-05-241-1/+1
| | | | | | | | | | | | | | | | | | | PACKAGEVARS appended on this commit: LICENSE SECTION pkg_preinst pkg_prerm RREPLACES GROUPMEMS_PARAM SYSTEMD_AUTO_ENABLE [Yocto #7754] (From OE-Core rev: 64a3a4f1b4c6692f0ba9a7192a8e5c2f43beeef2) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Fix license exclusion packaging errorsRichard Purdie2015-04-301-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | Currently the license exclusion code removes packages from PACKAGES pre population of the package directories. This means that the FILES entries for some packages are not seen and invariably results in packaging errors. Instead, remove the packages from PACKAGES post population of the packages so the usual FILES entries work as expected but the file are not placed into any packages and no packages containing embargoed licenses are generated. This avoids errors from gcc-runtime with GPLv3 exclusion like: ERROR: QA Issue: gcc-runtime: Files/directories were installed but not shipped in any package: /usr/share /usr/src /usr/share/gcc-4.9.2 /usr/share/gcc-4.9.2/python Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. [installed-vs-shipped] (From OE-Core rev: 09c3d648c95fe88197c15d656bda1c9303aa2079) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* split_and_strip_files: regroup hardlinks to make build deterministicEd Bartosh2015-04-291-22/+26
| | | | | | | | | | | | | | | | | | | | | Reverted 7c0fd561bad0250a00cef63e3d787573112a59cf Created separate group of hardlinks for the files inside the same package. This should prevent stripped files to be populated outside of package directories. This turns out not to be straightforward and has overlap with the other hardlink handling code in this area. The code is condensed into a more concise and documented form. [Original patch from Ed with tweaks from RP] [YOCTO #7586] (From OE-Core rev: 82d00f7254b7d3bb6a167d675d798134884d1b19) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/package: clarify installed-vs-shipped messagePaul Eggleton2015-04-191-1/+2
| | | | | | | | | | | | | | Based on the number of times I've had to explain it over the years it seems that a lot of new users don't immediately realise what is meant by "shipped" here (nor should we expect them to) so let's at least mention packaging and briefly tell the user what they need to do. (I was going to go into more detail in the message, but there is really more detail than can be covered succinctly here.) (From OE-Core rev: 7047d02619547401c313de8c6972a7a0af77e2bc) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Add SYSTEMD_SERVICE to list of package specific variablesAndreas Oberritter2015-03-251-1/+1
| | | | | | | | | | | Changes to SYSTEMD_SERVICE should change the sstate checksum. To make that happen, it needs to be listed in the list of package specific variables, therefore add it. (From OE-Core rev: 0a51f024e8212f011bb8b03d81f18bcd9aa6aa1f) Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* packaging: allow globs in CONFFILESChen Qi2015-02-191-18/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow globs in CONFFILES. This patch changes the way of CONFFILES handling. After this change, the CONFFILES can take the same form as FILES. That means, we don't have to list a bunch of files for CONFFILES. It will just be expanded like the FILES variable. We don't assume default value for CONFFILES in OE. But distro vendors could provide a default value for CONFFILES in their distro configuration file like below. CONFFILES = "${sysconfdir}" In this way, files under /etc are treated as configuration files by default. Of course, setting CONFFILES in recipes take precedence over the CONFFILES. For example, if the recipe author decides that package A should only treat files under ${sysconfdir}/default/ as config files, he/she can write like this. CONFFILES_A = "${sysconfdir}/default" [YOCTO #5200] (From OE-Core rev: 0d446ef0e5bbca7058eec7259e34f2a1637dfab1) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Let PR server update PKGV, not PVMike Looijmans2015-01-231-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PV is the package version as we need it to be during the build. PKGV is the final version as it ends up in the package, and defaults to PV. The packager handled builds without PR-server by replacing the AUTOINC string in PKGV, but when the PR-server is being used, the script replaces the contents of PKGV with the PV if the PV contains "AUTOINC". Thus the packager overrides any change to PKGV the recipe might have made. This breaks classes like gitpkgv that provide a correctly numbered PKGV, the number as calculated by that class will simply be replaced with a 0-based index from the PR-server. This patch makes the packager look at the PKGV version instead of the PV, and update the PKGV only based on the PKGV contents as set by the recipe. See also the discussion here: http://lists.openembedded.org/pipermail/openembedded-core/2015-January/100329.html From investigating the history of the code and changes in the past year, the use of "pv" instead of "pkgv" appears to be just an oversight, introduced in: commit b27b438221e16ac3df6ac66d761b77e3bd43db67 "prs: use the PRServer to replace the BB_URI_LOCALCOUNT functionality" A later commit 865d001de168915a5796e5c760f96bdd04cebd61 "package/prserv: Merge two similar functions into one" silently fixed this only for the case without PR-server by using pkgv there. (From OE-Core rev: 7895c0a67d381ff66668fca5207bd196f36c91db) Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Fix support for private libsMartin Jansa2015-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | * n is a tuple since this commit: commit d3aa7668a9f001044d0a0f1ba2de425a36056102 Author: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Mon Jul 7 18:41:23 2014 +0100 Subject package.bbclass: Improve shlibs needed data structure since then 'n in private_libs' was always false and private libs were always processed * this is bad when we have libfoo in private libs, but also some package providing libfoo, that way we ship own libfoo.so, but together with runtime dependency on package providing libfoo (From OE-Core rev: ec1d379683cedca4be1c252475d02c8041227142) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/package: move read_shlib_providers() to a common unitPaul Eggleton2014-12-211-23/+1
| | | | | | | | | This allows us to use this function elsewhere in the code. (From OE-Core rev: 657cff8a0f0e5db171b2ed9388a790ee0b135842) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: do variable fixups even when FILES was setPeter Seebach2014-12-191-8/+10
| | | | | | | | | | | | | | | | | | | A number of settings (DESCRIPTION, SUMMARY, postinst, postrm, and appends to RDEPENDS) were made only if FILES_foo was not set for a given package. If you had a modified glibc packaging setup that was defining FILES_glibc-gconv-somelocale, this would prevent the automatic append of glibc-gconv as a dependency, because extra_depends was ignored. I think the assumption may have been that if FILES_foo was set, DESCRIPTION_foo and SUMMARY_foo would also be set, but it seems to me that the right answer is probably to set them if they aren't already set, and leave them alone if they are. (From OE-Core rev: 7e59b0c7e03fc08a6eaf9c8ccb6bfa72b4604cc5) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Create empty key/value if not there for shlib_providerKhem Raj2014-12-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we use ASSUME_SHLIBS,e.g. ASSUME_SHLIBS = "libEGL.so.1:libegl-implementation" then we end up with errors like below when using shlibs2 (dizzy+) File: 'package_do_shlibs', lineno: 216, function: package_do_shlibs 0212: dep_pkg = dep_pkg.rsplit("_", 1) 0213: if len(dep_pkg) == 2: 0214: lib_ver = dep_pkg[1] 0215: dep_pkg = dep_pkg[0] *** 0216: shlib_provider[l][libdir] = (dep_pkg, lib_ver) 0217: 0218: libsearchpath = [d.getVar('libdir', True), d.getVar('base_libdir', True)] 0219: 0220: for pkg in packages.split(): Exception: KeyError: 'libEGL.so.1' This is because the entry which is being populated does not exist so lets create it if its not already there. Change-Id: I9e292c5439e5d1e01ea48341334507aacc3784ae (From OE-Core rev: a64f81fcef42172f788cec7a63bb4672eac99f94) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package/prserv: Merge two similar functions into oneRichard Purdie2014-11-091-14/+38
| | | | | | | | | | | | | | Having these two separate functions handling PR values seems pointless, and worse, there are impossible code branches mixed within them. Merge them into one function and tweak comments so at least you don't have to read both functions to figure out what is going on. This does restructure the conditionals to try and aid readability. (From OE-Core rev: 865d001de168915a5796e5c760f96bdd04cebd61) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_do_shlibs: Look for provider in the path thats in shlib_provider ↵Khem Raj2014-10-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dictionary shlib2 code puts the information about path where a provider will be found. e.g. {'/usr/lib/llvm3.3': ('libllvm3.3-llvm-3.3', '3.3')} This is obtained from new shlib2 pkgdata from llvm3.3/3.3-r0/pkgdata/shlibs2/libllvm3.3-llvm-3.3.list However when we search for NEEDED libraries we ignore the key above which is the path where the provider library is installed and instead just seach in libdir and base_libdir and hence libraries which are not in above standard search paths gets ignored even if they appear in DT_NEEDED sections and a note is emitted NOTE: Couldn't find shared library provider for libLLVM-3.3.so, used by files: .... IMO this note should actually become an error since if we do not have all DT_NEEDED libraries in image the system is dysfunctional. This patch extracts this libpath from key and add it to seach paths when looing for a provider of a shared library [YOCTO #6798] Change-Id: Ie5f08632e37ba8d3439c8aaae33bc68b8996792f (From OE-Core rev: bf8472274ac1e9a35f8cbc82357da6c95b396759) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Reverse runtime symlinks should be tied to package generationOtavio Salvador2014-10-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | In case a package is not generated (is empty and does not has allow empty flag set) the package data regarding reverse runtime dependency shouldn't be done. This were causing a false-positive in the meta-fsl-arm layer, when building mesa, as: ,----[ Error during build of MX53 in meta-fsl-arm ] | ERROR: The recipe mesa is trying to install files into a shared area | when those files already exist. Those files and their manifest | location are: | /.../build/build/tmp/sysroots/imx53qsb/pkgdata/runtime-reverse/libopenvg-dev | Matched in manifest-imx53qsb-amd-gpu-x11-bin-mx51.packagedata | Please verify which recipe should provide the above files. `---- Fixes [YOCTO: #6795] (From OE-Core rev: 9ef8728514b02dd2e18e87645298d9ec2e8a785a) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Correct two typos in a commentPeter Kjellerstedt2014-08-291-3/+3
| | | | | | | | | | This quite coincidentally invalidates the sstate for do_package which is needed due to the correction of oe.utils.multiprocess_exec(). (From OE-Core rev: 9972f0686794a01582fd1a15889dcbd89bc5cf72) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Disable runtime mapping of RPROVIDES/RCONFLICTS/RREPLACESRichard Purdie2014-08-251-3/+0
| | | | | | | | | | | | | It doesn't really make sense to run the remapping code on these variables. If specific renaming is needed, it should be applied manually. This means that the debian RPROVIDES of the original package name can be preserved. There was also a bug report about this on the OE-Core mailing list recently where someone else ran into this problem too. (From OE-Core rev: a0cd18ff5405b63b8296b8ef1fc2a488b906f576) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Don't remap names in packagegroup recipesRichard Purdie2014-08-251-0/+3
| | | | | | | | | For package groups, use the original package names and don't use the remapped (e.g. debian) naming. (From OE-Core rev: afde71e8784144f05cebb0bdeeff6b3184819362) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Fixup for using common functionRichard Purdie2014-08-231-13/+2
| | | | | | | | | We may as well use the common function for this rather than duplicating the code. (From OE-Core rev: 20979854c52607212c16e0b01cf610c80d8b524e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Fix darwin shlibs codeRichard Purdie2014-08-041-11/+13
| | | | | | | | | | | We need to scan binaries as well as libraries for dependencies. Also ensure if its not an object file (as found by otool), we handle this case. (From OE-Core rev: 3a26862b7a7e0ff247bd1441d670443e83fca391) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Convert dylib handling from .la to otoolRichard Purdie2014-08-031-32/+22
| | | | | | | | | | | Currently, the darwin shlibs detection is done by parsing the .la file dependency fields. This is very old code and is incomplete in some cases so convert to using otool -l and otool -L to correctly load the rpath and dependency information. (From OE-Core rev: e27573b6c3562662e4b2f5d8543eb7d150c3bc92) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Fix pkgdest for darwin shlibs codeRichard Purdie2014-08-031-1/+1
| | | | | | | | | | | | When the code was rewritten we forgot to strip the pkg that is present in the pkgdest path. This was fixed in the linux version of the code but not the darwin one, this matches the fix. Without this, the provider paths are broken. (From OE-Core rev: bcada055f89c8722024faf20088943ea006cfe36) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: add a stub implementation of package_name_hookRoss Burton2014-07-101-0/+12
| | | | | | | | | | | | | | | do_package() calls package_name_hook so that e.g. debian-style renaming through debian.bbclass can happen. If there is no class providing a package_name_hook then this causes "WARNING: Function package_name_hook doesn't exist" every time do_package() is executed. Silence this warning by providing an empty package_name_hook in package.bbclass. (From OE-Core rev: f6eb8e4e44b66217e4ada9f830a058c5ba120932) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Generate runtime-rprovides dataRichard Purdie2014-07-101-4/+11
| | | | | | | | | | | | | | | Currently, given a list of rdepends its near impossible to figure out which ones are potentially invalid and which might be an RPROVIDES of a package. This problem is simple to solve, we can write lookup data into the pkgdata. This patch does that, accounting for the fact that multiple packages can RPROVIDE the same thing (particularly with locales). Its done with symlinks so the performance overhead is minimal. (From OE-Core rev: 30b4bff944c4625696e9be97ce4912a2710d13e9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Rewrite shlib_provider handling to include RPATHRichard Purdie2014-07-101-17/+30
| | | | | | | | | | | | | | | | Change the do_package shlibs code to account for RPATHS. This means that for library dependency purposes, only libraries in system paths or in any declared RPATH will be seen. This is important to resolve problems people have been having where similarly named libraries in "private" paths were conflicting, e.g. with gstreamer. For now this code assumes the default search path is libdir and base_libdir and places ASSUME_SHLIBS in libdir so they are searched by default. (From OE-Core rev: 48b9ecd5335f63fb2bcc47c4b23d067122734fe9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Improve shlibs pkgdata file formatRichard Purdie2014-07-101-20/+11
| | | | | | | | | | | | | | | | Instead of having a .list file and a .ver file, place the version information into the .list file in a ":" delimited string. Also place the path to the library here, this can then be used to evaluate RPATHs in the shlib dependency code. Since the disk format has changed, the easiest way to avoid build failures in the same TMPDIR is to change the shlibs directory to shlibs2. sstate dependency code with ensure everything rebuilds. (From OE-Core rev: 8dd09b3ddc572a338b4a6f1d859b68b2b4482d00) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Rewrite sonames data structure to include library pathRichard Purdie2014-07-101-10/+13
| | | | | | | | | | | | In order to do more advanced processing of the shared libraries, we need to know where a given library is located on disk so we can know whether its a system path or a private directory for example. This patch adds this information into the 'sonames' data structure. (From OE-Core rev: 5f48d53c5ed94b5c6aad9f73ff177aa35af90397) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Improve shlibs needed data structureRichard Purdie2014-07-101-22/+20
| | | | | | | | | | | | | | Improve the shlibs 'needed' data structure to include the file and any rpath information. This allows various cleanups to the data structure and moves us closer to being able to resolve shlibs providers issues based on path in due course. This commit doesn't change any stored data, just cleans up internal data structures (for example dropping the needed_from dict). (From OE-Core rev: d3aa7668a9f001044d0a0f1ba2de425a36056102) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Add CONFFILES to list of package specific variablesRichard Purdie2014-04-081-1/+1
| | | | | | | | | | Changes to CONFFILES should change the sstate checksum. To make that happen, it needs to be listed in the list of package specific variables, therefore add it. (From OE-Core rev: 9db71fa03b9d5f5307b2d09e7aa89f46f622aa09) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Drop do_package_write taskRichard Purdie2014-02-251-12/+0
| | | | | | | | | | | | | | | | | The reasons this task was introduced are lost in the mists of time. It allowed for the a single "package_write" task instead of spelling out the explicit package backends, however in all but one case we do that anyway. As such as might as well give in and delete the task, converting that single reference into explicit dependencies. This gives bitbake a bit less work to to when processing the runqueue since there are less tasks (but more dependencies in some cases). (From OE-Core rev: cf70e15f063716f3227d467ab1f4bfc0018286f6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: do_split_packages should always return something.Josua Mayer2014-02-171-1/+1
| | | | | | | | | | | | | | So far, when do_split_packages is passed a non-existing folder, it will return nothing. While building Mesa with PACKAGECONFIG="egl gles" for qemux86, do_package threw a nice exception on a line reading "pkgs += do_split_packages": "Exception: TypeError: 'NoneType' object is not iterable" I think a function should always return something, and in this specific case, returning an empty list should be right. This patch simply fixes the return statement to do just that. (From OE-Core rev: 39737e00e85bd4a6053f63f0c959fd424aa009be) Signed-off-by: Josua Mayer <josua.mayer97@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Remove the before do_build constraint of the do_package taskRichard Purdie2014-02-131-1/+1
| | | | | | | | | | | | | | | | Currently, if you bitbake xxxx, it will restore the package_write_, packagedata, populate_sysroot *and* the package data from sstate. We generally care about the packagedata and the actual packages, we no longer need/care about the do_package data itself unless something is going to repackage. By relaxing this constraint (and relying on the packagedata target), we can save things being installed from sstate and hence speedup build times. (From OE-Core rev: 4fda89477a2d7c1b3186bf4896297338ed64c448) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: fix strip and split logicKoen Kooi2014-02-111-2/+1
| | | | | | | | | | | | | | | | | | | Marks original commit message and variable documentation state that stripping and splitting are independent of eachother, but package.bbclass ANDs the two INHIBIT flags to see which files can be stripped and/or split. Original behaviour: INHIBIT_PACKAGE_STRIP: no strip, no debug split INHIBIT_PACAKGE_DEBUG_SPLIT: no strip, no debug split Behaviour after this patch: INHIBIT_PACKAGE_STRIP: no strip, no debug split INHIBIT_PACKAGE_DEBUG_SPLIT: strip, no split (From OE-Core rev: 8ea3cc2c45d4e34bb68bd3e0bc359204c772133c) Signed-off-by: Koen Kooi <koen.kooi@linaro.org> 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>
* 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>