summaryrefslogtreecommitdiff
path: root/meta/classes/package.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* (libc-)package.bbclass: Added MLPREFIX to locale packages.Lianhao Lu2012-05-181-2/+3
| | | | | | | Added multilib prefix to the locale related package names/dependencies. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Drop dubious use of packages[0] from do_split_packages and ↵Richard Purdie2012-05-121-19/+4
| | | | | | | | | | | do_split_locales As the comment says, using packages[0] is rather broken and can be incorrect, as demonstrated by the recent gdk-pixbuf change. Replacing it with PN is a bit more correct and more likely to do what was originally intended by this function. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Drop EXPORT_FUNCTIONS use against mapping_rename_hookRichard Purdie2012-05-111-3/+1
| | | | | | | | | | | | The usage of this function renaming and it being called using bb.build.exec_func() causes needless indirection loops, confusing log files and seems generally pointless. This simplification makes the process much simpler and faster. I can't come up with a good reason why the export_functions functionality is needed for this function. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Ensure kernel modules get strippedRichard Purdie2012-04-221-0/+8
| | | | | | | | Kernel modules are not marked as executable but we do expect to strip them. This patch adds in missing code to ensure we do this. Without this images are getting sigificantly bloated in size. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* "The suite of statements in a function definition executes with a local ↵Andrei Gherzan2012-04-111-1/+4
| | | | | | | | | | | | | | | | | | namespace that is different from the global namespace. This means that all variables created within a function are local to that function. When the suite finishes, these working variables are discarded." In this way the needs_ldconfig variable in linux_so never gets True in the statements below this function. As global statement is generally discouraged, a return value would be a clean and fast way to solve this issue. [YOCTO #2205] RP: Added logic to ensure the value doesn't get overwritten once set Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>--- Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Various typoes fixed, all comments or output strings.Robert P. J. Day2012-03-261-1/+1
| | | | | | | Typoes fixed: "enviroment", "editted", "spliting", "scheulder". Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* INCOMPATIBLE_LICENSE: support for spdx and pkg licensesElizabeth Flanagan2012-03-251-6/+11
| | | | | | | | | | | | | | | | This adds a few things to the incompatible license functionality 1. INCOMPATIBLE_LICENSE was unable to distinguish any variation within LICENSE (e.g. GPLv3 v. GPLv3.0). This now utilizes the SPDXLICENSEMAP of the license indicated as INCOMPATIBLE_LICENSE 2. Given a recipe where the main LICENSE was incompatible but a package of the recipe was compatible, the entire recipe would be excluded. This allows us some finer grained control over what exactly gets excluded. Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: do not split debug pkg when no debugsources.listRobert Yang2012-03-141-9/+9
| | | | | | | | | | | | | | | We don't have to split the debug pkg if it is null (No debugsources.list since the find-debuginfo.sh would not generate it for the null pkg). Serval pkg's debug pkg is null, and there were a few errors: (53 pkgs had such errors in a core-image-sato build): log.do_package:sort: open failed: debugsources.list: No such file or directory [YOCTO #2076] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: sort dynamically generated packagesAndreas Oberritter2012-03-131-2/+2
| | | | | | | | | | | | | * do_split_packages and package_do_split_locales dynamically add packages in order of appearance of os.walk() or os.listdir(). This order varies between multiple build hosts (and probably also between successive builds). * Sort the list of dynamically added packages, to get a consistent and reproducible order. * This reduces the diffs in buildhistory and improves comparability between builds. Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
* package.bbclass: Drop python depends from rpmdepsRichard Purdie2012-03-111-0/+2
| | | | | | | | | This python depends is added by rpmdeps every time it finds a python script. This is not necessary since we handle this in otherways. It also breaks things like nativesdk since the dependency is not renamed. The easiest solution is just to ignore this dependency. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Replace bb.data.expand(xxx, d) -> d.expand(xxx)Richard Purdie2012-03-051-12/+12
| | | | | | | | sed \ -e 's:bb.data.\(expand([^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -i `grep -ril bb.data.expand *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)Richard Purdie2012-03-051-1/+1
| | | | | | | | | | | | Using "1" with getVar is bad coding style and "True" is preferred. This patch is a sed over the meta directory of the form: sed \ -e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \ -e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \ -i `grep -ril getVar *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/classes: Convert to use appendVar and appendVarFlagsRichard Purdie2012-03-051-11/+5
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Add a sanity check to the debugsrcdir removal codeRichard Purdie2012-02-241-1/+1
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: set package size into pkgdata for hob2's useShane Wang2012-02-241-0/+8
| | | | | | | | | Write the size of a package into its pkgdata for hob2 to get the size and show on the UI for image making. Signed-off-by: Shane Wang <shane.wang@intel.com> Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Remove empty directories created as part of srcdebug handlingRichard Purdie2012-02-241-1/+12
| | | | | | | | | | | | | | | | | We can create directories like /usr/src/debug as part of the debug file manipulations. If these are going to end up empty, remove them to avoid QA warnings like: WARNING: For recipe task-core-x11, the following files/directories were installed but not shipped in any package: WARNING: /usr WARNING: /usr/src WARNING: /usr/src/debug WARNING: For recipe task-core-console, the following files/directories were installed but not shipped in any package: WARNING: /usr WARNING: /usr/src WARNING: /usr/src/debug Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Optimise the per file rpm handlingRichard Purdie2012-02-101-20/+32
| | | | | | | | | | Currently a process was being forked off for each individual file this class wanted to inspect with rpmdeps. This converts it to use rpmdeps-oecore which allows batch processing of these dependencies. For do_package for perl, this reduced the time by about 1 minute (33%). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package bbclass: allow per package PRIVATE_LIBSKoen Kooi2012-02-011-1/+1
| | | | | | | | If a recipe packages multiple versions of shlib (e.g. powervr drivers) we only want the shlib code to pickup $PN, not $PN-foo subpackages. This keeps backward compatibility with the global PRIVATE_LIBS usage if no per package PRIVATE_LIBS are set for a given package. In other words: this doesn't break the firefox recipe. Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: replace 'Poky' with 'OE-core'Koen Kooi2012-02-011-1/+1
| | | | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
* classes/package: remove out-of-date notice referring to the OE bugtrackerPaul Eggleton2012-01-171-3/+0
| | | | | | | | OpenEmbedded doesn't officially use a bug tracker anymore, and a message asking the user to fix the metadata could be applied to almost any error that occurs, so just remove the whole message. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
* package.bbclass: quote pathname given to objdumpEnrico Scholz2012-01-171-2/+2
| | | | | | | Packaging will fail with executable files containing spaces in their names. Patch quotes the parameter passed to 'objdump'. Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
* package.bbclass: per recipe PRSERV_HOST supportLianhao Lu2012-01-111-0/+8
| | | | | | | [YOCTO #1126] Added per recipe PRSERV_HOST PRSERV_PORT support. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
* meta/PRService: Added export/import fuctions.Lianhao Lu2012-01-111-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [YOCTO #1556] - Modified meta/class/package.bbclass and prserv.bbclass according to the change in PR service by adding PACKAGE_ARCH into the query tuple. - Added prexport.bbclass, primport.bbclass to export/import AUTOPR values from/to PRService. - Move PR service related common code to lib/oe/prservice.py. - Supported reading the AUTOPR values from the exported .inc file instead of reading it from remote PR service. - Created a new script bitbake-prserv-tool to export/import the AUTOPR values from/to the PR service. Typical usage scenario of the export/import is: 1. bitbake-prserv-tool export <file> to export the AUTOPR values from the current PR service into an exported .inc file. 2. Others may use that exported .inc file(to be included in the local.conf) to lockdown and reproduce the same AUTOPR when generating package feeds. 3. Others may "bitbake-prserv-tool import <file>" to import the AUTOPR values into their own PR service and the AUTOPR values will be incremented from there. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
* package.bbclass: Adjust RPM call to use dynamic location for magic filesMark Hatle2011-12-231-1/+1
| | | | | | | | The magic file could be installed somewhere else if the system native prefix settings are changed. Adjust the packaging files to compensate for this. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Adding license collectionElizabeth Flanagan2011-12-081-0/+1
| | | | | | | emite_package_data needs to have LICENSE, as pkgdata is as an audit of licenses collected during do_populate_license. Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
* getVar/setVar cleanupsRichard Purdie2011-11-261-26/+26
| | | | | | | Complete the bb.data.getVar/setVar replacements with accesses directly to the data store object. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Ensure paths to rpmmarcos and rpmpopt are setRichard Purdie2011-11-221-1/+1
| | | | | | | | | | If rpm-native was built in an alternative location, it may not relocate correctly unless the rpmpopt and macros paths are explicitly specified. This fixes errors seen on the Yocto autobuilder where pkgconfig "provides" entries could disappear leading to image dependency failures. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: fix path for relative links on elf files, when moved to ↵Henning Heinold2011-11-211-0/+2
| | | | | | | | | | | debugdir * relative links for elf files like ../foo.so ends up in the debugdir with ../.debug/foo.so, this causes infinite fileaccessloops fix it by adding an extra "../" to the link path Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Ensure we tell rpmdeps where to find its magic fileRichard Purdie2011-11-171-1/+1
| | | | | | | | | | | | | Without this, if rpmddeps came from a sstate package which was relocated it might not find its magic file and if that happens, requires/provides in packages could get corrupted. This leads to failures at rootfs time during builds with messages like: libdbus-1.so.3 is needed by libdbus-glib-1-2-0.92-r1.armv5te since the provides would be missing in the dbus package. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie2011-11-101-116/+116
| | | | | | | | | | | | | | | This is the result of running the following over the metadata: sed \ -e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \ -e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -i `grep -ril bb.data *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Fix various problemsRichard Purdie2011-11-011-6/+27
| | | | | | | | | | | | | | | | | | Before this change: a) Ownership and permissions of files copied from packages to package-split could get lost during the copy process. This change ensures they are preserved. b) Ownership and permissions of directories could also get lost. Most of the complexity in this patch is addressing this problem ensuring newly created directories match the source ones being copied. c) There was no warning about directories being created but not shipped by any package. This patch fixes all of the above issues. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Update python dependencies to be simply to "python"Mark Hatle2011-09-211-0/+6
| | | | | | | | | | | | | Previously python dependencies were of the format "python(abi) = ..." This format is not yet supportable within OE, so revert to a form we know we can handle. Introduce a change to package.bbclass that ensures it will causes the sstate-cache's "package" to invalidate. Since pythondeps changed, the output of rpmdeps changes, which causes the per-file dependency information to change.... thus we need to invalidate the cache! Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* image/package.bbclass: Revise multilib support for DEBIAN_NAME.Lianhao Lu2011-09-161-1/+1
| | | | | | | | | | | [YOCTO #1486] 1. image.bbclass: In multilib_sanity_check, duplicated files except those matching to MULTILIBRE_ALLOW_REP are allowed if they're equal. 2. pacakge.bbclass: Allow DEBIAN_NOAUTONAMES variable to be automatically mapped in multilib case. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
* package.bbclass: fix spurious 'installed but not shipped' warningTom Zanussi2011-09-161-1/+4
| | | | | | | | | | | | | | | | | | | | | | | For packages that have files installed that aren't in a subdirectory, the following build WARNING is emitted (this for initramfs-live-boot as an example): WARNING: For recipe initramfs-live-boot, the following files were installed but not shipped in any package: WARNING: init The problem is that the filenames added to the 'seen' array are always added with a path separator at the beginning of the filename, but when the package dir is walked for comparison, any files at the top-level will be missing the beginning path separator and the comparison will fail despite the fact that the file was actually packaged. This because the remainder between the dirname and the dvar base name is used in the path join and in the case of files at the top-level, the remainder is the empty string, where it should be '/' for comparison purposes. Signed-off-by: Tom Zanussi <tom.zanussi@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Ensure task's variable dependencies are correctly caputred ↵Richard Purdie2011-08-311-0/+14
| | | | | | | | | | | in the sstate checksum [YOCTO #1388] This change is needed to correctly add the dependencies for the do_package task which bitbake is unable to automatically detect itself. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Fix recrdeptask of image type recipesDongxiao Xu2011-08-261-1/+1
| | | | | | | | | | For image type of recipes, we need to define do_package_write as its do_build recrdeptask, which ensures that all packaging types listed in PACKAGE_CLASSES will be built out. [YOCTO 1370] Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
* package(_ipk).bbclass: opkg using ALL_MULTILIB_PACKAGE_ARCHSLianhao Lu2011-08-161-11/+2
| | | | | | | | | | | [YOCTO #1345] The new variable ALL_MULTILIB_PACKAGE_ARCHS contains all the values of PACKAGE_ARCHS for each multilib variants. The opkg backend now uses this new value insteald of the PACKAGE_ARCHS to update the opkg indexes and to generate the opkg configuration files. This allows the normal packages and multilib packages may be installed into the same rootfs. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
* package: allow setting a section for locale packagesChris Larson2011-08-121-0/+5
| | | | Signed-off-by: Chris Larson <chris_larson@mentor.com>
* package: include SECTION in the pkgdataChris Larson2011-08-121-0/+1
| | | | Signed-off-by: Chris Larson <chris_larson@mentor.com>
* do_split_packages: revise for multilib caseYu Ke2011-07-271-0/+14
| | | | | | | | | | | | | | | | | | | in multilib case, the PACKAGE_DYNAMIC is overrided with multilib prefix. Take multilib:lib64-perl as example. the "perl-module-*" will become "lib64-perl-module-*" the output_pattern in do_split_packages is designed to work with PACKAGE_DYNAMIC, so it should be applied with the same logic, i.e. overriding with multilib prefix. otherwise the do_split_package will split incorrect files this patch implements the mulitlib override logic for do_split_packages We also need to rename the extra_depends to support multilib case (from Dongxaio Xu). Signed-off-by: Yu Ke <ke.yu@intel.com> Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com>
* multilib: Add support for compiling recipes against multiple ABIsRichard Purdie2011-07-271-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the core multilib class which can be used along with a parameter specifying the mutlilib to use in BBCLASSEXTEND. The MLPREFIX variable is added and can be used in cases where its too difficult to dynmaically work out where a mutltilib prefix is needed to be added to a variable. This includes: * SHLIBSDIR and PACKAGE_ARCH fixes from Lianhao Lu. * PACKAGE_DYNAMIC mapping from Yu Ke * PACKAGE_INSTALL mapping from Yu Ke * RPROVIDES mapping from Yu Ke * TARGET_VENDOR fix from Mark Hatle * Ignorning *-native-runtime dependnecies as well as *-native from Yu Ke * Map PKG and ALLOW_EMPTY from Dongxiao Xu * Ensure RCONFLICTS and PKG field dependencies are remapped (from Dongxiao Xu) * Ensure PN and MLPREFIX are set at the same time to ensure consistent BPN values (Yu Ke) Signed-off-by: Yu Ke <ke.yu@intel.com> Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com> Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: fixup_perms - change symlink processingMark Hatle2011-07-271-5/+5
| | | | | | | | | We switch to using os.lchown in order to avoid following a symlink. We also now check if an item is a symlink, if so we avoid the os.chmod as a symlink inherits the mode of it's target. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* package.bbclass: Make unshipped packages message more readableRichard Purdie2011-07-051-1/+1
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/package.bbclass: Add fixup_permsMark Hatle2011-06-301-10/+243
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new function that is responsible for fixing directory and file permissions, owners and groups during the packaging process. This will fix various issues where two packages may create the same directory and end up with different permissions, owner and/or group. The issue being resolved is that if two packages conflict in their ownership of a directory, the first installed into the rootfs sets the permissions. This leads to a least potentially non-deterministic filesystems, at worst security defects. The user can specify their own settings via the configuration files specified in FILESYSTEM_PERMS_TABLES. If this is not defined, it will fall back to loading files/fs-perms.txt from BBPATH. The format of this file is documented within the file. By default all of the system directories, specified in bitbake.conf, will be fixed to be 0755, root, root. The fs-perms.txt contains a few default entries to correct documentation, locale, headers and debug sources. It was discovered these are often incorrect due to being directly copied from the build user environment. The entries needed to match the base-files package have also been added. Also tweak a couple of warnings to provide more diagnostic information. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* package.bbclass: PACKAGELOCK is a shared lock file so inform sstate as suchRichard Purdie2011-06-091-1/+1
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass,prserv.bbclass: Compare USE_PR_SERV with "1" or "0"Khem Raj2011-05-291-1/+1
| | | | | | | | | Value of USE_PR_SERV is either "1" or "0" looking at settings in bitbake.conf USE_PR_SERV = "${@[1,0][(bb.data.getVar('PRSERV_HOST',d,1) is None) or (bb.data.getVar('PRSERV_PORT',d,1) is None)]}" So we compare the strings Signed-off-by: Khem Raj <raj.khem@gmail.com>
* classes/package(prserv).bbclass: Get PRAUTO and use PKGV/PKGR.Lianhao Lu2011-05-271-15/+36
| | | | | | | | | | | 1. Added package_get_auto_pr to PACKAGEFUNCS to get the auto incremented value(PRAUTO) from remote PR service. 2. use PKGV/PKGR for pkgdata which will be used by package_write_xxx. 3. Added supporting functions in prserv.bbclass. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
* Move packagedata code into oe.packagedata (sync from OE)Chris Larson2011-05-201-1/+3
| | | | Signed-off-by: Chris Larson <chris_larson@mentor.com>
* backport USE_LDCONFIG and PACKAGE_SNAP_LIB_SYMLINKS from oe masterPhil Blundell2011-05-171-7/+27
| | | | | | | This is a backport of the corresponding package.bbclass functionality (which is needed by micro) from the openembedded tree. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: convert unpackaged file message from 'info' to 'warn' so ↵Koen Kooi2011-05-081-2/+2
| | | | | | that it shows up on the console Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>