[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