Patchwork [00/17] Fix update-alternatives and RPM package dependencies

login
register
mail settings
Submitter Mark Hatle
Date April 16, 2012, 10:45 p.m.
Message ID <cover.1334616144.git.mark.hatle@windriver.com>
Download mbox
Permalink /patch/25981/
State New
Headers show

Pull-request

git://git.pokylinux.org/poky-contrib mhatle/upd-alt

Comments

Mark Hatle - April 16, 2012, 10:45 p.m.
It was recently noticed that many packages that use update-alternatives were
not setting package level provides.  So a package that required /usr/bin/env
would not be satisfied by coreutils, even though it had a /usr/bin/env
alternative.

The first patch in the series adds the enhanced alternatives capatibilities.

The patches that follow resolve Yocto defect 2289 and use these new
capabilities to ensure the produced packages are correct.

(Note, this only affects RPM packages as they have enhanced dependency
scanning and resolution compared to deb and ipk.)

These patches were tested by running a core-image-minimal build on both
qemux86 and qemumips.  I also ran a core-image-sato on qemux86 and built
each of the items affected manually.  Once build, I verified the install
time scriptlets were correct and each package provided the correct "Provides".

The following changes since commit 03cfc6ea6df9d1fbf5520c9707a725e38d2e377b:

  libzypp: add libproxy to DEPENDS (2012-04-16 23:30:41 +0100)

are available in the git repository at:
  git://git.pokylinux.org/poky-contrib mhatle/upd-alt
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=mhatle/upd-alt

Mark Hatle (17):
  update-alternatives.bbclass: Ensure alternatives end up in per file
    deps
  coreutils_*.bb: Use update alternatives and add missing manual alt
    links
  coreutils_*.bb: Sync up file path with busybox and minor cleanup
  grep: Use update-alternatives
  openssh: Use update-alternatives
  hdparm: Use update-alternatives
  iputils: Use update-alternatives
  net-tools: Use update-alternatives
  shadow: Use update-alternatives
  findutils: Use update-alternatives
  gzip: Use update-alternatives class
  module-init-tools: Update to use update-alternatives class
  kbd: Use update-alternatives
  console-tools: Use update-alternatives
  sysvinit: Use update-alternatives in a different way
  lrzsz: sz, sx and sb were linked incorrectly
  lrzsz: Use update-alternatives to set provides

 meta/classes/package.bbclass                       |   16 +++--
 meta/classes/package_rpm.bbclass                   |    4 -
 meta/classes/update-alternatives.bbclass           |   69 +++++++++++++++++++-
 meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb            |   21 +++++-
 meta/recipes-connectivity/openssh/openssh_5.9p1.bb |    9 ++-
 .../console-tools/console-tools_0.3.2.bb           |   27 ++------
 meta/recipes-core/coreutils/coreutils_6.9.bb       |   44 ++++++-------
 meta/recipes-core/coreutils/coreutils_8.14.bb      |   49 +++++---------
 meta/recipes-core/kbd/kbd_1.15.2.bb                |   34 ++--------
 meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb     |   44 ++++---------
 meta/recipes-extended/findutils/findutils.inc      |    5 +-
 .../recipes-extended/findutils/findutils_4.2.31.bb |   22 ++-----
 meta/recipes-extended/findutils/findutils_4.4.2.bb |   17 +-----
 meta/recipes-extended/grep/grep_2.5.1a.bb          |   25 +++-----
 meta/recipes-extended/grep/grep_2.9.bb             |   22 ++----
 meta/recipes-extended/gzip/gzip.inc                |   32 +++-------
 meta/recipes-extended/gzip/gzip_1.3.12.bb          |   24 ++-----
 meta/recipes-extended/gzip/gzip_1.4.bb             |    2 +-
 meta/recipes-extended/hdparm/hdparm_9.39.bb        |   16 ++---
 meta/recipes-extended/iputils/iputils_s20101006.bb |    5 +-
 .../net-tools/net-tools_1.60-23.bb                 |   28 +++------
 meta/recipes-extended/shadow/shadow_4.1.4.3.bb     |   42 ++++++------
 .../module-init-tools/module-init-tools_3.16.bb    |   35 ++++++----
 23 files changed, 267 insertions(+), 325 deletions(-)
Koen Kooi - April 17, 2012, 7:03 a.m.
Op 17 apr. 2012, om 00:45 heeft Mark Hatle het volgende geschreven:

> It was recently noticed that many packages that use update-alternatives were
> not setting package level provides.  So a package that required /usr/bin/env
> would not be satisfied by coreutils, even though it had a /usr/bin/env
> alternative.

Related to your patch: the upgrade paths for /usr/bin/watch are still broken because busybox still installs it into /bin/watch. I forget who was supposed to fix that, but it would be nice to get that done before the release.

regards,

