Commit Graph

101 Commits

Author SHA1 Message Date
Richard Purdie 3edadc9802 package.bbclass: Rewrite package_do_filedeps() to reduce the amount of subprocesses created and improve speed
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-25 22:43:34 +00:00
Richard Purdie b40b193741 package.bbclass: Fix debug sources directory creation to reference the target system
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-02-25 22:43:33 +00:00
Mark Hatle 40ea19d6e1 package.bbclass: Refactor split and strip function
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>
2011-02-25 22:43:33 +00:00
Mark Hatle 16102e1890 Revise stripping and splitting of debug information
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>
2011-02-25 22:43:33 +00:00
Richard Purdie fa1e7d52b2 package.bbclass: Ensure dependency version information is preserved
[BUGID #176]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-25 16:34:47 +00:00
Dongxiao Xu 0d0279a881 package.bbclass: Use hard link for package split instead of copy
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>
2011-02-25 15:58:42 +00:00
Richard Purdie 0b17cbc8f2 package.bbclass: Unbreak per file dependencies and blacklist doc packages
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-25 12:13:56 +00:00
Mark Hatle 6f6bffe5df package.bbclass: Breakout the strip from the populate_packages
Break out the file split/strip from the populate_packages.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-12 00:30:29 +00:00
Richard Purdie d1a1635a45 package.bbclass: Only set recrdeptask for do_build if packaging is enabled for the recipe
Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
2011-02-10 12:01:04 +00:00
Mark Hatle 3e6d91ece0 package.bbclass: Preserve hard links!
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>
2011-02-09 22:46:30 +00:00
Richard Purdie 51d7e314f8 package.bbclass: Optimise file dependency calculations to ignore locales and kernel modules as these never have dependencies we'd detect anyway
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-03 20:18:52 +00:00
Mark Hatle 8a52fda62f bitbake.conf & package.bbclass: Use default SUMMARY and DESCRIPTION
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>
2011-02-03 11:48:48 -08:00
Richard Purdie 95f13b1687 package.bbclass: Ensure SUMMARY is written to pkgdata as well as DESCRIPTION
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-02 14:44:37 +00:00
Paul Eggleton c75ad4694c package.bbclass: add nodeprrecs flag to RRECOMMENDS_pkgname
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>
2011-02-01 16:26:03 +00:00
Richard Purdie eed008baf2 package.bbclass: Disable EXPORT_FUNCTIONS for do_package
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>
2011-01-31 16:22:14 +00:00
Mark Hatle f6ddba2a9d rpm: Uprev to RPM 5.4.0
Update RPM to the latest release, RPM 5.4.0.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-28 17:52:55 +00:00
Dongxiao Xu 7f41f1a888 bitbake: machine specific sysroots implementation
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>
2011-01-25 12:25:46 +00:00
Richard Purdie ede381d56b package.bbclass: Take a shared lock when reading to improve do_package parallelism
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-19 11:04:15 +00:00
Kevin Tian d9ff2f897a package.bbclass: make sure 'sysroots' created before lockfile
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>
2010-11-07 20:40:06 +00:00
Richard Purdie 8e2150e5dc meta/classes: Mark do_package_write and do_build as noexec tasks
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-06 14:33:45 +00:00
Richard Purdie 48b42dae51 classes: Only enable fakeroot on setscene tasks with packaging
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-22 16:34:06 +01:00
Richard Purdie 36f1ae42fe pseudo/fakeroot: Move the pseudo directory creation into bitbake
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>
2010-10-22 13:00:40 +01:00
Richard Purdie 2d93cb0a0d Revert "classes: Disable setscene tasks for initial testing"
This reverts commit 084ec86402.
2010-10-05 22:26:33 +01:00
Richard Purdie fac3ca94a2 package.bbclass: Ensure all packages package when running a build
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-08 15:55:10 +01:00
Mark Hatle c849ec75e7 rpm: Fix autoconf/libtool usage
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>
2010-09-03 18:30:47 -07:00
Mark Hatle 84f7f70308 package_rpm: Enable per file dependencies
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>
2010-09-02 10:01:22 +01:00
Mark Hatle f29f9364a3 package.bbclass: Fix per-file dependency generation
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>
2010-08-23 20:52:45 +01:00
Richard Purdie ca95d02ce0 package.bbclass: Fix shlibs race
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-23 15:41:21 +01:00
Mark Hatle b9f4ff1386 package.bbclass: Fix do_shlibs
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>
2010-08-23 15:27:36 +01:00
Richard Purdie 86c2b56705 package.bbclass: If files are unreadable, add read access for stripping
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-22 00:28:28 +01:00
Mark Hatle 54e3a82d9c package.bbclass: Add perfile dependency identification
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>
2010-08-20 23:39:55 +01:00
Richard Purdie 084ec86402 classes: Disable setscene tasks for initial testing
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 22:36:26 +01:00
Richard Purdie 29ca893649 package.bbclass: Implement packaged-staging2
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-19 20:06:25 +01:00
Richard Purdie 6c7bc9e2eb package.bbclass: Document the process followed in the class from a high level
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 21:35:48 +01:00
Richard Purdie a0dd61eb2b package.bbclass: Use --preserve-dates option when stripping kernel modules
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-10 15:36:29 +01:00
Richard Purdie d3630f8174 kernel/package.bbclass: Handle kernel module stripping centrally
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-10 14:47:41 +01:00
Richard Purdie 246dbec868 package.bbclass: Clear package directory copy before installing new files to prevent stale data
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-20 17:11:27 +00:00
Richard Purdie 5716a14bf4 package.bbclass: Fix runtime_maping_rename so version information isn't removed
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-19 10:13:10 +00:00
Richard Purdie b772c8cde5 bitbake.conf/base.bbclass: Rename the staging directory to sysroots and the populate_staging task to populate_sysroot
This change makes the purpose of the staging directory more obvious and
the taskname more true to what it now actually does.

The layout version number is increased due to the change in layout
but code to convert existing directories and insert a symlink for
backwards compatibility is included.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-13 12:15:42 +00:00
Richard Purdie c54117458a classes: Remove and sanitise import statements
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-13 12:15:28 +00:00
Richard Purdie 7501b625b6 package.bbclass: Add the option to declare package preprocess function hooks
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-13 12:15:22 +00:00
Richard Purdie 4b0332c431 package.bbclass: Change to operate on a copy of the install directory instead of directly. Also take the opportunity to rename the temp directories so their function is clear
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-13 12:15:22 +00:00
Richard Purdie 0eee29e451 package.bbclass: Remove hardcoded use of PKGDEST variable
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-13 12:15:22 +00:00
Richard Purdie 4f4a3da843 package.bbclass: Move variable checks to one place making the code more readable
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-13 12:15:22 +00:00
Richard Purdie ae0e1ad29b package.bbclass: Cleanup getVar syntax to use True, not 1 as third argument
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-10-29 23:24:19 +00:00
Richard Purdie 3927e38eba Merge ssh://gitserver@git.pokylinux.org/poky 2009-04-28 08:24:11 +01:00
Koen Kooi f94bd6b312 package bbclass: add an 'allow_links' param to get symlinks packaged, usefull for splitting out libraries 2009-03-11 12:05:53 +01:00
Richard Purdie be10b46b73 base.bbclass: Use explode_deps from bb.utils and remove the obsolete base.bbclass version 2009-02-05 23:54:11 +00:00
Richard Purdie c2c16bced8 base.bbclass: Move package metadata handling functions into their own class file 2009-02-05 23:54:11 +00:00
Richard Purdie 628db3a7cf package.bbclass: Ignore virtual-locale- packages when building -dev and -dbg dependency chains
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5399 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-10-02 22:05:09 +00:00