On 2014年04月03日 20:00, Richard Purdie wrote:
On Wed, 2014-04-02 at 10:35 +0800, Kang Kai wrote:
On 2014年03月31日 22:20, Kai Kang wrote:
From: Roy Li <rongqing...@windriver.com>

When native package is built, use the uname to return the kernel version.

When target is built, read kernel version from 
${STAGING_KERNEL_DIR}/kernel-abiversion
to avoid to use the hardcode kernel version.

Signed-off-by: Roy Li <rongqing...@windriver.com>
Signed-off-by: Kai Kang <kai.k...@windriver.com>
---
   meta/recipes-support/nss/nss.inc | 15 +++++++++++++--
   1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-support/nss/nss.inc b/meta/recipes-support/nss/nss.inc
index 404decc..f24da68 100644
--- a/meta/recipes-support/nss/nss.inc
+++ b/meta/recipes-support/nss/nss.inc
@@ -26,6 +26,7 @@ SRC_URI_append_class-target = "\
   inherit siteinfo
   PR = "r0"
   DEPENDS = "sqlite3 nspr zlib nss-native"
+DEPENDS_append_class-target += "virtual/kernel"
   DEPENDS_class-native = "sqlite3-native nspr-native zlib-native"
   RDEPENDS_${PN} = "perl"
@@ -37,12 +38,24 @@ TARGET_CC_ARCH += "${LDFLAGS}"
   do_compile_prepend_class-native() {
       export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}
       export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE}
+    export OS_RELEASE=`uname -r`
   }
do_compile_prepend_class-nativesdk() {
       export LDFLAGS=""
   }
+do_compile_prepend_class-target() {
+    export OS_RELEASE=`cat ${STAGING_KERNEL_DIR}/kernel-abiversion|sed 
's/-.*//'`
+}
+
+do_install_prepend_class-native() {
+    export OS_RELEASE=`uname -r`
+}
+
+do_install_prepend_class-target() {
+    export OS_RELEASE=`cat ${STAGING_KERNEL_DIR}/kernel-abiversion|sed 
's/-.*//'`
+}
   do_compile() {
       export CROSS_COMPILE=1
       export NATIVE_CC="gcc"
@@ -57,7 +70,6 @@ do_compile() {
       export NSS_USE_SYSTEM_SQLITE=1
       export NSS_ENABLE_ECC=1
- export OS_RELEASE=3.4
How about use var LINUXLIBCVERSION:

export OS_RELEASE="${@d.getVar('LINUXLIBCVERSION', True)}"

it should be the same value with kernel version, right?
As others have replied, that is usually much more recent than the oldest
kernel we support. What does nss do with this value? Is it about the
header versions? Would something run on an older kernel with a newer
value for OS_RELEASE?

I misunderstanding the usage of LINUXLIBCVERSION. What nss needs is just current kernel version to export for build:

-    export OS_RELEASE=3.4

Currently it is a fix string, and I think it is a problem.

Regards,
Kai



We also have the OLDEST_KERNEL variable (currently at 2.6.16) FWIW.

Cheers,

Richard





--
Regards,
Neil | Kai Kang

--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to