summaryrefslogtreecommitdiffstats
path: root/scripts/oe-pkgdata-util
Commit message (Collapse)AuthorAgeFilesLines
* oe-pkgdata-util: Check if environment script is initializedDorinda2021-02-101-0/+3
| | | | | | | | | | | Tinfoil doesn't behave well if environment is not initialized, this check ensures a proper error log if environment is not initialized. [YOCTO #12096] (From OE-Core rev: e88073e16f1b4cfd0f97c81a988640a84adad674) Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-pkgdata-util: Enable list-pkgs to print ordered packagesYeoh Ee Peng2019-11-041-9/+8
| | | | | | | | | | | | The list-pkgs currently print packages in unordered format. Enable list-pkgs to print ordered packages that will ease viewing. (From OE-Core rev: ab661f96e2fd529588692c978274a840f34ee7cf) Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib+scripts: Convert to SPDX license headersRichard Purdie2019-05-091-12/+1
| | | | | | | | | | | | | | | | | | | | | | | This adds SPDX license headers in place of the wide assortment of things currently in our script headers. We default to GPL-2.0-only except for the oeqa code where it was clearly submitted and marked as MIT on the most part or some scripts which had the "or later" GPL versioning. The patch also drops other obsolete bits of file headers where they were encoountered such as editor modelines, obsolete maintainer information or the phrase "All rights reserved" which is now obsolete and not required in copyright headers (in this case its actually confusing for licensing as all rights were not reserved). More work is needed for OE-Core but this takes care of the bulk of the scripts and meta/lib directories. The top level LICENSE files are tweaked to match the new structure and the SPDX naming. (From OE-Core rev: f8c9c511b5f1b7dbd45b77f345cb6c048ae6763e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: add option for lookup-recipe to not fatally failRoss Burton2018-09-051-4/+9
| | | | | | | | | | | | | | It is often useful to run lookup-recipe on a list of packages and get notifications that there were failures, instead of a fatal error on the first failure. This makes it possible to pass long lists of packages to oe-pkgdata-util and process the output. (From OE-Core rev: 8439565a009bb72d63bb3be6230832811b04cf6e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: package-info: Re-add support for the --extra optionPeter Kjellerstedt2018-06-041-1/+9
| | | | | | | | | Commit 64d3ce83 broke the --extra option. (From OE-Core rev: cd195bdf5dd2c8ff03c58a63dcabe88b142d2a9c) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: Make parse_pkgdatafile() support package suffixed varsPeter Kjellerstedt2018-06-041-28/+18
| | | | | | | | | | | Support for variables suffixed with package names, e.g., PKGV_foo, was removed in commit 3d2c87c4, which broke support for recipes that set other versions on their packages than what is in ${PV}. (From OE-Core rev: 38f8284212370999e1e7b0f6559f7cd786e80d1a) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: lookup-recipe, package-info: Don't finish prematurelyPeter Kjellerstedt2018-05-221-2/+2
| | | | | | | | | | | | If a package name exists in runtime-rprovides, lookup-recipe and package-info would finish after printing information about that package even if more packages were specified. (From OE-Core rev: 32c2a2ddb1614f978f511dfccb6cc3e9398df841) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: add --long option to list-pkg-files to show sizesRoss Burton2018-02-161-6/+12
| | | | | | | (From OE-Core rev: 1f3a5acb825a9f707c1ab780131e009f9ce21451) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: Include colon when searching for variablesAmanda Brindle2018-01-291-8/+8
| | | | | | | | | | | When searching for variables, include colon to ensure the script doesn't find a variable that starts with the same name. (From OE-Core rev: 3d2c87c4f4115b01534ab198c27682c7e4c5f31f) Signed-off-by: Amanda Brindle <amanda.r.brindle@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: Add support for RPROVIDESAmanda Brindle2018-01-221-61/+93
| | | | | | | | | | | | | | | | In lookup_recipe, package_info, and list_pkg_files, check if the package name exists in runtime-rprovides. If so, and the provider package has a different name than the inputted package, print a note that says the specified package is in another package's RPROVIDES. If the provider package has the same name as the inputted package, continue as before. Fixes [YOCTO 11943] (From OE-Core rev: f78478f0d0379ea02727c81ad2455207c70d140b) Signed-off-by: Amanda Brindle <amanda.r.brindle@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: Refactor functions for consistencyAmanda Brindle2018-01-221-59/+48
| | | | | | | | | | | | | Refactor functions lookup_recipe and package_info to be consistent with list_pkg_files. Print the appropriate information as soon as it's found, rather than storing it in a mappings variable and wait to print after searching all packages. (From OE-Core rev: 64d3ce83d5c48d479709b4c1355e23b3768493fb) Signed-off-by: Amanda Brindle <amanda.r.brindle@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: add unescape option to read-valueRoss Burton2017-10-071-0/+5
| | | | | | | | | | Some fields are multiline values which have been escaped, so add an option to unescape the \n and \t. (From OE-Core rev: 4165ec0057c6bbb24de681572034262351d9b34f) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: Setup logging before calling prepareRichard Purdie2017-07-211-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | This avoids test failures like: INFO - ====================================================================== INFO - FAIL [1.046s]: test_find_path (pkgdata.OePkgdataUtilTests) INFO - ---------------------------------------------------------------------- INFO - Traceback (most recent call last): File "/media/build1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f return func(*args, **kwargs) File "/media/build1/poky/meta/lib/oeqa/selftest/cases/pkgdata.py", line 50, in test_find_path self.assertEqual(result.output, 'zlib: /lib/libz.so.1') AssertionError: 'NOTE: Starting bitbake server...\nzlib: /lib/libz.so.1' != 'zlib: /lib/libz.so.1' - NOTE: Starting bitbake server... zlib: /lib/libz.so.1 INFO - ---------------------------------------------------------------------- since there is corruption in the output. Setting the logging up before calling tinfoil.prepare() resolves this. (From OE-Core rev: 39c1bf1feccc8dca57160a1e3cd8a50e8c30ef02) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: package-info: Allow extra variables to be displayedPeter Kjellerstedt2017-07-061-2/+10
| | | | | | | | | | | | | | By specifying the -e <var> option one or multiple times, extra variables available in the pkgdata can be displayed, e.,g, `oe-pkgdata-util package-info -e SUMMARY -e LICENSE ...`. The extra variables displayed are quoted since some of them may contain whitespace. (From OE-Core rev: 6f054fcf08f6d5aeb6b5ade74ac5cc61a99fb8fe) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: remove True option to getVar callsJoshua Lock2016-12-161-1/+1
| | | | | | | | | | | | | getVar() now defaults to expanding by default, thus remove the True option from getVar() calls with a regex search and replace. Search made with the following regex: getVar ?\(( ?[^,()]*), True\) (From OE-Core rev: 0a36bd96e6b29fd99a296efc358ca3e9fb5af735) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: Make read-value handle override variablesOla x Nilsson2016-12-141-8/+8
| | | | | | | | | | | | | | | Some variables in pkgdata files have a package-name override. When the bare variable can not be found, try with the override-variant. PKGSIZE is one such variable, and already had special code to handle this. Test included. (From OE-Core rev: 6df99cda894033cba68bc6ab91e47f67e0d788a5) Signed-off-by: Ola x Nilsson <ola.x.nilsson@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: Use standard verb form in help info.Robert P. J. Day2016-11-061-1/+1
| | | | | | | | | | "Shows" -> "Show", to be consistent with standard form of help output. (From OE-Core rev: 5a7994df6cdb5af8d240e2802e6bb3d9671f17e3) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: ensure tinfoil is shut down correctlyPaul Eggleton2016-09-031-1/+4
| | | | | | | | | | | We should always shut down tinfoil when we're finished with it, either by explicitly calling the shutdown() method or by using it as a context manager ("with ..."). (From OE-Core rev: 5ec6d9ef309b841cdcbf1d14ac678d106d5d888a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: new option to provide full info for binary package(s)Alexander D. Kanevskiy2016-06-121-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | New option can be used for displaying full information about binary package(s), including name, full version, recipe name, recipe full version and package size. This information can be useful inside custom buildhistory class to produce detailed image manifest for further analysis. List of packages can be specified as command line arguments or can be read from file (e.g. from existing image manifest). Warning: In case of image manifest is used as input outside of build process, be aware that pkgdata might change since the time image was built. Output format: {PKG} [PKGE:]{PKGV}[-{PKGR}] {PN} [PE:]{PV}[-{PR}] {PKGSIZE} (From OE-Core rev: bc0cdaa927124150a6c38cd47977ee4da8dd440e) Signed-off-by: Alexander D. Kanevskiy <kad@kad.name> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: fix AttributeErrorEd Bartosh2016-06-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | The default arparse behaviour in Python 2 and early versions of Python 3 was to print usage message if no subcommands provided by user. In Python >= 3.2.3 subparser has to have attribute 'required' set to True to behave similar way. By default subparser.required attribute is set to False, usage message is not printed and code continues to be executed. oe-pkgdata-util code raises AttributeError exception in this case: AttributeError: 'Namespace' object has no attribute 'func' Fixed this by setting subparser.required to True. [YOCTO #9711] (From OE-Core rev: 207dba5b6eb04c1ae2081bac06724b3b6a198cb3) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: python3: convert iterables to listsEd Bartosh2016-06-031-1/+1
| | | | | | | | | | | Converted return value of items() keys() and values() to lists when dictionary is modified in the loop and when the result is added to the list. (From OE-Core rev: 874a269eb1d70060c2f3b3f8b70800e2aea789f4) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: use python3 in shebangEd Bartosh2016-06-021-1/+1
| | | | | | | | | | | As most of oe-test cases work for devtool and recipetool it makes sense to switch both tools to python 3 by explicitly referring to python3 in their shebangs. (From OE-Core rev: dad9617809c60ec5f11d4780b0afa1cffa1efed5) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: optimise getting package size listPaul Eggleton2016-04-051-5/+21
| | | | | | | | | | | | | | | | Invoking oe-pkgdata-util in turn for every package in the list was slow with a large image. Modify oe-pkgdata-util's read-value command to take an option to read the list of packages from a file, as well as prefix the value with the package name; we can then use this to get all of the package sizes at once. This reduces the time to gather this information from minutes to just a second or two. Fixes [YOCTO #7339]. (From OE-Core rev: 51c24904cc1bc823bccc3f179b8d7a192dace168) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: print usage in argparse-using scripts when a command-line error occursPaul Eggleton2015-12-281-2/+3
| | | | | | | | | | | | | | For scripts that use Python's standard argparse module to parse command-line arguments, create a subclass which will show the usage the usage information when a command-line parsing error occurs. The most common case would be when the script is run with no arguments; at least then the user immediately gets to see what arguments they might need to pass instead of just an error message. (From OE-Core rev: d62fe7c9bc2df6a4464440a3cae0539074bf99aa) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-pkgdata-util: sort the packages in list-pkg-filesRoss Burton2015-12-081-1/+1
| | | | | | | | | Sort the list of packages in list-pkg-files to make the output easier to read. (From OE-Core rev: 6c31655c5abf6ad4308848c116444cc7b1e798bb) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-pkgdata-util: Fix variable name in error handlingRichard Purdie2015-10-271-1/+1
| | | | | | | | | | | | Fix: logger.error('Unable to find pkgdata directory %s' % pkgdata_dir) NameError: global name 'pkgdata_dir' is not defined (From OE-Core rev: a1202ed17e11400f08064c9065fdfa996554d4ad) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: avoid returning skipped packagesRobert Yang2015-09-241-1/+4
| | | | | | | | | | | The skipped packages may be pulled in by another package, for example, when libc6-dbg is already installed and should be skipped, but it would be pulled in by libsegfault, this patch fixes the issue. (From OE-Core rev: 5040481f33b356d9acfd29a778b13544e27e7bb7) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager: support exclusion from complementary glob process by ↵Paul Eggleton2015-02-171-1/+5
| | | | | | | | | | | | | | | regex Sometimes you do not want certain packages to be installed when installing complementary packages, e.g. when using dev-pkgs in IMAGE_FEATURES you may not want to install all packages from a particular multilib. This introduces a new PACKAGE_EXCLUDE_COMPLEMENTARY variable to allow specifying regexes to match packages to exclude. (From OE-Core rev: d4fe8f639d87d5ff35e50d07d41d0c1e9f12c4e3) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: add list-pkg-files subcommandPaul Eggleton2015-02-141-0/+60
| | | | | | | | | | Adds a subcommand to list the files in a package, or list the files in all packages for a recipe. (From OE-Core rev: 380218d7b963e8931c72596852b1ed2a7f4df61d) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: add list-pkgs subcommandPaul Eggleton2015-02-141-0/+94
| | | | | | | | | | Add a subcommand to list packages, with options to list packages matching a specification, and packages produced by a particular recipe. (From OE-Core rev: a6791526fec5b78ddefcf1b6b828bd376d0f2bc0) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: allow reverse package name lookupsPaul Eggleton2015-02-141-18/+36
| | | | | | | | | | | | Add a -r/--reverse option to the lookup-pkg subcommand to enable looking up the recipe-space package name for one or more runtime package names. Also make this subcommand into a function that can be reused elsewhere. (From OE-Core rev: f0af7471e688047c7bac5130457e5f9cc2fd5107) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: fix read-value to handle data with colons in the valuePaul Eggleton2015-02-141-1/+1
| | | | | | | | | | The read-value subcommand was truncating the value if it contained colons, for example FILES_INFO. (From OE-Core rev: 77411c775c4bf3fa7897985916c2d4a4af2dda47) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: make find-path show a proper error if no package foundPaul Eggleton2015-02-141-0/+5
| | | | | | | (From OE-Core rev: e13e53a30372a4cb3eabdb1b2199ff64c3e85cc3) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: improve command-line usagePaul Eggleton2015-02-141-136/+128
| | | | | | | | | | | | | | | | | | | | | | | | | * Use argparse instead of optparse for standardised help output, options and a much cleaner code structure * Look up pkgdata directory automatically so the user doesn't have to specify it * Use standard logging NOTE: this does mean a slight change in syntax - if you do want to specify the pkgdata directory (usually only necessary if you're calling it from within the build process) you need to use the parameter -p (or --pkgdata-dir) and specify this before the command, not after it. Examples: oe-pkgdata-util find-path /sbin/mke2fs oe-pkgdata-util lookup-recipe libelf1 oe-pkgdata-util read-value PKGSIZE libc6 oe-pkgdata-util -p /home/user/oe/build/tmp/sysroots/qemux86-64/pkgdata read-value PKGSIZE libc6 (From OE-Core rev: 04dc571ac7c26f0dcf1a1fcd466482e22519998d) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: fix help textPaul Eggleton2014-06-251-1/+1
| | | | | | | | | This was copy/pasted from another script and not corrected. (From OE-Core rev: 65b79e8ffffb20b7dd83213c72774745f18d978d) 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-1/+5
| | | | | | | | | | | | | | | | | | | | | 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-12/+7
| | | | | | | | | | | | | | | | | | | | | 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>
* scripts/oe-pkgdata-util: fix global name 'debug' is not definedPaul Eggleton2013-10-291-12/+11
| | | | | | | | | | This global variable is no longer present, so pass in the value specified via the command line. (From OE-Core rev: fa90f92e52330a9bf5836c0832412af0927b19a9) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-pkgdata-util: add ability to find a recipe from a target packagePaul Eggleton2013-10-291-0/+37
| | | | | | | | | | Add a "lookup-recipe" command to show which recipe produced a particular package. (From OE-Core rev: 4ab561ac3df105b4b6487271b6ccc29445518d52) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-pkgdata-util: add ability to look up runtime package namesPaul Eggleton2013-10-291-0/+38
| | | | | | | | | | | Add a "lookup-pkg" command to oe-pkgdata-util that can be used to find the runtime name of a package (after e.g. Debian library package renaming). (From OE-Core rev: d923846d91ae307372f1e48483e86807feeeb09d) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-pkgdata-util: add ability to search for a target pathPaul Eggleton2013-10-291-0/+36
| | | | | | | | | | Add ability to search for a target path in produced packages, in order to find which package provides a specific file. (From OE-Core rev: 0824f2f5cf4e05f82b6986ce6fb22fa1392b7776) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-pkgdata-util: check path arguments to ensure they existPaul Eggleton2013-10-291-0/+12
| | | | | | | | | Show an error if the specified paths don't exist. (From OE-Core rev: eff2690f7976664e6257c1c19c89feea9152eb9e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-pkgdata-util: improve help text and command line parsingPaul Eggleton2013-10-291-40/+38
| | | | | | | | | | | * Use optparse to parse command line * Make help text actually helpful by describing what each command does * Drop comment at the top listing the commands which is now superfluous (From OE-Core rev: feb317513fff638ad7abdba8ab34b8413f0ab055) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-pkgdata-util: remove remnants of former pkgdata structurePaul Eggleton2013-10-291-6/+6
| | | | | | | | | | | OE-Core commit 1b8e4abd2d9c0901d38d89d0f944fe1ffd019379 removed the vendor-os argument from the command line, and the code using the package architectures, so clean these items up. (From OE-Core rev: 8b9ee57afbbcf633cba66e4b6e8ab7339ad6d391) Signed-off-by: Paul Eggleton <paul.eggleton@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-26/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* classes/buildhistory: record size of installed package not compressed archiveMartin Jansa2013-08-161-4/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | * usually it's more important to know how much space will each package take on target device then size of compressed package * example for libewebkit0 with 4 different architectures, interesting that om_gta02 .ipk is bigger but it's smaller when installed before: MACHINE DEFAULTTUNE SIZE (.ipk file) om_gta04 cortexa8t-neon 15996 KiB libewebkit0 qemux86_64 x86-64 16992 KiB libewebkit0 spitz xscale 16148 KiB libewebkit0 om_gta02 arm920t 16260 KiB libewebkit0 after: MACHINE DEFAULTTUNE SIZE (installed) om_gta04 cortexa8t-neon 60544 KiB libewebkit0 qemux86_64 x86-64 63720 KiB libewebkit0 spitz xscale 60588 KiB libewebkit0 om_gta02 arm920t 56268 KiB libewebkit0 (From OE-Core rev: 85e4a77138381a6086d5ebd3a28cb5a94bc26a19) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-pkgdata-util: find complementary packages for split packagesPaul Eggleton2013-04-081-3/+10
| | | | | | | | | | | | | Check after getting the original package name (e.g. undoing Debian renaming) if there is a complementary package for that name, e.g. if the glob is *-dev, then libudev0 -> libudev -> libudev-dev. Fixes [YOCTO #4136]. (From OE-Core rev: 84a1c6922934a99e8afee0185e58dc4789b54a22) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-pkgdata-util: exclude unpackaged in glob outputPaul Eggleton2012-07-311-0/+4
| | | | | | | | | | | | Check for .packaged file and exclude packages if this file does not exist - this avoids attempting to install empty packages during complementary package installation within do_rootfs that didn't end up being created (and failing as a result). (From OE-Core rev: 4a85d8a4026cf1d1603513ed9780f80c603cc611) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Rework installation of dev, dbg, doc, and locale packagesPaul Eggleton2012-07-291-0/+167
Use a similar mechanism that was previously used to install locales at rootfs generation time to install other "complementary" packages (e.g. *-dev packages) - i.e. install all of the explicitly requested packages and their dependencies, then get a list of the packages that were installed, and use that list to install the complementary packages. This has been implemented by using a list of globs which should make it easier to extend in future. The previous locale package installation code assumed that the locale packages did not have any dependencies that were not already installed; now that we are installing non-locale packages this is no longer correct. In practice only the rpm backend actually made use of this assumption, so it needed to be changed to call into the existing package backend code to do the complementary package installation rather than calling rpm directly. This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and also ensures that all dev/dbg packages get installed for dev-pkgs/dbg-pkgs respectively even if the dependency chains between those packages was not ensuring that already. The code has also been adapted to work correctly with the new SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable has been added to allow specifying what extra image features should go into the SDK (extra, because by virtue of installing all of the packages in the image into the target part of the SDK, we already include all of IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs". Fixes [YOCTO #2614]. (From OE-Core rev: 72d1048a8381fa4a8c4c0d082047536727b4be47) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>