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

Paul Eggleton paul.eggleton at linux.intel.com
Thu Apr 3 13:13:05 UTC 2014


On Thursday 03 April 2014 13:00:09 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.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.

Incidentally, I think maybe for 1.7 it's time we bumped OLDEST_KERNEL. What a 
sensible minimum would be though I'm not sure. The minimum version for udev 
182 would be one choice, but I believe there are people still using older 
kernels even than that.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the Openembedded-core mailing list