On Tuesday, April 1, 2014, Kang Kai <Kai.Kang@windriver.com> wrote:
On 2014年03月31日 22:20, Kai Kang wrote:
From: Roy Li <rongqing.li@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.li@windriver.com>
Signed-off-by: Kai Kang <kai.kang@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?

No, that's the kernel headers version, if the dependency is on kernel proper then it won't be the right thing to do since many bsps use different kernel
 

--Kai


      export OS_TARGET=Linux
      export OS_ARCH=Linux
  @@ -97,7 +109,6 @@ do_install() {
      export NSS_USE_SYSTEM_SQLITE=1
      export NSS_ENABLE_ECC=1
  -    export OS_RELEASE=3.4
      export OS_TARGET=Linux
      export OS_ARCH=Linux
 


--
Regards,
Neil | Kai Kang

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