Commit Graph

181 Commits

Author SHA1 Message Date
Lianhao Lu a05e3a57c6 meta/PRService: Added export/import fuctions.
[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.

(From OE-Core rev: 9979107d8eaf503efd921564385859b1e83dbb3c)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 10:37:43 +00:00
Mark Hatle 77edb006bb package.bbclass: Adjust RPM call to use dynamic location for magic files
The magic file could be installed somewhere else if the system native prefix
settings are changed.  Adjust the packaging files to compensate for this.

(From OE-Core rev: 93c0e9915b5c9bf8b0877c76f89de721adfbfd66)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-24 10:05:44 +00:00
Elizabeth Flanagan 30301333f8 package.bbclass: Adding license collection
emite_package_data needs to have LICENSE, as pkgdata is as an
audit of licenses collected during do_populate_license.

(From OE-Core rev: 60f0b866b4b7c4aa337a2ff764455741a73665da)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:32 +00:00
Richard Purdie 0a434ac101 getVar/setVar cleanups
Complete the bb.data.getVar/setVar replacements with accesses
directly to the data store object.

(From OE-Core rev: 2864ff6a4b3c3f9b3bbb6d2597243cc5d3715939)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-27 10:25:34 +00:00
Richard Purdie 7a2458f451 package.bbclass: Ensure paths to rpmmarcos and rpmpopt are set
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.

(From OE-Core rev: fb01bd81197057e62106aac966f9ebc4c5054f97)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-22 13:07:11 +00:00
Henning Heinold fc744a789d package.bbclass: fix path for relative links on elf files, when moved to 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

(From OE-Core rev: 27cf695f1cf259f8c79214e95a0c4bc2c0779b81)

Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21 16:48:52 +00:00
Richard Purdie f2d077255d package.bbclass: Ensure we tell rpmdeps where to find its magic file
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.

(From OE-Core rev: abe2a948905a997314c61a8fcd35e2b42a3f4408)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-17 12:31:01 +00:00
Richard Purdie c8dee9b92d Convert to use direct access to the data store (instead of bb.data.*Var*())
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 *`

(From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:19 +00:00
Richard Purdie 0182b2bca3 package.bbclass: Fix various problems
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.

(From OE-Core rev: 6021e309e69d823e1467648aee12a32182945569)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 17:43:57 +00:00
Mark Hatle 737f8bbb4f Update python dependencies to be simply to "python"
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!

(From OE-Core rev: 30064a98dc9049db4a37f119d15fbb59aa3c8377)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:53 +01:00
Lianhao Lu 99dd3c0b2c image/package.bbclass: Revise multilib support for DEBIAN_NAME.
[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.

(From OE-Core rev: 66f9045e17c39f5c64a0699b72ea460a0701717a)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 18:07:26 +01:00
Tom Zanussi f5a1b3c8f7 package.bbclass: fix spurious 'installed but not shipped' warning
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.

(From OE-Core rev: cb19503139b9102f02ba3e5be63d5e85f280f2ef)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 17:23:59 +01:00
Richard Purdie c7869b4d4c package.bbclass: Ensure task's variable dependencies are correctly caputred 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.

(From OE-Core rev: 0614b9aa62a46f81d334ca4230080cc707347f3c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 19:38:30 +01:00
Dongxiao Xu de36669053 package.bbclass: Fix recrdeptask of image type recipes
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]

(From OE-Core rev: b68cd33673fdc17711d7b9fde9cc23b0d8498c17)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:00 +01:00
Lianhao Lu 57bd62ad5c package(_ipk).bbclass: opkg using ALL_MULTILIB_PACKAGE_ARCHS
[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.

(From OE-Core rev: b774bf44ef004276da12a83ebd69715c00b596ac)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:56 +01:00
Chris Larson ce110eddfc package: allow setting a section for locale packages
(From OE-Core rev: 521cab0239352e3b4316183c20e63cc06f5ae92b)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:53 +01:00
Chris Larson 07de9dc55c package: include SECTION in the pkgdata
(From OE-Core rev: 47664bb8309f5d791d7aa040a38c7324cb4f14e6)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:53 +01:00
Yu Ke 350a8916c3 do_split_packages: revise for multilib case
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>
2011-07-27 16:18:50 +01:00
Richard Purdie c18aa8d065 multilib: Add support for compiling recipes against multiple ABIs
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>
2011-07-27 16:18:40 +01:00
Mark Hatle 30ddd02277 package.bbclass: fixup_perms - change symlink processing
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>
2011-07-27 15:45:48 +01:00
Richard Purdie e8e6f9df59 package.bbclass: Make unshipped packages message more readable
(From OE-Core rev: bc73fa1256d678c09c0d9b50e0153623861dcf32)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-05 13:36:56 +01:00
Mark Hatle 8781c843cf classes/package.bbclass: Add fixup_perms
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>
2011-06-30 22:54:04 +01:00
Richard Purdie 1f0e24236f package.bbclass: PACKAGELOCK is a shared lock file so inform sstate as such
(From OE-Core rev: 60f74e47160508c9150d880b1f627dc7e3f0d3ab)

Signed-off-by: Richard  Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-09 15:48:26 +01:00
Khem Raj c412674cf8 package.bbclass,prserv.bbclass: Compare USE_PR_SERV with "1" or "0"
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>
2011-05-29 09:40:04 +01:00
Lianhao Lu 66d27435be classes/package(prserv).bbclass: Get PRAUTO and use PKGV/PKGR.
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>
2011-05-27 17:55:49 +01:00
Chris Larson e3d0d9897e Move packagedata code into oe.packagedata (sync from OE)
(From OE-Core rev: e6858627ab087f2f25ebbd6c4422eeae35f3b0ac)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-20 19:07:51 +01:00
Phil Blundell f5cc1f2c03 backport USE_LDCONFIG and PACKAGE_SNAP_LIB_SYMLINKS from oe master
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>
2011-05-17 15:14:47 +01:00
Koen Kooi 6e50e0c6b0 package.bbclass: convert unpackaged file message from 'info' to 'warn' so 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>
2011-05-09 14:09:07 +01:00
Mark Hatle 7517529b9f package.bbclass: Fix missing debug src files
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>
2011-03-16 16:45:06 +00:00
Mark Hatle d8a82c2e79 package.bbclass: Change the debug directory to avoid conflicts
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>
2011-03-10 18:46:01 -08:00
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
Richard Purdie 5bcae485f5 package.bbclass: Write out extra useful data into the pkgdata files
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5388 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-10-02 19:56:19 +00:00
Richard Purdie 9a21f65eef package.bbclass: Adjust to handle split packages already being present in PACKAGES
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5177 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-09-10 22:29:43 +00:00
Richard Purdie ba239b002f package.bbclass: Skip symlinks when searching for shlib dependencies since we can cross into the build system binaries
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4838 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-07-15 10:56:56 +00:00
Marcin Juszkiewicz d3f559d86d package.bbclass: changed library regexp to get dependencies for opensync plugins properly
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4696 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-06-18 08:37:33 +00:00
Richard Purdie 3b53488987 bitbake.conf/siteinfo.bbclass/package.bbclass: Add in support for 'darwin8'
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4424 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-05-05 22:19:28 +00:00
Marcin Juszkiewicz 02a180ab6f package.bbclass: unbreak
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4242 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-04-11 20:37:51 +00:00
Richard Purdie 028178b722 package.bbclass: Add patch to try and handle dynamic librbary dependencies on darwin through libtool
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4237 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-04-11 15:19:45 +00:00
Richard Purdie 7c097c7812 package.bbclass: Sync with OE.dev
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4062 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-03-19 16:05:35 +00:00
Richard Purdie 8dac31d678 package.bbclass: Avoid double suffix depchain packages
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3711 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-02-07 20:20:34 +00:00
Richard Purdie 69683bfe8c package.bbclass: Abstract shlibs path to SHLIBSDIR variable
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3576 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-01-23 21:03:26 +00:00
Richard Purdie 822779e598 package.bbclass: Fix shlibs and pkgconfig magic to use HOST_SYS, not TARGET_SYS
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3511 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-01-17 21:51:05 +00:00
Richard Purdie 0f1ddc5c32 package.bbclass: Account for DEPENDS in -dev packages
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3439 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-01-09 13:50:38 +00:00
Richard Purdie bbb0b8bba7 package.bbclass: Various cleanups and bugfixes, some form OE
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3347 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-12-19 11:07:14 +00:00
Richard Purdie 6480e3a2f6 package.bbclass: Don't strip files in .debug directories
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3346 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-12-19 10:32:12 +00:00
Richard Purdie 3526acda1a package.bbclass: Remove debug code
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3245 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-11-27 15:09:56 +00:00
Richard Purdie 48c7f7fc85 package.bbclass: Remove PKGMAPS functionality and supersede with pkgdata. Remove duplicate unneeded PACKAGES checks.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3225 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-11-24 23:06:56 +00:00
Richard Purdie c065977948 classes: Use internal bitbake functions and fix packaging unlocking on error paths
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3222 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-11-24 14:55:57 +00:00
Richard Purdie 6e23136cc7 package.bbclass: Make populate_packages copy files, not move them during do_package
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2950 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-10-23 21:57:31 +00:00
Richard Purdie 62b67b04d4 package.bbclass: Remove depchains packaged() check. This broke after pkgdata was split for multimachine issues and I'm not sure we need/want it anyway, we're only dealing with Recommends, not Depends
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2824 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-10-02 14:19:54 +00:00
Richard Purdie 82bdad4c78 package.bbclass: Append to do_package[deptask], cleanup up PACKAGES checks, generate .packaged file for depchains benefit (fixing -dev and -dbg package dependencies). People should wipe do_install stamps and rebuild to fix package dependencies
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2815 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-09-27 11:52:15 +00:00