Koen
Andreas Oberritter - April 17, 2012, 11:20 a.m.
On 17.04.2012 09:03, Koen Kooi wrote:
> 
> Op 17 apr. 2012, om 00:45 heeft Mark Hatle het volgende geschreven:
> 
>> It was recently noticed that many packages that use update-alternatives were
>> not setting package level provides.  So a package that required /usr/bin/env
>> would not be satisfied by coreutils, even though it had a /usr/bin/env
>> alternative.
> 
> Related to your patch: the upgrade paths for /usr/bin/watch are still broken because busybox still installs it into /bin/watch. I forget who was supposed to fix that, but it would be nice to get that done before the release.

Are you sure? Please take a look at
fa8b2d2bed63fa4fc2af45f094998b0f9e69d272. Is something wrong with this
patch?

Regards,
Andreas
Saul Wold - April 27, 2012, 9:25 p.m.
On 04/16/2012 03:45 PM, Mark Hatle wrote:
> It was recently noticed that many packages that use update-alternatives were
> not setting package level provides.  So a package that required /usr/bin/env
> would not be satisfied by coreutils, even though it had a /usr/bin/env
> alternative.
>
> The first patch in the series adds the enhanced alternatives capatibilities.
>
> The patches that follow resolve Yocto defect 2289 and use these new
> capabilities to ensure the produced packages are correct.
>
> (Note, this only affects RPM packages as they have enhanced dependency
> scanning and resolution compared to deb and ipk.)
>
> These patches were tested by running a core-image-minimal build on both
> qemux86 and qemumips.  I also ran a core-image-sato on qemux86 and built
> each of the items affected manually.  Once build, I verified the install
> time scriptlets were correct and each package provided the correct "Provides".
>
> The following changes since commit 03cfc6ea6df9d1fbf5520c9707a725e38d2e377b:
>
>    libzypp: add libproxy to DEPENDS (2012-04-16 23:30:41 +0100)
>
> are available in the git repository at:
>    git://git.pokylinux.org/poky-contrib mhatle/upd-alt
>    http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=mhatle/upd-alt
>
The subset marked below has been merged into OE-Core, I believe that 
Richard had a concern about the moves and links that some of these other 
patches contained.

> Mark Hatle (17):
>    update-alternatives.bbclass: Ensure alternatives end up in per file
>      deps
>    coreutils_*.bb: Use update alternatives and add missing manual alt
>      links
>    coreutils_*.bb: Sync up file path with busybox and minor cleanup
>    grep: Use update-alternatives
>    openssh: Use update-alternatives
>    hdparm: Use update-alternatives
Merged
>    iputils: Use update-alternatives
>    net-tools: Use update-alternatives
Merged
>    shadow: Use update-alternatives
Merged
>    findutils: Use update-alternatives
Merged
>    gzip: Use update-alternatives class
Merged
>    module-init-tools: Update to use update-alternatives class
>    kbd: Use update-alternatives
Merged
>    console-tools: Use update-alternatives
Merged
>    sysvinit: Use update-alternatives in a different way
>    lrzsz: sz, sx and sb were linked incorrectly
Merged
>    lrzsz: Use update-alternatives to set provides
>
Thanks
	Sau!

>   meta/classes/package.bbclass                       |   16 +++--
>   meta/classes/package_rpm.bbclass                   |    4 -
>   meta/classes/update-alternatives.bbclass           |   69 +++++++++++++++++++-
>   meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb            |   21 +++++-
>   meta/recipes-connectivity/openssh/openssh_5.9p1.bb |    9 ++-
>   .../console-tools/console-tools_0.3.2.bb           |   27 ++------
>   meta/recipes-core/coreutils/coreutils_6.9.bb       |   44 ++++++-------
>   meta/recipes-core/coreutils/coreutils_8.14.bb      |   49 +++++---------
>   meta/recipes-core/kbd/kbd_1.15.2.bb                |   34 ++--------
>   meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb     |   44 ++++---------
>   meta/recipes-extended/findutils/findutils.inc      |    5 +-
>   .../recipes-extended/findutils/findutils_4.2.31.bb |   22 ++-----
>   meta/recipes-extended/findutils/findutils_4.4.2.bb |   17 +-----
>   meta/recipes-extended/grep/grep_2.5.1a.bb          |   25 +++-----
>   meta/recipes-extended/grep/grep_2.9.bb             |   22 ++----
>   meta/recipes-extended/gzip/gzip.inc                |   32 +++-------
>   meta/recipes-extended/gzip/gzip_1.3.12.bb          |   24 ++-----
>   meta/recipes-extended/gzip/gzip_1.4.bb             |    2 +-
>   meta/recipes-extended/hdparm/hdparm_9.39.bb        |   16 ++---
>   meta/recipes-extended/iputils/iputils_s20101006.bb |    5 +-
>   .../net-tools/net-tools_1.60-23.bb                 |   28 +++------
>   meta/recipes-extended/shadow/shadow_4.1.4.3.bb     |   42 ++++++------
>   .../module-init-tools/module-init-tools_3.16.bb    |   35 ++++++----
>   23 files changed, 267 insertions(+), 325 deletions(-)
>