summaryrefslogtreecommitdiffstats
path: root/meta/classes/package.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* 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). (From OE-Core rev: a4bc86713892502aeefbbdb3053e8cf1e1fc0bdb) Signed-off-by: Yu Ke <ke.yu@intel.com> Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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) (From OE-Core rev: 5d9453049915db48ec4b5972e12287417ebb61a2) 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. (From OE-Core rev: c64d075b3d367e6c76aafa17782585d026b1f31e) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Make unshipped packages message more readableRichard Purdie2011-07-051-1/+1
| | | | | | (From OE-Core rev: bc73fa1256d678c09c0d9b50e0153623861dcf32) 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. (From OE-Core rev: 8c720efa053f81dc8d2bb604cdbdb25de9a6efab) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: PACKAGELOCK is a shared lock file so inform sstate as suchRichard Purdie2011-06-091-1/+1
| | | | | | | (From OE-Core rev: 60f74e47160508c9150d880b1f627dc7e3f0d3ab) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> 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 (From OE-Core rev: 5f6179324ac3956ad87123005bfcab4e8f30e67b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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. (From OE-Core rev: b1f6120c04731d3d66f322ce550b0d223c118dab) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Move packagedata code into oe.packagedata (sync from OE)Chris Larson2011-05-201-1/+3
| | | | | | | (From OE-Core rev: e6858627ab087f2f25ebbd6c4422eeae35f3b0ac) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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. (From OE-Core rev: 600dbb7cb384c2290af38b993a9bea3a4dfc4494) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: convert unpackaged file message from 'info' to 'warn' so ↵Koen Kooi2011-05-091-2/+2
| | | | | | | | | that it shows up on the console (From OE-Core rev: c4365aac40718286d7cc74a0b387cdb8f47e7723) Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Fix missing debug src filesMark Hatle2011-03-161-1/+1
| | | | | | | | | | The previous change used egrep instead of fgrep. We need to use fgrep because there are expression like syntaxes in some file names, we need exact matches. (From OE-Core rev: 0de88dc9aa30f29ec1ab5cc0c541c8be859392ab) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Change the debug directory to avoid conflictsMark Hatle2011-03-101-2/+8
| | | | | | | | | | | | | The debug directory before was below ${WORKDIR}. Unfortunately if something was based on a git tree, it meant that "git" was the directory name being preserved for usr/src/debug usage. The patch moves to using "${WORKDIR}/.." as the base, to ensure that the WORKDIR naming is used in usr/src/debug. (From OE-Core rev: dbc752c75786b0985fbeb4986467ae01290f424a) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Rewrite package_do_filedeps() to reduce the amount of ↵Richard Purdie2011-02-251-33/+44
| | | | | | subprocesses created and improve speed Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Fix debug sources directory creation to reference the ↵Richard Purdie2011-02-251-1/+1
| | | | | | target system Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Refactor split and strip functionMark Hatle2011-02-251-98/+144
| | | | | | | | | Refactor the function to eliminate additional interations/walks of the filesystem.. Elimiate multiple runs of the external 'file' command as well. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* Revise stripping and splitting of debug informationMark Hatle2011-02-251-26/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | We now support two styles of debug information generation, the '.debug' style, which is the same as previously implemented. This style simply splits the debug information and makes it available in the same general directory. /bin/foo -> /bin/.debug/foo The new 'debug-file-directory' style splits the debug information and places it into the single debug-file-directory, /usr/lib/debug: /bin/foo -> /usr/lib/debug/bin/foo.debug Both also find and copy all referenced source code to a new /usr/src/debug directory. This allows the -dbg files to be used for stand-a-lone debugging on or off the target device. File stripping is now handled as a seperate operation from file splitting. This allows us to split the debug information, but also leave it in the original file -- or prevent the debug information from being split. Also enhance the comments within local.conf.sample to provide a better understanding of the control the user has over debug file generation. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* package.bbclass: Ensure dependency version information is preservedRichard Purdie2011-02-251-15/+17
| | | | | | [BUGID #176] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Use hard link for package split instead of copyDongxiao Xu2011-02-251-12/+3
| | | | | | | | | | | When doing package split, we use hard link instead of copy, which can save about 10% disk space when building poky-image-minimal. If fail, it will fall back to the copyfile function. [Updated by Richard to use os.link and avoid an exec() call per file] Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
* package.bbclass: Unbreak per file dependencies and blacklist doc packagesRichard Purdie2011-02-251-1/+1
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Breakout the strip from the populate_packagesMark Hatle2011-02-121-22/+36
| | | | | | Break out the file split/strip from the populate_packages. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* package.bbclass: Only set recrdeptask for do_build if packaging is enabled ↵Richard Purdie2011-02-101-1/+4
| | | | | | for the recipe Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Preserve hard links!Mark Hatle2011-02-091-1/+17
| | | | | | | | | | | Hard links were not being preserved in the move from the install image -> package copy. Again they were being discarded in the package -> packages-split copy as well. By preserving the hard links we have the potential to save a ton of rootfs space. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* package.bbclass: Optimise file dependency calculations to ignore locales and ↵Richard Purdie2011-02-031-1/+1
| | | | | | kernel modules as these never have dependencies we'd detect anyway Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf & package.bbclass: Use default SUMMARY and DESCRIPTIONMark Hatle2011-02-031-1/+4
| | | | | | | | | | | | | | | A new default SUMMARY and DESCRIPTION was defined for any package that previously did not contain one. This value is based on the original SUMMARY_${PN} value. The new default SUMMARY and DESCRIPTION is used as a basis for all of the automatic summary and descriptions for the various package splits, include ${PN}, ${PN}-dbg, ${PN}-dev, ${PN}-doc, and locales. A recipe may also override any of the automatic summaries by simply specifying the value. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* package.bbclass: Ensure SUMMARY is written to pkgdata as well as DESCRIPTIONRichard Purdie2011-02-021-0/+1
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: add nodeprrecs flag to RRECOMMENDS_pkgnamePaul Eggleton2011-02-011-0/+2
| | | | | | | Setting this flag disables the normal additions to RRECOMMENDS for a package (useful when splitting dev / dbg packages). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
* package.bbclass: Disable EXPORT_FUNCTIONS for do_packageRichard Purdie2011-01-311-3/+1
| | | | | | | | | | | | | | | | | | | | | As discovered by Lianhao Lu and Kevin Tian: """ do_package checksum changes with switching the order In PACKAGE_CLASSES, e.g: From PACKAGE_CLASSES = "package_rpm package_ipk" To PACKAGE_CLASSES = "package_ipk package_rpm" This is undesired since the order only matters for final rootfs generation. The actual cause is related to how do_package is generated, which depends on when package.bbclass is first brought in. """ Since we never need the EXPORT_FUNCTIONS funcationality for do_package we just drop it which removes this problem and stablisised checksums. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: Uprev to RPM 5.4.0Mark Hatle2011-01-281-1/+1
| | | | | | Update RPM to the latest release, RPM 5.4.0. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* bitbake: machine specific sysroots implementationDongxiao Xu2011-01-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the sysroots path to be machine specific. Changes includes: 1) STAGING_DIR_TARGET and STRAGING_DIR_HOST points to machine specific paths. 2) task stamp files. Adding ${MACHINE} info into stamp files for do_populate_sysroots and do_package tasks. Add a BB_STAMPTASK_BLACKLIST to keep native, nativesdk, crosssdk, and cross-canadian stamp unchanged. 3) siteconfig path. Separate the site config path for different machines to avoid one machine adopting the cache file of another machine. 4) sstate. Add machine name to sstate manifest file. Change relocation code for sstate paths since sysroot is machine. Keep native, nativesdk, crosssdk, and cross-canadian unchanged. 5) toolchain scripts. Change the environment path to point to machine specific sysroots in toolchain scripts bbclass. 6) Relocate la files when populating to a different machine of the same architecture. 7) Exclude STAGING_DIR_TARGET and STAGING_DIR_HOST parameter from sstate siginfo since they contain ${MACHINE} information. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
* package.bbclass: Take a shared lock when reading to improve do_package ↵Richard Purdie2011-01-191-1/+4
| | | | | | parallelism Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: make sure 'sysroots' created before lockfileKevin Tian2010-11-071-0/+1
| | | | | | | | package sstate requires a lock under sysroots/, which however may not be created when sstate_setscene functions are executed and then causes failures. here we make sure 'sysroots' created before do_package_setscene is executed. Signed-off-by: Kevin Tian <kevin.tian@intel.com>
* meta/classes: Mark do_package_write and do_build as noexec tasksRichard Purdie2010-11-061-0/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* classes: Only enable fakeroot on setscene tasks with packagingRichard Purdie2010-10-221-2/+0
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* pseudo/fakeroot: Move the pseudo directory creation into bitbakeRichard Purdie2010-10-221-0/+2
| | | | | | | | | | | | | | If sstate was used to accelerate a build, the pseudo directory might not have been created leading to subsequent task failures. Also, sstate packages were not being installed under pseudo context meaning file permissions could have been lost. Fix these problems by creating a FAKEROOTDIRS variable which bitbake ensures exists before running tasks and running the appropriate setscene tasks under fakeroot context. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Revert "classes: Disable setscene tasks for initial testing"Richard Purdie2010-10-051-1/+1
| | | | This reverts commit 084ec86402bba92418898a4c47667a0574a3b3ee.
* package.bbclass: Ensure all packages package when running a buildRichard Purdie2010-09-081-0/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* rpm: Fix autoconf/libtool usageMark Hatle2010-09-031-1/+1
| | | | | | | | | | In order to resolve a host-contamination problem, we re-work the way that autoconf and friends are invoked during the compilation of RPM. This has a side effect of fixing another bug where RPM was being renamed HOST_ARCH-HOST_OS-rpm. So we remove the "fixes" for that behavior as well. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* package_rpm: Enable per file dependenciesMark Hatle2010-09-021-0/+2
| | | | | | | | | Switch the per file dependency handing to passing the information to rpm via the standard 'external' dependency scripting. This ensures that the dependencies found by RPM exactly match the ones presented by package.bbclass. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
* package.bbclass: Fix per-file dependency generationMark Hatle2010-08-231-4/+9
| | | | | | | | | | | | | The overall file list was being constructed with the wrong variable, it should have had FLIST in the name. Also it was possible to construct the system with some illegal variable names. Names that would have include "[]". So translate these away... Finally fix an issues where a filename with an _ could cause a package variable conflict. Again translate this away.. Signed-off-by: Mark Hatle <mhatle@windriver.com>
* package.bbclass: Fix shlibs raceRichard Purdie2010-08-231-2/+2
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* package.bbclass: Fix do_shlibsMark Hatle2010-08-231-4/+5
| | | | | | | | | The current packages shlibs processing is written to a local temporary file. This file is not consulted when evaluting the provider of the dependency, instead we need to cache the local values into the dictionary while we write the temp file. Signed-off-by: Mark Hatle <mhatle@windriver.com>
* package.bbclass: If files are unreadable, add read access for strippingRichard Purdie2010-08-221-2/+2
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* package.bbclass: Add perfile dependency identificationMark Hatle2010-08-201-5/+77
| | | | | | | | | Using the rpmdeps commands, we enable the discovery of per-file dependencies. These dependencies are generated for all packages, and may or may not be used by any given packaging mechanism. Currently RPROVIDES and RDEPENDS are generated in this process. Signed-off-by: Mark Hatle <mhatle@windriver.com>
* classes: Disable setscene tasks for initial testingRichard Purdie2010-08-191-1/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* package.bbclass: Implement packaged-staging2Richard Purdie2010-08-191-40/+31
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* package.bbclass: Document the process followed in the class from a high levelRichard Purdie2010-08-121-1/+26
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* package.bbclass: Use --preserve-dates option when stripping kernel modulesRichard Purdie2010-08-101-1/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* kernel/package.bbclass: Handle kernel module stripping centrallyRichard Purdie2010-08-101-0/+4
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* package.bbclass: Clear package directory copy before installing new files to ↵Richard Purdie2009-11-201-0/+1
| | | | | | prevent stale data Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>