在 Fri, 15 Jan 2010 11:47:25 +0800,Mike Westerhof <[email protected]> 写道:

But most -- in fact all except perhaps yourself and a few of the OE core
team don't build with different LIBCs in the same TMPDIR.  So all that
your patch does for the overwhelming number of users of OE is add
additional directory levels to an already complicated directory
structure, and provides them with absolutely no benefit whatsoever.

Yes, I guest there are some developers who have to build OE in one directory. Look at below:

distro/include/angstrom.inc:CACHE = "${TMPDIR}/cache/${LIBC}/${MACHINE}"
distro/include/kaeilos.inc:CACHE = "${TMPDIR}/cache/${LIBC}/${MACHINE}"
distro/micro.conf:CACHE ?= "${TMPDIR}/cache/${LIBC}/${MACHINE}"
distro/minimal.conf:CACHE ?= "${TMPDIR}/cache/${LIBC}/${MACHINE}"
distro/shr.conf:CACHE ?= "${TMPDIR}/cache/${LIBC}/${MACHINE}"


distro/include/angstrom.inc:DEPLOY_DIR = "${TMPDIR}/deploy/${LIBC}"
distro/include/kaeilos.inc:DEPLOY_DIR = "${TMPDIR}/deploy/${LIBC}"
distro/micro.conf:DEPLOY_DIR ?= "${TMPDIR}/deploy/${LIBC}"
distro/minimal.conf:DEPLOY_DIR ?= "${TMPDIR}/deploy/${LIBC}"
distro/shr.conf:DEPLOY_DIR ?= "${TMPDIR}/deploy/${LIBC}"

From above, I can guess that the developers or testers of the distributions had met the same question as me. Without ${LIBS}, sometimes it is difficult to determine which libc the runtime image is based on. Image several weeks later how can you or other maintainers tell which libc it's based on? Different libc means different sysroot, but without the changes in the patch, the whole building does not distinguish the sysroot. So I think adding ${LIBC} to build directory is necessary.

At the very least, you really should provide a means to selectively
enable this -- although I still don't see why it makes sense to support
multiple LIBCs in the same TMPDIR.

I wanted to implement it just as the singlemachine.bbclass. But due to some little bugs in other bbclass, it is impossible to implement the function without any changes to other bbclass files. See the following files:

 classes/package_ipk.bbclass |    2 +-
 classes/packagedata.bbclass |    2 +-

-       pkgdata = bb.data.expand('${TMPDIR}/pkgdata/', d)
+       pkgdata = bb.data.expand('${PKGDATA_DIR}/../', d)

But, if the change is acceptable, I will try to implement it as a bbclass file with a little patch file.

Thanks a lot!

--
Guo Hongruan, Embedded Linux Consultant
Skype: camelguo
Twitter: camelguo
http://www.gulessoft.com

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

Reply via email to