From: Khem Raj <raj.khem@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: e2fsprogs-libs build failure analysis
Date: Sun, 12 Jul 2009 13:34:34 -0700 [thread overview]
Message-ID: <200907121334.38852.raj.khem@gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 2462 bytes --]
Hi
Like many others I was also getting this problem reported on this mailing list in past
http://article.gmane.org/gmane.comp.handhelds.openembedded/24445/match=e2fsprogs+libs
I looked a bit into this and the problem is that PN gets overwritten when
do_package_write_ipk -> read_subpackage_metadata
this loop below reads the subpkgdata also reads PV PN and PR which are then overwritten
by bb.data.setVar(key, sdata[key], d)
for pkg in bb.data.getVar('PACKAGES', d, 1).split():
sdata = read_subpkgdata(pkg, d)
for key in sdata.keys():
bb.data.setVar(key, sdata[key], d)
when this loop exits the last subpackage it read is build/eglibc/omap5912osk/pkgdata/armv5te-angstrom-linux-gnueabi/runtime/libblkid
which says that PN is util-linux-ng
and this value of PN is updated last into the bb.data for e2fsprogs-libs
so when do_package_ipk () is called it wants to get WORKDIR
workdir = bb.data.getVar('WORKDIR', d, 1)
but WORKDIR consits of PN PV and PR so it calculates it wrongly
So I think problem is caused because of emitting PV, PN and PR into pkgdata files
which is then read and updated into bb.data
I added a workaround in base.bbclass
diff --git a/classes/base.bbclass b/classes/base.bbclass
index bc50c67..5eefdb7 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -1090,7 +1090,9 @@ def read_pkgdata(pn, d):
python read_subpackage_metadata () {
import bb
data = read_pkgdata(bb.data.getVar('PN', d, 1), d)
-
+ pn = bb.data.getVar('PN', d, 1)
+ pv = bb.data.getVar('PV', d, 1)
+ pr = bb.data.getVar('PR', d, 1)
for key in data.keys():
bb.data.setVar(key, data[key], d)
@@ -1098,6 +1100,9 @@ python read_subpackage_metadata () {
sdata = read_subpkgdata(pkg, d)
for key in sdata.keys():
bb.data.setVar(key, sdata[key], d)
+ bb.data.setVar('PN', pn, d)
+ bb.data.setVar('PV', pv, d)
+ bb.data.setVar('PR', pr, d)
}
and it works now but I feel this is not the right fix.
util-linux-ng.inc has
PACKAGES_DYNAMIC = "libblkid*"
and e2fsprogs-libs.inc has
do_stage () {
for i in libcom_err libss libuuid libblkid; do
oe_libinstall -a -C lib $i ${STAGING_LIBDIR}
.....
}
probably this also needs some thought.
Thanks
-Khem
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 204 bytes --]
next reply other threads:[~2009-07-12 20:47 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-12 20:34 Khem Raj [this message]
2009-07-13 3:57 ` e2fsprogs-libs build failure analysis Denys Dmytriyenko
2009-07-14 19:47 ` Richard Purdie
2009-07-14 20:33 ` Koen Kooi
2009-07-14 21:13 ` Leon Woestenberg
2009-07-15 1:43 ` Elvis Dowson
2009-07-15 7:10 ` Koen Kooi
2009-07-14 20:35 ` Khem Raj
2009-07-14 22:16 ` Denys Dmytriyenko
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=200907121334.38852.raj.khem@gmail.com \
--to=raj.khem@gmail.com \
--cc=openembedded-devel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.