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

Richard Purdie richard.purdie at linuxfoundation.org
Thu Apr 3 12:00:09 UTC 2014


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

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?

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

Cheers,

Richard




More information about the Openembedded-core mailing list