On 12/6/12 6:12 AM, Richard Purdie wrote:
On Tue, 2012-12-04 at 20:33 -0600, Mark Hatle wrote:
When using update-alternatives, there should be a runtime dependency on
${VIRTUAL-RUNTIME_update-alternatives}.  Without this, it's possible to
get into a situation where the package is not installable.

(If VIRTUAL-RUNTIME_update-alternatives is not defined, no requirement
is added.)

Signed-off-by: Mark Hatle <[email protected]>
---
  meta/classes/update-alternatives.bbclass |    8 ++++++++
  1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/meta/classes/update-alternatives.bbclass 
b/meta/classes/update-alternatives.bbclass
index 4e1ff27..96fd1e8 100644
--- a/meta/classes/update-alternatives.bbclass
+++ b/meta/classes/update-alternatives.bbclass
@@ -304,6 +304,14 @@ python populate_packages_prepend () {
              alt_remove_links += '\tupdate-alternatives --remove  %s %s\n' % 
(alt_name, alt_target)

          if alt_setup_links:
+            # RDEPENDS setup
+            provider = d.getVar('VIRTUAL-RUNTIME_update-alternatives', True)
+            if provider:
+                bb.note('adding runtime requirement for update-alternatives 
for %s' % pkg)
+                rdepends = d.getVar('RDEPENDS_%s' % pkg, True) or ""
+                rdepends += ' ' + d.getVar('MLPREFIX') + provider
+                d.setVar("RDEPENDS_%s" % pkg, rdepends)
+
              bb.note('adding update-alternatives calls to postinst/postrm for 
%s' % pkg)
              bb.note('%s' % alt_setup_links)
              postinst = (d.getVar('pkg_postinst_%s' % pkg, True) or 
d.getVar('pkg_postinst', True)) or '#!/bin/sh\n'

I'm afraid I don't like this patch. Firstly, do we really need a bb.note
in there? We don't note every little thing we do, not least as it would
kill performance.

There are very few instances of this, I'm surprised if performance would be impacted beyond the noise. The next item has a similar bb.note as well.

Secondly, why not simply do:

d.appendVar('RDEPENDS_%s' % pkg, ' ' + d.getVar('MLPREFIX') + provider)

There was originally code in there to remove duplicates, when it got refactored out the rest was never changed. I'll fix that up.

--Mark

?

Cheers,

Richard



_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to