summaryrefslogtreecommitdiffstats
path: root/meta/classes/package.bbclass
Commit message (Collapse)AuthorAgeFilesLines
...
* classes/package: set SUMMARY in do_split_packages()Paul Eggleton2014-01-021-1/+7
| | | | | | | | | | | | | | | | | do_split_packages() is commonly used to split out plugin/module packages dynamically within recipes. If it doesn't set SUMMARY for each of these packages then they get a generic SUMMARY from the recipe, which isn't particularly useful; so add a parameter to set this and default it from the current description parameter (it ought to have been the other way around, but the description parameter is what we currently have in use by all recipes that use this function.) Fixes [YOCTO #5406]. (From OE-Core rev: 2b3080831042ffab26d70c3feee232fc31aa591a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Get rid of crazy name mappingRichard Purdie2013-12-181-2/+0
| | | | | | | | | | | | | | | When originally developed, it was thought a task may have more than one associated sstate archive. The way the code has grown that idea is now not possible or needed. We can therefore assume one sstate archive per task and drop the crazy name mapping code. Simpler is better in this case. The downside is that various sstate archives will change name so this forces a cache rebuild. Given the other sstate changes going in at this time, this isn't really a bad thing as things would rebuild anyway. (From OE-Core rev: 5afe86a6854b21692fd97c5fc7fab50dbc068acb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/package: write PE and PKGE out to pkgdataPaul Eggleton2013-12-031-0/+2
| | | | | | | | | | These are important parts of the version for every package, so we should include them in PKGDATA just as we include PV/PR/PKGV/PKGR. (From OE-Core rev: 5ceed97ba02a698f1c260c3f56cdf2cc156e6d8b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/package: record PKGSIZE as total file size in pkgdataPaul Eggleton2013-12-031-9/+3
| | | | | | | | | | | | | | | | | | | | | We were using "du -sk" to collect the total size of all files in each package for writing out to PKGSIZE in each pkgdata file; however this reports the total space used on disk not the total size of all files, which means it is dependent on the block size and filesystem being used for TMPDIR on the build host. Instead, take the total of the size reported by lstat() for each packaged file, which we are already collecting for FILES_INFO in any case. Note: this changes PKGSIZE to be reported in bytes instead of kilobytes since this is what lstat reports, but this is really what we should be storing anyway so that we have the precision if we need it. Fixes [YOCTO #5334] (From OE-Core rev: 29615b36fca696822a715ece2afbe0bf9a43ed61) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/package: fix FILES_INFO serialisation in pkgdataPaul Eggleton2013-12-031-10/+9
| | | | | | | | | | | | | | | | | | | | | The FILES_INFO entry in each pkgdata file stores the list of files for each package. Make the following improvements to how this is stored: * Store paths as they would be seen on the target rather than erroneously including the full path to PKGDEST (which is specific to the build host the package was built on) * For simplicity when loading the data, store complete paths for each entry instead of trying to break off the first part and use it as the dict key * Record sizes for each file (as needed by Toaster) * Serialise the value explicitly using json rather than just passing it through str(). Fixes [YOCTO #5443]. (From OE-Core rev: ca86603607a69a17cc5540d69de0e242b33382d3) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Fix split_and_strip_files when file has single quote (')Felipe F. Tonello2013-11-051-1/+1
| | | | | | | | | | | | Fix false error report when a file that has a single quote by escaping the single quote. Some packages might install files with quotes, such as music files and other types, that will cause the problem. (From OE-Core rev: 212471f81d210e596798db5e5d927418090a63a2) Signed-off-by: Felipe F. Tonello <eu@felipetonello.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/package: handle filenames containing wildcardsPaul Eggleton2013-10-141-9/+19
| | | | | | | | | | | | | | | | | | | It is uncommon, but it is possible for upstream sources to contain files that have wildcard characters in their names (Webmin is an example). Because we were running glob.glob() on every entry in the list of entries in FILES and then adding the result to the files list to be processed, the process would loop infinitely if files whose names contained wildcard characters were present. Fix this by avoiding re-processing the output of glob.glob() with itself, and also "escape" wildcard characters in FILES entries added automatically from do_split_packages(). Fixes [YOCTO #1676]. (From OE-Core rev: 1aa3fbb547b0e21455f0dcc9b72ded08dc0efd67) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: tar 1.27 fixesRichard Purdie2013-10-141-1/+1
| | | | | | | | | | | | | tar version 1.27 returns: tar: --same-order option cannot be used with -c with the commandlines we have been using. We can remove the -s option (which is --same-order) to remove the error. (From OE-Core rev: 3d5a6d0a480a0fa98260a3b3ffc71b8d9e3e58af) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Clear umask when using os.mkdirRichard Purdie2013-09-261-0/+4
| | | | | | | | | | | | | | | | | | We switched to using os.mkdir with the file creation mode specified as the second parameter. Python masks this with umask behind the scenes which isn't what we want, we really want the permissions we specify. To avoid this we zero the umask beforehand and restore afterwards. Other solutions are possible but would not perform as well which is why we're using os.mkdir in the first place. Martin Jansa deserves the credit for debugging where the problem was. (From OE-Core rev: f91226553e39439bfd17ab2b06c56cb8bf41061b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific ↵Richard Purdie2013-09-141-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | directory Currently we have a hierarchy of pkgdata directories and the code has to put together a search path and look through each in turn until it finds the data it needs. This has lead to a number of hardcoded paths and file globing which is unpredictable and undesirable. Worse, certain tricks that should be easy like a GL specific package architecture become problematic with the curretn search paths. With the modern sstate code, we can do better and construct a single pkgdata directory for each machine in just the same way as we do for the sysroot. This is already tried and well tested. With such a single directory, all the code that iterated through multiple pkgdata directories and simply be removed and give a significant simplification of the code. Even existing build directories adapt to the change well since the package contents doesn't change, just the location they're installed to and the stamp for them. The only complication is the we need a different shlibs directory for each multilib. These are only used by package.bbclass and the simple fix is to add MLPREFIX to the shlib directory name. This means the multilib packages will repackage and the sstate checksum will change but an existing build directory will adapt to the changes safely. It is close to release however I believe the benefits this patch give us are worth consideration for inclusion and give us more options for dealing with problems like the GL one. It also sets the ground work well for shlibs improvements in 1.6. (From OE-Core rev: 1b8e4abd2d9c0901d38d89d0f944fe1ffd019379) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: skip already-stripped QA test if asked forKhem Raj2013-09-061-2/+5
| | | | | | | | | | | | | | | | | | | | | | | Some packages like grub have already stripped binaries e.g. ERROR: QA Issue: File '/boot/grub/kernel.img' from grub was already stripped, this will prevent future debugging! ERROR: QA run found fatal errors. Please consider fixing them. We would like to have a possibility to skip it using something like INSANE_SKIP_${PN} = "already-stripped" This adds the logic to do so it acts at PN level and not at package level. so something like INSANE_SKIP_${PN}-misc = "already-stripped" wont work. (From OE-Core rev: 765982f4c050d9cd3eb608d630312da482c737c7) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Fix darwin shlib handlingRichard Purdie2013-09-041-1/+1
| | | | | | | | | | shlibs dependency calculations on darwin we not functioning correctly, we need to process the filename without the complete path. If we don't, "." characters in the path cause problems. (From OE-Core rev: 07e697d651178a84007123181fca38e4d98ae0e9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Fix handling of symlinks in debug packagesRichard Purdie2013-08-231-0/+6
| | | | | | | | | | | | | | | | | | When copying the sources for the debug source package we use cpio -Ll which means to copy files as hardlinks and to dereference symlinks. It appears there is a bug in cpio since -Ll will copy symlinks and not dereference them. We therefore do a second pass over copied symlinks resolving them into files. Ideally we would copy these as hardlinks as well however it doesn't seem worth the extra code and effort for what amounts to a corner case for a minor space improvement. This means that the -dbg packages no longer contain broken symlinks. [YOCTO #5020] (From OE-Core rev: 2ca2c4747f645a0d478c2171fff4c65752188285) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: avoid packing debug sources from other packagesAndreas Müller2013-07-291-1/+1
| | | | | | | | | | | | The error case was gcc-dbg packing files from libgcc-dbg reported in [1] [1] http://lists.openembedded.org/pipermail/openembedded-core/2013-July/080728.html (From OE-Core rev: fd2c0af422d67da870a5a11720d06a871e660215) Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/package: print command output when commands failPaul Eggleton2013-07-021-15/+14
| | | | | | | | | | | | When external commands such as debugedit fail, it can be useful to see their output, so use oe.utils.getstatusoutput() instead of subprocess.call() to capture this and print it on failure. (From OE-Core rev: 34179cc78b730ecb8ff3f4feb4beee2d17498ce3) 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>
* package: Ensure we iterate all the pool objectsRichard Purdie2013-06-281-2/+2
| | | | | | | | | | | | | There is the possibility that if we don't iterate through the multiprocessing pool objects we might not catch return codes and this could lead to hung/zombie processes either temproarily or on a wider scale. Adding this certainly doesn't hurt anything and is better practise so we might as well do it. Its not 100% clear if this fixes some issues or not. (From OE-Core rev: 89c8493d4d85044cd72af2756569d15e87cd5947) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane/package: refactor packaging sanity testsRobert Yang2013-06-071-13/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor packaging sanity tests from package.bbclass to insane.bbclass so that the message can respect WARN_QA (print the warning message and go on the task) and ERROR_QA (print the error message and fail the task). - For the bb.warn(), give it a message name and add it to WARN_QA, then use package_qa_handle_error() to handle it. - For the bb.error(), give it a message name and add it to ERROR_QA, then use package_qa_handle_error() to handle it. - All the bb.warn() and bb.error() have been replaced in package.bbclass. - A few bb.warn() and bb.error() in insane.bbclass have been kept since they can not be replaced or doesn't have to, for example the bb.error() in package_qa_check_license(), it will print the error message and then invoke bb.fatal() to fail the task, I think that we don't have to replace it with package_qa_handle_error(). - Put all the WARN_QA and ERROR_QA in one line, so that they can be redefined by the user easily. [YOCTO #3190] [YOCTO #4396] (From OE-Core rev: 2f117ee615b703db07d3274ac592e2bd653743dd) 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>
* insane/package: let package.bbclass inherit insane.bbclassRobert Yang2013-06-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RP's comment: "What we're trying to do is move everything to use a standard mechanism for reporting issues of this type (do_package). With insane.bbclass, you can elect whether a given type of error is a warning or error and fails the task." * The package.bbclass had used package_qa_handle_error() which is from insane.bbclass, and we will use it for handling other warnings and errors, so let package.bbclass inherit insane.bbclass, this change will make the insane as a requirement (always included). * Change the "PACKAGEFUNCS ?=" to "+=", otherwise there would be an error like: Exception: variable SUMMARY references itself! This is because we let package.bbclass inherit insane.bbclass, and PACKAGEFUNCS has been set in insane.bbclass, so the "PACKAGEFUNCS ?=" will set nothing, then the "emit_pkgdata" doesn't run which will cause this error. * Add a QA_SANE variable in insane.bbclass, once the error type is ERROR_QA, it will fail the task and stop the build. [YOCTO #3190] [YOCTO #4396] (From OE-Core rev: 852dead71387c66ec0cba7c71e3814a74e409560) 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>
* bbclass: bb.fatal() clean upRobert Yang2013-05-161-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bb.fatal() is defined as: def fatal(*args): logger.critical(''.join(args)) sys.exit(1) So anything after bb.fatal() in the same code block doesn't have any effect, e.g.: bb.fatal("%s_%s: %s" % (var, pkg, e)) raise e The "raise e" should be removed. I searched all the files which use bb.fatal(), only the following 3 classes have this issues: insane.bbclass package.bbclass package_rpm.bbclass [YOCTO #4461] (From OE-Core rev: 4c47525c5a171b1282615c9fbc7d84addef85f92) 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.bbclass: Fix sources contentsRichard Purdie2013-05-141-5/+5
| | | | | | | | | | | | | http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=c376f1f49cea182a2887945840ab97a20970a373 fixed a valid issue where the sources file was accumulating information and subsequent task runs of do_packacge were not cleaning it. The fix is wrong however since we're removing the file within a loop. This fix removes the file outside the loop ensuring it is not truncated and contains the correct information. (From OE-Core rev: a015881f2207aded601459ba3eebbefb0002b3c5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* class/lib: Fix up various file access methodsRichard Purdie2013-05-091-3/+4
| | | | | | | | | | | | | | There are various bits of cruft that have built up around our file accesses. This patch cleans some of them up, specifically: * Remove pointless "from __builtin__ import file" * Use open(), not file() * Wrap file usage in a with container to ensure files are closed * Add missing .close() calls in some cases (From OE-Core rev: a43e0a8ecd0441131e929daf998c3cd454d9c8f3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/lib: Fix getcmdstatus breakageRichard Purdie2013-05-091-2/+2
| | | | | | | | | I mistakenly thought subprocess had getcmdstatus in python 2. It doesn't so lets add a wrapper and have this work in both worlds. (From OE-Core rev: 2253e9f12734c6e6aa489942b5e4628eca1fa29d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity/patch.py: Remove commands module usageRichard Purdie2013-05-091-4/+4
| | | | | | | | | The commands module is removed in python3. Use the subprocess module instead and the pipes module to replace the mkargs usage. (From OE-Core rev: e2e1dcd74bc45381baccf507c0309dd792229afe) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* clases/lib: Use modern exception syntaxRichard Purdie2013-05-091-2/+4
| | | | | | | | | Update older code to use modern exception handling syntax which is the form accepted by python 3. (From OE-Core rev: b010501cd089e649a68f683be0cf4d0aac90fbe3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: ensure license excluded files aren't packagedChristopher Larson2013-04-221-1/+4
| | | | | | | | | | | | | An excluded package left its files behind, which meant they could end up in another package instead, meaning we could ship GPLv3 binaries even with GPLv3 in INCOMPATIBLE_LICENSE. Skip the files belonging to the excluded packages to prevent this from occurring. (From OE-Core rev: c045bfe6b991006ac80f0e2d06a8917ae58d9262) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: add LICENSE_EXCLUSION to vardepsChristopher Larson2013-04-221-0/+4
| | | | | | | | | | | Ensure that changes to INCOMPATIBLE_LICENSE re-run do_package for affected recipes. (From OE-Core rev: b9b187f8a0f513e676cd3d18f71d1055445f29fa) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Add useradd variables to PACKAGEVARSRichard Purdie2013-04-181-1/+1
| | | | | | | | | | THe USERADD_PARAMS and similar group variables are package specific variables which should get added to the vardeps of the packaging process. This change also ensures they get remapped correctly by the multilib code. (From OE-Core rev: 805add18e7b917aaef61c82c0b5f2e9682af1d0d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Fix populate_packages for glob expansion issuesRichard Purdie2013-04-181-0/+2
| | | | | | | | | | | | | If we put a valid glob like "*/foo/*" into FILES, populate_packages breaks with a "file exists" message. This is because the glob expansion does not have "./" prefix however there may already be an entry in the seen list which does have such a prefix. The easiest/simplest fix right now is to add the prefix if it doesn't exist which only happens for certain globs. (From OE-Core rev: 138c5f3af892e33f576fc7dd268e122b179f82a1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package/image.bbclass: Fix multilib rprovidesRichard Purdie2013-04-131-9/+13
| | | | | | | | | | | | | | | | allarch multilib recipes are meant to provide a list of different multilib variants. Unfortunately since the pkgdata also has mappings for these, they get mapped back to the original package name which means the effect is undone at package creation time when the remapping code is called. This patch adds in a conditional to break that chain meaning the packages get the correct RPROVIDES and image builds work correctly with opkg. [YOCTO #3453] (From OE-Core rev: 1a1927f8a04fe0a2b3b853ebdd33ccb807f00b59) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add file information to package information windowAndrei Dinu2013-04-041-0/+10
| | | | | | | | | | | Removed the package files parsing routine from the packageinfo.bbclass file and added it to the package.bbclass file. (From OE-Core rev: 225e7826b0d082f43db82201e826b98b3a95cd57) Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Correctly handle /usr/src/debug file ownershipRichard Purdie2013-03-261-0/+1
| | | | | | | | | | | After the recent cached path operation improvements, we need to tell the cache about directory changes. /usr/src/debug was was cached as not created and this was leading to bugs in file ownership. This change updates the cache and avoids this issue. (From OE-Core rev: 553a8010e81448629a94ab04fd989e6e49066f2b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Ensure debug source file is generated correctlyRichard Purdie2013-03-251-0/+2
| | | | | | | | | | The command for generating debug sources appends to the file, therefore we need to ensure it does not exist before we run the command else we end up doing more work that we should have to. (From OE-Core rev: 48dfd61901ce07491ef913cf04dbd9de9a52759f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Handle subprocess errors correctlyRichard Purdie2013-03-251-6/+26
| | | | | | | | | | | | If an error occurs in subprocess.call() we currently don't catch it. In particular we have issues where debugedit is segfaulting unnoticed. This fixes up various code paths to catch the errors. [YOCTO #4089] (From OE-Core rev: 262a69ffd33e9d001a7a15fc73671a015e3b5dd1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Add cachedpath optimisationRichard Purdie2013-03-181-24/+32
| | | | | | | | | | | | | | | | | | Currently, various standard library operations like os.walk(), os.path.isdir() and os.path.islink() each call stat or lstat which involves a syscall into the kernel. There is no caching since they could conceivably have changed on disk. The result is that for something like the do_package task of the kernel we're spending over two minutes making 868,000 individual stat calls for 23,000 files. This is suboptimal. This patch adds lib/oe/cachedpath.py which are a set of replacement functions for these operations which use cached stat data rather than hitting the kernel each time. It gives a nice performance improvement halving the build time of the kernel do_package. (From OE-Core rev: 556dee0c4d6d8a87c0cddbd2f60fe5917d009f18) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: add debug-without-src PACKAGE_DEBUG_SPLIT_STYLEMartin Jansa2013-03-151-0/+6
| | | | | | | | | | * same as original and default version, but does not package source files in PN-dbg (From OE-Core rev: 3c8452c3abae74a42989c0fbd5ba303788528750) 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: Ensure all .so files get strippedRichard Purdie2013-03-051-1/+4
| | | | | | | | | | | | It was realised that .so files which were not marked as executable were not gettings stripped. This was wasting space in images. This patch ensures they do get processed by the code correctly. [YOCTO #3973] (From OE-Core rev: 725354886ae3650a7a4875d4c0bffcfab7e8cc40) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Fix do_package variable dependenciesRichard Purdie2013-03-051-1/+1
| | | | | | | | | | | | When the do_package function was split into different sections, the vardeps were not updated to match meaning some function changes weren't reflected in the sstate checksums. Fix this. [YOCTO #3980] (From OE-Core rev: 2e7ddbcca3f613c3b5725dcc3d457985d41e5f16) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pakcage.bbclass:use a better way to cut -dev/-dbg suffixSong.Li2013-02-221-4/+4
| | | | | | | | | | | | In pakcage.bbclass,function replace('-dev', '') is used to cut '-dev' suffix. but it will cause the name "lib32-device-dev" to "lib32ice", so change it to [:-4]. (From OE-Core rev: 91a3a48798029ca88a46a528200f4c5252f245e9) Signed-off-by: Song.Li <Song.Li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: Drop none package specific packaging variable accessesRichard Purdie2013-02-171-11/+8
| | | | | | (From OE-Core rev: 24cbe88429ba021d7c461e0271b67106d11d5eb2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: support dangling path componentsEnrico Scholz2013-02-111-6/+2
| | | | | | | | | | | | | | Commit ec2aab09769f4b6817d74d2175afa2b7c7598750 introduced a regression on packages which contain symlinks with unresolvable path components (e.g. lsof-dbg). While assigning a variable, an exception was raised and the exception handler accessed this variable. Patch deals both with the dangling path components by assuming them as valid directories and by avoiding the broken assignment. (From OE-Core rev: 579369b0fb27fad6d628746a50b9b798078500f6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: use oe.path.realpath()Enrico Scholz2013-02-111-11/+5
| | | | | | | | | | | | | | | | | | | | oe.path.realpath() provides are common and more correct implementation for resolving symlinks within sysroot. Use it. Old implementation suffered from lot of problems; e.g. * redundant code * calls 'os.stat()' which references files on host; this can give wrong results about existing/non-existing and can cause EPERM (instead of the catched ENONENT) exceptions * does not deal with special cases like '..' leaving the sysroot. (From OE-Core rev: ec2aab09769f4b6817d74d2175afa2b7c7598750) Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Replace undefined 'src' with valid variableKhem Raj2013-02-061-1/+1
| | | | | | | | | | | After rewrite of split_and_strip_files src var is no longer available here where it is used so we should replace it with a valid value (From OE-Core rev: b07e79ea049d341a5a0a7e4bb72151f49336c5bc) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Ensure package_get_auto_pr is run at the correct pointRichard Purdie2013-02-061-1/+2
| | | | | | | | | This needs to run before PKGR and other variables using PRAUTO are used, including the expansion optimisations. (From OE-Core rev: eb09ebc9680eb50e23778dcc1c2697d13cf073ae) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: return list of packages created in do_split_packagesMartin Jansa2013-02-061-0/+3
| | | | | | | | | | | | | * sometimes it's useful to do something with packages created by do_split_packages later in do_package_prepend, e.g. in: http://lists.linuxtogo.org/pipermail/openembedded-devel/2013-February/043824.html I have .bbclass which adds some postinst, postrm and RDEPENDS, but ttf-mplus is using do_split_packages to create those packages (From OE-Core rev: 5aa52c6882d2929b2e530c4fa297c6d3e97d4f9f) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Pre-expand some variables to save timeRichard Purdie2013-02-061-0/+14
| | | | | | (From OE-Core rev: fc5bff0145d8f5db1c09be61f5de209ac4016ed1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Better document the different phases of operationRichard Purdie2013-02-061-0/+16
| | | | | | | | | Add headers to document the different phases of do_package and make the steps clearer. (From OE-Core rev: b6438c94035a014902ec89af63ff3787cd8c67f6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Add PACKAGESPLITFUNCS variableRichard Purdie2013-02-061-0/+6
| | | | | | | | | | | | | | Prepending to populate_packages is rather ugly and means its hard to trace errors and also profiling informaiton is summed together in one function. This patch starts to split out the prepends to become separate functions to avoid these issues. This is generally a neater way to write functions than prepending to where there can sometimes be variable scope issues and we've been bitten by whitespace issues in the past. (From OE-Core rev: 4f9963d1d82ee896fe9491d6a8b32be42cd06f14) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Simplify empty directory removalRichard Purdie2013-02-061-5/+1
| | | | | | | | | Rather than an exec() per directory, we might as well exec one command and be done with it. (From OE-Core rev: 82ae9cfb09ee5c0aa6402c972d71e2b64d1ce8bc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Various minor performance tweaksRichard Purdie2013-02-061-8/+6
| | | | | | | | | | | | * Call getVar outside the loop * Drop unneeded PATH export (bitbake does this already) * Drop unused variable * Simplify if statement nesting * Simplify variable expandion to a getVar call (expand would just call getVar) (From OE-Core rev: 52b506145bcddc133ca93a8c9f7343de69d10907) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Make use of cleandirs and dirs function flagsRichard Purdie2013-02-061-5/+3
| | | | | | | | | | We can use the cleandirs and dirs flags for the fuctions to handle directory cleaning and creation at the bitbake level rather than using these calls within the functions (From OE-Core rev: 4b31d6f6f0a2a6b9e504ffae0d3b2099cbd7dddc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>