Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: [RFC PATCH] license: Ensure we find multilib packages also
Date: Fri, 14 Sep 2012 11:48:05 -0500	[thread overview]
Message-ID: <50535FC5.9040802@windriver.com> (raw)
In-Reply-To: <1347638477.13596.21.camel@ted>

On 9/14/12 11:01 AM, Richard Purdie wrote:
> On Thu, 2012-09-13 at 15:43 -0700, Saul Wold wrote:
>> On 09/13/2012 03:31 PM, Paul Eggleton wrote:
>>> On Thursday 13 September 2012 12:26:19 Saul Wold wrote:
>>>> Make sure to find -package, this was causing a failure
>>>> in the multi-lib build license generation during rootfs.
>>>>
>>>> Signed-off-by: Saul Wold <sgw@linux.intel.com>
>>>> ---
>>>>    meta/classes/license.bbclass |    2 +-
>>>>    1 files changed, 1 insertions(+), 1 deletions(-)
>>>>
>>>> diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
>>>> index 29fe938..b29067c 100644
>>>> --- a/meta/classes/license.bbclass
>>>> +++ b/meta/classes/license.bbclass
>>>> @@ -88,7 +88,7 @@ license_create_manifest() {
>>>>    	# list of installed packages is broken for deb
>>>>    	for pkg in ${INSTALLED_PKGS}; do
>>>>    		# not the best way to do this but licenses are not arch dependant iirc
>>>> -		filename=`ls ${TMPDIR}/pkgdata/*/runtime-reverse/${pkg}| head -1`
>>>> +		filename=`ls ${TMPDIR}/pkgdata/*/runtime-reverse/*${pkg}| head -1`
>>>>    		pkged_pn="$(sed -n 's/^PN: //p' ${filename})"
>>>>
>>>>    		# exclude locale recipes
>>>
>>> Surely this could end up matching a the wrong file when one package name is a
>>> substring of another?
>>>
>> I am open to ideas here, I tried the ${MLPREFIX}, but it seems to be
>> empty when rootfs runs, that did not help, I thought about adding the
>> '-', but that would fail in the non-multilib case, how can I determine
>> what the prefix will be to get a more accurate match?
>
> I would observe here that this probably works for ipk and multilib and
> only breaks for multilib+rpm. The reason is that rpm collapses the
> namespace when it creates the package list so "lib32-bash" becomes bash.
> I think this might be an error in however we generate the INSTALLED_PKGS
> list and we might need to revisit the rpm mechanism and ensure the
> multilib prefixes get added.

RPM has internal mechanisms to tag both the filetypes and architectures as being 
different, unlike most of the other packaging formats which assume a package 
with the same name is the same.

The way to deal with this is via the mapping actions.  You should be able to map 
from ML_PREFIX-${PN} to ${PN}.${ARCH} and of course the reverse...

How it works....

So during package generation we know the package arch is unique and just strip 
off the mlprefix.  To do the reverse iterate over all of the available 
MULTILIBS, there is code in rootfs_rpm.bbclass already to do this.  Then 
reconstruct the package name based on the multilib configuration.

--Mark


> Cheers,
>
> Richard
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>




  reply	other threads:[~2012-09-14 17:00 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-13 19:26 [RFC PATCH] license: Ensure we find multilib packages also Saul Wold
2012-09-13 22:31 ` Paul Eggleton
2012-09-13 22:43   ` Saul Wold
2012-09-14 16:01     ` Richard Purdie
2012-09-14 16:48       ` Mark Hatle [this message]
2012-09-14 20:50         ` Flanagan, Elizabeth
2012-09-14 22:09           ` Richard Purdie
2012-09-14 22:11           ` Paul Eggleton
2012-09-14 22:26             ` Flanagan, Elizabeth
2012-09-14 22:31               ` Mark Hatle
2012-09-14 23:09               ` Paul Eggleton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50535FC5.9040802@windriver.com \
    --to=mark.hatle@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox