[OE-core] [PATCH] nss: avoid to use the hardcode kernel version

Kang Kai Kai.Kang at windriver.com
Wed Apr 2 02:35:52 UTC 2014


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

--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




More information about the Openembedded-core mailing list