[0/7] Fix a number of package installation related items

Submitted by Mark Hatle on Sept. 20, 2011, 9:33 p.m. | Patch ID: 11753


Message ID cover.1316553828.git.mark.hatle@windriver.com
State New, archived
Headers show


git://git.pokylinux.org/poky-contrib mhatle/rpm.deps

Commit Message

Mark Hatle Sept. 20, 2011, 9:33 p.m.
This set of patches fixes a number of items related to regular and multilib
package installs.

The first two commits are from Dongxiao Xu's series.  I believe this is the
latest version of each.  These commits are required to use the
MULTILIB_IMAGE_INSTALL option, as well as avoid conflicts when building
some types of packages (machine specific packages).  These can be left out
if they're deemed not ready yet.

The next 4 patches are required to fix the basic problems with rpm
installation.  Due to a typo, the provides were not being set properly causing
various invalid rootfs's to be created.  Fixing this typo showed a small
number of additional runtime dependencies were not being accounted for:
* "rpmdeps" checks for GNU_HASH, and adds a requirement.  For compatibility
  we now set rtld(GNU_HASH) as being provided by eglibc.

* the python specific requirements were versioned, however there is no easy
  way to satisfy the versioning within the OE-Core environment today.  This
  was modified to instead simply require "python", which the python-core
  package satisfies... a small change to packages.bbclass was required to
  invalidate the sstate-cache as well.

* Enhance busybox to specific list a per-file runtime dependency for each
  link that /bin/busybox is capable of satisfying.  This per-file dep is
  available for all packaging backends, but only affects RPM at this time.

Finally the last patch fixes a problem in the multilib_global.bbclass which
causes incorrect provide and rprovides to be placed into packages when
multilib builds are enabled.


All of the above has been tested with

MACHINE = "qemux86_64"
MULTILIB_IMAGE_INSTALL = "lib32-connman-gnome lib32-task-base-3g lib32-task-base-wifi lib32-task-base-bluetooth"
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
MACHINE_virtclass-multilib-lib32 = "qemux86"

I have build core-image-minimal, core-image-core and core-image-sato.  Each
image was built with and without the MULTILIB_IMAGE_INSTALL being enabled.

The following changes since commit 81274f4488fbc4d68d150870735ec0181b60b451:

  freetype: disable bzip2 compressed font support (2011-09-19 13:14:03 +0100)

are available in the git repository at:
  git://git.pokylinux.org/poky-contrib mhatle/rpm.deps

Dongxiao Xu (2):
  rootfs_rpm: Use specific MACHINE_ARCH for multilib recipes
  multilib: install MULTILIB_IMAGE_INSTALL

Mark Hatle (5):
  Fix RPM dependencies
  Add a run-time dependency that eglibc support GNU_HASH
  Update python dependencies to be simply to "python"
  busybox: Enhance to add dynamic per-file provides
  multilib_global.bbclass: Fix non-multilib package provides

 meta/classes/multilib_global.bbclass        |   30 +++++++++++++++---
 meta/classes/package.bbclass                |    6 ++++
 meta/classes/package_rpm.bbclass            |   44 +++++++++++++++++---------
 meta/classes/rootfs_rpm.bbclass             |    7 ++++
 meta/recipes-core/busybox/busybox.inc       |   32 +++++++++++++++++++
 meta/recipes-core/busybox/busybox_1.18.5.bb |    2 +-
 meta/recipes-core/eglibc/eglibc-package.inc |    3 +-
 meta/recipes-core/eglibc/eglibc_2.12.bb     |    2 +-
 meta/recipes-core/eglibc/eglibc_2.13.bb     |    2 +-
 meta/recipes-devtools/rpm/rpm/pythondeps.sh |   16 ++++++++++
 meta/recipes-devtools/rpm/rpm_5.4.0.bb      |    4 ++-
 11 files changed, 123 insertions(+), 25 deletions(-)
 create mode 100755 meta/recipes-devtools/rpm/rpm/pythondeps.sh